Baixe o app para aproveitar ainda mais
Prévia do material em texto
1ª Lista de Algoritmos e Programação – Engenharia Elétrica 1. Faça um algoritmo que leia os valores A, B e C. Mostre uma mensagem que informe se a soma de A com B é menor, maior ou igual a C. algoritmo "ler valores de A, B e C" // Função : Compara se a soma dos valores de a e b são maiores, menores ou iguais a c // Autor : Fernando Bueno var valor1 : real valor2 : real valor3 : real soma1e2 : real inicio escreval ("Informe o valor 1") leia (valor1) escreval ("Informe o valor 2") leia (valor2) escreval ("Informe o valor3") leia (valor3) soma1e2 <- (valor1 + valor2) se soma1e2 < valor3 entao escreva ("A soma do valor 1 com valor 2 é menor que o valor 3") fimse se soma1e2 > valor3 entao escreva ("A soma do valor 1 com valor 2 é maior que o valor 3") fimse se soma1e2 = valor3 entao escreva ("A soma do valor 1 com valor 2 é igual ao valor 3") fimse fimalgoritmo 2. Uma empresa produz três tipos de peças mecânicas: parafusos, porcas e arruelas. Têm-se os preços unitários de cada tipo de peça e sabe-se que sobre estes preços incidem descontos de 10% para porcas, 20% para parafusos e 30% para arruelas. Escreva um algoritmo que calcule o valor total da compra de um cliente. Deve ser mostrado o nome do cliente. O número de cada tipo de peça que o mesmo comprou, o total de desconto e o total a pagar pela compra. algoritmo "Vendas" // Função : Uma empresa produz três tipos de peças mecânicas: parafusos, porcas // e arruelas. Têm-se os preços unitários de cada tipo de peça e // sabe-se que sobre estes preços incidem descontos de 10% para porcas, // 20% para parafusos e 30% para arruelas. Esse algoritimo mostra // o nome do cliente, o tipo de peça que o mesmo comprou, // o total de desconto e o total a pagar pela compra. // Autor : Fernando Bueno var nomecli,prod, r : caracter qtd, prod1, prod2, prod3 : inteiro n1, n2, n3, vl1, vl2, vl3, totpagar1, totpagar2, totpagar3, tot, totdes : real inicio r <- "s" escreval ("*** Compra ***") escreval ("Digite o nome do cliente") leia (nomecli) enquanto r = "s" faca escreval ("O que deseja comprar?") escreval ("Parafuso Porca Arruela") leia (prod) escreval ("O item escolhido foi ", prod , " quantas unidades deseja comprar?") leia (qtd) escreval ("Deseja comprar mais produtos? S-Sim N-Não") leia (r) se prod = "parafuso" entao vl1 <- 0.10 n1 <- vl1*qtd prod1 <- prod1 + qtd totpagar1 <- n1 - n1 *20/100 fimse se prod = "porca" entao vl2 <- 0.10 n2 <- vl2*qtd prod2 <- prod2 + qtd totpagar2 <- n2 - n2 *10/100 fimse se prod = "arruela" entao vl3 <- 0.10 n3 <- vl3*qtd prod3 <- prod3 + qtd totpagar3 <- n3 - n3 *30/100 fimse tot <- (n1+n2+n3) totdes <- (tot - (totpagar1 + totpagar2 + totpagar3)) limpatela fimenquanto escreval ("Dados da compra do cliente: ",nomecli) Escreval("") escreval ("Total de itens comprados / Unidades") escreval ("...................................................................") escreval ("parafusos: ", prod1) escreval ("Porcas : ", prod2) escreval ("Arruelas : ", prod3) escreval ("...................................................................") escreval ("Preço total da compra------- R$",tot) escreval ("Total a pagar com desconto-- R$",totpagar1 + totpagar2 + totpagar3) escreval ("Total de desconto----------- R$",totdes) escreval ("") escreval ("...................................................................") escreval (".......................Valores e descontos.........................") escreval ("................ Porca R$0,10 - desconto 10% .................") escreval ("................ Parafuso R$0,10 - desconto 20% .................") escreval ("................ Arruela R$0,10 - desconto 30% .................") escreval ("...................................................................") fimalgoritmo 3. Uma empresa irá dar um aumento de salário aos seus funcionários de acordo com a categoria de cada empregado. O aumento seguirá a seguinte regra: • Funcionários das categorias A, C, F, e H ganharão 10% de aumento sobre o salário; • Funcionários das categorias B, D, E, I, J e T ganharão 15% de aumento sobre o salário; • Funcionários das categorias K e R ganharão 25% de aumento sobre o salário; •Funcionários das categorias L, M, N, O, P, Q e S ganharão 35% de aumento sobre o salário; • Funcionários das categorias U, V, X, Y, W e Z ganharão 50% de aumento sobre o salário. Faça um algoritmo que escreva nome, categoria e salário reajustado de cada empregado. algoritmo "Aumento de salario" // Função :Calcula a porcentagem de aumento salarial dependendo da categoria // Autor : Fernando Bueno var funcionario : caracter salario : real novosalario : real categoria : caracter inicio escreva("Informe o nome do funcionario: ") leia(funcionario) escreva("Informe a categoria: ") leia(categoria) escreva("Informe o salario atual: ") leia(salario) escolha categoria caso "a","c","f","h" novosalario <- salario + salario*10/100 caso "b","d","e","i","j","t" novosalario <- salario + salario*15/100 caso "k","r" novosalario <- salario + salario*25/100 caso "l","m","n","o","p","q","s" novosalario <- salario + salario*35/100 caso "u","v","x","y","w","z" novosalario <- salario + salario*50/100 outrocaso escreva ("Essa categoria não existe!") fimescolha escreva ("O novo salario do funcionario ", funcionario, " da categoria ", categoria, " é de R$",novosalario, " Reais.") fimalgoritmo 4. Construa um algoritmo que leia um número inteiro de 1 a 7 e informe o dia da semana correspondente, sendo domingo o dia de número 1. Se o número não corresponder a um dia da semana, mostre uma mensagem de erro. algoritmo "Dia da semana" // Função :Verifica qual dia da semana corresponde aos números de 1 a 7 // Autor : Fernando Bueno var num : inteiro inicio escreva ("Digite um numero de 1 a 7: ") leia (num) escolha (num) caso 1 escreva ("O dia da semana correspondente ao numero", num, " é Domingo") caso 2 escreva ("O dia da semana correspondente ao numero", num, " é Segunda-Feira") caso 3 escreva ("O dia da semana correspondente ao numero", num, " é Terça-Feira") caso 4 escreva ("O dia da semana correspondente ao numero", num, " é Quarta-Feira") caso 5 escreva ("O dia da semana correspondente ao numero", num, " é Quinta-Feira") caso 6 escreva ("O dia da semana correspondente ao numero", num, " é Sexta-Feira") caso 7 escreva ("O dia da semana correspondente ao numero", num, " é Sábado") outrocaso escreva ("Não existe dia da semana para o numero", num) fimescolha fimalgoritmo 5. Crie um algoritmo que calcule a área de uma circunferência, mediante raio digitado pelo usuário. algoritmo "Calcula área" // Função :Calcular a área de uma circunferência mediante raio digitado // Autor : Fernando Bueno var raio, area : real inicio escreva("Digite o raio da circunferencia: ") leia (raio) area <- 3.1416 * (raio * raio) escreva("A area da circunferencia é:",area) fimalgoritmo 6. Dado o conjunto de instruções a seguir, faça um algoritmo com quatro variações, colocando o comando de repetição adequadamente, de forma a: a) Executar o conjunto 10 vezes; b) Não executar nenhuma vez; c) Executar o conjunto 100 vezes utilizando duas estruturas de repetição; d) Executar N vezes, onde N é uma variável informada pelo usuário. - Ler A, B - Modulo = A mod B (calcula o resto da divisão) algoritmo "Variações" // Função: Executar variações conforme escolha pelo caso // Autor : Fernando Bueno var num, n, a, b : inteiro resp : caracter inicio escreval ("Esse algoritmo será executado com 4 variações") escreval ("Escolha a opção:") escreval ("Opção A: Executar o conjunto 10 vezes") escreval ("Opção B: Não executar nenhuma vez") escreval ("Opção C: Executar o conjunto 100 vezes utilizando duas estruturas de repetição") escreval ("Opção D: Executar N vezes, onde N é uma variável informada pelo usuário") escreval ("Opção E: Ler A e B") escreval ("Opção F: A MOD B") leia (resp) escolha resp caso "A" para num de 1 ate 10 faca escreval ("Repetição", num) fimpara caso "B" escreval ("Sem ação") caso "C" num <- 1 enquanto (num <= 50) faca escreval ("Repetição", num) num <- num + 1 fimenquanto para num de 51 ate 100 faca escreval ("Repetição", num) fimpara caso "D" escreval ("Digite a quantidade de vezes a ser executado o comando") leia (n) para num de 1 ate n faca escreval ("Repetição", num) fimpara escreval ("Foram efetuadas", n, " repetições") Caso "E" escreva ("Digite A: ") leia (a) escreva ("Digite B: ") leia (b) escreval ("Os números digitados foram :", a, " e", b) escreval ("") Caso "F" escreva ("Digite o valor de A :") leia (a) escreva ("Digite o valor de B :") leia (b) escreval ("") escreval ("O MOD de A e B é :", a mod b) outrocaso escreval ("Essa opção não existe") fimescolha escreval ("") escreval ("A opção escolhida foi :", resp) fimalgoritmo 7. Sem utilizar a operação de multiplicação, escreva um programa que multiplique dois números inteiros. Por exemplo: 2 * 2 = 2 + 2 algoritmo "Multiplicação" // Função : Multiplica dois números inteiros sem usar o operador * // Autor : Fernando Bueno var num1, num2, num3, resultado : inteiro inicio escreva ("Digite o primeiro numero: ") leia (num1) escreva ("Digite o segundo numero: ") leia (num2) enquanto (num3 < num2) faca resultado <- resultado + num1 num3 <- num3 + 1 fimenquanto escreva ("O resultado da multiplicação é de", resultado) fimalgoritmo 8. Construa um algoritmo que, para a progressão geométrica 3; 9; 27; 81; ...; 6561, determine a soma de seus termos. Construa o algoritmo de maneira a não utilizar a fórmula de soma dos termos. Faça com que o computador gere cada um dos termos a ser somado. Ex.: 3; 9; 27; 81; 243; 729; 2187; 6561 => 9840 algoritmo "Progressão Geométrica" // Função : Determinar a soma de maneira que o computador // gere cada termo a ser somado // Autor : Fernando Bueno var num1, num2, soma : inteiro inicio num1 <- 3 num2 <- 3 soma <- 0 enquanto (num1 <= 6561) faca soma <- soma + num1 num1 <- num1 * num2 fimenquanto escreva ("O resultado da soma é", soma) fimalgoritmo 9. Chico tem 1,50 metros e cresce 2 centímetros por ano, enquanto Zé tem 1,10 metros e cresce 3 centímetros por ano. Construa um algoritmo que calcule e imprima quantos anos serão necessários para que Zé seja maior que Chico. algoritmo "Calculo de anos" // Função : Calcula a quantidade de anos para que Zé seja maior que Chico // Autor : Fernando Bueno var chico, ze : real anos : inteiro inicio chico <- 1.5 ze <- 1.1 anos <- 0 enquanto (ze <= chico) faca chico <- chico + 0.02 ze <- ze + 0.03 anos <- anos + 1 fimenquanto escreva ("A quantidade de anos foi de", anos) fimalgoritmo 10. Faça um algoritmo que leia um número e divida-o por dois (sucessivamente) ate que o resultado seja menor que 1. Mostre o resultado da ultima divisão e a quantidade de divisões efetuadas. algoritmo "Resultado de divisões" // Função : Mostra o resultado da ultima divisão e a quantidade de divisões efetuadas // Autor : Fernando Bueno var num : real cont : inteiro inicio escreva("Digite o número a ser dividido: ") leia(num) enquanto (num >= 1) faca num <- num/2 cont <- cont + 1 fimenquanto escreva("o resultado da última divisão é", num," foram efetuadas", cont, " divisões") fimalgoritmo
Compartilhar