Você está na página 1de 9

Laboratrio de Algoritmos

Exerccios envolvendo Estruturas de


Repetio
Profa. Me Lucilena de Lima
li_luma@yahoo.com.br


1- Voc esta fazendo uma pesquisa entre os habitantes de uma pequena vila. Escreva
um algoritmo que colete os dados de idade, sexo (M/F) e salrio de todos as pessoas
que desejam participar da pesquisa (para encerrar a entrada de dados entre com a
idade menor ou igual a zero). Aps coletar todos os dados informe:
a. A mdia de salrio do grupo
b. Maior e menor idade do grupo
c. A percentagem do total de mulheres com salrio at R$ 300,00
d. A quantidade de homens

Resposta:
algoritmo "exercicio1"
// Funo :
// Autor : Lucilena
// Seo de Declaraes
var
idade, maiorid, menorid, conthabit, contF300, contF, contM: inteiro
sexo: caracter
salario, somasal, mediasal: real

inicio
// Seo de Comandos
somasal<- 0
conthabit<- 0
contF<- 0
contF300<- 0
contM <- 0
escreva ("Informe idade ou digite 0(zero) para sair: ")
leia (idade)

maiorid <- idade
menorid <- idade

enquanto idade <> 0 faca
repita
escreva ("Informe sexo (F(eminino) | M(asculino) : ")
leia (sexo)
ate ((sexo = "F") ou (sexo = "M"))
escreva ("Informe salario: ")
leia (salario)
//preparando resposta do item a
somasal<- somasal+salario

//preparando resposta do item b

se maiorid < idade entao
maiorid <- idade
fimse
se menorid > idade entao
menorid <- idade
fimse

//preparando resposta do item c
se sexo = "F" entao
contF<- contF + 1
se salario <= 300.00 entao
contF300<- contF300 + 1
fimse
fimse

//preparando resposta do item b
se sexo = "M" entao
contM <- contM + 1
fimse

conthabit<- conthabit + 1

escreva ("Informe idade ou digite 0(zero) para sair: ")
leia (idade)
fimenquanto

//respostas finais
//item a
mediasal<- somasal / conthabit
escreval ("A media dos salarios = ", mediasal)

//item b
escreval ("Maior idade = ", maiorid)
escreval ("Menor idade = ", menorid)

//item c
escreval ("Percentual de mulheres com salario ate 300,00 = ",
contF300*100/contF , "% das mulheres")

//item d
escreval ("Quantidade de homens = ", contM)
fimalgoritmo












2- Faa um programa que imprima os nmeros mpares no intervalo fechado [a, b] (a e
b escolhidos pelo usurio).
Resposta:
algoritmo "exercicio2"
// Funo :
// Autor : Lucilena
// Seo de Declaraes
var
a, b, cont: inteiro
inicio
// Seo de Comandos
escreva ("Informe a: ")
leia(a)
escreva ("Informe b: ")
leia(b)

para cont de a ate b passo 1 faca
se cont mod 2 <> 0 entao
escreval ("Numero impar = ", cont)
fimse
fimpara
fimalgoritmo




























3- Fazer um programa que sorteie um nmero de 0 a 100 e que permita que o usurio
(sem conhecer o nmero sorteado) tente acertar. Caso no acerte, o programa deve
imprimir uma mensagem informando se o nmero sorteado maior ou menor que a
tentativa feita. Ao acertar o nmero, o programa deve imprimir a quantidade de
tentativas feitas e a mensagem Parabns! Voc acertou o nmero em XXX tentativas!!
Resposta:

algoritmo "Exercicio3"
// Funo :
// Autor : Lucilena
// Seo de Declaraes
var
gerado, num, tentativas: inteiro
inicio
// Seo de Comandos

tentativas<- 0
aleatorio on
leia (gerado)
limpatela
escreval("****----Tente acertar o numero aleatorio gerado----****")
aleatorio off
repita
escreval("Digite um numero [0 - 100] : ")
leia(num)
tentativas<- tentativas + 1
se num = gerado entao
escreval ("Parabens voce acertou!! em ", tentativas, " tentativas")
senao
se num < gerado entao
escreval ("O numero digitado eh menor que o numero gerado. ")
fimse
se num > gerado entao
escreval ("O numero digitado eh maior que o numero gerado. ")
fimse
fimse
ate num = gerado


fimalgoritmo










4- Faa um algoritmo que leia um valor (N) inteiro positivo e calcule:
R(N) = 1+2+3+...+N
3 5 M
Resposta:
algoritmo "Exercicio4"
// Funo :
// Autor : Lucilena
// Seo de Declaraes
var
N, M, cont:inteiro
R:real
inicio
// Seo de Comandos
R<-0
M<-1
escreva("Digite o valor de N: ")
leia(N)

para cont de 1 ate N faca
R <- R + cont/M
M<- M+2

fimpara
escreval("R = ", R)
fimalgoritmo


























5- Faa um programa para:
a) Ler um valor x qualquer
b) Calcular Y = ( x+1)+(x+2)+(x+3)+(x+4)+(x+5)+(x+100).
Resposta:

algoritmo "Exercicio5"
// Funo :
// Autor : Lucilena
// Seo de Declaraes
var
X, cont:inteiro
Y:real
inicio
// Seo de Comandos
Y<-0
escreva("Digite o valor de X: ")
leia(X)

para cont de 1 ate 100 faca
Y <- Y + (X+cont)

fimpara
escreval("Y = ", Y)
fimalgoritmo


























6- Elabore um programa que receba um conjunto de valores inteiros positivos e que
calcule e mostre o maior e o menor valor do conjunto. Considere que para encerrar a
entrada de dados deve ser digitado o valor zero; para valores negativos deve ser
enviada uma mensagem de erro e solicitado um novo valor; os valores negativos ou
iguais a zero no entraro no clculo.
algoritmo "Exercicio6"
// Funo :
// Autor : Lucilena
// Seo de Declaraes
var
num, maior, menor, soma: inteiro
inicio
// Seo de Comandos
soma<- 0
repita
escreva ("Para encerrar digite O(zero) ou digite um valor :")
leia(num)
se num < 0 entao
escreval("Numero invalido!! Digite outro.")
fimse
ate num >= 0

maior<- num
menor<- num

enquanto num <> 0 faca
se maior < num entao
maior<- num
fimse
se menor > num entao
menor<- num
fimse
soma <- soma + num

repita
escreva ("Para encerrar digite O(zero) ou digite um valor :")
leia(num)
se num < 0 entao
escreval("Numero invalido!! Digite outro.")
fimse
ate num >= 0

fimenquanto

escreval("Maior numero = ", maior)
escreval("Menor numero = ", menor)
escreval("Soma dos numero digitados = ", soma)
fimalgoritmo

7- Elabore um programa que leia os dados (Nome, Idade, Peso e Sexo) de N pessoas e
fornea:
a. A mdia dos pesos dos homens;
b. A mdia da idade das mulheres;
c. Quantas mulheres tm idade acima de 25 anos;
d. Total de pessoas.
Resposta:

algoritmo "Exercicio7"
// Funo :
// Autor : Lucilena
// Data : 28/05/2012
// Seo de Declaraes
var
nome, sexo , opc:caracter
peso, pesoM: real
idade, idadeF, idadeF25,quantF, quantM, totalpes: inteiro
inicio
// Seo de Comandos
pesoM<- 0
quantM<- 0
quantF<-0
idadeF<- 0
idadeF25<- 0
totalpes<- 0
idadeF<- 0

escreval("Digite S(im) para iniciar ou N(ao) para finalizar a Entrevista ")
leia(opc)

enquanto opc = "S" faca
escreval("Informe o nome: ")
leia (nome)
escreval("Informe o sexo: ")
leia(sexo)
escreval("Informe 0 peso: ")
leia(peso)
escreval("Informe a idade: ")
leia(idade)

//preprando resposta item a e item b
se sexo = "M" entao
pesoM<- pesoM + peso
quantM<- quantM + 1
senao
quantF<- quantF + 1
idadeF<- idadeF + idade
se idade < 25 entao
idadeF25<- idadeF25 + 1
fimse
fimse
totalpes<- totalpes + 1
escreval("Digite S(im) para iniciar ou N(ao) para finalizar a Entrevista ")
leia(opc)
fimenquanto
escreval ("a. A mdia dos pesos dos homens = ", pesoM/quantM)
escreval ("b. A mdia da idade das mulheres = ", idadeF/quantF)
escreval ("c. Quantas mulheres tm idade acima de 25 anos = ", idadeF25)
escreval ("d. Total de pessoas = ", totalpes)
fimalgoritmo
8-Faa um programa que receba um numero N (inteiro) e informe se este numero
primo.
Resposta:
algoritmo "Exercicio8"
// Funo :
// Autor : Lucilena
// Seo de Declaraes
var
N, x, nn, c: inteiro
Inicio
// Seo de Comandos
escreval("numeros primos")
escreval
escreval("Informe um numero")
leia(n)
se N > 0 entao
nn<- 1
para c de 2 ate (n-1) faca
se n mod c = 0 entao
x<- x+1
fimse
fimpara
se x <> 0 entao
escreval(N, " nao faz parte dos numeros primos")
senao
se x= 0 entao
escrevaL(n, " faz parte dos numeros primos")
fimse
fimse
fimse
fimalgoritmo