UNIVERSIDADE ESTADUAL VALE DO ACARAÚ Prof. Hudson Costa EXERCÍCIOS RESOLVIDOS – algoritmos seqüenciais e com estruturas de seleção 1. Faça um algoritmo que leia um número inteiro e que imprima o seu sucessor e seu antecessor. INICIO NUMERO, SUC, ANT: INTEIRO; ESCREVA(“INFORME UM NÚMERO: ”); LEIA(NUMERO); ANT <- NUMERO – 1; SUC <- NUMERO + 1; ESCREVA(“O NUMERO ANTERIO É ”, ANT, “ E O NÚMERO SUCESSOR É ”, SUC); FIM. 2. Faça um algoritmo que leia quatro números informados pelo usuário e que depois imprima a média ponderada, sabendo-se que os pesos são respectivamente: 1, 2, 3 e 4: INICIO A, B, C, D, MP: REAL; ESCREVA(“INFORME O 1O NÚMERO: ”); LEIA(A); ESCREVA(“INFORME O 2O NÚMERO: ”); LEIA(B); ESCREVA(“INFORME O 3O NÚMERO: ”); LEIA(C); ESCREVA(“INFORME O 4O NÚMERO: ”); LEIA(D); MP <- (A*1 + B*2 + C*3 + D*4)/10; ESCREVA(“A MÉDIA PONDERADA É: ”, MP); FIM. 3. Antes do racionamento de energia ser decretado, quase ninguém falava em quilowatts; mas agora, todos incorporaram essa palavra em seu vocabulário. Sabendo-se que 100 quilowatts de energia custa um sétimo do salário mínimo, fazer um algoritmo que receba o valor do salário mínimo e a quantidade de quilowatts gasta por uma residência e calcule: - 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%. INICIO SM, QTDADE, PRECO, VP, VD: REAL; ESCREVA(“INFORME O VALOR DO SALARIO MINIMO: ”); LEIA(SM); ESCREVA(“INFORME A QUANTIDADE DE QUILOWATTS: ”); LEIA(QTDADE); PRECO <- SM/700; VP <- PRECO* QTDADE; VD <- VP * 0,9; ESCREVA(“PRECO DO QUILOWATT: ”, PRECO); ESCREVA(“VALOR A SER PAGO: ”, VP); ESCREVA(“VALOR COM DESCONTO: ”, VD); FIM. 4. Faça um algoritmo que o usuário informe os valores dos catetos de um triângulo retângulo e que ao final escreva a sua hipotenusa. INICIO A, B, C: REAL; ESCREVA(“INFORME O 1O CATETO: ”); LEIA(A); ESCREVA(“INFORME O 2O CATETO: ”); LEIA(B); C <- 2//A**2 + B**2; ESCREVA(“O VALOR DA HIPOTENUSA É: ”, C); FIM. 5. Em épocas de pouco dinheiro, os comerciantes estão procurando aumentar suas vendas oferecendo desconto. Faça um algoritmo que possa receber um valor de um produto e que escreva o novo valor tendo em vista que o desconto foi de 9%. INICIO PRECO, NPRECO: REAL; ESCREVA(“INFORME O VALOR DO PRODUTO: ”); LEIA(PRECO); NPRECO <- PRECO * 0,91; ESCREVA(“PRECO COM DESCONTO: ”, NPRECO); FIM. 6. Faça um algoritmo 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. Utilizar as seguintes fórmulas: distância = tempo * velocidade distância litros usados = 12 O algoritmo deverá apresentar os valores da velocidade média, tempo gasto na viagem, distância percorrida e a quantidade de litros utilizados na viagem. INICIO TEMPO, VEL, DIST, LITROS: REAL; ESCREVA(“INFORME O TEMPO GASTO: ”); LEIA(TEMPO); ESCREVA(“INFORME A VELOCIDADE MÉDIA: ”); LEIA(VEL); DIST <- TEMPO * VEL; LITROS <- DIST/12; ESCREVA(“A VELOCIDADE MÉDIA FOI ”, VEL);; ESCREVA(“O TEMPO GASTO NA VIAGEM FOI ”, TEMPO); ESCREVA(“A DISTÂNCIA PERCORRIDA FOI ”, DIST); ESCREVA(“O CONSUMO DE COMSBUTÍVEL FOI ”, LITROS); FIM. 7. Uma pessoa resolveu fazer uma aplicação em uma poupança programada. Para calcular seu rendimento, ela deverá fornecer o valor constante da aplicação mensal, a taxa e o número de meses. Sabendo-se que a fórmula usada para este cálculo é: Valor acumulado = P * (1 + i ) n − 1 onde: i= taxa, P = aplicação mensal e n= número de meses i INICIO VA, I, P: REAL; N: INTEIRO; ESCREVA(“INFORME O VALOR DA APLICAÇÃO: ”); LEIA(P); ESCREVA(“INFORME A TAXA (0 – 1): ”); LEIA(I); ESCREVA(“INFORME O NÚMERO DE MESES: ”); LEIA(N); VA <- P * ((1+I)**N)-1)/I; ESCREVA(“O VALOR ACUMULADO É: ”, VA); FIM. 8. Faça um algoritmo que leia um número e se ele for maior que 20, então escreva a metade desse número. INICIO NUMERO, METADE: REAL; ESREVA(“INFORME O NÚMERO: ”); LEIA(NUMERO); SE (NUMERO > 20) ENTAO METADE <- NUMERO/2; ESCREVA(“A METADE É: ”, METADE); FIMSE FIM. 9. Faça um algoritmo que leia um número e escreva se ele é par ou impar. INICIO A : INTEIRO; ESCREVA(“INFORME UM NÚMERO: ”); LEIA(A); SE (A MOD 2 = 0) ENTÃO ESCREVA(“NÚMERO PAR”); SENÃO ESCREVA(“NÚMERO IMPAR”); FIMSE FIM. 10. Faça um algoritmo que leia três números e que armazene numa variável o maior dos três. INICIO A, B, C, MAX: REAL; ESCREVA(“INFORME O 1O NÚMERO: ”); LEIA(A); ESCREVA(“INFORME O 2O NÚMERO: ”); LEIA(B); ESCREVA(“INFORME O 3O NÚMERO: ”); LEIA(C); SE (A > B) ENTAO SE (A > C) ENTAO MAX <- A; SENAO MAX <- C; FIMSE SENAO SE (B > C) ENTAO MAX <- B; SENÃO MAX <- C; FIMSE FIMSE ESCREVA(“O MAIOR NÚMERO É: ”, MAX); FIM. 11. Escreva um algoritmo que leia um peso na Terra e o número de um planeta e imprima o valor do seu peso neste planeta. A relação de planetas é dada a seguir juntamente com o valor das gravidades relativas à Terra. Nro. 1 2 3 4 5 6 Gravidade relativa 0,37 0,88 0,38 2,64 1,15 1,17 Planeta Mercúrio Vênus Marte Júpiter Saturno Urano Para calcular o peso no planeta use a fórmula: Pplaneta = Pterra * gravidade 10 INICIO OP: INTEIRO; PTERRA: REAL; ESCREVA(“ESCOLHA O PLANETA QUE VOCE QUER ANALISAR (1 – 6): ”); LEIA(OP); ESCREVA(“INFORME SEU PESO: ”); LEIA(PTERRA); ESCOLHA (OP) CASO 1: ESCREVA(“SEU PESO NO PLANETA MARCURIO É: ”, (PTERRA/10)*0.37); CASO 2: ESCREVA(“SEU PESO NO PLANETA VÊNUS É: ”, (PTERRA/10)*0.88); CASO 3: ESCREVA(“SEU PESO NO PLANETA MARTE É: ”, (PTERRA/10)*0.38); CASO 4: ESCREVA(“SEU PESO NO PLANETA JUPITER É: ”, (PTERRA/10)*2.64); CASO 5: ESCREVA(“SEU PESO NO PLANETA SATURNO É: ”, (PTERRA/10)*1.15); CASO 6: ESCREVA(“SEU PESO NO PLANETA MARCURIO É: ”, (PTERRA/10)*1.17); FIMESCOLHA FIM. 12. Construa um algoritmo que leia dois números e efetue a adição. Caso o valor somado seja maior que 20, este deverá ser apresentado somando-se a ele mais 8; caso o valor somado seja menor ou igual a 20, este deverá ser apresentado subtraindo-se 5. INICIO NUM1, NUM2, SOMA: REAL; ESCREVA(“DIGITE UM NUMERO: ”); LEIA(NUM1); ESCREVA(“DIGITE OUTRO NUMERO: ”); LEIA(NUM2); SOMA <- NUM1 + NUM2; SE (SOMA > 20) ENTAO ESCREVA(“SOMA: ”, SOMA + 8); SENAO ESCREVA(“SOMA: ”, SOMA - 5); FIMSE FIM 13. Faça um algoritmo onde o usuário informa um número e o algoritmo verifica se o mesmo é divisível por 10, por 5, por 2 ou se não é divisível por nenhum destes. INICIO NUMERO: INTEIRO; ESCREVA (“INFORME UM NÚMERO: ”); LEIA(NUMERO); SE (NÚMERO MOD 10 = 0) ENTAO ESCREVA(“MÚLTIPLO DE 10!”); SENAO SE (NÚMERO MOD 2 = 0) ENTAO ESCREVA(“MÚLTIPLO DE 2!”); SENAO SE (NÚMERO MOD 5 = 0) ENTAO ESCREVA(“MÚLTIPLO DE 5!”); SENAO ESCREVA(“NÃO É MÚLTIPLO DE 10,. DE 5 OU DE 2!”); FIMSE FIMSE FIMSE FIM 14. Faça um algoritmo que receba o nome, o sexo e a idade de uma pessoa. Se a pessoa for do sexo feminino e tiver menos que 25 anos, escrever o nome e a mensagem: ACEITA. Caso contrário, escrever o nome e a mensagem: NÃO ACEITA. INICIO IDADE: INTEIRO; NOME, SEXO: CARACTER; ESCREVA(“INFORME UM NOME: ”); LEIA(NOME); ESCREVA(“INFORME O SEXO: ”); LEIA(SEXO); ESCREVA(“INFORME A IDADE: ”); LEIA(IDADE); SE ((SEXO = FEMININO OU SEXO=F) E (IDADE < 25)) ENTAO ESCREVA(NOME, “ACEITA”); SENAO ESCREVA(NOME, “NÃO ACEITA”); FIMSE FIM 15. Faça um algoritmo que receba três números que devem ser armazenados em três variáveis com os seguintes nomes: MAIOR, INTERMEDIÁRIO, MENOR (suponha três números diferentes). INICIO A, B, C, MAIOR, INTERMEDIARIO, MENOR: REAL; ESCREVA(“DIGITE O 1O NÚMERO: ”); LEIA(A); ESCREVA(“DIGITE O 2O NÚMERO: ”); LEIA(B); ESCREVA(“DIGITE O 3O NÚMERO: ”); LEIA(C); SE (A > B) ENTAO SE (C > A) ENTAO MAIOR <- C; INTERMEDIARIO <- A; MENOR <- B; SENAO SE (C > B) ENTAO MAIOR <- A; INTERMEDIARIO <- C; MENOR <- B; SENAO MAIOR <- A; INTERMEDIARIO <- B; MENOR <- C; FIMSE FIMSE SENAO SE (C > A) ENTAO MAIOR <- C; INTERMEDIARIO <- B; MENOR <- A; SENAO MAIOR <- B; INTERMEDIARIO <- A; MENOR <- C; FIMSE FIMSE ESCREVA(“MAIOR :”, MAIOR); ESCREVA(“INTERMEDIÁRIO :”, INTERMEDIARIO); ESCREVA(“MENOR :”, MENOR); FIM.