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!
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...
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
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!
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!
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:
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!!!
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ê!
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
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!
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)
É 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!
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
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!
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…
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?
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,
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.
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
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…
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.
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
// 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:
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.
O Algoritmo abaixo, lê o nome e a nota de três provas de três alunos diferentes…
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!
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
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.
- 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
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.
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.
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.
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.
Top Related