Vous êtes sur la page 1sur 34

Aprenda a programar #1 Linguagens de Programao

No sou matemtico, muito menos especialista em estatstica, mas acredito que 7 em cada 10 pessoas apaixonadas por tecnologia, j tiveram vontade de desenvolver seu prprio software, ou melhorar um outro cdigo em um software livre. pensando nisso que o Algoritmizando estria hoje uma nova seo! Toda tera-feira, iremos postar uma matria ensinando esse fantstico mundo de programao. comeando a partir de algoritmos, e dependendo da participao do pessoal, nos comentrios, dvidas, etc, poderemos ir bem mais longe, e quem sabe, realmente formar alguns bons programadores Como hoje apenas uma introduo do que h por vim, estarei dando um breve conceito sobre o que uma linguagem de programao.

O que uma linguagem de programao?


Uma linguagem de programao um mtodo padronizado para expressar instrues para um computador.

Porque programar?
Voc pode programar para alcanar inmeros 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 tambm 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 salrios iniciais relativamente altos. Se voc tem uma paixo em especial por computadores, por que no entender sua linguagem e se comunicar melhor com eles ^^

Ento, qual a linguagem que o computador entende?


Na verdade, os computadores no so inteligentes, como todos pensam. Inteligente o programador!

O computador entende apenas a linguagem binrio, ou seja, 1 e 0, ligado ou desligado, tenso alta ou tenso baixa No 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. So eles que fazem essa traduo de nossa linguagem para linguagem de mquina.

Qual a diferena da linguagem compilada para interpretada?


Na linguagem interpretada, o cdigo fonte traduzido para linguagem de mquina no momento da interpretao (execuo), e o cdigo fica visvel, enquanto na compilada, este feito anteriormente, no sendo possvel visualizar o cdigo fonte.

Ouvi dizer, que existem linguagens de baixo e alto nvel, qual a diferena?
Resumidamente, as linguagens de baixo nvel, so aquelas que possuem contato direto com o hardware do computador, geralmente linguagens compiladas, como por exemplo C, C++, Assembly Enquanto as linguagens de alto nvel o contato com o software, exemplos so linguagens interpretadas como Python, PHP, JavaScript, Pasca...

Aprenda a programar #2 | Algoritmos O que um algoritmo

Bem vindos ao segundo post da srie: Aprenda a Programar No primeiro post da srie, abordamos alguns conceitos sobre linguagem de programao. A partir de hoje, iremos aprender uma pseudo-linguagem, para facilitar o entendimento futuro e adiquirir certa lgica de programao. Mas por onde comear? Para maioria dos seres mortais, a base de tudo, est nos Algoritmos

O que um algoritmo?
Segundo a Wikipdia Um algoritmo uma sequncia finita de instrues bem definidas e no ambguas, cada uma das quais pode ser executada mecanicamente num perodo de tempo finito e com uma quantidade de esforo finita. Ok Bruno Agora traduz!!! O algoritmo, uma instruo, ou uma ordem que voc dar ao computador, para que ele realize determinada tarefa. Ao contrrio do que a maioria das pessoas pensam, o computador no inteligente, quem inteligente, o programador!
Simplificando

Para que o computador entenda algo, necessrio 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 cho pe 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 calo 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 ento, que tudo um algoritmo. O sistema de buscas do Google, tem um algoritmo por trs dele, o msn que vocs tanto gostam, tambm tem um algoritmo, e assim sucessivamente. Para aprendermos melhor sobre isto, antes de passar para qualquer tipo de linguagem de programao propriamente dita, iremos aprender a programar em uma pseudolinguagem, conhecida como Portugol ou Portugus Estruturado.

Portugol
O portugol, uma pseudo-linguagem criada para facilitar o aprendizado de algoritmos e lgica de programao, ela possui suas particularidades como qualquer outra linguagem, e a partir do prximo post, iremos passar a programar nesta linguagem, utilizando a ajuda do software VisualG. Ento no percam e nos acompanhem, que toda tera, um post novo para voc aprender a programar!

Aprenda a programar #3 | Algoritmos Variveis


- 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 no to importantes, nesta tera-feira, um presente do algoritmizando para vocs! Dois posts da srie 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 Introduo a linguagem de programao e explicao de alguns conceitos importantes. Aprenda a programar #2 Introduo a algoritmos, portugol e conceitos. Ento vamos ao que interessa

Variveis
Sim, variveis. E para quem ainda no sabe, em programao, o uso da matemtica relativamente alto e importante tambm, que voc possua um bom raciocnio lgico. Sabe aquela matria de lgica matemtica, que voc aprendeu no ensino mdio, fundamental, ou qualquer que seja pois, ela bastante til aqui!

Mas o que so variveis em programao?

Desenho de como seria uma varivel Vamos entender varivel, como uma caixa, na qual voc pode dar o nome que lhe achar conveniente, e guardar o contedo que desejar. Ou seja, toda varivel tem um nome, valor e tipo.
Mas voc no falou de tipo, o que isso?

As variveis, podem sem classificadas em:


numrica (numeros reais ou inteiros); caracteres (sequncias de texto); booleanas (verdadeiro ou falso);

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


Ento eu posso colocar qualquer nome em minha varivel?

Sim e No! Como assim? Certas palavras, so reservadas para o uso da linguagem, ou seja, essas palavras no podem ser utilizadas como um nome para sua varivel, pois haveria um conflito na hora de interpretar o cdigo. Abaixo, uma tabela sobre as palavras reservadas do portugol:

Palavras reservadas do Portugol No se preocupe em decorar essa tabela, no necessrio! A medida em que voc for aprendendo a programar em portugol, voc saber exatamente qual palavra , e qual no reservada pela linguagem. Outras restries para o nome de sua varivel :

O primeiro caractere de sua varivel, deve ser necessariamente letra ou underline _. No pode comear em nmeros Nomes de variveis no podem ter espaos em branco. Nada de Coca Cola por exemplo. Uma varivel correta seria ArgoHost, tudo junto e sem espaos. Essa aqui chega a ser difcil No permitido variveis com mais de 127 caracteres (pasmem! quem criaria uma varivel desse tamanho?) E por fim, em Portugol, diferente de outras linguagens de programao, as variveis no so case sensivity, ou seja, elas no diferenciam maisculas de minsculas. Logo, BrUnO = bruno.

Um pouco mais sobre os tipos de variveis


A tabela abaixo, exemplifica que tipo de contedo vai em cada varivel.

Tipos de variveis do portugol Galera, isso a, qualquer dvida, sugestes, deixeem comentrioos!!!

Somente aqui no algoritmizando, voc tem um curso completo para aprender a programar para no dizer de graa, com o custo de apenas UM COMENTRIO. Ento, vamos participar! Quanto mais participao, mais posts para vocs!!! Um forte abrao e at a prxima tera-feira. Mas enquanto no 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 expresso =x) a mais um post da srie Aprenda a Programar. Hoje, iremos nos aprofundar um pouco mais na pseudo-linguagem portugol, e a partir de agora ser necessrio para um melhor acompanhamento, que todos j tenham o VisualG instalado na mquina. Se voc marinheiro de primeira viagem, de uma olhada nos outros posts da srie: Aprenda a programar #1 / Aprenda a programar #2 / Aprenda a programar #3 Ento vamos ao que interessa!

Estrutura do portugol
Todo e qualquer algoritmo, ter sempre um Nome, Declarao de variveis, Incio 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 Incio e Fim mas

O que declarao de variveis?


A declarao de variveis, uma parte obrigatria no portugol, assim como em outras linguagens de programao como C por exemplo. Ela necessria para que o interpretador entenda que aquela palavra uma varivel, alm de ser til em muitos casos, para que no d um erro em seu programa futuramente devido a um erro de digitao, acusando de imediato onde est o erro. Na estrutura do Portugol, dentro da seo VAR, declaramos a varivel da seguinte maneira: Nome-da-var: tipo ex: meunome: caractere Ainda sobre a questo de variveis, no vou entrar em muitos detalhes, pois as mesmas foram explicadas no post anterior.

Vamos ento criar nosso primeiro programa!


Na tela Inicial do VisualG, j temos a estrutura de nosso portugol pronta, como expliquei no incio do post. algoritmo ol mundo var inicio escreva(Ol Mundo!) fimalgoritmo
No entendi nada! o que esse escreva?

O escreva uma palavra reservada do portugol, como expliquei no Aprenda a programar #3. Sua funo escrever na tela o texto entre (aspas) Se voc est utilizando o visualg, ao digitar este cdigo e apertar F9, o cdigo ser executado, e voc ver que estar escrito na tela apenas a frase: Ol Mundo!

E porqu no h nada no campo das variveis?

Porque ainda no utilizamos nenhuma. No cdigo acima, como vocs podem ver, foi utilizado apenas um minsculo pedao do que podemos fazer em portugol. No algoritmo a seguir, vamos fazer o uso da funo leia() e de variveis. algoritmo leianumero var num: inteiro inicio escreva(Digite um nmero: ) leia(num) escreva(O nmero digitado : , num) fimalgoritmo

Entendendo o algoritmo
Foi declarado a varivel num, como inteiro. Ou seja, poder receber qualquer nmero no-fracionrio (-2, -3, -20, 0, 1, 2, 40, 18) Em seguida, o algoritmo ir solicitar ao usurio que digite um nmero, escrevendo na tela a seguinte frase: Digite um nmero: Se vocs notarem, h um espao aps os : e antes da , isso necessrio para que o cursor d o espao desejado. Como falei em um post anterior da srie, o computador no 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 usurio digite um nmero inteiro e tecle enter. O num a varivel que declaramos no incio do algoritmo, lembram? E finalmente, o resultado. escreva(O nmero digitado : , num)

importante notar, que no escreva, tudo o que estiver entre aspas, vai ser tratado como um texto qualquer, ento para retornarmos o contedo de uma varivel, fechamos primeiro as aspas, colocamos uma vrgula e digitamos o nome da varivel, para s ento 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 nmeros e mostrem o resultado. 2. Crie um algoritmo que leia o nome e a idade de algum, e mostre na tela o que foi digitado.

Dica: no exerccio 2, ter que ser declarado duas variveis, uma do tipo inteiro e outra do tipo caractere. Se houver dvidas, de uma olhada no post anterior. Depois de criar o algoritmo, entrem na filosofia do Software Livre, compartilhe seu cdigo conosco! Porque no postar seu cdigo nos comentrios para ajudar quem tem dvidas? Existem diversas maneiras de chegar a uma soluo a partir de um algoritmo!

Aprenda a programar #5 | Algoritmos Atribuio e Operadores Aritmticos

Ol algoritmizeiros Bem vindo ao quinto post da srie Aprenda a programar Hoje, passaremos a vocs como atribuir valor a uma varivel, sem utilizar a interao com o leitor, ou seja, sem a utilizao do comando leia(variavel), e tambm aprenderemos sobre os operadores matemticos, para que em breve, possamos comear a fazer algoritmos de verdade! O resultado dos desafios que passei no post anterior, estaro nos comentrios do mesmo. Ento vamos comear. Mas antes

Retrospectiva do ltimo episdio post


Foi visto no post/tutorial anterior, declarao de variveis, como escrever uma mensagem ao usurio, e insero de dados a partir de interao com o leitor, como no exemplo abaixo: algoritmo exemplo var empresa: caractere inicio escreva(Que empresa oferece hospedagem de sites pelo melhor custo/benefcio? ) leia(empresa) escreva(Voc digitou: ,empresa) fimalgoritmo

e se por acaso, eu precisar atribuir um valor uma varivel sem a interao do leitor Bruno?

Veremos agora, logo abaixo

Atribuio
Utilizaremos este smbolo/sinal/setinha, para atribuir um valor a uma varivel: < Exemplo: numero <- 10 id <- 18 e tambm, podemos atribuir a uma varivel, o valor de outra varivel.
No entendi nada

Por exemplo, eu tenho a varivel x, que possui o valor 20, e tambm a varivel id, que pode conter, ou no algum valor. A questo que eu quero atribuir a varivel id, o valor da varivel x como seria? simples id <- x
Resumindo

Para atribuir um valor qualquer a uma varivel, basta digitar o nome da varivel, 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, vocs quem mandam! Nem tudo na vida, sequencial, ou seja, possvel resolver apenas de uma maneira. As vezes, preciso haver condies para executar determinada tarefa, assim como efetuar operaes matemticas, e outros Nesse caso, utilizaremos operaes matemticas, condicionais, laos de repeties, etc. No se assustem, veremos cada um passo-a-passo, no difcil!

A princpio, neste post, ficaremos apenas nos operadores aritmticos, e vermos o restante a partir da prxima tera-feira.

Operadores aritmticos
Para se realizar clculos com variveis, ou nmeros definidos pelo programador, utilizaremos alguns sinais j bastante conhecidos por todos vocs: Para entender os operadores aritmticos, importante ressaltar, antes de mais nada, que como estamos ensinando algo para o computador, no podemos e no temos como passar para ele do jeito que escrevemos Por exemplo, em uma frmula matemtica, teramos que passar tudo para uma linha apenas. o que chamamos de linearizao. Vocs iro entender melhor ao visualizar a imagem abaixo:

E de onde saiu todos esses parnteses e smbolos?

Calma galera, de uma olhada na tabela abaixo, dos operadores aritmticos, e ficar mais fcil o entendimento

Cada um desses, sero explicados mais detalhadamente a medida em que iremos utilizando-os

Aprenda a programar #6 | Algoritmos Operadores lgicos e relacionais

Ol queridos algoritmizeiros, como de costume, toda semana tem posts para vocs da srie: Aprenda a Programar. No quinto post, concluimos falando dos operadores aritmticos e creio eu que no deve haver nenhuma dvida, j que no vi manifestaes nos comentrios Ento hoje iremos abordar mais alguns tipos de operadores Ento. est esperando o que para comear a aprender? ^^

Operadores relacionais
Os operadores relacionais, servem para realizar a comparao entre duas expresses, e resultam apenas um valor Verdadeiro ou Falso. Observem a tabela abaixo:

Ok Bruno, tem algum exemplo?

Tem sim! as comparaes, no so nenhuma novidade do que aprendemos na escola por exemplo:

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

Simples no?

Os operadores lgicos
Temos ainda mais 3 operadores, o E, OU e o NAO, esses so chamados de operadores lgicos, e tambm iro resultar apenas um valor, podendo ser Verdadeiro ou Falso.

Vamos ver a aplicao desses operadores em uma tabela verdade.

Entenderam como eles funcionam? Bem simples no?


Ento vamos complicar mais um pouco

No desenvolvimento de um programa, nem tudo so flores, ou seja, vamos colocar nossa cabea para pensar As vezes necessrio 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 ento eu tenho que decorar essa tabela verdade?


No! Um macete para vocs

No operador E: Ser verdadeiro quando as duas expresses forem verdadeiras. No operador Ou: Ser verdadeiro quando qualquer uma das expresses forem verdadeiras.

Logo,

Se houver UMA expresso falsa no operador E, o resultado sempre ser FALSO. No operador OU, ser FALSO apenas quando as duas expresses forem FALSAS.

Difcil? No, basta um pouco de treino

Que tal responder alguns desafios? retornando o resultado da expresso, sendo ele, Verdadeiro ou Falso.
1. 2. 3. 4. 5. ((3 + 5) / 2) > 0) : (3 * 3 > 10) ou (2 + 2 < 10) : (10 <> 5) ou (1 + 1 = 0) : (2 + 3 >= 5) e (18 / 3 < 7) : (1 + 1 = 0) e (0 1 > 0) :

O resultado dos desafios sair aqui mesmo nesse post, na seo de comentrios na data de lanamento do prximo post da srie.

Aprenda a programar #7 | Algoritmos Condicionais

Estrutura condicional
Vejamos Se o Flamengo vencer entao . ele ser campeo da libertadores fimse =D Sim, na vida, as vezes nos deparamos em situaes na qual precisamos escolher algo somente se outra coisa acontecer Chamamos isso de condio.

Nos algoritmos, tambm utilizaremos isto, como vocs notaram no comeo do post, o que utilizei ali, foi uma estrutura condicional. Observem bem, o que est em negrito, as palavras se, entao, fimse. Elas sero importantssimas em nosso algoritmo ento, poderia basicamente dizer que em um algoritmo a sintaxe seria a seguinte: se <condio> entao . <aes a serem realizadas se a condio for verdadeira> //pode ser uma ou mais fimse
Eu sei que o computador no entenderia se eu colocasse simplesmente ele ser campeo da libertadores, ento como ficaria isso em um algoritmo?

Esse foi um exemplo bem didtico, mas em portugol, seria mais ou menos o seguinte: se (vencedor = Flamengo) entao . escreva(Flamengo ser o campeo da Libertadores!!!) fimse

Esses . antes da ao, necessrio?


No, esses quatro pontos, um artifcio que estou usando aqui no blog para indicar que ali, existe um espao ou uma tabulao, j que se eu simplesmente der o espao aqui no blog, ele no ir interpretar e ficar como se no houvesse nada
Ento para que esse espao?

Esse espao, o que chamamos de identao, que alm de ser uma questo de tica entre os programadores, ele vai servir para que seu cdigo tenha uma melhor aparncia, e fique mais fcil para entend-lo e dar manuteno.

Entendi essa parte mas e se a condio for falsa?


Se voc no 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 didtico e de fcil entendimento:
1. 2. 3. 4. se dinheiro >= 30 entao . ir_ao_cinema <- verdadeiro . assistir_tv <- falso fimse

5. 6. 7. 8.

se dinheiro < 30 entao . ir_ao_cinema <- falso . assistir_tv <- verdadeiro fimse

e a segunda opo, que bem melhor e de mais agradvel leitura


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

Observem que agora na linha quatro, apareceu uma palavrinha nova para ns 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 varivel assistir_tv receberia o valor falso. Se o dinheiro no fosse maior que 30, ou seja, caso ele fosse menor, o valor recebido das variveis ir_ao_cinema e assistir_tv seriam outros.
Fcil no?

Agora, um algoritmo facin facin, para que vocs 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 no tenham conseguido entender, pode postar nos comentrios que explicarei linha por linha E mais dois desafios extras =)
1. Faa um algoritmo que receba um nmero e mostre uma mensagem caso este nmero seja maior que 10. 2. Faa um algoritmo que receba um nmero, e informe se este nmero est no intervalo de 100 a 200.

Abraos galera, e at o prximo post!

Aprenda a programar #8 | Algoritmos Escolha .. Caso

Escolha caso
Ol algoritmizeiros, chegamos hoje ao oitavo post de nosso curso/srie/aula (como queiram chamar =) sobre algoritmos. Para quem no conhece ainda, o Aprenda a Programar, uma srie de posts lanados toda semana, geralmente na tera ou quarta-feira, ensinando uma linguagem de cunho didtico para que se possa iniciar no fantstico mundo da programao. Essa linguagem chama-se Portugol. Voc pode ver todos os posts j lanados clicando aqui, ou no menu lateral do site. Ento vamos ao que interessa!!! No ltimo post, aprendemos sobre estrutura condicional, quando e como utilizar o operador SE-ENTAO-SENAO, porm, dependendo da ocasio, quando se h muitas escolhas diferentes, nosso cdigo pode ficar grande, e de difcil leitura Nesse caso, entra mais uma funo em nosso querido algoritmo, o ESCOLHA CASO CASO OUTROCASO =) Ele to simples quanto o SE, e acredito que no deve haver tantas dvidas.

Abaixo tem um algoritmo, sobre a classificao de atletas pela sua faixa etria, este exemplo, poderia ter sido feito utilizando a estrutura condicional se ento, mas aqui utilizarei o escolha caso, para que vocs entendam como funciona o mesmo. Mas antes do algoritmo

Comentrios
Comentrios de que Bruno?

Futebol, religio, fofoca No, no nada disso! os comentrios que direi agora, so trechos no cdigo em que podemos escrever algo sem que o interpretador ache que isso uma linha de cdigo. Em portugol, nossos comentrios so tudo aquilo precedido por // (duas barras)
Para que serve os comentrios?

Os comentrios em um cdigo, serve para facilitar o entendimento por outros programadores. No podemos ser egostas em pensar que apenas voc que o escreveu deve entende-lo, outras pessoas mais cedo ou mais tarde, precisaro ter acesso ao cdigo para dar manuteno ao mesmo, seja ele software livre ou no.

E finalmente o Algoritmo
algoritmo Classificao 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 variveis escolha idade // A funo escolha ir interpretar os casos abaixo em cima da varivel idade caso 5,6,7,8,9,10

// Caso a varivel idade receba os valores de 5 a 10, ir atribuir na varivel categoria o valor: infantil . categoria <- infantil caso 11,12,13,14,15 // Caso a varivel idade receba os valores de 11 a 15, ir atribuir na varivel categoria o valor: juvenil . categoria <- juvenil caso 16,17,18,19,20 // Caso a varivel idade receba os valores de 16 a 20, ir atribuir na varivel categoria o valor: junior . categoria <- junior caso 21,22,23,24,25 // Caso a varivel idade receba os valores de 21 a 25, ir atribuir na varivel categoria o valor: profissional . categoria <- profissional outrocaso // E se a varivel idade no receber nenhum dos valores acima mencionados, vamos atribuir a varivel categoria o valor: invlido . categoria <- INVALIDO fimescolha // O fimescolha finaliza a funo que abrimos anteriormente escreva(Categoria: ,categoria) // E este ltimo escreva, serve para que possamos mostrar o resultado ao usurio fimalgoritmo Caso vocs 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 repetio 1


- Bruno Barbosa

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


aprenda a programar Desenvolvimento estruturas de repetio portugol repita ate

Estruturas de repetio
Bem vindo algoritmizeiros Parece que foi ontem que comeamos nossa srie de posts sobre algoritmos, na tentativa de fazer esse mundo melhor com mais programadores =D Agora, no nono post da srie, vamos aprender sobre estruturas de repetio.

Mas o que isso?


Bom, at o momento, sempre fizemos algoritmos lineares, ou seja, ele possui um comeo, meio e fim, e segue essa ordem As estruturas de repetio, iro repetir determinados comandos, at que uma comparao lgica se torne verdadeira ou falsa. Vou explicar com exemplos, assim o entendimento se tornar mais fcil.

O Algoritmo abaixo, l o nome e a nota de trs provas de trs alunos diferentes

Mas porqu?

Primeiramente foi declarado a varivel i como inteiro, logo em seguida utilizamos uma estrutura de repetio, 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 Ento quando o valor de i chegou a 11, ele perguntou se i era maior que 10, como a resposta foi verdadeira, ele encerrou a repetio e foi para o prximo comando Como no temos mais nada, encerramos nosso algoritmo.
Agora, o algoritmo da mdia dos alunos

S que dessa vez, ns teremos 40 alunos em nossa classe!

Vamos digitar um por um?

No! Agora que j sabemos utilizar uma estrutura de repetio, vamos poupar trabalho e resumir nosso algoritmo!

Por enquanto isso galera Semana que vem, aprenderemos mais sobre estruturas de repetio, no percam

Enquanto isso, treinem mais um pouco sobre a estrutura de repetio repita-ate, isso ser importante em toda a vida de programador de vocs

Aprenda a Programar #10 | Algoritmos Estruturas de repetio 2

Enquanto Faa
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 repetio, hoje vamos aprender sobre o comando enquanto faca. Diferentemente do repita-ate, onde todos os comandos so interpretados, para s ento haver uma expresso lgica verificando se deve ou no continuar a repetio, o enquanto-faca ir avaliar uma expresso lgica 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-apasso a vocs, para que possam entender a diferena entre ambos.

- Faa um algoritmo que solicite que o usurio digite um nmero, e informe se este nmero maior que 10. O programa s pode parar de solicitar o nmero quando este for igual a 0 (zero) Utilizando a estrutura de repetio repita .. ate

E agora o mesmo algoritmo, porm utilizando a estrutura de repetio enquanto .. faca

Nesse exemplo, comeamos nosso algoritmo atribuindo o valor 1 a varivel nmero, para que possamos comear a utilizar nossa estrutura de repetio, conforme podem ver na linha 9; E na linha 10, nossa condio para que o lao continue sendo executado, ou seja, enquanto a varivel numero for diferente de 0 (zero), continuaremos executando o programa, e o usurio digitando nmeros para descobrir se maior ou menor que zero (como se fosse necessrio um programa para isso rsrsrs) claro, claro, apenas um exemplo didtico Mas que tal ver se realmente aprendeu? Deixo aqui ento um desafio a vocs
1. Crie dois algoritmos, um utilizando a estrutura de repetio repita .. ate e outro utilizando o enquanto .. faca. 2. Uma loja est vendendo trs modelos de carro, o algoritmo deve ler o nome e o valor (R$) dos seguinte automveis: 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 veculo for igual a zero.

Aprenda a Programar #11 | Algoritmos Estruturas de repetio 3

Ol algoritmizeiros de planto, nada melhor do que comear a semana com post novo sobre algoritmos. No comeo desse ms, comeamos a falar sobre estruturas de repetio, as estruturas repita .. ate e enquanto .. faca. Hoje para finalizar essa parte, iremos abordar a estrutura PARA .. FACA.

Para .. Faa
A sintaxe geral da estrutura de repetio para .. faca a seguinte:

Explicando

O X a varivel que deve ser previamente declarada, o N o nmero que comear a contagem, M at onde vai essa contagem, e o passo Y s ser necessrio se voc no quiser que seja de 1 em 1 Sei que no entenderam nada, ento vou mostrar um exemplo de uma estrutura de repetio utilizando enquanto .. faca e aps, um utilizando o para .. faca, voc ver que ir ficar bem mais simples!

Nesse algoritmo, foi utilizado a estrutura de repetio enquanto .. faca, como vocs podem notar, foi declarado a varivel num para servir como condio para execuo do lao, e ao mesmo tempo, imprimimos o valor da mesma na tela atravs do comando escreva.

Essa estrutura vai imprimir o seguinte resultado na tela do usurio: 1 2 3 4 5 6 7 8 9 10 Agora, a mesma estrutura, agora utilizando o para .. faca.

Esse algoritmo, tem a mesma funo do algoritmo acima, porm dessa vez utilizando a estrutura para .. faca.

Vamos entender o algoritmo


Declarao de variveis, ns j aprendemos no quarto post da srie, ento vamos direto ao lao de repetio: para num de 1 ate 10 faca Neste comando, estamos dizendo ao interpretador VisualG que a varivel num receber o valor 1 e a cada iterao, ou seja, toda vez que os comandos dentro do para .. faca forem executados, a varivel num receber +1 em seu valor por padro, 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 lao.

O Comando PASSO N:

1 Imprimir na tela todos os nmeros pares de 2 at 200

Passo 2

Vocs devem estar se perguntando de onde surgiu esse passo 2 agora Lembram que na sintaxe do para .. faca expliquei que ele no obrigatrio, mas poderia surgir? ento! por padro no portugol, ele sempre acrescentar +1 a varivel que agente est utilizando no lao, mas nesse exemplo, eu preciso pegar apenas os nmeros pares, ou seja, de 2 em 2. Bingo! Est explicado ento, o porqu do passo 2, assim em cada iterao, ele acrescentar +2 na varivel num, esta que sempre ser um valor par, que o que queremos nesse exemplo.

Vous aimerez peut-être aussi