Você está na página 1de 38

ALGORITMOS

Prof. Esp. Dhiego Tosatti


Prof. MSc. Karl Phillip Buhr
Curso: 620 - Engenharia da Computao
Componente Curricular: 11768
Crditos: 4
Fase: 1
Estruturas de
Repetio
(parte 2)
Estruturas de Repetio
algoritmo "semnome"
var
inicio
escreval(Hello World!")
escreval(Hello World!")
escreval(Hello World!")
escreval(Hello World!")
escreval(Hello World!")
fimalgoritmo
Estrutura: ENQUANTO-FAA
Formato:
enquanto (condio) faa
comando1
comando2
comando3
fimenquanto

Onde:
condio a expresso lgica que avaliada
para decidir a repetio do lao;
Estrutura: ENQUANTO-FAA
A estrutura ENQUANTO-FAA um lao
condicional.
Laos condicionais so aqueles cujo conjunto de
comandos em seu interior executado at que
uma determinada condio seja satisfeita.

A estrutura PARA-AT-FAA que estudamos


anteriormente, repete comandos em um lao
utilizando como critrio de parada uma varivel
de contagem.
Estrutura: ENQUANTO-FAA
A estrutura ENQUANTO-FAA utiliza como
critrio de parada uma condio (expresso
lgica) que verificada no incio da estrutura.

Em outras palavras, essa estrutura permite que


comandos sejam repetidos enquanto uma
determinada condio for verdadeira.
Estrutura: ENQUANTO-FAA

NO
Condio

SIM

Instrues executadas no
perodo em que a condio
permanece verdadeira
Estrutura: ENQUANTO-FAA
Exemplo 1:
algoritmo "semnome"
var
i : inteiro
inicio
i <- 0
enquanto i < 5 faca
escreval("Hello World!")
i <- i + 1
fimenquanto
fimalgoritmo
Estrutura: ENQUANTO-FAA
Exemplo 2:
Escreva um algoritmo para calcular a mdia
aritmtica de uma turma fixa de 10 alunos. Utilize a
instruo enquanto-faa para resolver este problema.
Estrutura: ENQUANTO-FAA
Exemplo 2 (soluo):
algoritmo "semnome"
var
contagem : inteiro
nota_aluno, media_turma : real
inicio
contagem <- 0
enquanto contagem < 10 faca
leia(nota_aluno)
media_turma <- media_turma + nota_aluno
contagem <- contagem + 1
fimenquanto
media_turma <- media_turma / 10
escreval("Mdia aritmtica da turma : ", media_turma)
fimalgoritmo
Estrutura: ENQUANTO-FAA
Exerccio 1A:
Escreva um algoritmo que:
leia um valor numrico inteiro qualquer;
Em seguida, processe o clculo deste nmero
multiplicando-o por 3;
Apresente o resultado.

Execute os passos descritos acima cinco vezes!


Estrutura: ENQUANTO-FAA
Exerccio 1B:
Desenhe o fluxograma da soluo do exerccio
anterior.
Estrutura: ENQUANTO-FAA
Exerccio 2:
Escreva um algoritmo em VisuAlg que imprima
nmeros de 0 a 99 na tela.
Estrutura: ENQUANTO-FAA
Exerccio 2 (soluo):
algoritmo "semnome"
var
I, N, R : inteiro
inicio
I <- 1
enquanto I <= 5 faca
leia(N)
R <- N * 3
escreval("Resultado: ", R)
I <- I + 1
fimenquanto
fimalgoritmo
Estrutura: ENQUANTO-FAA
Exemplo 3:
Escreva um algoritmo em VisuAlg que imprima
nmeros de 1 a 100 na tela.
Entretanto, o algoritmo deve abortar
(interromper) a execuo do lao de repetio
depois de imprimir o nmero 5 na tela.
Estrutura: ENQUANTO-FAA
Exemplo 3 (soluo):
algoritmo "semnome"
var
num : inteiro
inicio
i <- 1
enquanto i <= 100 faca
escreval(num)
num <- num + 1
se (num > 5) entao
interrompa
fimse
fimenquanto
fimalgoritmo
Estrutura: ENQUANTO-FAA
Exemplo 4:
Escreva um algoritmo em VisuAlg que leia palavras
do usurio at que ele digite a palavra sair.
Quando isto acontecer, a execuo do lao deve
ser interrompida e o algoritmo deve terminar.
Estrutura: ENQUANTO-FAA
Exemplo 4 (soluo):
algoritmo "semnome"
var
palavra : literal
inicio
enquanto verdadeiro faca
leia(palavra)
se (palavra = "sair") entao
interrompa
fimse
fimenquanto
fimalgoritmo
Estrutura: ENQUANTO-FAA
Exerccio 3:
Escreva um algoritmo em VisuAlg que leia
nmeros inteiros e imprima o triplo de cada
nmero.
O algoritmo termina quando o usurio entrar com
o nmero -999.
Estrutura: ENQUANTO-FAA
Exerccio 4:
Escreva um algoritmo em VisuAlg que leia apenas
nmeros positivos. Quando um nmero negativo
for lido, o algoritmo deve apresentar quantos
nmeros positivos foram digitados.
Estrutura: ENQUANTO-FAA
Exerccio 5:
Escreva um algoritmo em VisuAlg que o usurio
entre com 5 nmeros e imprima o cubo de cada
nmero.
Estrutura: ENQUANTO-FAA
Exerccio: Analise o seguinte
algoritmo "semnome" algoritmo e determine o que
ele imprimiria na tela:
var
contador : inteiro
inicio
contador <- 100
enquanto contador <= 200 faca
escreval(contador)
interrompa
fimenquanto
fimalgoritmo
Estrutura: ENQUANTO-FAA
Exerccio 6:
Escreva um algoritmo em VisuAlg que leia um
caractere do teclado.
Enquanto o usurio no digitar o caractere S, o
algoritmo continua lendo caracteres.
Estrutura: ENQUANTO-FAA
Exerccio 7:
Escreva um algoritmo em VisuAlg que l vrios
nmeros e quando o valor 0 for lido ele deve informar
quantos destes nmeros estavam no intervalo 100 a
200.
Estrutura: ENQUANTO-FAA
Exerccio 8:
Escreva um algoritmo em VisuAlg que l literais do
teclado enquanto o que for digitado for diferente de
FIM.
Estrutura: ENQUANTO-FAA
Exerccio 9:
Escreva um algoritmo em VisuAlg que possibilite o
usurio digitar o sexo de vrias pessoas e imprima
quantas pessoas so do sexo masculino.
Considere os caracteres m, M, f e F.
O algoritmo termina quando o usurio digitar um
caractere que no est previsto nas restries acima.
Estrutura: ENQUANTO-FAA
Exerccio 10:
Escreva um algoritmo em VisuAlg que leia o limite
inferior e o superior de um intervalo de nmeros. Leia
tambm o valor para incremento, e imprima todos os
nmeros neste intervalo. Exemplo:
Suponha que os nmeros lidos so:
Limite inferior: 0
Limite superior: 20
Valor de incremento: 5
Sada:
0 5 10 15 20
Estrutura: ENQUANTO-FAA
Exerccio 11:
Escreva um algoritmo em VisuAlg que leia um nmero
inteiro. Este nmero servir para controlar os
nmeros pares que sero impressos a partir de 2.
Exemplo:
Quantos: 4
Sada:
2468
Estrutura: ENQUANTO-FAA
Exerccio 12:
Escreva um algoritmo em VisuAlg que leia um nmero
que servir para controlar os primeiros nmeros
mpares. Dever ser impressa a soma desses
nmeros. Exemplo:
Quantos: 5
(1 3 5 7 9 so os primeiros 5 nmeros mpares)
Sada:
25
Estrutura: ENQUANTO-FAA
Exerccio 13:
Escreva um algoritmo em VisuAlg que leia um nmero
(NUM) de entrada. Em seguida, ler NUM nmeros de
entrada e imprima o triplo de cada um. Exemplo:
NUM: 5
(5 valores so lidos) (valores impressos)
3 9
10 30
12 36
2 6
1 3
Estrutura: ENQUANTO-FAA
Exerccio 14:
Escreva um algoritmo em VisuAlg que imprima os 10
primeiros nmeros da srie de fibonacci.
Nota: os dois primeiros nmeros so 0 e 1, e os demais
so gerados a partir da soma dos 2 anteriores.
Exemplo:
0 + 1 = 1 (terceiro termo)
1 + 1 = 2 (quarto termo)
1 + 2 = 3 (quinto termo)
2 + 3 = 5 (sexto termo)
etc
Estrutura: ENQUANTO-FAA
Exerccio 15:
Escreva um algoritmo em VisuAlg que leia um nmero
inteiro do usurio, e imprime os prximos 50 nmeros.
Estrutura: ENQUANTO-FAA
Exerccio 16:
Dado um pas A, com 5.000.000 de habitantes e uma taxa
de natalidade de 3% ao ano, e um pas B com 7.000.000
de habitantes e uma taxa de natalidade de 2% ao ano,
escreva um algoritmo em VisuAlg para calcular e
imprimir o tempo necessrio para que a populao do
pas A ultrapasse a populao do pas B.
Estrutura: ENQUANTO-FAA
Exerccio 17:
Lula tem 1,50m e cresce 2 centmetros por ano, enquanto
Dilma tem 1,10m e cresce 3 centmetros por ano.
Construir um algoritmo que calcule e imprima quantos
anos sero necessrios para que Dilma seja mais alta que
Lula.
Estrutura: ENQUANTO-FAA
Exerccio 18:
Escreva um algoritmo em VisuAlg que leia vrios nmeros
inteiros e apresente o fatorial de cada nmero. O
algoritmo encerra quando se digita um nmero menor do
que 1.
Estrutura: ENQUANTO-FAA
Exerccio 19:
Escreva um algoritmo em VisuAlg que leia a idade de
vrias pessoas e imprima:
Total de pessoas com menos de 21 anos;
Total de pessoas com mais de 50 anos.
O algoritmo termina quando o usurio entrar com a idade
0.
Estrutura: ENQUANTO-FAA
Exerccio 20:
Escreva um algoritmo em VisuAlg que leia um nmero e
verifique se ele um nmero primo.
BIBLIOGRAFIA
ASCENCIO, A. F. G., CAMPOS, E. A. V. Fundamentos da Programao de Computadores. 3ed
So Paulo: Pearson Education Brasil, 2012.
MANZANO & OLIVIERA. Estudo Dirigido de Algoritmos. Sao Paulo: Erica, 1997.

MANZANO, J. A N. G. Logica Estruturada para Programacao de Computadores. Sao Paulo:


Erica, 2001.
TERADA, Routo; SETZER, Valdemar W. Introducao a Computacao e a Construcao de
Algoritmos. Sao Paulo: Makron Books, 1992.
CORMEM, T. H. [et. al]. Algoritmos: Teoria e Pratica. 2ed. Rio de Janeiro: Elsevier, 2002.

GOODRICH, M. Estruturas de Dados e Algoritmos em Java. 2ed. Porto Alegre: Bookman,


2002.
PUGA, S. Logica de Programacao e Estrutura de Dados: Com Aplicativos em Java. Sao Paulo:
Pearson Education, 2004.
SALIBA, W. L. C. Tcnicas de Programao: Uma abordagem estruturada. So Paulo:
Makron, McGraw-Hill, 1992.

Você também pode gostar