SlideShare uma empresa Scribd logo
1 de 15
Algoritmo 2 – Aula 3 MA12N Prof Eder SamaniegoVillalba
Estruturas de Repetição (Parte 01) Enquanto... Faça Repita até
Enquanto... Faça
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....
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
Repita... Até...
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>
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
Exercícios... Exercícios...
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.
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
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.
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+DELe 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.
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
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

Mais conteúdo relacionado

Mais procurados

Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Thalles Anderson
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
guestd6da1cd
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
Regis Magalhães
 

Mais procurados (20)

Algoritmo 04 - Estruturas de decisão
 Algoritmo 04 - Estruturas de decisão Algoritmo 04 - Estruturas de decisão
Algoritmo 04 - Estruturas de decisão
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)Alg   aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
Alg aula 05-1 - estruturas de-repeticao tp1 (repita e enquanto)
 
Aula 4 aed - parte 2
Aula 4   aed - parte 2Aula 4   aed - parte 2
Aula 4 aed - parte 2
 
Lógica de programação
Lógica de programaçãoLógica de programação
Lógica de programação
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Algoritmos Aula 11
Algoritmos Aula 11Algoritmos Aula 11
Algoritmos Aula 11
 
Aula 02 - Escolha caso
Aula 02 - Escolha casoAula 02 - Escolha caso
Aula 02 - Escolha caso
 
Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3Linguagens de Programação II - Aula 3
Linguagens de Programação II - Aula 3
 
Aula 04 Estruturas de repetição 02 - Para Faça
Aula 04  Estruturas de repetição 02 - Para FaçaAula 04  Estruturas de repetição 02 - Para Faça
Aula 04 Estruturas de repetição 02 - Para Faça
 
Estruturas de Repetição - FOR, WHILE e DO WHILE
Estruturas de Repetição - FOR, WHILE e DO WHILEEstruturas de Repetição - FOR, WHILE e DO WHILE
Estruturas de Repetição - FOR, WHILE e DO WHILE
 
PHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de ControlePHP 5.3 - Estruturas de Controle
PHP 5.3 - Estruturas de Controle
 
Logica Algoritmo 05 Repeticao
Logica Algoritmo 05 RepeticaoLogica Algoritmo 05 Repeticao
Logica Algoritmo 05 Repeticao
 
Algoritmos Aula 09
Algoritmos Aula 09Algoritmos Aula 09
Algoritmos Aula 09
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionais
 
If
IfIf
If
 

Destaque

Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1
Robson Ferreira
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
engenhariadecomputacao
 
Aula03 conceito de fluxogramas e seqenciamento de açoes
Aula03   conceito de fluxogramas e seqenciamento de açoesAula03   conceito de fluxogramas e seqenciamento de açoes
Aula03 conceito de fluxogramas e seqenciamento de açoes
Grupo Tiradentes
 

Destaque (11)

Banco de Dados 1 - Semana 4
Banco de Dados 1 - Semana 4Banco de Dados 1 - Semana 4
Banco de Dados 1 - Semana 4
 
Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2Algoritmos 1 - Semana 2
Algoritmos 1 - Semana 2
 
Algoritmos 01 - Semana 03 - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03  - Exercícios de Leitura e AtribuiçãoAlgoritmos 01 - Semana 03  - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03 - Exercícios de Leitura e Atribuição
 
Semana 01 - Lista de Exercícios
Semana 01 - Lista de ExercíciosSemana 01 - Lista de Exercícios
Semana 01 - Lista de Exercícios
 
Semana 05 - Estruturas Condicionais - Exercícios
Semana 05   - Estruturas Condicionais - ExercíciosSemana 05   - Estruturas Condicionais - Exercícios
Semana 05 - Estruturas Condicionais - Exercícios
 
Aula 05 Vetores
Aula 05  VetoresAula 05  Vetores
Aula 05 Vetores
 
Algoritmos e Programação I
Algoritmos e Programação IAlgoritmos e Programação I
Algoritmos e Programação I
 
Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1Conceitos e técnicas de programação aula 1
Conceitos e técnicas de programação aula 1
 
Aula 1 - Gestão da Qualidade
Aula 1 - Gestão da QualidadeAula 1 - Gestão da Qualidade
Aula 1 - Gestão da Qualidade
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Aula03 conceito de fluxogramas e seqenciamento de açoes
Aula03   conceito de fluxogramas e seqenciamento de açoesAula03   conceito de fluxogramas e seqenciamento de açoes
Aula03 conceito de fluxogramas e seqenciamento de açoes
 

Semelhante a Aula 03 - Estruturas de repetição

Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Alg   aula 05-2 - estruturas de-repeticao tp1 (para)Alg   aula 05-2 - estruturas de-repeticao tp1 (para)
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Thalles Anderson
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
EvelyneBorges
 
As cinco etapas da programação
As cinco etapas da programaçãoAs cinco etapas da programação
As cinco etapas da programação
Clausia Antoneli
 

Semelhante a Aula 03 - Estruturas de repetição (20)

Repetir
RepetirRepetir
Repetir
 
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Alg   aula 05-2 - estruturas de-repeticao tp1 (para)Alg   aula 05-2 - estruturas de-repeticao tp1 (para)
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
 
Estrutura de repetição
Estrutura de repetiçãoEstrutura de repetição
Estrutura de repetição
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08Construcao de Algoritmos - Aula 08
Construcao de Algoritmos - Aula 08
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
Java3
Java3Java3
Java3
 
Logica
LogicaLogica
Logica
 
Etapas da programação
Etapas da programaçãoEtapas da programação
Etapas da programação
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Aula 1 2
Aula 1 2Aula 1 2
Aula 1 2
 
Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Google android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPEGoogle android p/ Noobs - SUPER 2014 - UPE
Google android p/ Noobs - SUPER 2014 - UPE
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06Lógica de Programação - Unimep/Pronatec - Aula06
Lógica de Programação - Unimep/Pronatec - Aula06
 
Aula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdfAula 05 - Comandos de repeticao - JAVA.pdf
Aula 05 - Comandos de repeticao - JAVA.pdf
 
Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08Lógica de Programação - Unimep/Pronatec - Aula08
Lógica de Programação - Unimep/Pronatec - Aula08
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
As cinco etapas da programação
As cinco etapas da programaçãoAs cinco etapas da programação
As cinco etapas da programação
 

Mais de Eder Samaniego

Banco de Dados I - Semana 08 Exercícios
Banco de Dados I - Semana 08  ExercíciosBanco de Dados I - Semana 08  Exercícios
Banco de Dados I - Semana 08 Exercícios
Eder Samaniego
 

Mais de Eder Samaniego (13)

Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla EscolhaAlgoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
 
Banco de Dados I - Semana 08 Exercícios
Banco de Dados I - Semana 08  ExercíciosBanco de Dados I - Semana 08  Exercícios
Banco de Dados I - Semana 08 Exercícios
 
Lista de Exercícios Algoritmo Semana 04
Lista de Exercícios Algoritmo Semana 04Lista de Exercícios Algoritmo Semana 04
Lista de Exercícios Algoritmo Semana 04
 
Lista de Exercícios Algoritmos Semana 03
Lista de Exercícios Algoritmos Semana 03Lista de Exercícios Algoritmos Semana 03
Lista de Exercícios Algoritmos Semana 03
 
Algoritmos 1 - Lista de Exercícios 2
Algoritmos 1 - Lista de Exercícios 2Algoritmos 1 - Lista de Exercícios 2
Algoritmos 1 - Lista de Exercícios 2
 
Banco de Dados - Semana 06
Banco de Dados - Semana 06Banco de Dados - Semana 06
Banco de Dados - Semana 06
 
Banco de Dados 1 - Semana 05 b
Banco de Dados 1 - Semana 05 bBanco de Dados 1 - Semana 05 b
Banco de Dados 1 - Semana 05 b
 
Banco de Dados 1 - Semana 5
Banco de Dados 1 - Semana 5Banco de Dados 1 - Semana 5
Banco de Dados 1 - Semana 5
 
Banco de Dados 1 - Semana 3
Banco de Dados 1 - Semana 3Banco de Dados 1 - Semana 3
Banco de Dados 1 - Semana 3
 
Banco de Dados 01 - Semana 02
Banco de Dados 01 - Semana 02 Banco de Dados 01 - Semana 02
Banco de Dados 01 - Semana 02
 
Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01Banco de Dados 01 - Semana 01
Banco de Dados 01 - Semana 01
 
Semana 01 - Lista de Exercício Impressa
Semana 01 - Lista de Exercício ImpressaSemana 01 - Lista de Exercício Impressa
Semana 01 - Lista de Exercício Impressa
 
Criando com o power point
Criando com o power pointCriando com o power point
Criando com o power point
 

Aula 03 - Estruturas de repetição

  • 1. Algoritmo 2 – Aula 3 MA12N Prof Eder SamaniegoVillalba
  • 2. Estruturas de Repetição (Parte 01) Enquanto... Faça Repita até
  • 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. 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
  • 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. 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
  • 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. 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. 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. 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+DELe 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. 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. 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