Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Algoritmo

19,965 views

Published on

Conceitos básicos de algoritmos e lógica de programação

Published in: Education
  • Be the first to comment

Algoritmo

  1. 1. ALGORITMO
  2. 2. Definição <ul><li>Representa a lógica de solução de um problema passo-a-passo. </li></ul>
  3. 3. Um algoritmo pode ser <ul><li>Na forma textual: </li></ul><ul><ul><li>Uma descrição tal como uma receita de bolo; </li></ul></ul><ul><ul><li>Um manual de montagem; </li></ul></ul><ul><ul><li>Um relato de como fazer uma tarefa; </li></ul></ul><ul><ul><li>O pseudo código de um programa; </li></ul></ul><ul><li>Na forma de gráficos </li></ul><ul><ul><li>Um fluxograma </li></ul></ul><ul><ul><li>Um mapa indicando o caminho </li></ul></ul>
  4. 4. Características <ul><li>Possui um número limitado de passos; </li></ul><ul><li>As regras de codificação do algoritmo são previamente conhecidas e dependem da “máquina” que irá resolver o problema </li></ul>
  5. 5. Qualidades de um algoritmo <ul><li>Integridade : refere-se à precisão das informações manipuladas pelo programa; </li></ul><ul><li>Clareza : refere-se à facilidade de leitura do programa; </li></ul><ul><li>Simplicidade : a clareza e precisão de um programa são normalmente melhoradas tornando seu entendimento o mais simples possível, consistente com os objetivos do programa; </li></ul><ul><li>Eficiência : refere-se à velocidade de processamento e a correta utilização da memória; </li></ul><ul><li>Modularidade : consiste no particionamento do programa em módulos menores bem identificáveis e com funções específicas; e </li></ul><ul><li>Generalidade : é interessante que um programa seja tão genérico quanto possível de forma a permitir a reutilização de seus componentes em outros projetos. </li></ul>
  6. 6. Pseudo código <ul><li>É uma forma de algoritmo que simula a solução do problema por uma linguagem computacional; </li></ul><ul><li>Não existem regras rígidas para a codificação dos algoritmos, porem, de uma forma geral seguem a um padrão. </li></ul>
  7. 7. Programação Estruturada <ul><li>Possui 3 figuras básicas </li></ul><ul><ul><li>Seqüência simples; </li></ul></ul><ul><ul><li>Decisão; </li></ul></ul><ul><ul><li>Repetição </li></ul></ul>
  8. 8. Comandos <ul><li>Inicio  representa o inicio do algoritmo; </li></ul><ul><li>Fim  representa o fim do algoritmo; </li></ul><ul><li>Leia A  significa ler um valor de uma unidade de entrada e armazenar em A. Caso exista um valor em A este é destruído e substituído pelo novo valor lido. </li></ul>
  9. 9. Comandos <ul><li>Escreva A  significa exibir o conteúdo de A. Não destrói o valor exibido. Pode-se exibir uma mensagem colocando entre aspas. Escrever “resposta” </li></ul><ul><li>A  C+B significa A recebe a soma do conteúdo de C com B; </li></ul><ul><li>Atenção o símbolo  tem significado diferente da matemática pois primeiro realiza a operação depois atribui o resultado para a variável A </li></ul>
  10. 10. Observe que <ul><li>A  A+B significa some o conteúdo de A com B e atribua a A. </li></ul><ul><li>Diga qual o valor que será exibido </li></ul><ul><li>Inicio </li></ul><ul><ul><li>X  2 </li></ul></ul><ul><ul><li>Y  3 </li></ul></ul><ul><ul><li>X  x+y </li></ul></ul><ul><ul><li>Escreva x </li></ul></ul><ul><li>Fim </li></ul>
  11. 11. Exemplo <ul><li>Elabore um Algoritmo para ler dois valores e exibir sua soma </li></ul><ul><li>Inicio </li></ul><ul><ul><li>Ler A,B </li></ul></ul><ul><ul><li>C  A+B </li></ul></ul><ul><ul><li>Escrever C </li></ul></ul><ul><li>Fim </li></ul>
  12. 12. Operadores matemáticos <ul><li>+ soma </li></ul><ul><li>- subtração </li></ul><ul><li>* multiplicação </li></ul><ul><li>/ divisão </li></ul><ul><li>Mod resto inteiro da divisão </li></ul><ul><li>Div divisão inteira </li></ul><ul><li>( ) </li></ul>
  13. 13. Exemplo <ul><li>A  10 mod 3 </li></ul><ul><li>B  10 div 3 </li></ul><ul><li>Auto avaliação: </li></ul><ul><li>Proponha um método para saber se um número é par ou impar com o que foi mostrado até agora. </li></ul>
  14. 14. Exercício <ul><li>Elabore um algoritmo para ler 3 valores e determinar sua média </li></ul>
  15. 15. Solução <ul><li>Inicio </li></ul><ul><ul><li>Ler A,B,C </li></ul></ul><ul><ul><li>D  ( A+B+C) / 3 </li></ul></ul><ul><ul><li>Escrever D </li></ul></ul><ul><li>Fim </li></ul>
  16. 16. Alem dos operadores existem as funções <ul><li>Inúmeras funções são disponíveis. Por exemplo: </li></ul><ul><ul><li>Sqrt raiz quadrada </li></ul></ul><ul><ul><li>Sqr quadrado </li></ul></ul><ul><ul><li>Sin seno </li></ul></ul><ul><ul><li>Cos cosseno </li></ul></ul><ul><ul><li>Rnd número aleatório </li></ul></ul><ul><ul><li>Etc. </li></ul></ul>
  17. 17. Estrutura de decisão <ul><li>Pode ser: </li></ul><ul><ul><li>Alternativa simples  quando existe apenas uma ação a ser executada se a condição for verdadeira; </li></ul></ul><ul><ul><li>Alternativa dupla  quando existem duas ações a serem executadas se a condição for verdadeira e se for falsa; </li></ul></ul><ul><ul><li>Alternativas múltiplas  quando existem mais de duas alternativas. </li></ul></ul>
  18. 18. Estrutura de decisão <ul><li>Se (condição) </li></ul><ul><ul><li>Então </li></ul></ul><ul><ul><ul><li>Conjunto de comandos se a condição for verdadeira </li></ul></ul></ul><ul><ul><li>Se não </li></ul></ul><ul><ul><ul><li>Conjunto de comandos se a condição for falsa </li></ul></ul></ul><ul><li>Fim se </li></ul>
  19. 19. Operadores relacionais <ul><li>> maior que </li></ul><ul><li>< menor que </li></ul><ul><li>= igual </li></ul><ul><li>>= maior ou igual </li></ul><ul><li><= menor ou igual </li></ul><ul><li><> diferente </li></ul><ul><li>E </li></ul><ul><li>Ou </li></ul>
  20. 20. Exemplo <ul><li>Elabore um algoritmo para ler dois valores e exibir o maior deles. Os valores são, por definição, diferentes entre si. </li></ul><ul><li> Inicio </li></ul><ul><ul><li>Ler A,B </li></ul></ul><ul><ul><ul><li>Se A>B então </li></ul></ul></ul><ul><ul><ul><ul><li>Escreva A </li></ul></ul></ul></ul><ul><ul><ul><li>Se não </li></ul></ul></ul><ul><ul><ul><ul><li>Escreva B </li></ul></ul></ul></ul><ul><ul><ul><li>Fim se </li></ul></ul></ul><ul><ul><ul><li>Fim </li></ul></ul></ul>
  21. 21. Exercício <ul><li>Elabore um algoritmo para ler a idade de uma pessoa. Se a idade for menor que 18 anos exibir: “menor de idade” se for maior ou igual exibir “maior de idade”. </li></ul><ul><li>Auto avaliação </li></ul><ul><li>Se vc inverter a pergunta o resultado será o mesmo? </li></ul>
  22. 22. Solução <ul><li>Inicio </li></ul><ul><ul><li>Ler idade </li></ul></ul><ul><ul><li>Se idade < 18 então </li></ul></ul><ul><ul><ul><li>Escrever “menor de idade” </li></ul></ul></ul><ul><ul><li>Se não </li></ul></ul><ul><ul><ul><li>Escrever “maior de idade” </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><li>Fim </li></ul>
  23. 23. Auto avaliação <ul><li>Elabore um algoritmo para ler 3 valores (diferentes entre si) e escrever o maior deles. </li></ul>
  24. 24. Solução <ul><li>Inicio </li></ul><ul><ul><li>Ler A,B,C </li></ul></ul><ul><ul><li>Se A>B e A>C então </li></ul></ul><ul><ul><ul><li>Escrever A </li></ul></ul></ul><ul><ul><li>Se não </li></ul></ul><ul><ul><ul><li>Se B > C então </li></ul></ul></ul><ul><ul><ul><ul><li>Escrever B </li></ul></ul></ul></ul><ul><ul><ul><li>Se não </li></ul></ul></ul><ul><ul><ul><ul><li>Escrever c </li></ul></ul></ul></ul><ul><ul><ul><li>Fim se </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><li>fim </li></ul>
  25. 25. Elabore um algoritmo que <ul><ul><li>leia código da mercadoria e preço. Se for código 00 aplicar um desconto de 10%. Exibir o preço final. </li></ul></ul>
  26. 26. Solução <ul><li>Inicio </li></ul><ul><ul><li>Ler código, preço </li></ul></ul><ul><ul><li>Se código = 00 então </li></ul></ul><ul><ul><ul><li>Preço  Preço * 0,9 </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><ul><li>Escreva código, preço </li></ul></ul><ul><li>Fim </li></ul>
  27. 27. Elabore um algoritmo que <ul><li>Leia o sexo M ou F e se for M acrescente 1 a variável que contém a quantidade de homens (CM) </li></ul>
  28. 28. <ul><li>INICIO </li></ul><ul><ul><li>CM  0 { não é obrigatório pois todas as variáveis iniciam com 0} </li></ul></ul><ul><ul><li>LER SEXO </li></ul></ul><ul><ul><li>SE SEXO = ‘M’ ENTÃO </li></ul></ul><ul><ul><ul><li>CM  CM +1 </li></ul></ul></ul><ul><ul><li>FIM SE </li></ul></ul><ul><ul><li>ESCREVA CM </li></ul></ul><ul><li>FIM </li></ul>
  29. 29. Simulação (chinês) <ul><li>Para verificar se um algoritmo atende aos requisitos do enunciado deve-se simular seu funcionamento com dados cujos resultados são previamente conhecidos; </li></ul><ul><li>Por exemplo: </li></ul><ul><li>Simule o funcionamento do algoritmo anterior para sexo ‘M’ </li></ul>
  30. 30. Dicas <ul><li>Relacione as variáveis na mesma ordem do algoritmo. Elabore uma tabela e vá acompanhando o valor de cada variável </li></ul>1 CM M Sexo 0 CM valor variável
  31. 31. Elabore um algoritmo que <ul><li>Leia a nota do aluno se for maior que 5 escrever “aprovado” caso contrário escrever “reprovado” </li></ul><ul><li>Inicio </li></ul><ul><ul><li>Ler nota </li></ul></ul><ul><ul><li>Se nota >= 5 então </li></ul></ul><ul><ul><ul><li>Escreva “aprovado” </li></ul></ul></ul><ul><ul><li>Se não </li></ul></ul><ul><ul><ul><li>Escreva “reprovado” </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><li>Fim </li></ul>
  32. 32. Elabore um algoritmo que <ul><li>Leia dois valores e exiba em ordem crescente (os valores são diferentes entre si) </li></ul>
  33. 33. <ul><li>Inicio </li></ul><ul><ul><li>Ler A,B </li></ul></ul><ul><ul><li>Se A> B então </li></ul></ul><ul><ul><ul><li>Escreva A, B </li></ul></ul></ul><ul><ul><li>Se não </li></ul></ul><ul><ul><ul><li>Escreva B, A </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><li>Fim </li></ul>
  34. 34. Altere o algoritmo anterior <ul><li>Inclua a condição dos valores serem iguais, neste caso escrever “valores iguais” </li></ul>
  35. 35. Quando existem mais de duas alternativas <ul><li>Neste caso será necessário colocar vários “se’s”. </li></ul><ul><li>Pode-se usar o operador E, ou então, o OU </li></ul><ul><li>Por exemplo: </li></ul>
  36. 36. Imposto de renda na fonte <ul><li>O critério para a retenção de imposto de renda na fonte é o seguinte: </li></ul><ul><li>Elabore um algoritmo </li></ul>465,35 27,5% Acima de 2326,00 174,60 15% De 1164,01 a 2326 Isento 1164 Parcela a deduzir Alíquota Renda
  37. 37. <ul><li>Inicio </li></ul><ul><ul><li>Ler renda </li></ul></ul><ul><ul><ul><li>Se renda <= 1164 então </li></ul></ul></ul><ul><ul><ul><ul><li>IR  0 </li></ul></ul></ul></ul><ul><ul><ul><li>Se não </li></ul></ul></ul><ul><ul><ul><ul><li>Se renda <= 2326 então </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>IR  renda* 0,15 – 174,60 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Se não </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>IR  renda * 0,275 – 465,35 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Fim se </li></ul></ul></ul></ul><ul><ul><ul><li>Fim se </li></ul></ul></ul><ul><ul><ul><li>Escreva renda IR </li></ul></ul></ul><ul><ul><li>Fim </li></ul></ul>
  38. 38. Simulação <ul><li>Simule o funcionamento do algoritmo anterior para os valores </li></ul><ul><ul><li>260,00 </li></ul></ul><ul><ul><li>2000,00 </li></ul></ul><ul><ul><li>5000,00 </li></ul></ul>
  39. 39. Elabore um algoritmo que leia a nota do aluno e escreva sua situação <ul><li>O critério de aprovação da UERJ é o seguinte: </li></ul><ul><ul><li>Nota < 4 aluno reprovado </li></ul></ul><ul><ul><li>Nota >= 4 e < 7 aluno em prova final </li></ul></ul><ul><ul><li>Nota >= 7 aluno aprovado </li></ul></ul>
  40. 40. <ul><li>Inicio </li></ul><ul><ul><li>Ler nota </li></ul></ul><ul><ul><ul><li>Se nota < 4 então </li></ul></ul></ul><ul><ul><ul><ul><li>Escreva “reprovado” </li></ul></ul></ul></ul><ul><ul><ul><li>Se não </li></ul></ul></ul><ul><ul><ul><ul><li>Se nota <= 7 então </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Escreva “final” </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Se não </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Escreva “aprovado” </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Fim se </li></ul></ul></ul></ul><ul><ul><ul><li>Fim se </li></ul></ul></ul><ul><li>Fim </li></ul>
  41. 41. Exercício <ul><li>Complemente o exercício anterior incluindo a condição: se o aluno tiver menos de 75% de freqüência estará reprovado independente da nota </li></ul>
  42. 42. <ul><li>Inicio </li></ul><ul><ul><li>Ler nota,freq </li></ul></ul><ul><ul><li>Se freq < 0,75 então </li></ul></ul><ul><ul><ul><li>Escreva “reprovado” </li></ul></ul></ul><ul><ul><li>Se não </li></ul></ul><ul><ul><ul><li>Se nota < 4 então </li></ul></ul></ul><ul><ul><ul><ul><li>Escreva “reprovado” </li></ul></ul></ul></ul><ul><ul><ul><li>Se não </li></ul></ul></ul><ul><ul><ul><ul><li>Se nota <= 7 então </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Escreva “final” </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Se não </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Escreva “aprovado” </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Fim se </li></ul></ul></ul></ul><ul><ul><ul><li>Fim se </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><li>Fim </li></ul>
  43. 43. Elabore o algoritmo para determinar o recolhimento do INSS: <ul><li>O INSS para o trabalhador assalariado é calculado de acordo com a seguinte tabela: </li></ul>11,00 De 1254,37 a 2508,72 9,00 De 780,01 a 1254,36 8,65 De 752,63 a 780,00 7,65 Até 752,62 Alíquota (%) Salário de contribuição
  44. 44. Dicas <ul><li>Qual informação deve ser lida? </li></ul><ul><li>A solução é um conjunto de decisões? </li></ul><ul><li>Comece pelo menor valor e vá estabelecendo os intervalos </li></ul><ul><li>Quais são as variáveis que serão utilizadas? </li></ul>
  45. 45. <ul><li>Inicio </li></ul><ul><ul><li>Ler sal </li></ul></ul><ul><ul><li>Se sal <= 752,62 então </li></ul></ul><ul><ul><ul><li>INSS  sal * 0,0765 </li></ul></ul></ul><ul><ul><li>Se não </li></ul></ul><ul><ul><ul><li>Se sal <= 780,00 então </li></ul></ul></ul><ul><ul><ul><ul><li>INSS  sal * 0,0865 </li></ul></ul></ul></ul><ul><ul><ul><li>Se não </li></ul></ul></ul><ul><ul><ul><ul><li>Se sal <=1254,36 então </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>INSS  sal * 0,09 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Se não </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Se sal <= 2508,72 então </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>INSS  sal * 0,11 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Se não </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>INSS  2508,72 * 0,11 </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Fim se </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><li>Fim se </li></ul></ul></ul></ul><ul><ul><ul><li>Fim se </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><ul><li>Escreva INSS </li></ul></ul><ul><li>Fim </li></ul>
  46. 46. <ul><li>{uma solução pior, mas certa} </li></ul><ul><li>Inicio </li></ul><ul><ul><li>Ler sal </li></ul></ul><ul><ul><li>Se sal <= 752,62 então </li></ul></ul><ul><ul><ul><li>INSS  sal * 0,0765 </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><ul><li>Se sal >= 752,63 e sal <= 780,00 e então </li></ul></ul><ul><ul><ul><li>INSS  sal * 0,0865 </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><ul><li>Se sal >= 780,01 e sal <=1254,36 então </li></ul></ul><ul><ul><ul><li>INSS  sal * 0,09 </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><ul><li>Se sal >= 1254,37 e sal <= 2508,72 então </li></ul></ul><ul><ul><ul><li>INSS  sal * 0,11 </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><ul><li>Se sal > 2508,72 então </li></ul></ul><ul><ul><ul><li>INSS  2508,72 * 0,11 </li></ul></ul></ul><ul><ul><li>Fim se </li></ul></ul><ul><ul><li>Escreva INSS </li></ul></ul><ul><li>Fim </li></ul>
  47. 47. Seleção múltipla <ul><li>É quando temos várias alternativas, como por exemplo no “menu” de um terminal bancário </li></ul>
  48. 48. Decisão múltipla <ul><li>Caso opção faça </li></ul><ul><ul><li>Resposta 1: alternativa 1 </li></ul></ul><ul><ul><li>Resposta 2: alternativa 2 </li></ul></ul><ul><ul><li>Outro caso </li></ul></ul><ul><ul><ul><li>Alternativa 3 </li></ul></ul></ul><ul><li>Fim caso </li></ul>
  49. 49. Ler uma opção e escrever qual letra foi selecionada <ul><li>Inicio </li></ul><ul><ul><li>Ler letra </li></ul></ul><ul><ul><ul><li>Caso letra faça </li></ul></ul></ul><ul><ul><ul><ul><li>“ a”: escreva “vc escolheu a “ </li></ul></ul></ul></ul><ul><ul><ul><ul><li>“ b” : escreva “vc escolheu b “ </li></ul></ul></ul></ul><ul><ul><ul><li>Outro caso </li></ul></ul></ul><ul><ul><ul><ul><li>Escreva “vc escolheu outra letra” </li></ul></ul></ul></ul><ul><ul><li>Fim </li></ul></ul>
  50. 50. Estrutura de repetição <ul><li>Repete, de forma controlada, um conjunto selecionado de instruções. </li></ul><ul><li>Podem ser de 3(três) tipos: </li></ul><ul><ul><li>Para-faça </li></ul></ul><ul><ul><li>Enquanto-faça </li></ul></ul><ul><ul><li>Repita-até </li></ul></ul>
  51. 51. Para-faça <ul><li>Usa-se da seguinte forma: </li></ul><ul><ul><li>Para variável  inicio até fim </li></ul></ul><ul><ul><ul><li>Grupo de instruções que será repetido </li></ul></ul></ul><ul><ul><li>Fim para </li></ul></ul><ul><li>Funciona da seguinte forma </li></ul><ul><ul><li>A variável é inicializada com o valor do inicio; </li></ul></ul><ul><ul><li>O grupo de instruções é executado; </li></ul></ul><ul><ul><li>Ao chegar ao comando “fim para” a variável tem seu valor acrescido de 1(um) e verifica se o seu valor é maior que fim </li></ul></ul><ul><ul><li>Se for menor ou igual, repete o conjunto de instruções </li></ul></ul>
  52. 52. Elabore um algoritmo para escrever os números inteiros de 1 até 10 <ul><li>Inicio </li></ul><ul><ul><li>Para j  1 ate 10 faça </li></ul></ul><ul><ul><ul><li>Escreva j </li></ul></ul></ul><ul><ul><li>Fim para </li></ul></ul><ul><li>Fim </li></ul>
  53. 53. Elabore um algoritmo para determinar a soma dos 10 primeiros números inteiros <ul><li>Inicio </li></ul><ul><ul><li>Soma  0; </li></ul></ul><ul><ul><li>Para j  1 até 10 faça </li></ul></ul><ul><ul><ul><li>Soma  soma+j </li></ul></ul></ul><ul><ul><li>Fim para </li></ul></ul><ul><ul><li>Escreva soma </li></ul></ul><ul><li>Fim </li></ul>
  54. 54. Elabore um algoritmo que leia 5 valores e determine a sua soma <ul><li>Inicio </li></ul><ul><ul><li>Soma  0 </li></ul></ul><ul><ul><li>Para j  1 ate 5 faça </li></ul></ul><ul><ul><ul><li>Ler x </li></ul></ul></ul><ul><ul><ul><li>Soma  soma+x </li></ul></ul></ul><ul><ul><li>Fim para </li></ul></ul><ul><ul><li>Escreva soma </li></ul></ul><ul><li>Fim </li></ul>
  55. 55. Altere o algoritmo anterior para ler “n” valores <ul><li>Inicio </li></ul><ul><ul><li>Ler n </li></ul></ul><ul><ul><li>Soma  0 </li></ul></ul><ul><ul><li>Para j  1 ate n faça </li></ul></ul><ul><ul><ul><li>Ler x </li></ul></ul></ul><ul><ul><ul><li>Soma  soma +x </li></ul></ul></ul><ul><ul><li>Fim para </li></ul></ul><ul><ul><li>Escreva soma </li></ul></ul><ul><li>Fim </li></ul>
  56. 56. Enquanto-faça <ul><li>Usa-se da seguinte forma: </li></ul><ul><ul><li>Enquanto condição faça </li></ul></ul><ul><ul><ul><li>Grupo de instruções que será repetido </li></ul></ul></ul><ul><ul><li>Fim enquanto </li></ul></ul><ul><li>Funciona da seguinte forma: </li></ul><ul><ul><li>Enquanto a condição for VERDADEIRA o grupo de instruções é repetido </li></ul></ul>
  57. 57. Por exemplo: soma de 5 valores lidos <ul><li>Inicio </li></ul><ul><li>Soma  0 </li></ul><ul><li>Cont  0 </li></ul><ul><li>Enquanto cont < 5 faça </li></ul><ul><ul><li>Ler x </li></ul></ul><ul><ul><li>Soma  soma+x </li></ul></ul><ul><ul><li>Cont  cont+1 </li></ul></ul><ul><li>Fim enquanto </li></ul><ul><li>Escreva soma </li></ul><ul><li>Fim </li></ul>
  58. 58. As condições são construídas <ul><li>De forma análoga as condições da estrutura de decisão; </li></ul><ul><li>Pode-se usar os operadores >, >=, <,<=,=,<> e ou não </li></ul>
  59. 59. Pode-se interromper a repetição <ul><li>Usando um contador, conforme o exemplo anterior ou; </li></ul><ul><li>Usando um “flag” condição que indica que a repetição deve ser interrompida. </li></ul>
  60. 60. Elabore um algoritmo que <ul><li>Leia uma quantidade indeterminada de valores positivos. O “flag” é um valor negativo. </li></ul>
  61. 61. Solução <ul><li>Inicio </li></ul><ul><li>Soma  0 </li></ul><ul><li>Ler x </li></ul><ul><li>Enquanto x > 0 faça </li></ul><ul><ul><li>Soma  soma +x </li></ul></ul><ul><ul><li>Ler x </li></ul></ul><ul><li>Fim enquanto </li></ul><ul><li>Escreva soma </li></ul><ul><li>Fim </li></ul>
  62. 62. Repita-até <ul><li>Usa-se da seguinte forma: </li></ul><ul><ul><li>Repita </li></ul></ul><ul><ul><ul><li>Grupo de instruções que será repetido </li></ul></ul></ul><ul><ul><li>Até que condição </li></ul></ul><ul><li>Funciona da seguinte forma: </li></ul><ul><ul><li>Repete o grupo de instruções ATÉ que a condição seja verdadeira </li></ul></ul>
  63. 63. Elabore um algoritmo que leia 5 valores e determine a sua soma <ul><li>Inicio </li></ul><ul><li>Soma  o </li></ul><ul><li>Cont  0 </li></ul><ul><li>Repita </li></ul><ul><ul><li>Ler x </li></ul></ul><ul><ul><li>Soma  soma+x </li></ul></ul><ul><ul><li>Cont  cont+1 </li></ul></ul><ul><li>Ate que cont = 5 </li></ul><ul><li>Escreva soma </li></ul><ul><li>Fim </li></ul>

×