Você está na página 1de 29

Curso Superior de Engenharia Elétrica

Programação de Computadores I
Rafael Cunha Cardoso
rafaelcardoso@ifsul.edu.br

Estruturas de
Repetição
Estruturas de Repetição

Estruturas de repetição
Também denominadas de Laços ou Loops;

Consiste em uma forma de executar um bloco de comandos várias


vezes;

A quantidade de repetições pode ser indeterminada, porém


necessariamente finita;

Cada repetição é chamada de iteração.


2
Estruturas de Repetição

Tipos de Estruturas de repetição


Repetição com teste de saída no fim do laço.
teste
Estruturas utilizadas quando a
teste quantidade de vezes que um
bloco será repetido é
Repetição com teste de saída no início do laço. indeterminada.

3
Estruturas de Repetição

Tipos de Estruturas de repetição


Repetição com teste de saída no fim do laço.
teste
Estruturas utilizadas quando a
teste quantidade de vezes que um
bloco será repetido é
Repetição com teste de saída no início do laço. indeterminada.

Repetição controlada.
Utilizada quando a quantidade de vezes que um bloco será repetido é determinada.

4
Estruturas de Repetição

Repetição com teste de


saída no fim do laço
Estruturas de Repetição

Repetição com teste de saída no fim do laço

PROBLEMA:
Comer todas as batatas de um saquinho de batatas fritas.
teste
Início
Abrir a embalagem

Fim
6
Estruturas de Repetição

Repetição com teste de saída no fim do laço

PROBLEMA:
Comer todas as batatas de um saquinho de batatas fritas.
teste
Início
Abrir a embalagem
faça
pegar uma batata
V
comer a batata
enquanto houver batata no saco
Jogar o saco no lixo F
Fim
7
Estruturas de Repetição

Características deste tipo de estrutura

Repete a execução de um conjunto de instruções enquanto uma


condição for verdadeira.
teste

A condição é testada após a execução do trecho (comandos) de programa


que será repetido.

“O trecho é executado pelo menos 1 vez”


8
Estruturas de Repetição

Repetição com teste de saída no fim do laço

PROBLEMA:
Escreva um algoritmo para calcular a idade que várias pessoas tinham em um
determinado ano de referência. Esse cálculo deve ser executado a partir do ano de
nascimento de cada pessoa.

9
Estruturas de Repetição

Repetição com teste de saída no fim do laço

PROBLEMA:
Escreva um algoritmo para calcular a idade que várias pessoas tinham em um
determinado ano de referência. Esse cálculo deve ser executado a partir do ano de
nascimento de cada pessoa.

O algoritmo inicialmente deve solicitar o ano de referência. Logo após deve ler o ano de
nascimento de uma pessoa, calcular e escrever a idade que possuirá (ou possuía) no ano
de referência.

10
Estruturas de Repetição

Repetição com teste de saída no fim do laço

PROBLEMA:
Escreva um algoritmo para calcular a idade que várias pessoas tinham em um
determinado ano de referência. Esse cálculo deve ser executado a partir do ano de
nascimento de cada pessoa.

O algoritmo inicialmente deve solicitar o ano de referência. Logo após deve ler o ano de
nascimento de uma pessoa, calcular e escrever a idade que possuirá (ou possuía) no ano
de referência.

Depois deve exibir a mensagem “Outra pessoa (1.sim 2.não)?” e solicitar uma resposta a
essa pergunta. Caso o valor informado seja 1, o algoritmo deve repetir a leitura do ano
de nascimento de outra pessoa para calcular uma nova idade, caso contrário deve ser
encerrado. 11
Estruturas de Repetição

Exemplo de execução
Informe o ano de referência: 2020

Informe o ano de nascimento: 1980


Idade: 40
Outra pessoa (1.sim 2.não)? 1

Informe o ano de nascimento: 1990


Idade: 30 teste
Outra pessoa (1.sim 2.não)? 1

Informe o ano de nascimento: 1985


Idade: 35
Outra pessoa (1.sim 2.não)? 2
12
Estruturas de Repetição

Português estruturado
Início
Leia anoref
Faça
Leia anonasc
idade ← anoref - anonasc
Escreva idade
teste
Escreva "Outra pessoa(1.Sim 2.não)?"
Leia resp
Enquanto resp = 1
Fim

13
Estruturas de Repetição

Português estruturado/Chapin

Início
Leia anoref Leia anoref

Faça
Leia anonasc
idade ← anoref - anonasc
Escreva idade
Escreva "Outra pessoa(1.Sim 2.não)?"
Leia resp
Enquanto resp = 1
Fim

14
Estruturas de Repetição

Português estruturado/Chapin

Início
Leia anoref Leia anoref

Faça Leia anonasc


Leia anonasc
idade ← anoref - anonasc
idade ← anoref - anonasc
Escreva idade
Escreva idade
Escreva "Outra pessoa(1.Sim 2.não)?" Escreva "outra pessoa (1.sim 2.não)?"
Leia resp Leia resp
Enquanto resp = 1
Enquanto resp = 1
Fim

15
Estruturas de Repetição

Em C #include <stdio.h>
main(){
int anoref,anonasc,idade,resp;

printf("Informe o ano de referência:");


Leia anoref
scanf("%d",&anoref);
Leia anonasc

idade ← anoref - anonasc

Escreva idade

Escreva "outra pessoa (1.sim 2.não)?"

Leia resp

Enquanto resp = 1 teste

}
16
Estruturas de Repetição

Em C #include <stdio.h>
main(){
int anoref,anonasc,idade,resp;

printf("Informe o ano de referência:");


Leia anoref
scanf("%d",&anoref);
Leia anonasc

idade ← anoref - anonasc


do {
Escreva idade

Escreva "outra pessoa (1.sim 2.não)?"

Leia resp

Enquanto resp = 1 teste

} while (resp==1);
}
17
Estruturas de Repetição

Em C #include <stdio.h>
main(){
int anoref,anonasc,idade,resp;

printf("Informe o ano de referência:");


Leia anoref
scanf("%d",&anoref);
Leia anonasc

idade ← anoref - anonasc


do {
Escreva idade
printf("Informe o ano de nascimento:");
Escreva "outra pessoa (1.sim 2.não)?"
scanf("%d",&anonasc);
Leia resp
idade = anoref – anonasc;
Enquanto resp = 1 teste
printf("Idade: %d\n",idade);

printf("Outra pessoa(1.sim 2.não)? ");


scanf("%d",&resp);
} while (resp==1);
}
18
Estruturas de Repetição

Forma geral do comando do-while


do {
comando_1;
comando_2;
...
comando_n;
} while (condição);

OBS: Quando houver apenas 1 comando a ser repetido as teste

chaves (delimitadores de bloco) podem ser omitidas.

do
comando_1;
while (condição);
19
Estruturas de Repetição

Repetição com teste de


saída no início do laço 20
Estruturas de Repetição

Repetição com teste de saída no início do laço


PROBLEMA:
teste
Comer todas as uvas de um cacho de uvas.

Início
Lavar o cacho
Enquanto houver uva no cacho faça
V F

pegar uma uva


comer a uva
Fim_enquanto
Jogar o cacho no lixo
Fim
21
Estruturas de Repetição

Características deste tipo de estrutura

✓Repete a execução de um conjunto de instruções teste

enquanto uma condição for verdadeira.

✓A condição é testada antes a execução do trecho


(comandos) de programa que será repetido.

“O trecho poderá ser não executado”


22
Estruturas de Repetição

Repetição com teste de saída no início do laço

PROBLEMA: Escreva um algoritmo para ler vários valores. Para cada teste

valor lido, calcular e escrever sua raiz quadrada. O programa termina


após a digitação de um valor negativo (que não deve ser processado).

Informe um valor: 4
Raiz: 2

Exemplo de execução Informe um valor: 144


Raiz: 12

Informe um valor: -3
23
Estruturas de Repetição

Português estruturado - Chapin


teste

Início
Leia valor Leia valor
Enquanto valor >= 0 faça
Enquanto valor >=0
raiz ← valor
raiz ← valor
Escreva raiz
Leia valor Escreva raiz

Fim_enquanto Leia valor


Fim

24
Estruturas de Repetição

Em C #include <stdio.h>
#include <math.h>

main(){ teste

Leia valor float raiz,valor;

Enquanto valor >=0


printf("Informe um valor:");
raiz ← valor
scanf("%f",&valor);
Escreva raiz

Leia valor

} 25
Estruturas de Repetição

Em C #include <stdio.h>
#include <math.h>

main(){ teste

Leia valor float raiz,valor;

Enquanto valor >=0


printf("Informe um valor:");
raiz ← valor
scanf("%f",&valor);
Escreva raiz

Leia valor while (valor >= 0) {

}
} 26
Estruturas de Repetição

Em C #include <stdio.h>
#include <math.h>

main(){ teste

Leia valor float raiz,valor;

Enquanto valor >=0


printf("Informe um valor:");
raiz ← valor
scanf("%f",&valor);
Escreva raiz

Leia valor while (valor >= 0) {


raiz = sqrt(valor);
printf("Raiz: %f\n",raiz);
printf("Informe um valor:");
scanf("%f",&valor);
}
} 27
Estruturas de Repetição

Forma Geral do comando While


while (condição){
teste
comando_1;
comando_2;
...
comando_n;
}

OBS: Quando houver apenas 1 comando a ser repetido as


chaves (delimitadores de bloco) podem ser omitidas.

while (condição)
comando;

28
Curso Superior de Engenharia Elétrica
Programação de Computadores I
Rafael Cunha Cardoso
rafaelcardoso@ifsul.edu.br

Estruturas de
Repetição

Você também pode gostar