Vous êtes sur la page 1sur 13

Universidade do Estado de Santa Catarina CCT/UDESC

INTRODUO A PROGRAMAO

THOBER CORADI DETOFENO,


MSC.
Aula 07
JOINVILLE
2013

Estrutura de Repetio
Nos exemplos e exerccios que vimos at agora sempre foi
possvel resolver os problemas com uma sequncia de
instrues onde todas eram necessariamente executadas uma
nica vez.
Agora, veremos um conjunto de estruturas sintticas que
permitem que um trecho de um algoritmo (lista de comandos)
seja repetido um determinado nmero de vezes, sem que o
cdigo orrespondente tenha que ser escrito mais de uma vez.
O Algoritmo possui trs estruturas de repetio:

repita ... ate


enquanto ... faca
para ... faca

COMANDO REPITA ... ATE


Uma estrutura de repetio utilizada quando um
trecho do algoritmo ou at mesmo o algoritmo inteiro
precisa ser repetido. O nmero de repeties pode
ser fixo ou estar atrelado a uma condio.
Sua forma geral :

repita
<lista de comandos>
ate <expresso lgica ou relacional>

COMANDO REPITA ... ATE

COMANDO ENQUANTO ...


FACA

Na estrutura enquanto ... faca, a expresso lgica avaliada


e, se ela for verdadeira, a lista de comandos executada.
Isso se repete at que a condio seja falsa. Veja a sua
forma geral:

enquanto <expresso lgica ou relacional> faca


<lista de comandos>
fimenquanto
A estrutura enquanto ... faca tambm uma estrutura de
repetio, semelhante repita. A diferena bsica entre as
duas estruturas a posio onde testada a expresso.
Na estrutura repita, a condio avaliada aps a execuo
dos comandos, o que garante que os comandos sero
executados pelo menos uma vez.

COMANDO ENQUANTO ...


FACA

COMANDO PARA ... FACA


O comando para ... faca tambm permite a
descrio, dentro de um algoritmo, de uma
estrutura de repetio. Sua forma geral :
para <varivel de controle> de <valor
inicial> ate <valor final> passo
<incremento> faca
<lista de comandos>
fimpara

COMANDO PARA ... FACA


Na estrutura para ... faca, a varivel de controle
inicializada com <valor inicial> e no incio de cada iterao,
seu valor comparado com <valor final>.
Se o valor da varivel for menor ou igual a <valor final>, a
lista de comandos executada e aps ser executado o ltimo
comando da lista, a varivel de controle incrementada.
Repete-se at que o valor da varivel de controle seja maior
que <valor final>, quando ento executado o comando
imediatamente aps a palavra fimpara.
A instruo passo necessria se o incremento for diferente
de 1.
A estrutura para ... faca uma estrutura de repetio mais
completa que as anteriores, pois ela incorpora a inicializao,
incremento e teste de valor final da varivel de controle.

COMANDO PARA ... FACA


Exemplo: Algoritmo que l 5 nmeros
e escreve todos os que forem
positivos.

Exerccios
1) Faa um algoritmo para Somar todos os numero inteiros compreendidos entre
2 numero, sendo que:

Os dois numeros sero informados pelo usurio

O numero inicial no poder ser maior ou igual ao numero final


2) Sendo a formula de uma equao do segundo grau:
X = (-B SQR( B2 - 4*A*C )) / 2*A
Desenvolver um algoritmo capaz de calcular as razes de uma equao sendo
que:
Os valores A , B , C sero informados pelo usurio.
O Valor de a no pode ser Zero
O algoritmo deve informar caso no existam razes reais.
3) Desenvolver um algoritmo capaz de calcular a media aritmtica simples de
uma srie de nmeros , sendo que:
O usurio deve informar a quantidade de nmeros da srie.

Se a quantidade for zero ou negativa o algoritmo no deve aceita-la.

O usurio deve informar um por um todos os nmeros da srie.

O algoritmo deve mostrar como resultado a media aritmtica simples


calculada atravs da formula:
MEDIA = (X + X1 + X2+...XN) / N.

Exerccios
4) Desenvolver um algoritmo capaz de calcular o fatorial de um numero
inteiro positivo informado pelo usurio, sendo que:

O numero para o calculo deve ser informado pelo usurio

O algoritmo deve informar o fatorial deste numero de acordo com as


regras abaixo:

O fatorial de numero negativos no existe

O fatorial de 0 1

O fatorial de 1 1

O fatorial de um numero qualquer da do pela seguinte formula:


5! = 5*4*3*2*1
4! = 4*3*2*1
N! = N * (N-1) * (N-2)...* 1
5) Escreva um algoritmo para calcular os nmeros harmnicos sendo que

O usurio deve informar o numero para o calculo

O numero informado dever ser maior que 0

O calculo do numero harmnico feito da seguinte forma:


NH= 1+(1/2) + (1/3) ... (1/N)

Exemplo: Digitado o nmero 5


H = 1 + (1/2) + (1/3)+ (1/4)+(1/5)

Exerccios
6) Escreva um algoritmo capaz de calcular a seqncia de fibonacci sendo que:

O primeiro numero sempre 0

O segundo numero sempre 1

Os prximos nmeros so o resultado da soma de seus dois predecessores.


Exemplo: 0,1,1,2,3,5,8,13,21,34,55,89...
O algoritmo deve calcular e mostrar a seqncia de fibonacci ate que o ultimo numero
calculado seja maior ou igual a um limite que ser informado pelo usurio.
7) Faa um algoritmo capaz de determinar o maior nmero de uma seqncia de 10
nmeros que devero ser digitados pelo usurio , e apresente o resultado ao final
do processamento.
8) Faa um algoritmo capaz de calcular a media das notas de dez alunos que devero
ser informadas pelo usurio, e aps o calculo informe o nmero de alunos que ficou
com a nota acima da media calculada.
9) Supondo que a populao de um pas A seja da ordem de 90.000.000 de habitantes
com uma taxa anual de crescimento de 3% e que a populao de um pas B seja,
aproximadamente, de 200.000.000 de habitantes com uma taxa anual de
crescimento de 1.5%, fazer um programa que calcule e escreva o nmero de anos
necessrios para que a populao do pas A ultrapasse ou se iguale populao do
pas B, mantidas essas taxas de crescimento.

Exerccios
10) Uma empresa de autopeas classifica os seus funcionrios da seguinte forma:
Funcionrio Classe A: aquele que produziu at 100 pecas por ms
Funcionrio classe B: Aquele que produziu de 101 a 200 Pecas por ms
Funcionrio classe C: aquele que produziu mais de 201 pecas em um ms
Sendo ainda que o salrio dos funcionrios calculado da seguinte forma:
Classe A : Um salrio mnimo por ms
Classe B : Um salrio mnimo mais 10 centavos por peca produzida acima de 101
pecas
Classe C : um salrio mnimo mais 15 centavos por peca produzida acima de 101
pecas e 20 centavos por peca produzida acima de 201 pecas.
Faca um algoritmo que permita a digitao de 10 nomes de funcionrios, e as suas
respectivas quantidades de pecas produzidas no ms, e que aps o ultimo
funcionrio tenha sido digitado, o algoritmo dever informar a quantidade de
funcionrios de cada classe, a produo total de todos os funcionrios, e o total
de salrio pago pela empresa para todos os funcionrios.
11)Leia um nmero indeterminado de linhas contendo cada uma a idade de um
indivduo. A ltima linha, que no entrar nos clculos, contm o valor da idade
igual a zero. Calcule e escreva a idade mdia deste grupo de indivduos.