aprendendo a programar

34
Aprenda a programar #1 Linguagens de Programação Não sou matemático, muito menos especialista em estatística, mas acredito que 7 em cada 10 pessoas apaixonadas por tecnologia, já tiveram vontade de desenvolver seu próprio software, ou melhorar um outro código em um software livre. É pensando nisso que o Algoritmizando estréia hoje uma nova seção! Toda terça-feira, iremos postar uma matéria ensinando esse fantástico mundo de programação. começando a partir de algoritmos, e dependendo da participação do pessoal, nos comentários, dúvidas, etc, poderemos ir bem mais longe, e quem sabe, realmente formar alguns bons programadores… Como hoje é apenas uma introdução do que há por vim, estarei dando um breve conceito sobre o que é uma linguagem de programação. O que é uma linguagem de programação? Uma linguagem de programação é um método padronizado para expressar instruções para um computador. Porque programar? Você pode programar para alcançar inúmeros objetivos, como por exemplo, desenvolver um software, para automatizar tarefas, quem sabe vende-lo e ficar rico! ou melhor ainda, já pensou em criar um jogo de computador? ficar famoso e…. rico! Você também pode programar para web, desenvolver aplicativos e… se fizer sucesso, hmm… pode ficar rico! rsrs Sim, a área de tecnologia é um mercado em constante crescimento e com salários iniciais relativamente altos. Se você tem uma paixão em especial por computadores, por que não entender sua linguagem e se comunicar melhor com eles ^^ Então, qual a linguagem que o computador entende? Na verdade, os computadores não são inteligentes, como todos pensam. Inteligente é o programador!

Upload: bruno-cabral

Post on 22-Oct-2015

70 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Aprendendo a Programar

Aprenda a programar #1 – Linguagens de

Programação

Não sou matemático, muito menos especialista em estatística, mas acredito que 7 em

cada 10 pessoas apaixonadas por tecnologia, já tiveram vontade de desenvolver seu

próprio software, ou melhorar um outro código em um software livre.

É pensando nisso que o Algoritmizando estréia hoje uma nova seção!

Toda terça-feira, iremos postar uma matéria ensinando esse fantástico mundo de

programação. começando a partir de algoritmos, e dependendo da participação do

pessoal, nos comentários, dúvidas, etc, poderemos ir bem mais longe, e quem sabe,

realmente formar alguns bons programadores…

Como hoje é apenas uma introdução do que há por vim, estarei dando um breve

conceito sobre o que é uma linguagem de programação.

O que é uma linguagem de programação?

Uma linguagem de programação é um método padronizado para expressar instruções

para um computador.

Porque programar?

Você pode programar para alcançar inúmeros objetivos, como por exemplo,

desenvolver um software, para automatizar tarefas, quem sabe vende-lo e ficar rico! ou

melhor ainda, já pensou em criar um jogo de computador? ficar famoso e…. rico!

Você também pode programar para web, desenvolver aplicativos e… se fizer sucesso,

hmm… pode ficar rico! rsrs

Sim, a área de tecnologia é um mercado em constante crescimento e com salários

iniciais relativamente altos. Se você tem uma paixão em especial por computadores, por

que não entender sua linguagem e se comunicar melhor com eles ^^

Então, qual a linguagem que o computador entende?

Na verdade, os computadores não são inteligentes, como todos pensam. Inteligente é o

programador!

Page 2: Aprendendo a Programar

O computador entende apenas a linguagem binário, ou seja, 1 e 0, ligado ou desligado,

tensão alta ou tensão baixa… Não tem meio termo…

Quer dizer que tenho que aprender a programar em 0 e 1?

Negativo. Hoje em dia, temos o que chamamos de compiladores e interpretadores. São

eles que fazem essa tradução de nossa linguagem para linguagem de máquina.

Qual a diferença da linguagem compilada para

interpretada?

Na linguagem interpretada, o código fonte é traduzido para linguagem de máquina no

momento da interpretação (execução), e o código fica visível, enquanto na compilada,

este é feito anteriormente, não sendo possível visualizar o código fonte.

Ouvi dizer, que existem linguagens de baixo e alto

nível, qual a diferença?

Resumidamente, as linguagens de baixo nível, são aquelas que possuem contato direto

com o hardware do computador, geralmente linguagens compiladas, como por exemplo

C, C++, Assembly…

Enquanto as linguagens de alto nível o contato é com o software, exemplos são

linguagens interpretadas como Python, PHP, JavaScript, Pasca...

Page 3: Aprendendo a Programar

Aprenda a programar #2 | Algoritmos – O que é um

algoritmo

Bem vindos ao segundo post da série: Aprenda a Programar

No primeiro post da série, abordamos alguns conceitos sobre linguagem de

programação. A partir de hoje, iremos aprender uma pseudo-linguagem, para facilitar o

entendimento futuro e adiquirir certa lógica de programação.

Mas por onde começar?

Para maioria dos seres mortais, a base de tudo, está nos Algoritmos…

O que é um algoritmo?

Segundo a Wikipédia…

Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada

uma das quais pode ser executada mecanicamente num período de tempo finito e com

uma quantidade de esforço finita.

Ok Bruno… Agora traduz!!!

O algoritmo, é uma instrução, ou uma ordem que você dará ao computador, para que ele

realize determinada tarefa. Ao contrário do que a maioria das pessoas pensam, o

computador não é inteligente, quem é inteligente, é o programador!

Simplificando…

Para que o computador entenda algo, é necessário que você o “ensine” passo-a-passo,

como deve proceder. Como em uma receita de bolo.

Um exemplo:

Em nossa linguagem, se eu fosse criar um algoritmo explicando o que acontece quando

acordo até o momento que entro no chuveiro, seria mais ou menos o seguinte:

Inicio

Bruno Barbosa desperta

Page 4: Aprendendo a Programar

abre os olhos

senta na cama

coloca o primeiro pé no chão

põe o segundo

fica de pé

anda até a sala de estar

chuta com o mindinho do pé a ponta do sofá

diz algumas palavras de baixo calão devido ter machucado muito

continua caminhando

entra no banheiro

fica nu (ui)

entra em baixo do chuveiro

liga o chuveiro

toma banho

FIM

Pode-se perceber então, que tudo é um algoritmo.

O sistema de buscas do Google, tem um algoritmo por trás dele, o msn que vocês tanto

gostam, também tem um algoritmo, e assim sucessivamente.

Para aprendermos melhor sobre isto, antes de passar para qualquer tipo de linguagem de

programação propriamente dita, iremos aprender a programar em uma pseudo-

linguagem, conhecida como Portugol ou Português Estruturado.

Portugol

O portugol, é uma pseudo-linguagem criada para facilitar o aprendizado de algoritmos e

lógica de programação, ela possui suas particularidades como qualquer outra linguagem,

e a partir do próximo post, iremos passar a “programar” nesta linguagem, utilizando a

ajuda do software VisualG. Então não percam e nos acompanhem, que toda terça, um

post novo para você aprender a programar!

Page 5: Aprendendo a Programar

Aprenda a programar #3 | Algoritmos – Variáveis

- Bruno Barbosa

Posted by Bruno Barbosa on abr 20, 2010 in Algoritmos, Desenvolvimento | 193

comments

aprenda a programar Desenvolvimento portugol tipos de variaveis variaveis

Combo!

Isso mesmo, devido ao sucesso do aprenda a programar #1 e mais alguns outros fatores

não tão importantes, nesta terça-feira, um presente do algoritmizando para vocês!

Dois posts da série Aprenda a programar em um único dia!

Para quem perdeu os outros posts anteriores, está aqui uma lista do que já foi passado:

Aprenda a programar #1 – Introdução a linguagem de programação e explicação de

alguns conceitos importantes.

Aprenda a programar #2 – Introdução a algoritmos, portugol e conceitos.

Então vamos ao que interessa…

Variáveis…

Sim, variáveis.

E para quem ainda não sabe, em programação, o uso da matemática é relativamente alto

e é importante também, que você possua um bom raciocínio lógico. Sabe aquela matéria

de lógica matemática, que você aprendeu no ensino médio, fundamental, ou qualquer

que seja… poisé, ela é bastante útil aqui!

Page 6: Aprendendo a Programar

Mas o que são variáveis em programação?

Desenho de como seria uma variável

Vamos entender variável, como uma caixa, na qual você pode dar o nome que lhe achar

conveniente, e guardar o conteúdo que desejar.

Ou seja, toda variável tem um nome, valor e tipo.

Mas você não falou de tipo, o que é isso?

As variáveis, podem sem classificadas em:

numérica (numeros reais ou inteiros); caracteres (sequências de texto); booleanas (verdadeiro ou falso);

Em portugol, temos os tipos: real, inteiro, caractere e logico

Então eu posso colocar qualquer nome em minha variável?

Sim e Não!

Como assim?

Certas palavras, são reservadas para o uso da linguagem, ou seja, essas palavras não

podem ser utilizadas como um nome para sua variável, pois haveria um conflito na

hora de interpretar o código.

Abaixo, uma tabela sobre as palavras reservadas do portugol:

Page 7: Aprendendo a Programar

Palavras reservadas do Portugol

Não se preocupe em decorar essa tabela, não é necessário! A medida em que você for

aprendendo a programar em portugol, você saberá exatamente qual palavra é, e qual não

é reservada pela linguagem.

Outras restrições para o nome de sua variável é:

O primeiro caractere de sua variável, deve ser necessariamente letra ou underline ‘_’. Não pode começar em números

Nomes de variáveis não podem ter espaços em branco. Nada de Coca Cola por exemplo. Uma variável correta seria ArgoHost, tudo junto e sem espaços.

Essa aqui chega a ser difícil… Não é permitido variáveis com mais de 127 caracteres (pasmem! quem criaria uma variável desse tamanho?)

E por fim, em Portugol, diferente de outras linguagens de programação, as variáveis não são case sensivity, ou seja, elas não diferenciam maiúsculas de minúsculas. Logo, BrUnO = bruno.

Um pouco mais sobre os tipos de variáveis…

A tabela abaixo, exemplifica que tipo de conteúdo vai em cada variável.

Tipos de variáveis do portugol

Galera, é isso aí, qualquer dúvida, sugestões, deixeem comentárioos!!!

Page 8: Aprendendo a Programar

Somente aqui no algoritmizando, você tem um curso completo para aprender a

programar para não dizer de graça, com o custo de apenas UM COMENTÁRIO.

Então, vamos participar! Quanto mais participação, mais posts para vocês!!!

Um forte abraço… e até a próxima terça-feira.

Mas enquanto não chega, acessem diariamente o algoritmizando, pois sempre tem um

post novo para você!

Page 9: Aprendendo a Programar

Aprenda a programar #4 | Algoritmos – Estrutura do

Portugol

Bem vindos algoritmizeiros (acabei de inventar essa expressão =x) a mais um post da

série Aprenda a Programar.

Hoje, iremos nos aprofundar um pouco mais na pseudo-linguagem portugol, e a partir

de agora será necessário para um melhor acompanhamento, que todos já tenham o

VisualG instalado na máquina.

Se você é marinheiro de primeira viagem, de uma olhada nos outros posts da série:

Aprenda a programar #1 / Aprenda a programar #2 / Aprenda a programar #3

Então vamos ao que interessa!

Estrutura do portugol…

Todo e qualquer algoritmo, terá sempre um Nome, Declaração de variáveis, Início e

Fim. Na estrutura abaixo:

Algoritmo “nome-do-seu-algoritmo”

VAR

nome-da-var: tipo

nome-da-var2: tipo

INICIO

|

|

|

|

FIMALGORITMO

Page 10: Aprendendo a Programar

Ok, entendi o “Nome” “Início” e “Fim” mas…

O que é declaração de variáveis?

A declaração de variáveis, é uma parte obrigatória no portugol, assim como em outras

linguagens de programação como C por exemplo.

Ela é necessária para que o interpretador entenda que aquela palavra é uma variável,

além de ser útil em muitos casos, para que não dê um erro em seu programa futuramente

devido a um erro de digitação, acusando de imediato onde está o erro.

Na estrutura do Portugol, dentro da seção VAR, declaramos a variável da seguinte

maneira:

Nome-da-var: tipo

ex:

meunome: caractere

Ainda sobre a questão de variáveis, não vou entrar em muitos detalhes, pois as mesmas

foram explicadas no post anterior.

Vamos então criar nosso primeiro programa…!

Na tela Inicial do VisualG, já temos a estrutura de nosso portugol pronta, como

expliquei no início do post.

algoritmo “olá mundo”

var

inicio

escreva(“Olá Mundo!”)

fimalgoritmo

Não entendi nada! o que é esse “escreva“?

O escreva é uma palavra reservada do portugol, como expliquei no Aprenda a

programar #3.

Sua função é escrever na tela o texto entre ” ” (aspas)

Se você está utilizando o visualg, ao digitar este código e apertar F9, o código será

executado, e você verá que estará escrito na tela apenas a frase: Olá Mundo!

Page 11: Aprendendo a Programar

E porquê não há nada no campo das variáveis?

Porque ainda não utilizamos nenhuma.

No código acima, como vocês podem ver, foi utilizado apenas um minúsculo pedaço do

que podemos fazer em portugol.

No algoritmo a seguir, vamos fazer o uso da função leia() e de variáveis.

algoritmo “leianumero”

var

num: inteiro

inicio

escreva(“Digite um número: “)

leia(num)

escreva(“O número digitado é: “, num)

fimalgoritmo

Entendendo o algoritmo…

Foi declarado a variável num, como inteiro. Ou seja, poderá receber qualquer número

não-fracionário (-2, -3, -20, 0, 1, 2, 40, 18…)

Em seguida, o algoritmo irá solicitar ao usuário que digite um número, escrevendo na

tela a seguinte frase: Digite um número:

Se vocês notarem, há um espaço após os : e antes da “, isso é necessário para que o

cursor dê o espaço desejado.

Como falei em um post anterior da série, o computador não é inteligente, ou seja, você

tem que explicar tudo a ele, passo a passo.

o leia(num) irá aguardar com o cursor na tela até que o usuário digite um número

inteiro e tecle enter.

O num é a variável que declaramos no início do algoritmo, lembram?

E finalmente, o resultado.

escreva(“O número digitado é: “, num)

Page 12: Aprendendo a Programar

É importante notar, que no escreva, tudo o que estiver entre aspas, vai ser tratado como

um texto qualquer, então para retornarmos o conteúdo de uma variável, fechamos

primeiro as aspas, colocamos uma vírgula e digitamos o nome da variável, para só então

fechar o parenteses.

Testem o algoritmo acima no VisualG, e vejam o resultado.

Treinem mais um pouco…

Galera, que tal treinar mais um pouco…

1. Crie um algoritmo que leia 2 números e mostrem o resultado. 2. Crie um algoritmo que leia o nome e a idade de alguém, e mostre na tela o que foi

digitado.

Dica: no exercício 2, terá que ser declarado duas variáveis, uma do tipo inteiro e outra

do tipo caractere. Se houver dúvidas, de uma olhada no post anterior.

Depois de criar o algoritmo, entrem na filosofia do Software Livre, compartilhe seu

código conosco!

Porque não postar seu código nos comentários para ajudar quem tem dúvidas? Existem

diversas maneiras de chegar a uma solução a partir de um algoritmo!

Page 13: Aprendendo a Programar

Aprenda a programar #5 | Algoritmos – Atribuição e

Operadores Aritméticos

Olá algoritmizeiros…

Bem vindo ao quinto post da série Aprenda a programar…

Hoje, passaremos a vocês como atribuir valor a uma variável, sem utilizar a interação

com o leitor, ou seja, sem a utilização do comando leia(variavel), e também

aprenderemos sobre os operadores matemáticos, para que em breve, possamos começar

a fazer algoritmos de verdade!

O resultado dos desafios que passei no post anterior, estarão nos comentários do

mesmo. Então vamos começar….

Mas antes…

Retrospectiva do último episódio post…

Foi visto no post/tutorial anterior, declaração de variáveis, como escrever uma

mensagem ao usuário, e inserção de dados a partir de interação com o leitor, como no

exemplo abaixo:

algoritmo “exemplo”

var

empresa: caractere

inicio

escreva(“Que empresa oferece hospedagem de sites pelo melhor custo/benefício? “)

leia(empresa)

escreva(“Você digitou: “,empresa)

fimalgoritmo

Page 14: Aprendendo a Programar

e se por acaso, eu precisar atribuir um valor á uma variável sem a interação do

leitor Bruno?

Veremos agora, logo abaixo…

Atribuição…

Utilizaremos este símbolo/sinal/setinha…, para atribuir um valor a uma variável: <-

Exemplo:

numero <- 10

id <- 18

e também, podemos atribuir a uma variável, o valor de outra variável.

Não entendi nada…

Por exemplo, eu tenho a variável x, que possui o valor 20, e também a variável id, que

pode conter, ou não algum valor.

A questão é que eu quero atribuir a variável id, o valor da variável x…

como seria?

simples…

id <- x

Resumindo…

Para atribuir um valor qualquer a uma variável, basta digitar o nome da variável,

seguida de uma seta para esquerda, seguido do valor que você quer que ela tenha…

Bruno, entendi essa parte, mas quero fazer mais do que escrever e ler dados em

meu algoritmo…

Ok, vocês é quem mandam!

Nem tudo na vida, é sequencial, ou seja, é possível resolver apenas de uma maneira. As

vezes, é preciso haver condições para executar determinada tarefa, assim como efetuar

operações matemáticas, e outros…

Nesse caso, utilizaremos operações matemáticas, condicionais, laços de repetições, etc.

Não se assustem, veremos cada um passo-a-passo, não é difícil!

Page 15: Aprendendo a Programar

A princípio, neste post, ficaremos apenas nos operadores aritméticos, e vermos o

restante a partir da próxima terça-feira….

Operadores aritméticos…

Para se realizar cálculos com variáveis, ou números definidos pelo programador,

utilizaremos alguns sinais já bastante conhecidos por todos vocês:

Para entender os operadores aritméticos, é importante ressaltar, antes de mais nada, que

como estamos “ensinando” algo para o computador, não podemos e não temos como

passar para ele do jeito que escrevemos…

Por exemplo, em uma fórmula matemática, teríamos que passar tudo para uma linha

apenas. É o que chamamos de linearização.

Vocês irão entender melhor ao visualizar a imagem abaixo:

E de onde saiu todos esses parênteses e “símbolos”?

Calma galera, de uma olhada na tabela abaixo, dos operadores aritméticos, e ficará mais

fácil o entendimento…

Cada um desses, serão explicados mais detalhadamente a medida em que iremos

utilizando-os…

Page 16: Aprendendo a Programar

Aprenda a programar #6 | Algoritmos – Operadores

lógicos e relacionais

Olá queridos algoritmizeiros, como de costume, toda semana tem posts para vocês da

série: Aprenda a Programar.

No quinto post, concluimos falando dos operadores aritméticos… e creio eu que não

deve haver nenhuma dúvida, já que não vi manifestações nos comentários…

Então hoje iremos abordar mais alguns tipos de operadores…

Então. está esperando o que para começar a aprender? ^^

Operadores relacionais…

Os operadores relacionais, servem para realizar a comparação entre duas expressões, e

resultam apenas um valor… Verdadeiro ou Falso.

Observem a tabela abaixo:

Ok Bruno, tem algum exemplo?

Tem sim!

as comparações, não são nenhuma novidade do que aprendemos na escola…

por exemplo:

2 + 2 < 5 ==> Verdadeiro 18 <> 18 ==> Falso

Simples não?

Page 17: Aprendendo a Programar

Os operadores lógicos…

Temos ainda mais 3 operadores, o E, OU e o NAO, esses são chamados de operadores

lógicos, e também irão resultar apenas um valor, podendo ser Verdadeiro ou Falso.

Vamos ver a aplicação desses operadores em uma tabela verdade.

Entenderam como eles funcionam? Bem simples não?

Então vamos complicar mais um pouco…

No desenvolvimento de um programa, nem tudo são flores, ou seja, vamos colocar

nossa cabeça para pensar…

As vezes é necessário juntar, dois ou mais operadores diferentes para conseguir um

resultado…

Por exemplo:

(2 + 2 < 5) e (18 <> 18) resulta FALSO, pois como podemos observar na tabela

verdade acima, Verdadeiro e Falso resulta Falso.

Ah… então eu tenho que decorar essa tabela verdade?

Não!

Um macete para vocês…

No operador E: Será verdadeiro quando as duas expressões forem verdadeiras. No operador Ou: Será verdadeiro quando qualquer uma das expressões forem

verdadeiras.

Logo,

Page 18: Aprendendo a Programar

Se houver UMA expressão falsa no operador E, o resultado sempre será FALSO. No operador OU, será FALSO apenas quando as duas expressões forem FALSAS.

Difícil? Não, basta um pouco de treino…

Que tal responder á alguns desafios? retornando o resultado da expressão, sendo ele,

Verdadeiro ou Falso.

1. ((3 + 5) / 2) > 0) : 2. (3 * 3 > 10) ou (2 + 2 < 10) : 3. (10 <> 5) ou (1 + 1 = 0) : 4. (2 + 3 >= 5) e (18 / 3 < 7) : 5. (1 + 1 = 0) e (0 – 1 > 0) :

O resultado dos desafios sairá aqui mesmo nesse post, na seção de comentários na

data de lançamento do próximo post da série.

Aprenda a programar #7 | Algoritmos – Condicionais

Estrutura condicional…

Vejamos…

Se “o Flamengo vencer” entao

…. “ele será campeão da libertadores”

fimse

=D

Sim, na vida, as vezes nos deparamos em situações na qual precisamos escolher algo somente se outra coisa acontecer…

Chamamos isso de condição.

Page 19: Aprendendo a Programar

Nos algoritmos, também utilizaremos isto, como vocês notaram no começo do post, o

que utilizei ali, foi uma estrutura condicional. Observem bem, o que está em negrito, as

palavras se, entao, fimse. Elas serão importantíssimas em nosso algoritmo…

então, poderia basicamente dizer que em um algoritmo a sintaxe seria a seguinte:

se <condição> entao

…. <ações a serem realizadas se a condição for verdadeira> //pode ser uma ou mais

fimse

Eu sei que o computador não entenderia se eu colocasse simplesmente “ele será

campeão da libertadores”, então como ficaria isso em um algoritmo?

Esse foi um exemplo bem didático, mas em portugol, seria mais ou menos o seguinte:

se (vencedor = “Flamengo”) entao

…. escreva(“Flamengo será o campeão da Libertadores!!!”)

fimse

Esses “….” antes da ação, é necessário?

Não, esses quatro pontos, é um artifício que estou usando aqui no blog para indicar que

ali, existe um espaço ou uma tabulação, já que se eu simplesmente der o espaço aqui no

blog, ele não irá interpretar e ficará como se não houvesse nada…

Então para que esse espaço?

Esse espaço, é o que chamamos de identação, que além de ser uma questão de ética

entre os programadores, ele vai servir para que seu código tenha uma melhor aparência,

e fique mais fácil para entendê-lo e dar manutenção.

Entendi essa parte… mas e se a condição for falsa?

“Se você não mandar o computador fazer nada, ele nada fará!” (by eu)

Nesse caso, podemos fazer nosso algoritmo de duas maneiras:

1 – utilizar dois condicionais SE.

Um exemplo bem didático e de fácil entendimento:

1. se dinheiro >= 30 entao 2. …. ir_ao_cinema <- verdadeiro 3. …. assistir_tv <- falso 4. fimse

Page 20: Aprendendo a Programar

5. se dinheiro < 30 entao 6. …. ir_ao_cinema <- falso 7. …. assistir_tv <- verdadeiro 8. fimse

e a segunda opção, que é bem melhor e de mais agradável leitura…

1. se dinheiro >= 30 entao 2. …. ir_ao_cinema <- verdadeiro 3. …. assistir_tv <- falso 4. senao 5. …. ir_ao_cinema <- falso 6. …. assistir_tv <- verdadeiro 7. fimse

Observem que agora na linha quatro, apareceu uma palavrinha nova para nós… O

senao…

Para que serve o senao?

O senao, será executado sempre que o resultado do “se” for falso.

No exemplo acima, o interpretador fez uma pergunta, “o dinheiro é maior ou igual a

30?”

Caso fosse, a variavel “ir_ao_cinema” receberia o valor verdadeiro, e a variável

“assistir_tv” receberia o valor falso.

Se o dinheiro não fosse maior que 30, ou seja, caso ele fosse menor, o valor recebido

das variáveis “ir_ao_cinema” e “assistir_tv” seriam outros.

Fácil não?

Agora, um algoritmo facin facin, para que vocês entendam por vez, como funciona a

estrutura condicional se.

Como desafio de hoje…

Page 21: Aprendendo a Programar

Tentem entender o algoritmo acima sem copia-lo no VisualG. E caso não tenham

conseguido entender, pode postar nos comentários que explicarei linha por linha

E mais dois desafios extras… =)

1. Faça um algoritmo que receba um número e mostre uma mensagem caso este número seja maior que 10.

2. Faça um algoritmo que receba um número, e informe se este número está no intervalo de 100 a 200.

Abraços galera, e até o próximo post!

Aprenda a programar #8 | Algoritmos – Escolha ..

Caso

Escolha… caso…

Olá algoritmizeiros, chegamos hoje ao oitavo post de nosso curso/série/aula (como

queiram chamar =) sobre algoritmos.

Para quem não conhece ainda, o „Aprenda a Programar„, é uma série de posts lançados

toda semana, geralmente na terça ou quarta-feira, ensinando uma linguagem de cunho

didático para que se possa iniciar no fantástico mundo da programação. Essa linguagem

chama-se Portugol.

Você pode ver todos os posts já lançados clicando aqui, ou no menu lateral do site.

Então vamos ao que interessa!!!

No último post, aprendemos sobre estrutura condicional, quando e como utilizar o

operador SE-ENTAO-SENAO, porém, dependendo da ocasião, quando se há muitas

escolhas diferentes, nosso código pode ficar grande, e de difícil leitura…

Nesse caso, entra mais uma função em nosso querido algoritmo, o ESCOLHA…

CASO… CASO… OUTROCASO… =)

Ele é tão simples quanto o SE, e acredito que não deve haver tantas dúvidas.

Page 22: Aprendendo a Programar

Abaixo tem um algoritmo, sobre a classificação de atletas pela sua faixa etária, este

exemplo, poderia ter sido feito utilizando a estrutura condicional se – então, mas aqui

utilizarei o escolha – caso, para que vocês entendam como funciona o mesmo.

Mas antes do algoritmo…

Comentários…

Comentários de que Bruno?

Futebol, religião, fofoca…

Não, não é nada disso!

os comentários que direi agora, são trechos no código em que podemos escrever algo

sem que o interpretador ache que isso é uma linha de código.

Em portugol, nossos comentários são tudo aquilo precedido por // (duas barras)

Para que serve os comentários?

Os comentários em um código, serve para facilitar o entendimento por outros

programadores. Não podemos ser egoístas em pensar que apenas você que o escreveu

deve entende-lo, outras pessoas mais cedo ou mais tarde, precisarão ter acesso ao

código para dar manutenção ao mesmo, seja ele software livre ou não.

E finalmente… o Algoritmo

algoritmo “Classificação de Atletas”

var

nome, categoria: caractere

idade: inteiro

inicio

escreva(“Digite o nome do atleta: “)

leia(nome)

escreva(“Informe a idade do atleta: “)

leia(idade)

// Até aqui tudo bem, ele pede o nome e idade, lê os valores e joga nas respectivas

variáveis

escolha idade

// A função escolha irá interpretar os casos abaixo em cima da variável idade

caso 5,6,7,8,9,10

Page 23: Aprendendo a Programar

// Caso a variável idade receba os valores de 5 a 10, irá atribuir na variável categoria

o valor: infantil

…. categoria <- “infantil”

caso 11,12,13,14,15

// Caso a variável idade receba os valores de 11 a 15, irá atribuir na variável categoria

o valor: juvenil

…. categoria <- “juvenil”

caso 16,17,18,19,20

// Caso a variável idade receba os valores de 16 a 20, irá atribuir na variável categoria

o valor: junior

…. categoria <- “junior”

caso 21,22,23,24,25

// Caso a variável idade receba os valores de 21 a 25, irá atribuir na variável categoria

o valor: profissional

…. categoria <- “profissional”

outrocaso

// E se a variável idade não receber nenhum dos valores acima mencionados, vamos

atribuir a variável categoria o valor: inválido

…. categoria <- “INVALIDO”

fimescolha

// O fimescolha finaliza a função que abrimos anteriormente

escreva(“Categoria: “,categoria)

// E este último escreva, serve para que possamos mostrar o resultado ao usuário

fimalgoritmo

Caso vocês prefiram, disponibilizei o arquivo .alg para ser aberto no VisualG do

algoritmo acima, o link para download está logo abaixo:

Page 24: Aprendendo a Programar

Aprenda a programar #9 | Algoritmos – Estruturas de

repetição 1

- Bruno Barbosa

Posted by Bruno Barbosa on jun 1, 2010 in Algoritmos, Desenvolvimento | 59

comments

aprenda a programar Desenvolvimento estruturas de repetição portugol repita ate

Estruturas de repetição…

Bem vindo algoritmizeiros…

Parece que foi ontem que começamos nossa série de posts sobre algoritmos, na tentativa

de fazer esse mundo melhor com mais programadores =D

Agora, no nono post da série, vamos aprender sobre estruturas de repetição.

Mas o que é isso?

Bom, até o momento, sempre fizemos algoritmos lineares, ou seja, ele possui um

começo, meio e fim, e segue essa ordem…

As estruturas de repetição, irão repetir determinados comandos, até que uma

comparação lógica se torne verdadeira ou falsa.

Vou explicar com exemplos, assim o entendimento se tornará mais fácil.

Page 25: Aprendendo a Programar

O Algoritmo abaixo, lê o nome e a nota de três provas de três alunos diferentes…

Page 26: Aprendendo a Programar

Mas porquê?

Primeiramente foi declarado a variável i como inteiro, logo em seguida utilizamos

uma estrutura de repetição, o repita-ate, pedimos para escrever o valor de i e

acrescentamos ao seu valor mais uma unidade, ou seja, i + 1.

e até quando isso será repetido?

Até que o valor de i seja maior que 10…

Então quando o valor de i chegou a 11, ele perguntou se i era maior que 10, como a

resposta foi verdadeira, ele encerrou a repetição e foi para o próximo comando…

Como não temos mais nada, encerramos nosso algoritmo.

Agora, o algoritmo da média dos alunos…

Só que dessa vez, nós teremos 40 alunos em nossa classe!

Page 27: Aprendendo a Programar

Vamos digitar um por um?

Não! Agora que já sabemos utilizar uma estrutura de repetição, vamos poupar trabalho e

resumir nosso algoritmo!

Por enquanto é isso galera… Semana que vem, aprenderemos mais sobre estruturas

de repetição, não percam…

Enquanto isso, treinem mais um pouco sobre a estrutura de repetição repita-ate, isso

será importante em toda a vida de programador de vocês

Page 28: Aprendendo a Programar

Aprenda a Programar #10 | Algoritmos – Estruturas

de repetição 2

Enquanto… Faça…

Olá algoritmizeiros!

Primeiramente queria pedir desculpas pelo atraso no post dessa semana, mas a correria

trabalho-trabalho-faculdade-casa é grande, e as vezes o tempo é pouco…

Dando prosseguimento ao post anterior, sobre estruturas de repetição, hoje vamos

aprender sobre o comando enquanto – faca.

Diferentemente do repita-ate, onde todos os comandos são interpretados, para só então

haver uma expressão lógica verificando se deve ou não continuar a repetição, o

enquanto-faca irá avaliar uma expressão lógica e, enquanto esta for verdadeira, irá

executar os comandos…

Sintaxe do Enquanto .. faca

Melhor explicado com exemplos =)

Exemplo 1

Neste exemplo, vou criar um algoritmo utilizando o repita-ate e depois o mesmo

algoritmo, só que dessa vez utilizando a estrutura enquanto – faca, explicando passo-a-

passo a vocês, para que possam entender a diferença entre ambos.

Page 29: Aprendendo a Programar

- Faça um algoritmo que solicite que o usuário digite um número, e informe se este

número é maior que 10. O programa só pode parar de solicitar o número quando

este for igual a 0 (zero)

Utilizando a estrutura de repetição repita .. ate

E agora o mesmo algoritmo, porém utilizando a estrutura de repetição enquanto .. faca

Page 30: Aprendendo a Programar

Nesse exemplo, começamos nosso algoritmo atribuindo o valor 1 a variável número,

para que possamos começar a utilizar nossa estrutura de repetição, conforme podem ver

na linha 9;

E na linha 10, nossa condição para que o laço continue sendo executado, ou seja,

enquanto a variável numero for diferente de 0 (zero), continuaremos executando o

programa, e o usuário digitando números para descobrir se é maior ou menor que

zero… (como se fosse necessário um programa para isso rsrsrs)

claro, claro, é apenas um exemplo didático…

Mas que tal ver se realmente aprendeu?

Deixo aqui então um desafio a vocês…

1. Crie dois algoritmos, um utilizando a estrutura de repetição repita .. ate e outro utilizando o enquanto .. faca.

2. Uma loja está vendendo três modelos de carro, o algoritmo deve ler o nome e o valor (R$) dos seguinte automóveis: GOL, PALIO, CORSA

3. Ao final, informar quantos carros de cada modelo foram vendidos e o valor total arrecadado em reais.

4. O programa só pode encerrar quando o valor do veículo for igual a zero.

Aprenda a Programar #11 | Algoritmos – Estruturas

de repetição 3

Olá algoritmizeiros de plantão, nada melhor do que começar a semana com post novo

sobre algoritmos.

No começo desse mês, começamos a falar sobre estruturas de repetição, as estruturas

repita .. ate e enquanto .. faca.

Hoje para finalizar essa parte, iremos abordar a estrutura PARA .. FACA.

Page 31: Aprendendo a Programar

Para .. Faça

A sintaxe geral da estrutura de repetição para .. faca é a seguinte:

Explicando…

O X é a variável que deve ser previamente declarada, o N é o número que começará a

contagem, M até onde vai essa contagem, e o passo Y só será necessário se você não

quiser que seja de 1 em 1…

Sei que não entenderam nada, então vou mostrar um exemplo de uma estrutura de

repetição utilizando enquanto .. faca e após, um utilizando o para .. faca, você verá que

irá ficar bem mais simples!

Nesse algoritmo, foi utilizado a estrutura de repetição enquanto .. faca, como vocês

podem notar, foi declarado a variável num para servir como condição para execução do

laço, e ao mesmo tempo, imprimimos o valor da mesma na tela através do comando

escreva.

Page 32: Aprendendo a Programar

Essa estrutura vai imprimir o seguinte resultado na tela do usuário: 1 2 3 4 5 6 7 8 9 10

Agora, a mesma estrutura, agora utilizando o para .. faca.

Esse algoritmo, tem a mesma função do algoritmo acima, porém dessa vez utilizando a

estrutura para .. faca.

Vamos entender o algoritmo…

Declaração de variáveis, nós já aprendemos no quarto post da série, então vamos direto

ao laço de repetição:

para num de 1 ate 10 faca

Neste comando, estamos dizendo ao interpretador VisualG que a variável num receberá

o valor 1 e a cada iteração, ou seja, toda vez que os comandos dentro do para .. faca

forem executados, a variável num receberá +1 em seu valor por padrão, e assim

sucessivamente, até que o valor de num seja 10.

escreva(num) // já abordado anteriormente.

e o fimpara, que serve para indicar o fim do laço.

Page 33: Aprendendo a Programar

O Comando PASSO N:

1 – Imprimir na tela todos os números pares de 2 até 200

Passo 2…

Vocês devem estar se perguntando de onde surgiu esse passo 2 agora…

Lembram que na sintaxe do para .. faca expliquei que ele não é obrigatório, mas

poderia surgir?

então! por padrão no portugol, ele sempre acrescentará +1 a variável que agente está

utilizando no laço, mas nesse exemplo, eu preciso pegar apenas os números pares, ou

seja, de 2 em 2.

Bingo!

Está explicado então, o porquê do passo 2, assim em cada iteração, ele acrescentará +2

na variável num, esta que sempre será um valor par, que é o que queremos nesse

exemplo.

Page 34: Aprendendo a Programar