Algoritmos 01 - Semana 08 - Estruturas de repetição

756 views
498 views

Published on

Algoritmos 01 - Semana 08 - Estruturas de repetição

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
756
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Algoritmos 01 - Semana 08 - Estruturas de repetição

  1. 1. Algoritmo 1 Semana 08 ESTRUTURAS DE REPETIÇÃO 1
  2. 2. Estruturas de Repetição (Parte 01) ENQUANTO... FAÇA REPITA ATÉ
  3. 3. Enquanto... Faça
  4. 4. Enquanto... Faça  Na estrutura enquanto..faca, a expressão lógica é avaliada e, se ela for verdadeira, a lista de comandos é executada. Isso se repete até que a condição seja falsa. Veja a sua forma geral: enquanto <expressão lógica ou relacional> faca <lista de comandos> fimenquanto  Vamos ver um exemplo....
  5. 5. Enquanto... Faça 1. algoritmo “comEnquanto” 2. var 3. i: numerico 4. inicio 5. i  3 6. enquanto i >=0 faca 7. escreva (i*2) 8. i  i - 1 9. fimenquanto 10. fimalgoritmo I = 3 6 I = 2 4 I = 1 2 I = 0 0 I = -1
  6. 6. Repita... Até...
  7. 7. Repita... Até...  Nessa estrutura, todos os comandos da lista são executados e uma expressão lógica é avaliada. Isto se repete até que a avaliação da condição resulte em FALSO, quanto então o próximo comando a ser executado é o comando imediatamente após o ate. Cada repetição da lista de comandos também é chamada de iteração e essa estrutura também é chamada de laço de repetição. Sua forma geral é: repita <lista de comandos> ate <expressão lógica ou relacional>
  8. 8. Repita... Até... 1. algoritmo “comRepita” 2. var 3. i: numerico 4. inicio 5. i  3 6. repita 7. se i >=0 entao 8. escreva (i*2) 9. fimse 10 i  i-1 11. ate i<=0 12. fimalgoritmo I = 3 6 I = 2 4 I = 1 2 I = 0
  9. 9. Exercícios... Exercícios...
  10. 10. Algoritmo que escreve os números de 1 a 10. 1. algoritmo "DemonstraRepeticao" 2. VAR 3. i: INTEIRO 4. inicio 5. i 1 6. repita 7. escreva (i) 8. I  i + 1 9. ate i > 10 10. fimalgoritmo No exemplo, a variável i controla o número de repetições do laço. Normalmente, a variável de controle do laço recebe um valor inicial, é incrementada (ou decrementada) de um valor constante no laço e tem seu valor testado no final do laço. Ao chegar a um determinado valor, o laço é interrompido. A inicialização da variável contadora deve acontecer fora do laço, antes do seu início.
  11. 11. Algoritmo que escreve os números pares de 10 a 2. 1. algoritmo "DecrementoNumerosPares" 2. var 3. i: inteiro 4. inicio 5. i <- 10 6. Repita 7. escreva (i) 8. i <- i - 2 9. ate i = 0 10. Fimalgoritmo
  12. 12. Algoritmo com erro (Loop Infinito) 1. algoritmo “laçoInfinito” 2. VAR 3. Contador: numerico 4. inicio 5. repita 6. Contador <- 1 7. Contador <- Contador + 1 8. ate Contador = 10 9. fimalgoritmo Um cuidado fundamental que o construtor do algoritmo deve ter é o de certificar-se que a condição para que sejam mantidas as iterações torne-se, em algum momento, falsa, para que o algoritmo não entre em um laço infinito. No exemplo, a execução do algoritmo entra em um laço infinito porque a inicialização da variável Contador (instrução Contador <- 1) deveria ser feita antes do comando repita, ou seja, antes do laço. No exemplo, ela sempre voltará a ser 1 e nunca alcançará o valor 10.
  13. 13. Algoritmo Consertado 1. algoritmo “laçoInfinito Consertado” 2. VAR 3. Soma: REAL 4. inicio 5. Soma <- 1 6. repita 7. Soma <- Soma + 2 8. ate Soma > 10 9. escreva (soma) 10. fimalgoritmo Quando ocorrer laço infinito no Visualg você ficará sem comunicação. Procure dar Ctrl+ALT+DEL e selecionar o programa Visualg e clicar no botão finalizar. Não se preocupe com seu algoritmo, pois quando ocorre isso o Visualg salva automaticamente. Para recuperar seu algoritmo basta abrir Visualg novamente que mostrará uma janela, perguntando se deseja recuperar ou não o algoritmo perdido no laço infinito. Se você sabe que vai ocorrer um laço infinito e mesmo assim quer executar seu algoritmo, procura executar passo a passo pressionando a tecla F8 para não trancar.
  14. 14. Exemplo de Menu  1. algoritmo "Menu"  2. VAR  3. opcao: inteiro  4. inicio  5. repita  6. escreval ("Cadastro de clientes")  7. escreval ("1-Incluir")  8. escreval ("2-Alterar")  9. escreval ("3-Consultar")  10. escreval ("4-Excluir")  11. escreval ("5-Sair")  12. leia(opcao)  13. ate opcao = 5  14. fimalgoritmo
  15. 15. Algoritmo que lê diversos números positivos e escreve, para cada um, sua raiz quadrada. Usando estrutura Enquanto Usando estrutura Repita 1. algoritmo “comEnquanto” 2. var 3. i: numerico 4. inicio 5. leia (i) 6. enquanto i >=0 faca 7. escreva (i^0.5) 8. leia (i) 9. fimenquanto 10. fimalgoritmo 1. algoritmo “comRepita” 2. var 3. i: numerico 4. inicio 5. repita 6. leia (i) 7. se i >=0 entao 8. escreva (i^0.5) 9. fimse 10. ate i<0 11. fimalgoritmo
  16. 16. Exercicio  Faça um algoritmo que leia indefinidos números inteiros dados pelo usuário até que ele digite 0.  Imprima:  Total de números digitados  Soma dos números digitados  Media dos números digitados 16

×