Bacharelado em Ciência e Tecnologia BC-0505 Processamento da Informação Lista de Exercícios Nº 01 Algoritmos Estruturas Sequenciais RESOLUÇÃO em PORTUGOL ATENÇÃO- Para cada um dos exercícios abaixo, antes de escrever o algoritmo, identifique ENTRADA, PROCESSAMENTO e SAÍDA, utilizando a seguinte técnica de interpretação de enunciado: 1. Leia um número inteiro e escreva seu sucessor e antecessor. Sucessor e antecessor de um número inteiro. Um número inteiro (Z). Sucessor=Z+1 Antecessor=Z-1 inteiro z, ant, suc escreva ("Digite um número inteiro.\n") leia (z) ant = z - 1 suc = z + 1 escreva ("Antecessor: " + ant) escreva ("\nsucessor: " + suc) 2. Leia dois números e escreva o dividendo, divisor, quociente e resto. O dividendo, divisor, quociente e resto entre dois números. Dois números (n1 e n2).
Dividendo = n1 Divisor = n2 Quociente = n1/n2 Resto = n1 (n2*quociente) inteiro n1, n2, divid, divis, quoc, resto escreva ("Digite o primeiro número inteiro.\n") leia (n1) escreva ("Digite o segundo número inteiro.\n") leia (n2) divid = n1 divis = n2 quoc = n1 / n2 resto = n1 % n2 escreva ("Dividendo: " + divid + "\ndivisor: " + divid + "\nquociente: " + quoc + "\nresto: " + resto) 3. Calcule a dívida do cheque especial ao ser quitada 6 meses depois a uma taxa de 5% de juros. O valor do empréstimo deve ser informado. O valor da dívida do cheque especial a ser quitada. O valor do empréstimo (N). Fórmula de juros compostos: D=N(1+0.05)^6 inclua biblioteca Matematica --> mat real N, D
escreva ("Digite o valor do empréstimo: \n") leia (N) (Fórmula de Juros Compostos) D = N * (mat.potencia((1 + 0.05),6.0)) escreva ("Valor da dívida: " + D) 4. Dada a base e a altura de um retângulo, calcule o perímetro, a área e a diagonal. O perímetro, a área e a diagonal do retângulo. Base e altura de um retângulo Perímetro = (2*altura) + (2*base) Área = altura*base Diagonal = sqrt((base*base) + (altura*altura)) inclua biblioteca Matematica -> mat real base, alt, per, area, diag escreva ("Informe o valor da base do retângulo: \n") leia (base) escreva ("Informe o valor da altura do retângulo: \n") leia (alt) per = (2*alt) + (2*base); area = alt*base; diag = mat.raiz((base*base) + (alt*alt)); escreval ("O perímetro do retângulo é: + per) escreval ("A área do retângulo é: + area) escreval ("A diagonal do retângulo é: + diag) 5. Dada o lado de um quadrado, calcule o perímetro, a área e a diagonal.
O perímetro, a área e a diagonal de um quadrado. O lado (L) do quadrado. Perímetro= Lx4 Área= L^2 Diagonal= sqrt(2)xl inclua biblioteca Matematica --> mat real L, P, A, D escreva ("Informe o valor do lado do quadrado: \n") leia (L) P=L*4; A=L*L; D=L*(mat.raiz(2.0,2.0)); escreval ("O perímetro do quadrado é: + P) escreval ("A área do quadrado é: + A) escreval ("A diagonal do quadrado é: + D) 6. Dado o raio de um círculo, calcule o perímetro e a área. O perímetro e a área de um círculo. Raio de um círculo (R). Perímetro = (2*π*R) Área = (π*r*r) real R, área, per
escreva ("Informe o valor do raio do círculo: \n") leia (R) per = (2*3,14*R); area = 3,14*(R*R); escreval ("O perímetro do círculo é: + per) escreval ("A área do círculo é: + area) 7. Dados os três lados de um paralelepípedo, calcule o perímetro, a área, o volume e a diagonal. Perímetro, área, volume e diagonal de um paralelepípedo. Os três lados de um paralelepípedo (A, B, C). Perímetro= 4*(A+B+C) Área= 2(AB+BC+CA) Volume= A*B*C Diagonal= sqrt(a^2+b^2+c^2) inclua biblioteca Matematica --> mat real ladoa, ladob, ladoc, perimetro, area, volume, diagonal escreva("entre com o primeiro lado do paralelepípedo: ") leia(ladoa) escreva("entre com o segundo lado do paralelepípedo: ") leia(ladob) escreva("entre com o terceiro lado do paralelepípedo: ") leia(ladoc) perimetro = 4*(ladoA + ladob + ladoc) area = 2*(ladoA*ladoB + ladob*ladoc + ladoc*ladoa) volume = ladoa * ladob * ladoc diagonal = mat.raiz (ladoa*ladoa + ladob*ladob + ladoc*ladoc, 2.0) escreva("\nperímetro: ",perimetro,"\nárea: ",area,"\nvolume: ",volume,"\ndiagonal: ",diagonal)
8. Dados dois catetos de um triangulo retângulo, calcule a hipotenusa. A hipotenusa de um triângulo retângulo. Dois catetos do triângulo retângulo. (cat1, cat2) Hipotenusa = sqrt ((cat1*cat1) + (cat2*cat2)) inclua biblioteca Matematica --> mat real cat1, cat2, hip escreva("informe o valor de um cateto do triângulo retângulo: ") leia(cat1) escreva("informe o valor do outro cateto do triângulo retângulo: ") leia(cat2) hip = mat.raiz((cat1*cat1) + (cat2*cat2),2) escreva("\n A hipotenusa do triângulo retângulo é ", hip) 9. Dada a razão de uma PA e seu primeiro termo, calcular o 20º termo. O 20º termo de uma PA. A razão e o primeiro termo de uma PA. Fórmula do termo geral de uma PA: An=A1+(n-1)*r, onde n=20.
real termo_20, razao, termo_1 escreva("entre com o primeiro termo da PA: ") leia(termo_1) escreva("entre com a razão da PA: ") leia(razao) termo_20 = termo_1 + 19*razao escreva("\no 20º termo desta PA é ",termo_20) 10. Dada a razão de uma PG e seu primeiro termo, calcular o 20º termo. O 20º termo de uma PG. A razão (q) e o primeiro termo (A1) de uma PG. Fórmula do termo geral de uma Pg: An=A1*(q^(n-1)), onde n=20. inclua biblioteca Matematica --> mat real A1, q, An escreva("informe o valor do primeiro termo da PG ") leia(a1) escreva("informe o valor da razão da PG: ") leia(q) An = A1 * mat.potencia(q,19.0) escreva("\n A20 = ", An)
11. Dado um horário, calcule quantos minutos e segundos transcorreram desde o início do dia. Minutos (M) e segundos (S) transcorridos. Um horário horas, minutos e segundos(h, m, s). S=(3600*h)+(60*m)+s M=S/60 inteiro horas, minutos, segundos real MIN, SEG escreva("entre com o horário!\n") escreva("horas: ") leia(horas) escreva("minutos: ") leia(minutos) escreva("segundos: ") leia(segundos) SEG = (3600.0*horas) + (60.0*minutos) + segundos MIN = SEG/60.0 escreva("passaram-se ",MIN," minutos e ",SEG," segundos.") 12. Dado o valor do salário-mínimo e um determinado salário, calcule quantos salários-mínimos estão contidos nele. Quantidade de salários-mínimos que estão contidos em um determinado salário.
Valor do salário-mínimo (salariomin) e de um determinado salário (salario). Quant = salario/salariomin real salariomin, salario, quant escreva("informe o valor do salário mínimo ") leia(salariomin) escreva("informe o valor de um salário: ") leia(salario) quant = salario/salariomin escreva("\n Estão contidos ", quant, " salários mínimos dentro do salário informado") 13. Escreva um algoritmo para mostrar a média final de um aluno a partir de 4 notas. Para o calculo da media final, deve-se utilizar média ponderada, aplicando-se a seguinte fórmula: M = ( ( p1 x 30) + (p2 x 40) + (t1 x 10) + (t2 x 20) ) / 100 Legenda: p1: primeira prova (peso de 30%) / p2: segunda prova (peso de 40%) t1: primeiro trabalho (peso de 10%) / t2: segundo trabalho (peso de 20%) A média (M). P1, P2, T1, T2 Aplicar a fórmula: M = ( ( p1 x 30) + (p2 x 40) + (t1 x 10) + (t2 x 20) ) / 100 real M, P1, P2, T1, T2
escreva("p1: ") leia(p1) escreva("p2: ") leia(p2) escreva("t1: ") leia(t1) escreva("t2 :") leia(t2) M = ((P1*30.0) + (P2*40.0) + (T1*10.0) + (T2*20.0))/100.0 escreva( A média é : + M) 14. Escreva um algoritmo para calcular a quantidade de latas de tintas necessárias para pintar o piso de um quintal que possui uma área retangular. Deve-se calcular também o custo total para comprar as latas de tintas necessárias. Sabe-se que: Cada lata de tinta contém 5 litros Cada litro de tinta pinta 3 metros quadrados A área de um retângulo é dada por: base X altura Quantidade de latas de tintas necessárias e o custo total para compra das latas de tintas necessárias. Base (base) e altura (alt) da área retangular. Aplicar a fórmula: latas = (base*alt)/15 real base, alt, qtd, precounit, custototal escreva("informe o valor da base da área rerangular ") leia(base) escreva("informe o valor da altura da área retangular ") leia(alt) escreva("informe o valor do preço de uma lata de tinta em reais ") leia(precounit) qtd = (base*alt)/(15.0)
custototal = qtd*precounit escreva("\n São necessárias ", qtd, " latas custando ao todo R$", custototal) Observação: Na saída de dados deveria se arredondar para cima o número de latas, portanto um valor inteiro de latas, porém tal fato utilizaria uma função criada com desvios condicionais o que ainda não foi trabalhado nesse ponto do curso. 15. Construa um algoritmo que, tendo como dados de entrada dois pontos quaisquer do plano, P(x 1,y 1 ) e Q(x 2,y 2 ), imprima a distância entre eles. A fórmula que efetua tal cálculo é d ( x y 2 2 2 x1 ) ( y2 1) Distância (d) entre os pontos P e Q. Um ponto P(x1,y1) e um ponto Q(x2,y2). Aplicar a fórmula: d=sqrt((x2-x1)^2+(y2-y1)^2). inclua biblioteca Matematica --> mat real d, X1, Y1, X2, Y2 escreva("ponto P(X1,Y1)") escreva("\nx1: ") leia(x1) escreva("y1: ") leia(y1) escreva("ponto Q(X2,Y2)") escreva("\nx2: ") leia(x2) escreva("y2: ") leia(y2) d = mat.raiz((x2 - X1)*(X2 - X1) + (Y2 - Y1)*(Y2 - Y1), 2.0)
escreva("\ndistância: ",d) 16. Um motorista anota a marcação do odômetro do seu veículo antes e após uma viagem, bem como o número de litros de combustível gastos. Escreva um algoritmo para ler os três dados acima, o preço do litro do combustível e imprima: o A quilometragem rodada o Quantos quilômetros, por litro, faz o veículo o O custo da viagem Quilometragem rodada, quantos quilômetros por litro o veículo faz e o custo da viagem. Marcação do odômetro antes da viagem (iniciood), marcação do odômetro após a viagem (fimod), o número de litros de combustível gastos (litrogasto) e o preço do litro do combustível (precolitro) Quilometragem rodada = fimod iniciood Quilometros por litro = (fimod iniciood) / (litrogasto) Custo da viagem = precolitro * litrogasto real iniciood, fimod, litrogasto, precolitro, kmrodado, kmporlitro, custoviagem escreva("informe a marcação do odômetro antes da viagem ") leia(iniciood) escreva("informe a marcação do odômetro após a viagem ") leia(fimod) escreva("informe a qtd de litros de combustível gastos na viagem ") leia(litrogasto) escreva("informe o preço do litro de combustível ") leia(precolitro) kmrodado = fimod - iniciood kmporlitro = kmrodado/litrogasto custoviagem = precolitro * litrogasto escreva("\n A quilometragem rodada foi de ", kmrodado) escreva("\n Sendo feito ", kmporlitro, " km/litro") escreva("\npor fim, a viagem custou R$", custoviagem)
17. O custo ao consumidor de um carro novo é a soma do custo de fábrica, acrescido da porcentagem do distribuidor, mais os impostos (aplicados ao custo de fábrica). Supondo que a percentagem do distribuidor seja de 28% e os impostos de 45%, escrever um algoritmo que leia o custo de fábrica de um carro e escreva o custo do consumidor. O custo do consumidor de um carro novo (Cc). O custo de fábrica de um carro novo (Cf). Calcular o custo do consumidor a partir do custo de fábrica, a porcentagem do distribuidor e os impostos: Cc=Cf+(Cf*0.28)+(Cf*0.45) real custo_con, custo_fab escreva("custo de fábrica de um carro novo: ") leia(custo_fab) custo_con = custo_fab + (custo_fab*0.28) + (custo_fab*0.45) escreva("custo do consumidor: ",custo_con) 18. Uma revendedora de carros usados paga seus funcionários vendedores um salário fixo por mês, mais uma comissão, também fixa, por cada carro vendido, e mais 5% do valor das vendas por ele efetuadas. Escrever um algoritmo e um fluxograma para ler o número do vendedor, o número de carros por ele vendido, o valor total de suas vendas, o salário fixo e o valor que recebe por carro vendido. Ao final, o algoritmo deve calcular o salário mensal do vendedor, escrevendo-o juntamente com o seu número de identificação. Salário mensal do vendedor e o seu número de identificação. Número do vendedor (id), número de carros por ele vendido (carrosvendidos), o valor total de suas vendas (valorvendas), o salário fixo (salariofixo) e o valor que recebe por carro vendido (valorporcarro). Salário = salariofixo + (valorporcarro*carrosvendidos) + (0.05*valorvendas) Identificação do funcionário: id
real salariofixo, valorporcarro, valorvendas, salariofinal inteiro id, carrosvendidos escreva("informe o número de identificação do vendedor ") leia(id) escreva("informe o salário fixo por mês ") leia(salariofixo) escreva("informe o número de carros vendidos pelo vendedor no mês ") leia(carrosvendidos) escreva("informe o valor que ele recebe por cada carro vendido ") leia(valorporcarro) escreva("informe o valor total de vendas do vendedor no mês ") leia(valorvendas) salariofinal = salariofixo + (valorporcarro*carrosvendidos) + (0.05*valorvendas) escreva("\n O vendedor com registro ", id) escreva("\n Terá o salário mensal de R$", salariofinal)