Você está na página 1de 13

Lógica de Programação

Estruturas de repetição

Prof. Me. Leonaedo Almeida

leoalm@gmail.com

Prof. Me. Leonaedo Almeida - 1


leoalm@gmail.com
Lógica de Programação

Estruturas de repetição

• Possibilitam repetir uma sequência de ações do algoritmo


• Estruturas de repetição condicionais:
– enquanto uma determinada condição for verdadeira.
– ...ou até que uma determinada condição seja verdadeira.

• Estruturas de repetição incondicionais:


– Por um número predeterminado de vezes.

Prof. Me. Leonaedo Almeida - 2


leoalm@gmail.com
Lógica de Programação

Estruturas de repetição condicionais


• Condição testada no início da repetição:

Enquanto condição faça


bloco de comandos
Fim enquanto

• Testa a condição antes da execução do bloco.


• Enquanto a condição dor verdadeira, executa o bloco.
– Bloco pode ser executado 0 ou mais vezes
• Finaliza a execução do bloco quando condição for falsa.
Prof. Me. Leonaedo Almeida - 3
leoalm@gmail.com
Lógica de Programação
Estruturas de repetição condicionais
Ex. verificar qual o menor valor, dentre um conjunto de 10 valores lidos do teclado.

Inteiro valor, menor, contador;


INICIO
leia(menor);
contador ← 9;
Enquanto contador > 0 faça
leia(valor);
Se valor < menor então
menor ← valor;
Fim se
contador ← contador – 1;
Fim enquanto;
Escreva('Menor valor = ', menor);
FIM

Prof. Me. Leonaedo Almeida - 4


leoalm@gmail.com
Lógica de Programação

Estruturas de repetição condicionais


• Exercício: faça um algoritmo para calcular o fatorial de uma número lido
pelo teclado, e mostrar o resultado na tela.

Inteiro x, fat;
INICIO
leia(x);
fat ← 1;
Enquanto x > 1 faça
fat ← fat * x;
fluxograma
x ← x – 1;
Fim enquanto;
Escreva('Fatorial = ', fat);
FIM

Prof. Me. Leonaedo Almeida - 5


leoalm@gmail.com
Lógica de Programação

Estruturas de repetição condicionais


• Exercício (cont.): Testando a solução para valores 0, 1, 3 e 5:

Prof. Me. Leonaedo Almeida - 6


leoalm@gmail.com
Lógica de Programação

Estruturas de repetição condicionais


• Exercício: observe o algoritmo abaixo:

Inteiro x, n; a) Qual o objetivo desse algoritmo ?


INICIO
leia(n); b) O algoritmo está correto ?
leia(x);
y →1; c) Altere o algoritmo, usando repita
Enquanto x > 0 faça ...até
inicio
y → * n; d) Altere o algoritmo, usando para
x → x – 1;
...faça.
fim
Fim enquanto
e) Qual das três opções é a melhor ?
Escreva(y);
FIM Por que ?
Prof. Me. Leonaedo Almeida - 7
leoalm@gmail.com
Lógica de Programação

Estruturas de repetição incondicional


• Repetições executadas um número predeterminado de vezes:

Para variável_de_controle  valor_inicial até valor_final faça


bloco de comandos
Fim para

• Repete o bloco de comandos 1 + (valor_final – valor_inicial) vezes


• Incrementa automaticamente a variável de controle ao final de casa
repetição
– Se valor_final < valor_inicial, bloco não é executado
• Variável de controle não deve ser modificada dentro do bloco

Prof. Me. Leonaedo Almeida - 10


leoalm@gmail.com
Lógica de Programação
Estruturas de repetição incondicional
• Verificar qual o menor valor, dentre um conjunto de 10 valores lidos do
teclado

Inteiro valor, menor, contador;


INICIO
leia(menor);
Para contador ← 1 até 9 faça
leia(valor);
Se valor < menor então
menor ← valor;
Fim se
Fim para;
Escreva('Menor valor = ', menor);
FIM

Prof. Me. Leonaedo Almeida - 11


leoalm@gmail.com
Lógica de Programação
Exercícios:

1) Usando uma estrutura de repetição faça um algoritmo para


calcular a média simples de 10 números lidos do teclado.

2) Faça um algoritmo que mostre um menu com as opções: adição,


subtração, multiplicação e divisão. Cada opção deve ser
identificada por um número. Seu algoritmo deve ler uma opção
pelo teclado, e em seguida executar a operação correspondente.
Os operandos da operação devem também ser lidos pelo teclado.
O resultado deve ser mostrado na tela.

Prof. Me. Leonaedo Almeida - 12


leoalm@gmail.com
Lógica de Programação
3) Faça um algoritmo que determine o maior entre N números. A condição
de parada é a entrada de um valor 0, ou seja, o algoritmo deve ficar
calculando o maior até que a entrada seja igual a 0 (ZERO).

4) Faça um algoritmo que conte de 1 a 100 e a cada múltiplo de 10 emita


uma mensagem: “Múltiplo de 10”.

5) Construa um programa que leia o conjunto de 20 números


inteiros e mostre qual foi o maior e o menor valor fornecido.

6) Faça um algoritmo que receba 10 números, calcule e mostre a


quantidade de números entre 30 e 90.

Prof. Me. Leonaedo Almeida - 13


leoalm@gmail.com
Lógica de Programação
7) Desenvolver um algoritmo que leia a altura e o sexo (M ou F) de
15 pessoas. Este programa deverá calcular e mostrar :
a. A menor altura do grupo;
b. A média de altura das mulheres;
c. O número de homens;
d. O sexo da pessoa mais alta.

8) Uma grande empresa deseja saber qual é o empregado mais


recente e qual é o mais antigo. Desenvolver um algoritmo para
ler um número indeterminado de informações (máximo de 20)
contendo o número do empregado e o número de meses de
trabalho deste empregado e imprimir o mais recente e o mais
antigo. Obs.: A última informação contém os dois números iguais
a zero. Não existem dois empregados admitidos no mesmo mês.
Prof. Me. Leonaedo Almeida - 14
leoalm@gmail.com
Lógica de Programação
Estruturas de repetição

Prof. Me. Leonaedo Almeida

leoalm@gmail.com

Prof. Me. Leonaedo Almeida - 15


leoalm@gmail.com