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 38 0 C 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 iáveis A e B, que efetue a troca dos valores de forma que a iável A passe a ter o valor da iável B e que a iável B passe a ter o valor da iá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" razao,n,a1,an:inteiro razao n a1 an Tela escreva("entre com a razao:") Entre com a razão leia(razao) 5 5 escreva("entre com o primeiro termo") Entre com o primeiro termo leia(a1) 12 12 escreva("entre com o elemento N") Entre com o termo N leia(n) 4 an<-a1+(n-1)*razao 27 escreva("o elemento",n," é ",an) O elemento 4 e 27
7 2) algoritmo "PG" Var q,n,a1:inteiro q n a1 Tela An:real na escreva("entre com a razao:") Entre com a razão leia(q) 2 2 escreva("entre com o primeiro termo") Entre com o primeiro termo leia(a1) 3 3 escreva("entre com o elemento N") Entre com o termo N leia(n) 4 4 an<-a1*q^(n-1) 24 escreva("o elemento",n," é ",an) O elemento 4 e 24
8 3) algoritmo "PAK" r,n,ak,k,an:inteiro r n ak k na Tela escreva("entre com a razao:") Entre com a razao leia(r) 3 3 escreva("entre com com o K:") Entre com o k leia(k) 4 4 escreva("entre com o a",k) Entre com o a4 leia(ak) 5 5 escreva("entre com o elemento N") Entre com o termo N leia(n) 6 6 an<-ak+(n-k)*r 11 escreva("o elemento",n," é ",an) O elemento 6 e 11 Fimalgoritmo
9 4) algoritmo "PGK" Var q,n,ak,k:inteiro r n ak k Tela an:real na Inicio escreva("entre com a razao:") Entre com a razao leia(q) 3 3 escreva("entre com o k:") Entre com o k leia(k) 4 4 escreva("entre com o termo a",k) Entre com o a4 leia(ak) 5 5 escreva("entre com o elemento N") Entre com o termo N leia(n) 6 6 an<-ak*q^(n-k) 45 escreva("o elemento",n," é ",an) O elemento 6 e 45 Fimalgoritmo 5) algoritmo "Placacarro" a,d :inteiro a d Tela escreva("entre com o numero de 4 dígitos") Entre com o numero de 4 dígitos leia(a) 1234 3 d<-a % 10 4 escreva("o algarismo das unidades é ",d) O algarismo das unidades é 4
10 6) algoritmo "Placacarro" a,d :inteiro a d Tela escreva("entre com o numero de 4 dígitos") Entre com o numero de 4 dígitos leia(a) 1234 3 d<-a % 100 \ 10 3 escreva("o algarismo das dezenas é ",d) O algarismo das dezenas é 3 7) algoritmo "Placacarro" a,d :inteiro a d Tela escreva("entre com o numero de 4 dígitos") Entre com o numero de 4 dígitos leia(a) 1234 3 d<-a % 1000 \ 100 2 escreva("o algarismo das centenas é ",d) O algarismo das centenas é 2
11 8) algoritmo "Placacarro" a,d :inteiro a d Tela escreva("entre com o numero de 4 dígitos") Entre com o numero de 4 dígitos leia(a) 1234 3 d<-a \ 1000 1 escreva("o algarismo dos milhares é ",d) O algarismo dos milhares é 1 9) algoritmo "CDUUDC" num, c,d,u,num1:inteiro num c d u num1 Tela escreva("entre com um número de 3 algarismos") Entre com um número de 3 algarismos leia(num) 123 c<-num div 100 1 d<-num % 100 \ 10 2 u<-num %10 3 num1<-u*100+d*10+c 321 escreva("o numero ",num," invertido é ", num1) O numero 123 invertido é 321
12 10) algoritmo "AntPost" num,ant,post:inteiro num ant post Tela escreva("entre com um número inteiro") Entre com um número inteiro leia(num) 15 ant<-num - 1 14 post<-num + 1 16 escreva("o numero ",num," o anterior é ", ant, " e o posterior é ", post) O numero 15 o anterior é 14 e o posterior é 16 11) algoritmo "MediaSimples" n1,n2,media:real n1 n2 media Tela escreva("entre com o primeiro número ") Entre com o primeiro número leia(n1) 4 escreva("entre com o segundo número ") Entre com o segundo número leia(n2) 8 media<-(n1+n2)/2 6 escreva("media ",media) Media 6
13 12) algoritmo "SomaGauss" a1,an,n:inteiro a1 an n soma:real soma escreva("entre com o a1 ") Entre com a1 leia(a1) 1 escreva("entre com o n") Entre com n leia(n) 100 escreva("entre com o a",n) Entre com a100 leia(an) 100 soma<-((a1+an)*n)/2 5050 escreva("soma ",soma)
14 13) algoritmo "PAmeio" a,c:inteiro a c b:real b escreva("entre com o elemento a ") Entre com o elemento a leia(a) 10 escreva("entre com o elemento c ") Entre com o elemento b leia(c) 30 b<-(a+c)/2 20 escreva("elemento b ",b) Elemento b 20 14) algoritmo "Desconto" Preco,desconto,NovoPreco:real Preco desconto NovoPreco Tela escreva("entre com o preço") Entre com o preço leia(preco) 100 desconto<-preco*9/100 9 NovoPreco<-Preco - desconto 91 escreva("valor a pagar:",novopreco) Valor a pagar 91,00
15 15) algoritmo "Desconto" HoraAula,HorasTrab,SalarioTotal,Desconto,SalarioLiq:real Hora Aula Hora strab Salari ototal Desc onto Salari oliq Tela escreva("entre com a Hora Aula") Entre com a Hora Aula leia(horaaula) 20 20 escreva("entre com a Horas Trabalhadas") Entre com as horas trabalhadas leia(horastrab) 40 40 escreva("entre com o % de desconto INSS") Entre com o % de desconto INSS leia(desconto) 8 8 SalarioTotal<-HoraAula*HorasTrab 800 SalarioLiq <-SalarioTotal - (SalarioTotal*Desconto/100) 736 escreva("salario Total:",SalarioTotal) Salario Total: 800,00 escreva("salario Liquido:",SalarioLiq) Salario Liquido:736,00
16 16) algoritmo "Temperaturas" C,F:real c f Tela escreva("entre com a Temperatura em Celsius") Entre com a Temperatura em Celsius leia(c) 38 F<-(9*C + 160)/5 100.4 escreva("a Temperatura :",F) A Temperatura :100.4 17) algoritmo "VolumeCil" vol,pi,r,h:real vol pi r h Tela pi<-3.14359 3,14159 escreva("entre com o raio") Entre com o raio leia(r) 2 escreva("entre com a altura") Tentre com a altura leia(h) 4 vol<-pi*r*r*h 50,29744 escreva("volume é ",vol) Volume é 50.29744
17 18) algoritmo "Swap" // Função : A,B,temp:inteiro a b temp escreva("entre com o A") Entre com o A leia(a) 1 escreva("entre com o B") Entre com o B leia(b) 3 temp<-a 1 A<-B 3 B<-temp 1 escreva("a=",a,"b=",b) A=3 B=1 19) algoritmo "Gorjeta" vtot,vgor,vgasto:real vtot vgor vgasto Tela escreva("entre com o gasto") Entre com o gasto leia(vgasto) 100 vgor<-vgasto*0.1 10 escreva("valor Gorjeta:",vGor) Valor Gorjeta: 10,00 vtot<-vgasto+vgor 110
18 escreva("valor Total:",vTot) Valor Total:110,00 20) algoritmo "Calmins" hm:real hm Tela h,m,mt:inteiro h m mt escreva("entre com hh,mm") Entre com hh,mm leia(hm) 10,55 h<-int(hm) 10 m<-(hm - h)*100 55 mt<-60*h+m 655 escreva("total em minutos",mt) total em minutos 655 21) algoritmo "nsm" SM,sal,nSM:real SM sal nsm Tela SM<-510 510 escreva("entre com o salario") Ente com o salário leia(sal) 1000 nsm<-int(sal/sm) 1 escreva("a qtde de SM é",nsm) A qtde de SM é 1
19
20 22) algoritmo "Consumo" tempo, vel, dist, litros:real Tempo vel dist litros escreva("digite o tempo gasto: ") digite o tempo gasto Leia(tempo) 12 escreva("digite a velocidade media: ") digite a velocidade media Leia(vel) 30 dist <- tempo * vel 360 litros <- dist / 12 30 escreva("velocidade = ", vel, " tempo = ", tempo, " distancia = ", dist, " litros = ", litros) Velocidade=30 distancia=360 litros=30
21 23) algoritmo "Racionamento" SM, qtdade, preco, vp, vd:real sm qtda de preco vp vd Tela escreva("entre com o sal rio m nimo: ") Leia(sm) 500 escreva("entre com a quantidade em kilowatt: ") Leia(qtdade) 60 //divide por 7 para achar o pre o de 100 Kw e por 100 para achar de 1 Kw preco <- sm /700 0.714285 vp <- preco * qtdade 42,8571 vd <- vp * 0.9 38,57143 escreva("pre o do kilowatt: ", preco, " valor a ser pago: ", vp, " valor com desconto: ", vd) entre com o salario minimo entre com a quantidade em kilowatt preco do kilowatt: 0,714285 valor a ser pago 42,87 valor com desconto 38,57
22 24) algoritmo "Rendimento" deposito, taxa, valorr, total:real deposito taxa valorr total escreva("entre com deposito: ") entre com o deposito Leia(deposito) 1000 escreva("entre coma taxa de juros: ") Leia(taxa) 0.5 entre com a taxa de juros valorr <- deposito*taxa/100 5 total <- deposito + valorr 1005 escreva("rendimentos: ", valorr, " Total: ", total) Rendimento: 5, Total: 1005
23 25) algoritmo "DAC" conta, inv, digito, d1, d2, d3,soma:inteiro conta inv digito d1 d2 d3 soma Tela escreva("digite conta de tres digitos: ") Digite conta de tres digitos Leia(conta) 235 d1 <- int(conta / 100) 2 d2 <- int((conta mod 100) / 10) 3 d3 <- ((conta mod 100)mod 10) 5 inv <- d3 *100 + d2 *10 +d1 532 soma <- conta + inv 767 d1 <- int(soma/100) * 1 1 d2 <- int(( soma mod 100) / 10) * 2 12 d3 <- ((soma mod 100) mod 10) * 3 21 digito <- ((d1 +d2 +d3) mod 10) 0 escreva("digito verificador: ", digito) digito verificador 0
24 26) algoritmo "Locadora" quant, valaluguel, fatanual, multas, quantfinal:real quant valalug uel escreva("digite a quantidade de fitas: ") Digite a quantidade de fitas Leia(quant) 300 escreva("digite o valor do aluguel: ") Digite o valor do aluguel Leia(valAluguel) 8 fatanual <- quant/3 * valaluguel * 12 9600 multas <- valaluguel * 0.1 * (quant/3)/10 8 quantfinal <- quant - quant * 0.02 + quant/10 // quant * 1.08 324 escreva("faturamento anual: ", fatanual) Faturameno anual: 9600 escreva("multas mensais: ", multas) Multas mensais:8 escreva("quantidade de fitas no final do ano : ", quantfinal) Fimalgoritmo fatanu al multas quan tfinal Quantidade de fitas no final do ano:324