Você está na página 1de 8

EXERCÍCIOS ALGORITMOS

1) Escreva um algoritmo para ler o valor de aluguel de um imóvel e o


percentual de reajuste. Calcular valor do novo aluguel. Escreve o valor
antigo, o valor a ser aumentado e o novo valor. Fazer enquanto o
usuário desejar. Considerar a possibilidade de não executar nenhuma
vez.
algoritmo "semnome"
// Função : Escreva um algoritmo para ler o
valor de um aluguel de um imovel e o percentual de reajuste.
Calcular
valor do novo aluguel. Escreve o valor antigo, o valor a ser
aumentado
e o novo valor. Fazer enquanto o usuário desejar. Considerar a
possibilidade de não executar nenhuma vez.
// Autores : Vinícius Bassani de Camargo e Rodrigo F. K. Xavier
// Data : 2/9/2010
// Seção de Declarações
var
aluguel, aumento, aluguelf, porcentagem: Real
resp: caractere
inicio
escreva ("Você deseja executar o programa?")
leia (resp)
enquanto resp= "s" faca
escreva ("Informe o valor do aluguel:")
leia (aluguel)
se (aluguel<0) entao
escreval ("Valor inválido")
senao
escreva ("Informe o valor da porcentagem de ajuste:")
leia (porcentagem)
aumento<- aluguel * (porcentagem /100)
escreva ("O valor do novo aluguel será:")
aluguelf<- (aumento + aluguel)
escreval(aluguelf)
escreva ("O valor do antigo aluguel é de:")
escreval (aluguel)
escreva ("O valor do ajuste é:")
escreval (aumento)
escreva ("Deseja continuar?")
leia (resp)
fimse
fimenquanto
fimalgoritmo

2) Escreva um algoritmo que leia 3 valores, a opção de média escolhida


pelo usuário e calcule e escreva a média. No caso da média ponderada
solicitar a ponderação. Fazer enquanto o usuário desejar. Opções de
média:
1 - aritmética
2 - ponderada (3,3,4)

algoritmo "Media aritmetica ou ponderada"


// Função : Escreva uma algoritmo que leia 3 valores, a opção de
media escolhida pelo usuário e calcule a media. No caso de media
ponderada solicitar a ponderação. Fazer enquanto o usuário
desejar. Opções de média 1 - Aritmetica, 2 - Ponderada.
// Autor : André Vicente da Cunha, Cesar Augusto da Silva
// Data : 26/8/2010
// Seção de Declarações
var
n1, n2, n3, media, p: real
tmedia: inteiro
x, y, z: real
resp: caractere

inicio
// Seção de Comandos
resp<-("s")
enquanto (resp="s") faca
escreval ("Qual tipo de média deseja usar?")
escreval ("Opção 1: media aritmetica.")
escreval ("Opção 2: média ponderada.")
escreva ("Informe opção:")
leia (tmedia)
se tmedia=1 entao
escreva ("Digite o primeiro valor:" )
leia (n1)
escreva ("Digite o segundo valor:" )
leia (n2)
escreva ("Digite o terceiro valor:" )
leia (n3)
media<-(n1+n2+n3)/3
escreval ("Media Aritmetica=", media)
fimse
se tmedia=2 entao
escreva ("Digite o primeiro valor:" )
leia (n1)
escreva ("Informe o percentual da ponderação desse
valor:" )
leia (x)
escreva ("Digite o segundo valor:" )
leia (n2)
escreva ("Informe o percentual da ponderação desse
valor:" )
leia (y)
escreva ("Digite o terceiro valor:" )
leia (n3)
escreva ("Informe o percentual da ponderação desse
valor:" )
leia (z)
p<-(x+y+z)
se p<>100 entao
escreval ("A soma das ponderações não corresponde a
100%.")
senao
media<-((n1*x/100)+(n2*y/100)+(n3*z/100))
escreval ("Media Ponderada=", media)
fimse
fimse
se (tmedia<>1) e (tmedia<>2) entao
escreval ("Opção inexistente")
fimse
escreval ("Deseja calcular outra média?" )
leia (resp)
fimenquanto
fimalgoritmo
3) Primeiramente ler o ano atual e o mês da eleição. Após, enquanto o
usuário desejar, ler o ano e o mês de nascimento de uma pessoa.
Escrever uma mensagem que diga se ela poderá ou não votar naquele
ano (completar 16 até o mês anterior a eleição).

algoritmo "Aptidão de Votar"


// Função : Ler o ano atual e o mês das eleições. Ler o ano e o
mês de nascimento de uma pessoa. Dizer se está apta ou não para
votar.
// Autor : Sabine J. Leguizamon e Túlio Henrique dos Santos
// Data : 26/8/2010
// Seção de Declarações
var
a,m,ano,mes:inteiro
resp:caractere
inicio
// Seção de Comandos
m<-0
Escreva ("Digite o ano das eleições: ")
Leia (a)
enquanto m=0 faca
Escreva ("Digite o mês das eleições(1-12): ")
Leia (m)
se (m<=0) ou (m>12) entao
Escreval ("Mês inválido")
m<- 0
fimse
fimenquanto
resp<-"s"
enquanto resp="s" faca
resp<-"x"
Escreva ("Digite o ano de nascimento do eleitor: ")
Leia (ano)
mes<-0
enquanto mes=0 faca
Escreva ("Digite o mês de nascimento do eleitor(1-12): ")
Leia (mes)
se (mes<=0) ou (mes>12) entao
Escreval ("Mês inválido")
mes<- 0
fimse
fimenquanto
Se ((a-ano)>16)entao
escreval ("Apto a votar")
senao
se ((a-ano)=16) e ((m-mes)>1) entao
escreval ("Apto a votar")
senao
escreval ("Não apto a votar")
fimse
fimse
enquanto resp="x" faca
escreva ("Deseja digitar outra idade? (s/n): ")
leia(resp)
se (resp="s") ou (resp="n") entao
senao
Escreval ("Digite s para sim ou n para não")
resp<-"x"
fimse
fimenquanto
fimenquanto
fimalgoritmo

4) Ler o nome de 2 times e o número de gols marcados na partida.


Escrever o nome do vencedor. Caso não haja vencedor deverá ser
impresso a palavra EMPATE. Primeiramente solicitar o número de vezes
que será repetido o programa.
algoritmo "Partida"

// Função : Ler o nome de 2 times e o número de gols marcados na


// partida, escrever o nome do vencedor.Caso não haja vencedor
// deverá ser impresso a palavra EMPATE. Primeiramente solicitar
// o numero de vezes que será repetido o programa.
// Autores : Anderson Leitzke de Andrade
// Gilberto Alves dos Santos
// Data : 30/8/2010
// Seção de Declarações
var
time1, time2 : caractere
gols1, gols2, partidas, x: inteiro
inicio
// Seção de Comandos
escreva ("digite número de partidas realizadas:")
leia (partidas)
x<-(partidas)
para x de 1 ate partidas passo 1 faca

escreva ("digite 1° time:")


leia (time1)
escreva ("digite 2° time:")
leia (time2)
escreva ("digite gols ",(time1),":")
leia (gols1)
enquanto (gols1<0) faca
escreva ("digite número natural:")
leia (gols1)
fimenquanto
escreva ("digite gols ",(time2),":")
leia (gols2)
enquanto (gols2<0) faca
escreva ("digite número natural:")
leia (gols2)
fimenquanto
se (gols1>gols2) entao
escreval ((time1)," VENCEDOR!")
fimse
se (gols2>gols1) entao
escreval ((time2)," VENCEDOR!")
fimse
se (gols1=gols2) entao
escreval ("EMPATE")
fimse
fimpara
fimalgoritmo

5) Escrever um algoritmo que leia um número de 1 a 10 (inclusive) e


calcule e escreva a sua tabuada. Fazer enquanto o usuário desejar.
Usar a estrutura PARA FAÇA para calcular a tabuada. Escrever a
tabuada no formato típico.
algoritmo "Tabuada"
// Função : Escrever um algoritmo que leia um número de 1 a 10
// (inclusive)calcule e escreva a sua tabuada. Fazer enquanto o
// usuário desejar. usar a estrutura para faça para calcular a
// tabuada. Escrever a tabuada no formato típico
// Autor : Jeison/Michel
// Data : 26/8/2010
// Seção de Declarações
var
resp : caracter
n,x, mult :inteiro
inicio
// Seção de Comandos
resp<-"s"
enquanto resp="s" faca
escreval ("digite um número de 1 a 10 ")
leia (n)
se (n>=1)e (n<=10)entao
para x de 1 ate 10 passo 1 faca
mult<-n*x
escreval (n," X",x ,"=", mult)
fimpara
senao
escreval ("o número esta fora da margem definida")
fimse
escreval ("deseja calcular outro? ")
leia (resp)
fimenquanto
fimalgoritmo

6) Ler 10 valores e escrever quantos destes valores estão no intervalo


[10,20] e quantos deles estão fora deste intervalo. No final escrever a
média dos valores dentro e fora do intervalo.

algoritmo "intervalos"
// Função : Ler 10 numeros no intervalo de [10;20], dizer
quantos estao dentro e fora desse intervalo e calcular as suas
respectivas medias.
// Autor : Gerson Lagemann
// Data : 16/9/2010
// Seção de Declarações
var
num: inteiro
i, a1, a2: inteiro
m1, m2, soma1, soma2: real
inicio
// Seção de Comandos
a1<-0
soma1<-0
a2<-0
soma2<-0
para i de 0 ate 9 faca
escreva("digite os valores: ")
leia (num)
se (num>=10) e (num<=20) entao
a1<- a1 + 1
soma1<- soma1 + num
senao
a2<- a2 + 1
soma2<- soma2 + num
fimse
fimpara
m1 <- soma1/a1
m2 <- soma2/a2
escreval ("Numeros no intervalo [10;20]: ", a1)
escreval ("Media do intervalo: ", m1:3:2)
escreval ("Numeros fora do intervalo [10;20]: ", a2)
escreval ("Media fora do intervalo: ", m2:3:2)
fimalgoritmo

7) Escrever um algoritmo que determine qual a maior e a menor duração


(hora e minutos) de uma partida de xadrez em um campeonato que teve
23 partidas. Ler a hora e minuto de início e de fim de cada uma das.
Calcular a duração do jogo, sabendo-se que o tempo máximo de
duração do jogo é de 4 horas e que o jogo pode iniciar em um dia e
terminar no dia seguinte.

algoritmo "semnome"
// Função :Escrever um algoritmo que determine qual a maior e a
// menor duração (hora e minutos) de uma partida de xadrez em um
// campeonato que teve 23 partidas. Ler a hora e minuto de
// inicio e fim de cada uma delas. Calcular a duração do jogo,
// sabendo que o jogo pode iniciar em um dia e terminar no outro
// e cada partida pode ter no máximo 4 horas de duração.
// Autor :Fábio, Guilherme
// Data : 02/09/2010
// Seção de Declarações
var hij,mij,htj,mtj,n,n1,n2:inteiro
hjgmaislongo,mjgmaislongo,hjgmaiscurto,mjgmaiscurto,
njgmaislongo,njgmaiscurto:inteiro
inicio
// Seção de Comandos
escreval(" CAMPEONATO DE XADREZ.")
escreval("Regras: O torneio terá 23 partidas, que podem ter
duração máxima de 4h.")

hjgmaislongo <- 0
mjgmaislongo <- 0
njgmaislongo <- 0
hjgmaiscurto <- 1000
mjgmaiscurto <- 1000
njgmaiscurto <- 1000
para n de 1 ate 23 passo 1 faca
n1<-99
n2<-99
enquanto n2*60+n1>240 faca
hij<-99
mij<-99
htj<-99
mtj<-99
enquanto (hij<0) ou (hij>24) faca
escreva("Digite a hora do inicio do jogo",n,":")
leia (hij)
fimenquanto
enquanto (mij<0) ou (mij>59) faca
escreva("Digite os minutos do inicio do jogo",n,":")
leia (mij)
fimenquanto
enquanto (htj<0) ou (htj>24) faca
escreva("Digite a hora do término do jogo",n,":")
leia (htj)
fimenquanto
enquanto (mtj<0) ou (mtj>59) faca
escreva ("Digite os minutos do término do
jogo",n,":")
leia (mtj)
fimenquanto
se (hij)<=(htj) entao
n2<-htj-hij
fimse
se (hij)>(htj) entao
n2<-24-hij+htj
fimse
n1<-60-mij
n1<-n1+mtj
se n1<60 entao
n2<-n2-1
fimse
se n1>60 entao
n1<-n1-60
fimse
se n1=60 entao
n1<- 0
fimse
se ((n1=0) e (n2*60+n1<=240) e (n2<>0)) entao
escreval ("O jogo", n, " durou" ,n2, " horas.")
fimse
se (n2*60+n1<=240) e (n1<>0) e (n2<>0) entao
escreval ("O jogo", n, " durou" , n2, " horas e", n1,
" minutos.")
fimse
se (n2=0) entao
escreval ("O jogo", n, " durou" ,n1, " minutos.")
fimse
se (n2*60+n1)>240 entao
escreval ("Os jogos não podem durar mais de 4 horas,
informe os valores para o jogo", n,"
novamente")
fimse
fimenquanto
se (n2*60+n1)> (hjgmaislongo*60+mjgmaislongo) entao
hjgmaislongo <- n2
mjgmaislongo <- n1
njgmaislongo <- n
fimse
se (n2*60+n1)< (hjgmaiscurto*60+mjgmaiscurto) entao
hjgmaiscurto <- n2
mjgmaiscurto <- n1
njgmaiscurto <- n
fimse
fimpara
escreval ("---------------------------------------------------
---------------------------------------------------
------------------------------------------")
se (mjgmaislongo=60) ou (mjgmaislongo=0) entao
escreval ("O jogo mais longo foi o", njgmaislongo,"º jogo,
que durou", hjgmaislongo, " horas")
fimse
se hjgmaislongo=0 entao
escreval ("O jogo mais longo foi o", njgmaislongo,"º jogo,
que durou", mjgmaislongo, " minutos")
fimse
se (mjgmaislongo<>60) e (mjgmaislongo<>0) e (hjgmaislongo<>0)
então
escreval ("O jogo mais longo foi o", njgmaislongo,"º jogo,
que durou", hjgmaislongo, " horas e",
mjgmaislongo, " minutos.")
fimse
se (mjgmaiscurto=60) ou (mjgmaiscurto=0) entao
escreval ("O jogo mais curto foi o", njgmaiscurto,"º jogo,
que durou", hjgmaiscurto, " horas")
fimse
se hjgmaiscurto=0 entao
escreval ("O jogo mais curto foi o", njgmaiscurto,"º jogo,
que durou", mjgmaiscurto, " minutos")
fimse
se ((mjgmaiscurto<>60) e (mjgmaiscurto<>0) e
(hjgmaiscurto<>0)) entao
escreval ("O jogo mais curto foi o", njgmaiscurto,"º jogo,
que durou", hjgmaiscurto, " horas e",
mjgmaiscurto, " minutos.")
fimse
fimalgoritmo

8) Um determinado material radioativo perde metade de sua massa a cada


50 segundos. Dada uma massa inicial, em gramas, criar um algoritmo
(pseudocódigo) que determine o tempo necessário para que essa massa
se torne menor que 0,5 gramas. Escreva a massa inicial, a massa final
e o tempo calculado em horas, minutos e segundos.

algoritmo "Material Radioativo"


// Função : tempo
// Autor : Bruno/Emerson
// Data : 26/08/2010
// Seção de Declarações
var m, h, min, s: Real
t: inteiro
inicio
// Seção de Comandos
escreva("Digite a massa inicial do material radioativo em
gramas: ")
leia (m)
t<-0
//escreval ("massa inicial",m,"g")
enquanto m>=0.5 faca
m<-m/2
t<-t+50
fimenquanto
//escreval ("tempo em segundos: ", t, "s")
h<- t div 3600
min<- (t div 60)mod 60
s<- (t mod 3600)mod 60
escreval ("tempo para que a massa se torne menor que 0,5
gramas:", h, "h", min, "min", s, "s")
escreva ("Massa final: ", m, "g")
fimalgoritmo