Buscar

Lista de exercicios Algoritmos e Programação - Engenharia Elétrica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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

Outros materiais