Vous êtes sur la page 1sur 22

Estruturas de Repetio

12/07/2014

Estruturas de Repetio
Para At
Enquanto Faa
Repita At

Exerccios

12/07/2014

Caso os programas necessitem ser executados


mais de uma vez, como podemos resolver esse
problema?
Todos os programas apresentados at agora no
permitem que sejam executados mais de uma vez.
Se
quisermos
repetir
algum
programa
precisamos sair do programa e execut-lo
novamente.

... Isso

invivel

Precisamos permitir repeties.

12/07/2014

Slide 3

Uma estrutura de repetio uma estrutura


com controle de fluxo de execuo, que
permite repetir diversas vezes um mesmo
trecho do programa.
Do mesmo jeito que na estrutura de deciso,
a estrutura de repetio depende do teste de
uma condio.
So trs os tipos de estruturas de repetio:
Repetio com teste no incio: Enquanto ... Faa
Repetio com teste no fim: Repita ... At
Repetio com varivel de controle Para ... Faa

12/07/2014

Slide 4

Algoritmo

Funo

enquanto <condio> faca


<comandos>
fimenquanto

Na estrutura ENQUANTO, a verificao da condio


para continuao do lao feita na primeira linha.
Obs: importante ter um controle da atualizao da
varivel, pois, caso contrrio, o algoritmo entrar no
estado que chamamos de: looping infinito.

repita
<comandos>
ate <condio>

Na estrutura REPITA, a realizao do teste lgico


realizada na ultima linha da estrutura, ou seja, o
cdigo todo executado ao menos uma vez. Caso a
condio continue verdadeira, outras repeties sero
executadas at que a condio seja falsa.

para <varivel> de <valor_inicial>


ate <valor_final> passo 1 faca
<comandos>
fimpara

O comando PARA incrementa a varivel de controle a


partir do valor_inicial, ate que, esta atinja o valor_final,
aumentando o valor da varivel de controle at que o
valor final seja alcanado, executando os comandos a
cada passagem.

12/07/2014

Slide 5

A estrutura de repetio Para Faa, deve ser


usada quando sabemos o nmero exato de
repeties.
Na estrutura de repetio Para Faa devemos
usar uma varivel de controle.
Essa varivel deve ser sempre do tipo inteiro
ou caracter.

12/07/2014

Calcule a soma de todos os nmeros pares de


2 at 1000.
Um nmero par encontrado quando o resto
de sua diviso for igual a zero.
Utilize o operador MOD.
Passos para a resoluo do enunciado:

Definio do resultado: verificar se o nmero par,


se for par deveremos acumular o valor da soma.
Dados de sada: o resultado da soma de todos os
pares.
Dados de entrada: nada h para ser solicitado ao
usurio.
12/07/2014

Slide 7

algoritmo "Soma_dos_Pares"
var
cont,result:inteiro
inicio
result<-0
escreval("Programa que imprime a soma de todos os
nmeros paresde 2 at 1000")
para cont de 1 ate 1000 faca
se (cont MOD 2 = 0) entao
result <- result + cont
fimse
fimpara
escreva ("A soma de todos os nmeros pares :",result)
fimalgoritmo
12/07/2014

Slide 8

A estrutura de repetio Enquanto utilizada para


repetir um bloco de comandos por vrias vezes,
sem sabermos ao certo a quantidade exata de
vezes.
Para isso, criamos uma condio de teste, que
testada j no incio do bloco.
O uso do comando Enquanto ideal, quando
precisamos sair do comando assim que atingir
algum objetivo.

12/07/2014

Slide 9

Implemente um algoritmo que tenha como


objetivo: ler vrias idades, sem limite.
Assim que for digitada a idade igual a zero
o programa dever encerrar a leitura e
apresentar a mdia de todas as idades
informadas e a quantidade de idades
informadas.

12/07/2014

Slide 10

Passos para a
enunciado:

resoluo,

analisando

Definio do resultado: calcular a mdia das


idades de vrias pessoas no sabemos o limite
precisamos acumular o valor de cada idade e
contar quantas pessoas participaram da pesquisa.
Dados de sada: imprimir o valor da mdia das
idades informadas e a quantidade de idades
informadas.
Dados de entrada: solicitar a idade da pessoa e
deve ser do tipo inteiro. Informar que para saber
o resultado, deve ser digitada a idade igual a
zero.

12/07/2014

Slide 11

algoritmo "Media_idade"
var
idade,acumulador,contador:inteiro
media:real
inicio
media <- 0
acumulador <-0
contador := 0
escreval ("Programa que imprime a Mdia das idades de Vrias
pessoas")

12/07/2014

Slide 12

Escreva ("Informe uma idade - Digite[0] para parar:")


leia(idade)
enquanto (idade<>0) faca
contador <- contador + 1
acumulador <- acumulador +idade
Escreva ("Informe uma idade - Digite[0] para parar:")
leia(idade)
fimenquanto
media <- acumulador/contador
Escreval ("A Quantidade de idade informadas : ", contador)
escreval ("A mdia de idades informadas : ", media)
fimalgoritmo

12/07/2014

Slide 13

Realiza o teste da condio no final do comando.


Isso quer dizer que ao menos uma vez o comando
ser executado.
Esse comando o oposto do comando Enquanto,
pois o Repita executa primeiro para depois testar a
condio.

12/07/2014

Slide 14

Elabore um programa que ir pedir dois


nmeros e um sinal ( + ou ou *). Conforme
o sinal, ele ir mostrar o resultado da
operao.
Para permitir que se possa repetir o
programa, utilize o comando Repita,
perguntando ao usurio se ele deseja
continuar a testar o programa, informando
novos valores.
Para isso, basta criar uma nova varivel, que
ir armazenar a resposta (sim ou no).

12/07/2014

Slide 15

algoritmo "Mini_Calculadora"
var
sinal, resposta: caracter
num1,num2:inteiro
inicio
repita
limpatela
escreval ("Programa Mini Calculadora")
escreva ("informe o Primeiro Nmero: ")
leia (num1)
escreva ("informe o Segundo Nmero: ")
leia (num2)
escreva("informe um dos sinais: + - * : ")
leia (sinal)
limpatela
12/07/2014

Slide 16

escolha (sinal)
caso "+"
escreval("A soma dos Nmeros : ",num1+num2)
caso "-"
escreval("A subtrao dos Nmeros : ",num1-num2)
caso "*"
escreval("A multiplicao dos Nmeros : ",num1*num2)
outrocaso
escreva("Sinal Errado - Favor Digitar Certo da Prxima Vez")
fimescolha
escreva("Deseja Repetir o Programa?(S para sim ou N para no)")
leia(resposta)
ate (resposta = "n")
fimalgoritmo

12/07/2014

Slide 17

guibson7@hotmail.com

12/07/2014

Slide 18

Analise o algoritmo abaixo e anote o resultado ao fim do algoritmo:

V1
V2
NOME
TEXTO
CONT

algoritmo
var
v1, v2: real
nome, texto: caracter
cont: inteiro
inicio
cont <- 1
nome <- guibson santana
texto <- eu tirei 10 na avaliao
enquanto cont<= 10 faca
se cont <= 5 entao
v1<- cont * 3
v2<- v1 + cont 2
cont <- cont + 3
senao
v1<- v2 cont
v2<- 20 + cont
cont <- cont * 2
fimse
fimenquanto
fimalgoritmo

12/07/2014

Slide 19

1.

Crie um algoritmo que leia uma sequencia


de nmeros, que ser finalizada com o
nmero ZERO (0) e escreva a quantidade de
nmeros positivos e negativos.

12/07/2014

Slide 20

2.

Elabore um algoritmo que receba os dados


de uma quantidade de pessoas. A cada
leitura sero fornecidos: NOME, IDADE,
SEXO. Calcule e exiba a quantidade de
homens e mulheres.

Obs.: A leitura ser finalizada com a IDADE


ZERO (0).

12/07/2014

Slide 21

3.

Ainda com relao a questo 2, elabore um


algoritmo que:
Calcule a mdia de idade de homens e
mulheres;
Calcule o percentual de homens e mulheres.

David Remigio

12/07/2014

Slide 22

Vous aimerez peut-être aussi