Você está na página 1de 11

Introduo

Programao
UNIDADE III: Estruturas de
Repetio

Prof.: dilus de Carvalho Castro Penido

Estruturas de Repetio


Execuo de tarefas repetitivas at que uma


condio ou condies (critrio de parada) seja
atingida ou concluda
Trs principais estruturas




Repita
Enquanto
Para

Estrutura de Repetio Repita




Executa primeiro o cdigo dentro da estrutura e


depois verifica a condio de parada
O cdigo dentro da estrutura s repetido
enquanto: <clusula> = falso

Estrutura de Repetio Repita


algoritmo "EXEMPLO: Repita
var
opcao: caractere
inicio
repita
escreva("Digite a letra (f) p/ terminar o programa: ")
leia(opcao)
ate (opcao = "f")
fimalgoritmo

Estrutura de Repetio Repita


algoritmo "EXEMPLO: Repita
var
opcao: inteiro
inicio
repita
escreval("1: Primeira opo")
escreval("2: Segunda opo")
escreval("0: Sair do programa")
leia(opcao)
se (opcao = 1) entao
escreval("*** Primeira opo ***")
fimse
se (opcao = 2) entao
escreval("*** Segunda opo ***")
fimse
ate (opcao = 0)
fimalgoritmo

Estrutura de Repetio Repita


algoritmo "EXEMPLO: Repita
var
x, y, z: inteiro
inicio
escreva("Digite um nmero de 0 a 9: ")
leia(x)
y <- 0
repita
z <- x * y
escreval(x, " x", y, " = ", z)
y <- y + 1
ate (y > 10)
fimalgoritmo

Estrutura de Repetio Enquanto




Verifica primeiro a condio de parada e depois


executa o cdigo dentro da estrutura
O cdigo dentro da estrutura s repetido
enquanto: <clusula> = verdadeiro

Estrutura de Repetio Enquanto


algoritmo "EXEMPLO: Enquanto
var
valor, i: inteiro
inicio
escreva("Digite um nmero: ")

leia(valor)
i <- 0
enquanto (i <= valor) faca
escreval("i =", i)
i <- i + 1
fimenquanto
fimalgoritmo

Estrutura de Repetio Enquanto


algoritmo "EXEMPLO: Enquanto
var
nota: real
inicio
escreva("Digite uma nota: ")
leia(nota)
enquanto (nota < 0) ou (nota > 10) faca
escreval("ERRO - A nota deve ser entre 0 e 10")
escreva("Digite novamente a nota: ")
leia(nota)
fimenquanto
se (nota >= 6) entao
escreval("Aluno aprovado")
senao
escreval("Aluno reprovado")
fimse
fimalgoritmo

Estrutura de Repetio Para





Repetio condicionada a uma contagem


A <varivel> utilizada nesta estrutura ter seu
valor alterado durante a execuo do cdigo

Estrutura de Repetio Para


algoritmo "EXEMPLO: Para
var
valor, i: inteiro
inicio
escreva("Digite um nmero: ")
leia(valor)
para i de 1 ate valor faca
escreval("i =", i)
fimpara
fimalgoritmo

Estrutura de Repetio Para


algoritmo "EXEMPLO: Para
var
valor, i: inteiro
inicio
escreva("Digite um nmero: ")
leia(valor)
para i de valor ate 1 passo -1 faca
escreval("i =", i)
fimpara
fimalgoritmo

Estrutura de Repetio Para


algoritmo "EXEMPLO: Para
var
valor, i: inteiro
resto: real
inicio
escreva("Digite um nmero: ")
leia(valor)
para i de 1 ate valor faca
resto <- i mod 2
se resto = 0 entao
escreval("i =", i)
fimse
fimpara
fimalgoritmo

Estrutura de Repetio Para


algoritmo "EXEMPLO: Para
var
soma, num: real
i, n: inteiro
inicio
escreva("Digite o nmero de elementos: ")
leia(n)
soma <- 0
para i de 1 ate n faca
escreva("Digite um nmero: ")
leia(num)
soma <- soma + num
fimpara
escreval("Soma de", n, " nmero(s) =", soma)
fimalgoritmo

Estrutura de Repetio Para


algoritmo "EXEMPLO: Para
var
x, y, mult, i: inteiro
inicio
escreva("Digite o valor de x: ")
leia(x)
escreva("Digite o valor de y: ")
leia(y)
mult <- 0
para i de 1 ate y faca
mult <- mult + x
fimpara
escreva(x, " x", y, " =", mult)
fimalgoritmo

Estruturas de Repetio Comparao




As estruturas Repita e Enquanto so mais


adequadas para repetir at que algo acontea,
como um comando do usurio ou at se obter
uma informao ou valor esperado
A estrutura Para mais adequada para uso nos
casos de um nmero pr-determinado de
repeties, principalmente em intervalos
numricos, contadores ou funes do gnero

Condies de Parada


Se uma estrutura de repetio serve para executar uma determinada tarefa vrias vezes,
necessrio indicar quando as elas devem parar:





Pode ser feita por um nmero pr-determinado de


vezes
Pode ser feita at que um evento ocorra
Pode ser feita at uma solicitao do usurio

Caso a condio de parada para qualquer


estrutura de repetio nunca seja satisfeita,
teremos um problema de repetio infinita


A repetio infinita poder travar o programa, que


no ser capaz de terminar a operao

Condies de Parada


Exemplo de repetio infinita com Enquanto:

cont: inteiro
cont <- 1
enquanto (cont < 10) faca
escreva(cont)
fimenquanto


Exemplo de repetio infinita com Para:

cont: inteiro
para cont de 1 ate 10 passo -1 faca
escreva(cont)
fimpara

Condies de Parada


Exemplo corrigido com Enquanto:

cont: inteiro
cont <- 1
enquanto (cont < 10) faca
escreva(cont)
cont <- cont + 1
fimenquanto


Exemplo corrigido com Para:

cont: inteiro
para cont de 1 ate 10 faca
escreva(cont)
fimpara

Exerccios de Programao




Informe se um nmero digitado par ou mpar


Calcule o fatorial de um nmero
Calcule a soma dos nmeros mpares de um
intervalo digitado
Digitados dois nmeros (base e expoente), calcule o resultado utilizando apenas multiplicaes
Digitado n, encontre o n-simo termo da srie de
Fibonacci: 0, 1, 1, 2, 3, 5, 8, 13, ...


f(0) = 0; f(1) = 1; f(n) = f(n-1) + f(n-2)

10

Exerccios de Programao


Fazer um algoritmo que leia os lados (A, B, C) de


30 paraleleppedos e mostre o volume (V) e a
rea superficial (S) de cada um deles; o volume
mdio e rea mdia de todos eles


V = A * B * C; S = 2 * (A * B + A * C + B * C)

O sistema de avaliao da disciplina "Introduo


Programao" obedece aos seguintes critrios:



Durante o semestre so dadas trs notas


A nota final obtida pela mdia aritmtica das notas
dadas durante o curso
Para ser aprovado, o aluno tem que obter a nota final
superior ou igual a 60,0 e ter comparecido a um
mnimo de 80% das aulas (considere aulas dadas =
100)
continua...

Exerccios de Programao
Fazer um algoritmo que:





Leia um conjunto de dados contendo o nmero de


matrcula, as trs notas e a freqncia de 20 alunos
Mostre para cada aluno o nmero de matrcula, a
freqncia, a nota final e o resultado na disciplina
(aprovado ou reprovado)
Calcule e mostre a nota mdia da turma
Calcule e mostre o total de alunos aprovados e
reprovados

11

Você também pode gostar