LPA – Lógica de Programação e Algoritmo LISTA DE EXERCÍCIOS PARA ESTUDO (OBS.: NÃO SÃO PARA ENTREGAR) 1. Faça um programa em Português Estruturado que recebe três notas, calcula e mostra a média aritmética entre elas. Programa EX1 Var N1, N2, N3, M : Real; Início Leia(N1, N2, N3); M := (N1 + N2 + N3) / 3; Escreva(M); Fim. 2. Faça um programa em Português Estruturado que recebe três notas e seus respectivos pesos, calcula e mostra a média ponderada. Programa EX2 Var N1, N2, N3, P1, P2, P3, M : Real; Início Leia(N1, N2, N3, P1, P2, P3); M := (N1*P1 + N2*P2 + N3*P3) / (P1 + P2 + P3); Escreva(M); Fim. 3. Faça um programa em Português Estruturado que recebe o salário de um funcionário e o percentual de aumento, calcula e mostra o valor do aumento e o novo salário. Programa EX3 Var SalFunc, PercAum, ValAum, NovSal : Real; Início Leia(SalFunc, PercAum); ValAum := SalFunc * (PercAum / 100); NovSal := SalFunc + ValAum; Escreva(NovSal); Fim. 4. Simule o fluxograma ilustrado a seguir, indicando todos os cálculos, para: a) A=278 b) A=521 c) A=434 a) A=278 RA = 278 div 100 = 2 RB = (278 mod 100) div 10 = 7 RC = 278 mod 10 = 8 RD = RA+2RB+4RC RD = 2+14+32 = 48 RD = RD mod 7 = 48 mod 7 RD = 6 b) A=521 RA = 521 div 100 = 5 RB = (521 mod 100) div 10 = 2 RC = 521 mod 10 = 1 RD = RA+2RB+4RC RD = 5+4+8 = 17 RD = RD mod 7 = 17 mod 7 RD = 3 c) A=434 RA = 434 div 100 = 4 RB = (434 mod 100) div 10 = 3 RC = 434 mod 10 = 4 RD = RA+2RB+4RC RD = 4+6+16 = 26 RD = RD mod 7 = 26 mod 7 RD = 5 Saída na Tela: N˚ E DÍGITO 278-6 Saída na Tela: N˚ E DÍGITO 521-3 Saída na Tela: N˚ E DÍGITO 434-5 5. Simule o trecho de programa a seguir para: a) A=-4 e B=7 b) A=8 e B=-5 c) A=3 e B=2 a) A=-4 e B=7 A^3-2*B = (-4)^3-2*7 = -64 – 14 = -78 ...-78 >= 5 ... falso (A+3)/2 = (-4+3)/2 = -0.5 ...7 > -0.5 – verdadeiro falso ou verdad = verdad C=(A-1)*(B+1)+1 C=(-5)*8+1=-39 Saída na Tela: C=-39 b) A=8 e B=-5 A^3-2*B = 8^3-2*(-5) = 512 + 10 = 522 ...522 >= 5 ... verdadeiro (qq coisa) ou verdad = verdad C=(A-1)*(B+1)+1 C=(7)*(-4)+1=-27 c) A=3 e B=2 A^3-2*B = (3)^3-2*2 =9–4=5 ...5 >= 5 ... verdadeiro (qq coisa) ou verdad = verdad C=(A-1)*(B+1)+1 C=2*3+1=7 Saída na Tela: C=-27 Saída na Tela: C=7 6. Faça um programa em Português Estruturado que recebe três números e mostre-os em ordem crescente. Suponha que o usuário digitará três números diferentes. Programa EX6 Var N1, N2, N3 : Real; Início Leia(N1, N2, N3); Se (N1<N2 E N1<N3) Então Se (N2<N3) Então Escreva(N1, N2, N3); Senão Escreva(N1, N3, N2); Fim_se Senão Se (N2<N3) Então Se (N1<N3) Então Escreva(N2, N1, N3); Senão Escreva(N2, N3, N1); Fim_se Senão Se (N1<N2) Então Escreva(N3, N1, N2); Senão Escreva(N3, N2, N1); Fim_se Fim_se Fim. 7. Faça um programa em Português Estruturado que recebe um número inteiro e verifique se ele é par ou ímpar. Programa EX7 Var N1, N2, N3, M : Real; Início Leia(N); Se (N mod 2 = 0) Então Escreva("O número é PAR"); Senão Escreva("O número é IMPAR"); Fim_Se Fim. 8. Faça um programa em Português Estruturado que, dada a idade de cada pessoa de um grupo de 50 pessoas, calcula e mostra o número de pessoas com mais de 18 anos. Programa EX8 Var X, I, cont : Inteiro; Início cont := 0; Para (X := 1 até 50) Faça Escreva ("Entre com a idade:"); Leia(I); Se (I > 18) Então cont := cont + 1; Fim_Se Fim_Para Escreva ("Num. de pessoas com mais de 18 anos: " + cont); Fim. 9. Faça um programa em Português Estruturado que mostra os resultados da tabuada de um número inteiro e positivo qualquer fornecido pelo usuário. Programa EX9 Var N, X, M : Real; Início Leia(N); Para (X := 1 até 10) Faça M := N * X; Escreva(N,"*",X,"=",M); Fim_Para Fim. 10. Faça um programa em Português Estruturado que mostra os "N" primeiro termos da seqüência de Fibonacci (obs.: "N" é um número inteiro positivo entrado via teclado, que representa a quantidade de números da sequência que devem aparecer). Seqüência de Fibonacci: 0 – 1 – 1 – 2 – 3 – 5 – 8 – 13 – 21 – 34 – ... Programa EX10 Var X, Qtd, A, B, C : Inteiro; Início Leia(Qtd); A := 0; B := 1; Para (X := 1 até Qtd) Faça Se (X = 1) Então C := 0; Senão Se (X = 1) Então C := 1; Senão C := A + B; A := B; B := C; Fim_se Escreva(C); Fim_Para Fim.