Códigos Eficientes Blog feito com o i… pesquisar
2nd September 2012 Alguns algoritmos resolvidos
O post de hoje é um post especial: é sobre algoritmos. Algoritmos são as principais
dificuldades que o programador encontra no início dos seus estudos. Vale lembrar
que a principal tarefa do programador não é programar em si, tipo, fazer códigos... A
principal tarefa do programador é resolver problemas para conseguir criar o
software desejado pela empresa onde trabalha. Se essa é a vida do programador,
nada como resolver alguns algoritmos para treinar desde já a resolução de
problemas. Abaixo estão listados 18 algoritmos resolvidos, utilizando a sintaxe do
Visualg. Se preferir, é possível usar o Portugol, mas a sintaxe é um pouco diferente.
1) Faça um algoritmo que receba quatro números inteiros,
calcule e mostre a soma desses números.
var
n1, n2, n3, n4, soma: inteiro
inicio
escreva ("Digite o primeiro número: ")
leia (n1)
escreva ("Digite o segundo número: ")
leia (n2)
escreva ("Digite o terceiro número: ")
leia (n3)
escreva ("Digite o quarto número: ")
leia (n4)
soma <- n1 + n2 + n3 + n4
escreva (soma)
// Seção de Comandos
fimalgoritmo
2) Faça um algoritmo que receba três notas, calcule e mostre
a média aritmética entre elas.
var
n1, n2, n3, media: real
inicio
escreva ("Digite a primeira nota: ")
leia (n1)
escreva ("Digite a segunda nota: ")
leia (n2)
escreva ("Digite a terceira nota: ")
leia (n3)
media <- (n1 + n2 + n3) / 3)
escreva ("A média das notas é: ", media)
// Seção de Comandos
fimalgoritmo
3) Faça um algoritmo que receba três notas e seus respectivos
pesos, calcule e mostre a média ponderada dessas notas.
var
n1, n2, n3, p1, p2, p3, mediaPon: real
inicio
escreva ("Digite a primeira nota: ")
leia (n1)
escreva ("Digite a segunda nota: ")
leia (n2)
escreva ("Digite a terceira nota: ")
leia (n3)
escreva ("Digite o peso da primeira nota: ")
leia (p1)
escreva ("Digite o peso da segunda nota: ")
leia (p2)
escreva ("Digite o peso da terceira nota: ")
leia (p3)
mediaPon <- ((n1 * p1) + (n2 * p2) + (n3 * p3)) / (p1 + p2 + p3)
escreva ("A média ponderada das três notas é: ", mediaPon)
// Seção de Comandos
fimalgoritmo
4) Faça um algoritmo que receba o salário de um funcionário, calcule e mostre o
novo salário, sabendo-se que este sofreu um aumento de 25%.
var
sal, novoSal: real
inicio
escreva ("Digite o salário: ")
leia (sal)
novoSal <- sal * 1.25
escreva ("O salário com aumento é: ", novoSal)
// Seção de Comandos
fimalgoritmo
5) Faça algoritmo que receba o salário de um funcionário e o percentual de aumento
e calcule e mostre o valor do aumento e o novo salário.
var
sal, aumento, novoSal: real
inicio
escreva ("Digite o valor do salário: ")
leia (sal)
escreva ("Digite o valor do aumento em porcentagem: ")
leia (aumento)
aumento <- sal * (aumento / 100)
novoSal <- aumento + sal
escreval ("O valor do aumento é: ", aumento)
escreva ("O valor do novo salário é: ", novoSal)
// Seção de Comandos
fimalgoritmo
6) Faça um algoritmo que receba o salário-base de um funcionário, calcule e mostre
o salário a receber, sabendo-se que esse funcionário tem gratificação de 5%
sobre o salário base e paga imposto de 7% sobre o salário base.
var
sal, grat, imp, desc, novoSal: real
inicio
escreva ("Digite o sálário base do funcionário: ")
leia (sal)
grat <- sal * 0.05
imp <- sal * 0.07
desc <- sal - imp
novoSal <- desc + grat
escreva ("O salário do funcionário a receber é: ", novoSal)
// Seção de Comandos
fimalgoritmo
7) Faça um algoritmo que receba o salário-base de um funcionário, calcule e mostre
seu salário a receber, Sabendo-se que esse funcionário tem gratificação de R$
50,00 e paga imposto de 10% sobre o salário-base.
var
sal, imp, novoSal: real
inicio
escreva ("Digite o salário-base do funcionário: ")
leia (sal)
imp <- sal * 0.10
novoSal <- (sal - imp) + 50
escreva ("O salário que o funcionário tem a receber é: ", novoSal)
// Seção de Comandos
fimalgoritmo
8) Faça um algoritmo que receba o valor de um depósito e o valor da taxa de juros,
calcule e mostre o valor do rendimento e o valor total depois do rendimento.
var
deposito, taxa, rend, total: real
inicio
escreva ("Digite o valor do depósito: ")
leia (deposito)
escreva ("Digite o valor da taxa de juros: ")
leia (taxa)
rend <- deposito * (taxa / 100)
total <- deposito + rend
escreval ("O valor do rendimento é: ", rend)
escreva ("O valor total após o rendimento é: ", total)
// Seção de Comandos
fimalgoritmo
9) Faça um algoritmo que calcule e mostre a área de um círculo. Sabe-se que:
Area=ΠR2.
var
area: real
inicio
area <- (3.14 * 10) ^ 2
escreva ("A área do círculo é: ", area)
// Seção de Comandos
fimalgoritmo
10) Faça um algoritmo que receba um número positivo e maior que
zero, calcule e mostre:
a)O número digitado ao quadrado.
b)O número digitado ao cubo.
c)A raiz quadrada do número digitado.
d)A raiz cúbica do número digitado.
var
num, quadrado, cubo, rQuadrada, rCubica: real
inicio
escreva ("Digite um número positivo e maior do que zero: ")
leia (num)
quadrado <- exp(num, 2)
cubo <- exp(num, 3)
rQuadrada <- exp(num, 1/2)
rCubica <- exp(num, 1/3)
escreval ("O número ao quadrado é: ", quadrado)
escreval ("O número ao cubo é: ", cubo)
escreval ("A raiz quadrada do número é: ", rQuadrada)
escreva ("A raiz cúbica do número é: ", rCubica)
// Seção de Comandos
fimalgoritmo
11) Faça um algoritmo que receba dois números maiores que zero, calcule e mostre
um elevado ao outro.
var
num, num2, result: real
inicio
escreva ("Digite um número maior do que zero: ")
leia (num)
escreva ("Digite outro número maior do que zero: ")
leia (num2)
result <- exp(num, num2)
escreva ("O número ", num, " elevado a ", num2, " é: ", result)
// Seção de Comandos
fimalgoritmo
12) Faça um algoritmo que receba o ano de nascimento de uma pessoa e o ano
atual. Calcule e mostre:
a)A idade dessa pessoa.
b)Quantos anos essa pessoa terá em 2017.
var
aNasc, aAtual, idPres, idFut: inteiro
inicio
escreva ("Digite o ano de nascimento da pessoa: ")
leia (aNasc)
escreva ("Digite o ano atual: ")
leia (aAtual)
idPres <- (aAtual - aNasc)
idFut <- (2017 - aNasc)
escreval ("A idade da pessoa é: ", idPres)
escreva ("A idade que a pessoa terá em 2017 será: ", idFut)
// Seção de Comandos
fimalgoritmo
13) O custo ao consumidor de um carro novo é a soma do preço de
fábrica com o percentual de lucro do distribuidor e dos impostos
aplicados ao preço de fábrica. Faça um algoritmo que receba o
preço de fábrica de um veículo, o percentual de lucro do distribuidor
e o percentual de impostos. Calcule e mostre:
a)O valor correspondente ao lucro do distribuidor
b)O valor correspondente aos impostos.
c)O preço final do veículo.
var
pFabr, pLucro, vImp, pFinal: real
inicio
escreva ("Digite o preço de fábrica: ")
leia (pFabr)
escreva ("Digite o percentual de lucro: ")
leia (pLucro)
escreva ("Digite o percentual de impostos: ")
leia (vImp)
pLucro <- pFabr * (pLucro / 100)
vImp <- pFabr * (vImp / 100)
pFinal <- (pFabr + pLucro + vImp)
escreval ("O valor do lucro do distribuidor é: ", pLucro)
escreval ("O valor correspondente aos impostos é: ", vImp)
escreva ("O preço final do veículo é: ", pFinal)
// Seção de Comandos
fimalgoritmo
14) Faça um algoritmo que receba o número de horas trabalhadas e
o valor do salário mínimo. Calcule e mostre o salário a receber
seguindo as regras abaixo:
a)A hora trabalhada vale a metade do salário mínimo;
b)O salário bruto equivale ao número de horas trabalhadas
multiplicado pelo valor da hora trabalhada.
c)O imposto equivale a 3% do salário bruto.
d)O salário a receber equivale ao salário bruto menos o imposto.
var
nHorasTrab, hTrabalhada, mSalMin, salBruto, imp, sARec: real
inicio
escreva ("Digite o número de horas trabalhadas: ")
leia (nHorasTrab)
escreva ("Digite o valor do salário mínimo: ")
leia (mSalMin)
hTrabalhada <- mSalMin / 2
salBruto <- nHorasTrab * hTrabalhada
imp <- salBruto * 0.03
sARec <- salBruto - imp
escreva ("O salário a receber será: ", sARec)
// Seção de Comandos
fimalgoritmo
15) Um trabalhador recebeu seu salário e depositou em sua contra corrente
bancária. Esse trabalhador emitiu dois cheques e agora deseja saber seu
saldo atual. Sabe-se que cada operação bancária de retirada paga CPMF de
0,38% e o saldo inicial da conta está zerado.
var
salMinimo, cpmf, parcial, parcial2: real
inicio
// Seção de Comandos
escreval ("Digite o valor do salário do trabalhador: ")
leia (salMinimo)
cpmf <- 0.0038
parcial <- salMinimo * cpmf
salMinimo <- salMinimo - parcial
parcial2 <- salMinimo * cpmf
salMinimo <- salMinimo - parcial2
escreva ("O salário do trabalhador após as retiradas é: ", salMinimo)
fimalgoritmo
16) Faça um algoritmo que receba o ano de nascimento de uma pessoa e o ano
atual calcule e mostre:
a)A idade dessa pessoa em anos;
b)A idade dessa pessoa em meses;
c)A idade dessa pessoa em dias;
d)A idade dessa pessoa em semanas.
var
ano, idade, meses, dias, semanas: inteiro
inicio
// Seção de Comandos
escreva ("Digite o ano de nascimento da pessoa: ")
leia (ano)
idade <- 2012 - ano
meses <- idade * 12
dias <- idade * 365
semanas <- idade * 52
escreval ("A pessoa tem ", idade, " anos.")
escreval ("Podemos concluir que ela tem ", meses, " meses.")
escreval ("E exatamente ", dias, " dias de vida.")
escreva ("Ela possui, portanto, ", semanas, " semanas.")
fimalgoritmo
17) Faça um algoritmo que receba o número de horas trabalhadas, o valor do salário
mínimo e o número de horas extras trabalhadas. Calcule e mostre o salário a
receber seguindo as regras a seguir:
a)A hora trabalhada vale 1/8 do salário mínino;
b)A hora extra vale ¼ do salário mínimo;
c)O salário bruto equivale ao número de horas trabalhadas multiplicado pelo valor
da hora trabalhada;
d)A quantia a receber pelas horas extras equivale ao número de horas extras
trabalhadas multiplicado pelo valor da hora extra;
e)O salário a receber equivale ao salário bruto mais a quantia a receber pelas horas
extras.
var
hTrab, salMin, hETrab, vHT, vHET, salBruto, HExtraARec, sFinal: real
inicio
// Seção de Comandos
escreva ("Digite o número de horas trabalhadas: ")
leia (hTrab)
escreva ("Digite o valor do salário mínimo: ")
leia (salMin)
escreva ("Digite o número de horas extras trabalhadas: ")
leia (hETrab)
vHT <- salMin / 8
vHET <- salMin / 4
salBruto <- hTrab * vHT
HExtraARec <- hETrab * vHET
sFinal <- salBruto + HExtraARec
escreva ("O salário a receber é de: ", sFinal)
fimalgoritmo
18) Faça um algoritmo que receba a quantidade de dinheiro em reais que uma
pessoa que vai viajar possui. Essa pessoa vai passar por vários países e
precisa converter seu dinheiro em dólares, marco alemão e libra esterlina.
Sabe-se que a cotação do dólar é de R$ 1,80, do marco alemão é de R$ 2,00 e
da libra esterlina é de R$ 1,57. O algoritmo deve fazer as conversões e mostrá-
las.
var
reais, dolar, marco, libra: real
inicio
// Seção de Comandos
escreva ("Digite a quantidade de dinheiro em reais que a pessoa possui: ")
leia (reais)
dolar <- reais / 1.80
marco <- reais / 2.00
libra <- reais / 1.57
escreval ("O dinheiro da pessoa equivale a ", dolar, " dólares,")
escreval (marco, " marcos ou")
escreva (libra, " libras.")
fimalgoritmo
Obrigado pela visita ao blog e até o próximo post!
Seguir
Seguir @andersoncga [https://twitter.com/andersoncga]
Postado há 2nd September 2012 por Códigos Eficientes
Marcadores: Programação
21 Visualizar comentários
Anonymous 4 de março de 2013 11:09
muito bom
Responder
Anonymous 10 de março de 2013 11:42
PODE MIM AJUDA TO ENCONTRANDO DIFICULDADE COM ESSE
ALGORITIMO?
LEIA O NOME DE UM FUNCIONARIO SEU SALARIO E PERCENTUAL DE
AUMENTO
NO FINAL EXIBA O SALARIO COM SEU RESPECTIVO AUMENTO
EX ALISSON TEVE UM AUMENTO DE 30% SOBRE 500 SEU SALARIO ATUAL E:
650,00
CALCULAR SALARIO DOS PROXIMOS 3 ANOS
RESULTADOS:
SALARIO : 2012
2013
2014
2015
EXIBI MEDIA SALARIAL DOS ULTIMOS 4 ANOS NO FINAL
Responder
Respostas
Códigos Eficientes 10 de março de 2013 13:00
Aumente em 30% o salário em cada ano. Depois, some todos os
salários e divida tudo por 4.
Anonymous 19 de março de 2013 07:59
Faça um algoritmo que leia um conjunto de números, calcule a sua
soma, a média e a
quantidade de números pares lidos.
Márcio Moraes 5 de maio de 2013 12:50
ola preciso de ajuda nesse algoritmo em java
) Uma empresa possui um cadastro de funcionários com os
seguintes dados: nome, número de horas trabalhadas no mês e
categoria (pode ser O - Operário ou G-gerente). Sabendo-se que essa
empresa deseja informatizar sua folha de pagamento. Faça um
programa que:
a) Cadastre os dados dos funcionários. O máximo que a empresa
suporta são 18 funcionários ativos;
b) Calcule o salário bruto de um determinado funcionário. Para
calcular o salário bruto adote o valor de R$112,00 para uma hora
trabalha + acréscimo da categoria do funcionário. Ver tabela abaixo:
Categoria Acréscimo
G 15%
O 10%
c) Alterar o número de horas trabalhadas de um determinado
funcionário;
d) Mostrar todos os dados dos funcionários e seus respectivos
salários brutos.
Márcio Moraes 5 de maio de 2013 12:54
Letra B e D
no aguardo
Códigos Eficientes 5 de maio de 2013 14:39
B - Multiplique a quantidade de horas do funcionário por 112,00.
Pegue o resultado e some com ele mesmo multiplicado por 0.15 se
for gerente e por 0.10 se for operário. Exemplo: 4 * 112,00 = 448,00.
448,00 + (448,00 * 0.15).
D - Na letra A você cadastrou os funcionário. Então agora faça o
mesmo, mas com as variáveis modificadas.
Convites Personalizados 4 de abril de 2014 09:17
Alguem pode me ajudar a fazer esse exercicio?
Ja tentei e nada.
Crie um programa que realize as seguintes atividades:
a) Solicite ao usuário três valores inteiros.
b) Multiplique o menor valor lido pelo maior e some o resultado
dessa multiplicação com o valor do meio.
Responder
Douglas Gonçalves 5 de maio de 2013 18:30
Muito chato essa matéria. Senão fosse vocês pra nos ajudarem estaríamos
fritos. Um grande abraço.
Responder
Mateus Freitas 31 de maio de 2013 12:43
Algoritmo para mostrar na tela o produto entre 38 e 2 .
Responder
Mateus Freitas 31 de maio de 2013 12:46
Alguém mais pode me ajudar com mais alguns algoritmos ?!
* Faça um algoritmo para entrar com um numero e exibir na tela as seguintes
informações : Numero . Quadrado . Raiz Quadrada .
Responder
legostar lego 15 de junho de 2013 10:43
por gentileza me ajude com esses algoritmos...to meio pendurado na faculdade
por falta de tempo...
• Com a utilização da estrutura de dados Matriz
2) Construa um algoritmo que crie uma estrutura de dados matriz de números
reais formada por 100
elementos. Faça a entrada de dados para esta matriz e em seguida gere uma
segunda matriz
onde cada elemento contém o produto dos elementos opostos da matriz
anterior. Ao final, calcule
e exiba a somatória dos valores armazenados na matriz resultante. (2,5)
1 2 3 4 5 96 97 98 99 100
49 30 18 23 15 ................................................... 18 13 8 60 2
1 2 3 4 5 ...............................
(49*2) (30*60) (18*8) (23*13) (15*18) .................................
Responder
legostar lego 15 de junho de 2013 11:03
3) A distância entre várias cidades é dada pela tabela abaixo (em Km): (2,5)
Cidade 1 Cidade 2 Cidade 3 Cidade 4 Cidade 5
Cidade 1 0 15 30 5 12
Cidade 2 15 0 10 17 28
Cidade 3 30 10 0 3 11
Cidade 4 5 17 3 0 80
Cidade 5 12 28 11 80 0
Escreva um algoritmo que:
a) Faça a entrada de dados utilizando uma estrutura de dados do tipo matriz
b) Receba duas cidades em seguida calcule e exiba a distância entre elas
c) Receba um percurso formado no máximo por 7 cidades, podendo repetir a
cidade, calcule e
exiba o total de km percorridos. Ex. Suponha um percurso formado pelas
seguintes cidades:
1 →→→→ 4 →→→→ 3→→→→1→→→→2 o total de km percorridos seria
5+3+30+15 = 53
d) Ao final do processamento perguntar sobre a realização de um novo
processamento. Caso a
resposta seja positiva repetir o processo definidos no item b e c , caso
contrário, finalize o
processamento.
Utilize a estrutura repetitiva Faça .. Enquanto
Responder
legostar lego 15 de junho de 2013 11:06
• Com a utilização de Função/Rotina
4) Utilizando a lógica de programação desenvolvida na primeira questão,
construa uma função
chamada de CalcDifHor. Esta função tem como parâmetros de entrada dois
números inteiros.
Cada número representa um horário em horas e minutos no formato hhmm.
Esta função tem a
finalidade de calcular e devolver, em minutos, a diferença entre os dois
horários. Considere que o
primeiro horário é menor que o segundo horário. (2,5)
Exemplo: CalcDifHor(805, 1230) ⇒ 265
Após a construção da função, monte um rotina chamada chamada Questao_4
com a finalidade de
de exibir o valor a ser pago pelo período de estacionamento de um carro.
Considere como entrada
de dados: número da placa do carro, horário de entrada (no formato hhmm) e o
horário de saída
(no formato hhmm).
Minutos
Horário Entrada
Horário Saída
Questao4
CalcDifHor
Responder
tsai 2 de outubro de 2013 14:44
faca um algoritmo q mostra na tela as horas diminuindo de minuto em minuto?
Responder
Quem somos nós? 1 de maio de 2014 19:11
Pessoal, estou aprendendo logica de programaçao, e queria saber como faer
um algoritimo para mostrar na tela o nome da pessoa, baseado na idade
informada no programa, alguem sabe como fazer?
(
[email protected])
Responder
BRAHMA LAURO 6 de maio de 2014 05:22
Bom Dia!!!!
Por Favor me ajudem.
Preciso elaborar um programa que conversa um numero de base 2 para base
10 e vice versa.
Responder
willian cardoso 4 de novembro de 2014 17:57
por favor pode me ajudar a resolver este algoritmo utilizando estrutura de
repetição: (ENQUANTO......FAÇA, REPITA...ATÉ, PARA ... FAÇA)
Um garrafão de 20 litros, cheio de água com um furo que vaza 50 ml a cada 30
minutos. Faça um algoritmo pra calcular em quantas horas o garrafão estará
vazio.
Responder
ebenezer augusto souza nunes 23 de janeiro de 2015 18:14
COMO FAÇO ESSA ATIVIDADE?
Fazer um programa que leia um código e três valores reais. Dependendo do
código lido, efetuar:
-Sendo o código a letra M, calcular e imprimir o valor do produto dos três
valores lidos.
-Sendo o código a letra O, imprimir os três valores em ordem crescente.
-Sendo o código a letra T, verificar se os três valores podem ser lados de um
triângulo, imprimindo conforme o caso “Não formam triângulo”, “Formam
triângulo equilátero”, “Formam triângulo isósceles”, “Formam triângulo
escaleno”.
Responder
Cris Mota 21 de junho de 2015 05:36
Desenvolva um algoritmo e um programa em linguagem C que receba o código,
o saláriobase
e o tempo de serviço de 10 funcionários de uma empresa e, calcule e mostre:
a) O imposto de cada funcionário que será descontado no pagamento,
conforme a tabela a
seguir.
Salário-base Imposto (% sobre o salário-base)
< R$1000,00 isento
de R$ 1.000,00 a R$ 3.000,00 3%
Acima de R$ 3.000,00 8%
b) A gratificação de cada funcionário que será calculada de acordo com a
tabela a seguir.
Tempo de serviço Gratificação (% sobre o salário-base)
Até 3 anos (inclusive) 10%
Mais de 3 anos 20%
c) O salário líquido de cada funcionário que será o salário base menos o
imposto mais a
gratificação.
d) A soma do salário de todos os funcionários.
e) O salário médio de todos os funcionários.
Responder
Orozimbo Ramos 18 de agosto de 2015 07:52
Este comentário foi removido pelo autor.
Responder