Sie sind auf Seite 1von 14

Lgica de Programao

Mdulo II
MINISTRIO DA EDUCAO
SECRETARIA DE EDUCAO PROFISSIONAL E TECNOLGICA
INSTITUTO FEDERAL DE EDUCAO, CINCIA E TECNOLOGIA
CAMPUS SO JOS SANTA CATARINA
Prof. Tiago Semprebom

tisemp@sj.ifsc.edu.br
www.sj.ifsc.edu.br/~tisemp
Lgica de Programao
Estruturas de repetio

Possibilitam repetir uma sequncia de aes do algoritmo
Estruturas de repetio condicionais:
enquanto uma determinada condio for verdadeira.
...ou at que uma determinada condio seja verdadeira.

Estruturas de repetio incondicionais:
Por um nmero predeterminado de vezes.
Lgica de Programao
Estruturas de repetio condicionais
Condio testada no incio da repetio:

Enquanto condio faa
bloco de comandos
Fim enquanto

Testa a condio antes da execuo do bloco.
Enquanto a condio dor verdadeira, executa o bloco.
Bloco pode ser executado 0 ou mais vezes
Finaliza a execuo do bloco quando condio for falsa.

Lgica de Programao
Estruturas de repetio 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 faa
leia(valor);
Se valor < menor ento
menor valor;
Fim se
contador contador 1;
Fim enquanto;
Escreva('Menor valor = ', menor);
FIM

Lgica de Programao
Estruturas de repetio condicionais
Exerccio: faa um algoritmo para calcular o fatorial de uma nmero lido
pelo teclado, e mostrar o resultado na tela.

Inteiro x, fat;
INICIO
leia(x);
fat 1;
Enquanto x > 1 faa
fat fat * x;
x x 1;
Fim enquanto;
Escreva('Fatorial = ', fat);
FIM


fluxograma
Lgica de Programao
Estruturas de repetio condicionais
Exerccio (cont.): Testando a soluo para valores 0, 1, 3 e 5:
Lgica de Programao
Estruturas de repetio condicionais
Exerccio: observe o algoritmo abaixo:

Inteiro x, n;
INICIO
leia(n);
leia(x);
y 1;
Enquanto x > 0 faa
inicio
y * n;
x x 1;
fim
Fim enquanto
Escreva(y);
FIM
a) Qual o objetivo desse algoritmo ?

b) O algoritmo est correto ?

c) Altere o algoritmo, usando repita
...at

d) Altere o algoritmo, usando para
...faa.

e) Qual das trs opes a melhor ?
Por que ?
Lgica de Programao
Estruturas de repetio condicionais
Condio testada no final da repetio:


Repita
bloco de comandos
At condio


Testa condio aps a execuo do bloco
Enquanto condio for falsa, executa o bloco
Bloco pode ser executado uma ou mais vezes
Encerra execuo do bloco quando condio for verdadeira (condio de
parada)

Lgica de Programao
Estruturas de repetio 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;
Repita
leia(valor);
Se valor < menor ento
menor valor;
Fim se
contador contador 1;
At condio == 0;
Escreva('Menor valor = ', menor);
FIM


Lgica de Programao
Estruturas de repetio incondicional
Repeties executadas um nmero predeterminado de vezes:

Para varivel_de_controle valor_inicial at valor_final faa
bloco de comandos
Fim para

Repete o bloco de comandos 1 + (valor_final valor_inicial) vezes
Incrementa automaticamente a varivel de controle ao final de casa
repetio
Se valor_final < valor_inicial, bloco no executado
Varivel de controle no deve ser modificada dentro do bloco
Lgica de Programao
Estruturas de repetio 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 faa
leia(valor);
Se valor < menor ento
menor valor;
Fim se
Fim para;
Escreva('Menor valor = ', menor);
FIM


Lgica de Programao
Exerccios:

1) Usando uma estrutura de repetio faa um algoritmo para
calcular a mdia simples de 10 nmeros lidos do teclado.

2) Faa um algoritmo que mostre um menu com as opes: adio,
subtrao, multiplicao e diviso. Cada opo deve ser
identificada por um nmero. Seu algoritmo deve ler uma opo
pelo teclado, e em seguida executar a operao correspondente.
Os operandos da operao devem tambm ser lidos pelo teclado.
O resultado deve ser mostrado na tela.



Lgica de Programao
3) Faa um algoritmo que determine o maior entre N nmeros. A condio
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) Faa um algoritmo que conte de 1 a 100 e a cada mltiplo de 10 emita
uma mensagem: Mltiplo de 10.

5) Construa um programa que leia o conjunto de 20 nmeros
inteiros e mostre qual foi o maior e o menor valor fornecido.

6) Faa um algoritmo que receba 10 nmeros, calcule e mostre a
quantidade de nmeros entre 30 e 90.


Lgica de Programao
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 mdia de altura das mulheres;
c. O nmero 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 nmero indeterminado de informaes (mximo de 20)
contendo o nmero do empregado e o nmero de meses de
trabalho deste empregado e imprimir o mais recente e o mais
antigo. Obs.: A ltima informao contm os dois nmeros iguais
a zero. No existem dois empregados admitidos no mesmo ms.

Das könnte Ihnen auch gefallen