1
Lista de exercícios (seqüencial)
1) Uma P.A. (progressão aritmética) fica determinada pela sua razão (r) e pelo
primeiro termo(a1). Escreva um algoritmo em PORTUGOL que seja capaz de
determinar qualquer termo de uma P.A., dado a razão e o primeiro termo.
Faça o teste de mesa e verifique se o resultado para r=5, a1=12 e n=4 é 27
2) Uma P.G. (progressão geométrica) fica determinada pela sua razão (q) e
pelo primeiro termo (a1). Escreva um algoritmo em PORTUGOL que seja
capaz de determinar qualquer termo de uma P.G., dado a razão e o primeiro
termo.
Faça o teste de mesa e verifique se o resultado para r=2, a1=3 e n=4 é 24
3) Dada a razão de uma P.A. (progressão aritmética) e um termo qualquer, k
(ak). Escreva um algoritmo em PORTUGOL para calcular qualquer outro
termo, n, (an).
Faça o teste de mesa e verifique se o resultado para r=3, k=4,a4=5 e n=6 é
11
4) Dada a razão de uma P.G. (progressão geométrica) e um termo qualquer, k
(ak).Escreva um algoritmo em PORTUGOL para calcular qualquer outro
termo, n, (an).
Faça o teste de mesa e verifique se o resultado para r=3, k=4,a4=5 e n=6 é
45
5) Considere que o número de uma placa de veículo é composto por quatro
algarismos. Construa um algoritmo em PORTUGOL que leia este número e
apresente o algarismo correspondente à casa das unidades.
Faça o teste de mesa para o número 1234
6) Considere que o número de uma placa de veículo é composto por quatro
algarismos. Construa um algoritmo em PORTUGOL que leia este número e
apresente o algarismo correspondente à casa das dezenas.
Faça o teste de mesa para o número 1234
2
7) Considere que o número de uma placa de veículo é composto por quatro
algarismos. Construa um algoritmo em PORTUGOL que leia este número e
apresente o algarismo correspondente à casa das centenas.
Faça o teste de mesa para o número 1234
8) Considere que o número de uma placa de veículo é composto por quatro
algarismos. Construa um algoritmo em PORTUGOL que leia este número e
apresente o algarismo correspondente à casa das unidades de milhar.
Faça o teste de mesa para o número 1234
9) Entre com um número no formato CDU (Centena-Dezena-Unidade) e
mostrar invertido UDC. Exemplo: 123 sairá 321.
Faça o teste de mesa para o número 1234
10) Escreva um algoritmo em PORTUGOL que leia um número inteiro e imprima
o seu sucessor e seu antecessor.
Faça o teste de mesa para o número 15
11) Escreva um algoritmo em PORTUGOL que leia dois números reais e imprima
a média aritmética entre esses dois valores com a seguinte mensagem
“MEDIA” antes do resultado.
Faça o teste de mesa para n1=4 e n2=8
12) Certo dia o professor de Johann Friederich Carl Gauss (aos 10 anos de
idade) mandou que os alunos somassem os números de 1 a 100.
Imediatamente Gauss achou a resposta – 5050 – aparentemente sem
cálculos. Supõe-se que já aí, Gauss, houvesse descoberto a fórmula de uma
soma de uma progressão aritmética.
Agora você, com o auxílio dos conceitos de algoritmos e da pseudolinguagem PORTUGOL, construa uma algoritmo para realizar a soma de
uma P.A. de N termos, com o primeiro a1 e o último an.
Faça o teste de mesa para o exemplo acima
13) Seja uma seqüência A,B,C, ... determinando um Progressão Aritmética
(P.A.), o termo médio (B) de uma P.A. é determinado pela média aritmética
de seus termos, sucessor (C) e antecessor (A). Com base neste enunciado
construa um algoritmo em PORTUGOL que calcule o termo médio (B)
através de A, C
Faça o teste de mesa para o n1=10 e n2=3-
3
14) Em épocas de pouco dinheiro, os comerciantes estão procurando aumentar
suas vendas oferecendo desconto. Faça um algoritmo em PORTUGOL que
possa entrar com o valor de um produto e imprima o novo valor tendo em
vista que o desconto foi de 9%. Além disso, imprima o valor do desconto.
Faça o teste de mesa para a venda de R$100,00
15) Criar um algoritmo em PORTUGOL que efetue o cálculo do salário líquido de
um professor. Os dados fornecidos serão: valor da hora aula, número de
aulas dadas no mês e percentual de desconto do INSS.
Faça o teste de mesa para a hora aula de R$20,00,40 horas trabalhadas e
8% de INSS.
16) Escreva um algoritmo em PORTUGOL que leia uma temperatura em gruas
centígrados e apresente a temperatura convertida em graus Fahrenheit. A
fórmula de conversão é:
onde F é a temperatura em Fahrenheit e C é a temperatura em centígrados
Faça o teste de mesa para 380C
17) Criar um algoritmo em PORTUGOL para calcular e apresentar o valor do
volume de uma lata de óleo, utilizando a fórmula:
onde V é o volume, R é o raio e h é a altura.
Faça o teste de mesa para o 2cm de raio e 4cm de altura.
18) Criar um algoritmo em PORTUGOL que leia dois valores para as variáveis A
e B, que efetue a troca dos valores de forma que a variável A passe a ter o
valor da variável B e que a variável B passe a ter o valor da variável A.
Apresente os valores trocados.
Faça o teste de mesa para os números 1 e 3
19) Todo restaurante, embora por lei não possa obrigar o cliente a pagar, cobra
10% de comissão para o garçom. Crie um algoritmo em PORTUGOL que
4
leia o valor gasto com despesas realizadas em um restaurante e imprima o
valor da gorjeta e o valor total com a gorjeta.
Faça o teste de mesa para uma conta de R$100,00
20) Criar um algoritmo em PORTUGOL que leia um valor de hora (hora,minutos)
e informe (calcule) o total de minutos se passaram desde o início do dia
(0:00h).
Faça o teste de mesa para o 10:55
21) Para vários tributos, a base de cálculo é o salário mínimo. Fazer um
algoritmo em PORTUGOL que leia o valor do salário mínimo e o valor do
salário de uma pessoa. Calcular e imprimir quantos salários mínimos essa
pessoa ganha.
Faça o teste de mesa para R$ 1000,00
22) Criar um algoritmo em PORTUGOL que efetue o cálculo da quantidade de
litros de combustível gastos em uma viagem, sabendo-se que o carro faz 12
km com um litro.
Deverão ser fornecidos o tempo gasto na viagem e a velocidade média.
Distância = Tempo x Velocidade.
Litros = Distancia / 12.
O algoritmo deverá apresentar os valores da Distância percorrida e a
quantidade de Litros utilizados na viagem.
Faça o teste de mesa para 12 horas a 30Km/h
23) Antes do racionamento de energia ser decretado, quase ninguém falava em
quilowatts; mas, agora, todos incorporaram essa palavra em seu vocabulário.
Sabendose que 100 quilowatts de energia custa um sétimo do salário
mínimo, fazer um algoritmo em PORTUGOL que receba o valor do salário
mínimo e a quantidade de quilowatts gasta por uma residência e calcule
(imprima). - o valor em reais de cada quilowatt;
- o valor em reais a ser pago;
- o novo valor a ser pago por essa residência com um desconto de 10%.
Faça o teste de mesa para um salário mínimo de R$ 500,00 e 60Kw
24) Criar um algoritmo em PORTUGOL que leia o valor de um depósito e o valor
da taxa de juros. Calcular e imprimir o valor do rendimento e o valor total
depois do rendimento.
Faça o teste de mesa para um depósito de R$1000,00 a 0,5%
25) Criar m algoritmo que, dado um número de conta corrente com 3 dígitos,
retorne o seu dígito verificador, o qual é calculado da seguinte maneira:
Exemplo: Número da conta: 235
•
•
Somar o número da conta com o seu inverso: 235+532=767
Multiplicar cada dígito pela ordem posicional e somar estes resultados:
5
•
7
6
7
x1
x2
x3
7 +12 +21 =40
O último dígito desse resultado é o dígito verificador da conta (40->0)
26) Criar um algoritmo que leia a quantidade de fitas que uma locadora de vídeo
possui e o valor que ela cobra por cada aluguel, mostrando as informações
pedidas a seguir:
• Sabendo que um terço das fitas são alugadas por mês, exiba o
faturamento anual da locadora;
• Quando o cliente atrasa a entrega, é cobrada uma multa de 10%
sobre o valor do aluguel. Sabendo-se que um décimo das fitas
alugadas no mês são devolvidas com atraso, calcule o valor ganho
com multas por mês;
• Sabendo-se ainda que 2% das fitas se estragam ao longo do ano, e
um décimo do total é comprado para reposição, exiba a quantidade de
fitas que a locadora terá no final do ano.
Faça o teste de mesa para o 300 fitas a R$8,00 por locação.
6
Lista de exercícios (seqüencial) GABARITO
1)
algoritmo "PA"
// Seção de Declarações
var
razao n a1 an Tela
razao,n,a1,an:inteiro
inicio
// Seção de Comandos
Entre com a razão
escreva("Entre com a razao:")
leia(razao)
escreva("Entre
termo")
5
com
o
5
primeiro
Entre com o primeiro termo
12
Entre com o termo N
12
leia(a1)
escreva("Entre com o elemento N")
leia(n)
an<-a1+(n-1)*razao
escreva("O elemento",n," é ",an)
fimalgoritmo
4
27
O elemento 4 e 27
7
2)
algoritmo "PG"
// Seção de Declarações
Var
q
q,n,a1:inteiro
n a1
Tela
na
An:real
inicio
// Seção de Comandos
Entre com a razão
escreva("Entre com a razao:")
leia(q)
escreva("Entre
termo")
2
com
o
2
primeiro
Entre com o primeiro termo
3
Entre com o termo N
4
3
leia(a1)
escreva("Entre com o elemento N")
leia(n)
an<-a1*q^(n-1)
escreva("O elemento",n," é ",an)
fimalgoritmo
4
24
O elemento 4 e 24
8
3)
algoritmo "PAK"
// Seção de Declarações
var
r,n,ak,k,an:inteiro
r n ak k
na Tela
inicio
// Seção de Comandos
Entre com a razao
escreva("Entre com a razao:")
leia(r)
3
3
Entre com o k
escreva("Entre com com o K:")
4
leia(k)
4
Entre com o a4
escreva("Entre com o a",K)
5
leia(ak)
5
Entre com o termo N
escreva("Entre com o elemento N")
leia(n)
an<-ak+(n-k)*r
escreva("O elemento",n," é ",an)
Fimalgoritmo
6
6
11
O elemento 6 e 11
9
4)
algoritmo "PGK"
// Seção de Declarações
Var
q,n,ak,k:inteiro
r n ak k
Tela
na
an:real
Inicio
// Seção de Comandos
Entre com a razao
escreva("Entre com a razao:")
leia(q)
3
3
Entre com o k
escreva("Entre com o k:")
4
leia(k)
4
Entre com o a4
escreva("Entre com o termo a",k)
5
leia(ak)
5
Entre com o termo N
escreva("Entre com o elemento N")
leia(n)
6
6
45
an<-ak*q^(n-k)
O elemento 6 e 45
escreva("O elemento",n," é ",an)
Fimalgoritmo
5)
algoritmo "Placacarro"
// Seção de Declarações
var
a,d :inteiro
a
d
Tela
inicio
// Seção de Comandos
Entre com o numero de 4 dígitos
3
escreva("Entre com o numero de 4 dígitos")
leia(a)
d<-a % 10
escreva("O algarismo das unidades é ",d)
fimalgoritmo
1234
4
O algarismo das unidades é 4
10
6)
algoritmo "Placacarro"
// Seção de Declarações
var
a,d :inteiro
a
d
Tela
inicio
// Seção de Comandos
Entre com o numero de 4 dígitos
3
escreva("Entre com o numero de 4 dígitos")
1234
leia(a)
3
d<-a % 100 \ 10
O algarismo das dezenas é 3
escreva("O algarismo das dezenas é ",d)
fimalgoritmo
7)
algoritmo "Placacarro"
// Seção de Declarações
var
a,d :inteiro
a
d
Tela
inicio
// Seção de Comandos
Entre com o numero de 4 dígitos
3
escreva("Entre com o numero de 4 dígitos")
leia(a)
d<-a % 1000 \ 100
escreva("O algarismo das centenas é ",d)
fimalgoritmo
1234
2
O algarismo das centenas é 2
11
8)
algoritmo "Placacarro"
// Seção de Declarações
var
a,d :inteiro
a
d
Tela
inicio
// Seção de Comandos
Entre com o numero de 4 dígitos
3
escreva("Entre com o numero de 4 dígitos")
leia(a)
d<-a \ 1000
escreva("O algarismo dos milhares é ",d)
1234
1
O algarismo dos milhares é 1
fimalgoritmo
9)
algoritmo "CDUUDC"
// Seção de Declarações
var
num, c,d,u,num1:inteiro
num
c
d
u
num1
Tela
inicio
// Seção de Comandos
Entre com um número de 3 algarismos
escreva("Entre com um número de 3 algarismos")
leia(num)
c<-num div 100
d<-num % 100 \ 10
u<-num %10
num1<-u*100+d*10+c
escreva("O numero ",num," invertido é ", num1)
fimalgoritmo
123
1
2
3
321
O numero 123 invertido é 321
12
10)
algoritmo "AntPost"
// Seção de Declarações
var
num ant post Tela
num,ant,post:inteiro
inicio
// Seção de Comandos
Entre com um número inteiro
escreva("Entre com um número inteiro")
15
leia(num)
14
ant<-num - 1
16
post<-num + 1
escreva("O numero ",num," o anterior é ", ant, " e o posterior é ", post)
O numero 15 o anterior é 14 e o posterior é 16
fimalgoritmo
11)
algoritmo "MediaSimples"
// Seção de Declarações
var
n1,n2,media:real
inicio
n1
n2
media
Tela
// Seção de Comandos
Entre com o primeiro número
escreva("Entre com o primeiro número ")
leia(n1)
4
Entre com o segundo número
escreva("Entre com o segundo número ")
leia(n2)
media<-(n1+n2)/2
escreva("Media ",media)
fimalgoritmo
8
6
Media 6
13
12)
algoritmo "SomaGauss"
// Seção de Declarações
var
a1,an,n:inteiro
a1
an
n
soma
soma:real
inicio
// Seção de Comandos
Entre com a1
escreva("Entre com o a1 ")
leia(a1)
1
Entre com n
escreva("Entre com o n")
100
leia(n)
Entre com a100
escreva("Entre com o a",n)
leia(an)
soma<-((a1+an)*n)/2
escreva("Soma ",soma)
fimalgoritmo
100
5050
14
13)
algoritmo "PAmeio"
// Seção de Declarações
var
a,c:inteiro
a
c
b
b:real
inicio
// Seção de Comandos
Entre com o elemento a
escreva("Entre com o elemento a ")
leia(a)
10
Entre com o elemento b
escreva("Entre com o elemento c ")
30
leia(c)
20
b<-(a+c)/2
Elemento b 20
escreva("Elemento b ",b)
fimalgoritmo
14)
algoritmo "Desconto"
// Seção de Declarações
var
Preco,desconto,NovoPreco:real
Preco
desconto NovoPreco Tela
inicio
// Seção de Comandos
Entre com o preço
escreva("Entre com o preço")
leia(Preco)
desconto<-Preco*9/100
NovoPreco<-Preco - desconto
escreva("Valor a pagar:",NovoPreco)
fimalgoritmo
100
9
91
Valor a pagar 91,00
15
15)
algoritmo "Desconto"
// Seção de Declarações
var
HoraAula,HorasTrab,SalarioTotal,Desconto,SalarioLiq:real
Hora Hora Salari Desc Salari
Aula sTrab oTotal onto oLiq
Tela
inicio
// Seção de Comandos
Entre com a Hora Aula
escreva("Entre com a Hora Aula")
leia(HoraAula)
20
20
Entre com as horas trabalhadas
escreva("Entre com a Horas Trabalhadas")
leia(HorasTrab)
40
40
escreva("Entre com o % de desconto INSS")
Entre com o % de desconto INSS
8
leia(Desconto)
SalarioTotal<-HoraAula*HorasTrab
SalarioLiq
<-SalarioTotal - (SalarioTotal*Desconto/100)
escreva("Salario Total:",SalarioTotal)
escreva("Salario Liquido:",SalarioLiq)
fimalgoritmo
8
800
736
Salario Total: 800,00
Salario Liquido:736,00
16
16)
algoritmo "Temperaturas"
// Seção de Declarações
var
c
C,F:real
f
Tela
inicio
// Seção de Comandos
Entre com a Temperatura em Celsius
escreva("Entre com a Temperatura em Celsius")
38
leia(C)
100.4
F<-(9*C + 160)/5
A Temperatura :100.4
escreva("A Temperatura :",F)
fimalgoritmo
17)
algoritmo "VolumeCil"
// Seção de Declarações
var
vol,pi,r,h:real
vol
pi
r
h
Tela
inicio
// Seção de Comandos
3,14159
pi<-3.14359
Entre com o raio
escreva("Entre com o raio")
2
leia(r)
Tentre com a altura
escreva("Entre com a altura")
4
leia(h)
vol<-pi*r*r*h
escreva("Volume é ",vol)
fimalgoritmo
50,29744
Volume é 50.29744
17
18)
algoritmo "Swap"
// Função :
var
A,B,temp:inteiro
a
b
temp
inicio
// Seção de Comandos
Entre com o A
escreva("Entre com o A")
leia(A)
1
Entre com o B
escreva("Entre com o B")
3
leia(B)
1
temp<-A
A<-B
B<-temp
3
1
A=3 B=1
escreva("A=",A,"B=",B)
fimalgoritmo
19)
algoritmo "Gorjeta"
// Seção de Declarações
var
vTot,vGor,vGasto:real
vTot
vGor vGasto Tela
inicio
// Seção de Comandos
Entre com o gasto
escreva("Entre com o gasto")
100
leia(vGasto)
10
vGor<-vGasto*0.1
Valor Gorjeta: 10,00
escreva("Valor Gorjeta:",vGor)
vTot<-vGasto+vGor
110
18
Valor Total:110,00
escreva("Valor Total:",vTot)
fimalgoritmo
20)
algoritmo "Calmins"
// Seção de Declarações
var
hm:real
hm
Tela
h
h,m,mt:inteiro
m
mt
inicio
// Seção de Comandos
Entre com hh,mm
escreva("Entre com hh,mm")
leia(hm)
10,55
10
h<-int(hm)
55
m<-(hm - h)*100
655
mt<-60*h+m
total em minutos 655
escreva("total em minutos",mt)
fimalgoritmo
21)
algoritmo "nSM"
// Seção de Declarações
var
SM,sal,nSM:real
SM
sal
nSM
Tela
inicio
// Seção de Comandos
SM<-510
510
Ente com o salário
escreva("Entre com o salario")
leia(sal)
nSM<-int(sal/SM)
escreva("A qtde de SM é",nSM)
1000
1
A qtde de SM é 1
19
fimalgoritmo
20
22)
algoritmo "Consumo"
// Seção de Declarações
var
tempo, vel, dist, litros:real
Tempo vel dist litros
inicio
// Seção de Comandos
digite o tempo gasto
escreva("digite o tempo gasto: ")
12
Leia(tempo)
escreva("digite
30
Leia(vel)
dist <-
tempo * vel
litros <-
dist / 12
escreva("velocidade = ", vel, " tempo = ", tempo, " distancia = ", dist, "
litros = ", litros)
fimalgoritmo
digite a velocidade media
a velocidade media: ")
360
30
Velocidade=30
distancia=360 litros=30
21
23)
algoritmo "Racionamento"
// Seção de Declarações
var
SM, qtdade, preco, vp, vd:real
sm
qtda
de
preco
vp
vd
Tela
inicio
// Seção de Comandos
entre com
minimo
escreva("entre com o sal rio m¡nimo: ")
Leia(sm)
preco <- sm /700
vp <- preco * qtdade
vd
<- vp * 0.9
escreva("pre‡o do kilowatt: ", preco, " valor a ser
pago: ", vp, " valor com desconto: ", vd)
fimalgoritmo
salario
500
entre com a quantidade
em kilowatt
escreva("entre com a quantidade em kilowatt: ")
Leia(qtdade)
//divide por 7 para achar o pre‡o de 100 Kw e por 100
para achar de 1 Kw
o
60
0.714285
42,8571
38,57143
preco
do
kilowatt:
0,714285 valor a ser
pago 42,87 valor com
desconto 38,57
22
24)
algoritmo "Rendimento"
// Seção de Declarações
var
deposito, taxa, valorr, total:real
deposito taxa valorr total
inicio
// Seção de Comandos
entre com o deposito
escreva("entre com deposito: ")
Leia(deposito)
1000
escreva("entre coma taxa de juros: ")
Leia(taxa)
valorr <- deposito*taxa/100
total <- deposito + valorr
escreva("Rendimentos: ", valorr, " Total: ", total)
fimalgoritmo
0.5
entre com a taxa de juros
5
1005
Rendimento: 5, Total: 1005
23
25)
algoritmo "DAC"
// Seção de Declarações
var
conta, inv, digito, d1, d2, d3,soma:inteiro
conta inv
digito
d1
d2
d3
soma
Tela
inicio
// Seção de Comandos
Digite conta de tres digitos
escreva("Digite conta de tres digitos: ")
Leia(conta)
235
2
d1 <- int(conta / 100)
3
d2 <- int((conta mod 100) / 10)
5
d3 <- ((conta mod 100)mod 10)
inv <- d3 *100 + d2 *10 +d1
532
767
soma <- conta + inv
1
d1 <- int(soma/100) * 1
12
d2 <- int(( soma mod 100) / 10) * 2
21
d3 <- ((soma mod 100) mod 10) * 3
digito <- ((d1 +d2 +d3) mod 10)
escreva("digito verificador: ", digito)
fimalgoritmo
0
digito verificador 0
24
26)
algoritmo "Locadora"
// Seção de Declarações
var
valalug
uel
quant
quant, valAluguel, fatAnual, multas, quantFinal:real
fatanu
al
quan
tfinal
multas
inicio
// Seção de Comandos
Digite a quantidade de fitas
escreva("Digite a quantidade de fitas: ")
300
Leia(quant)
Digite o valor do aluguel
escreva("Digite o valor do aluguel: ")
8
Leia(valAluguel)
9600
fatAnual <- quant/3 * valAluguel * 12
8
multas <- valAluguel * 0.1 * (quant/3)/10
quantFinal <- quant - quant * 0.02 + quant/10
// quant * 1.08
324
escreva("Faturamento anual: ", fatAnual)
escreva("Multas mensais: ", multas)
escreva("Quantidade
quantFinal)
Fimalgoritmo
de
fitas
no
final
do
ano
:
",
Faturameno anual: 9600
Multas mensais:8
Quantidade de fitas no final do
ano:324
Download

1 Lista de exercícios (seqüencial) 1) Uma P.A. (progressão