Você está na página 1de 15

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?
(luisferreira.ferreira20@gmail.com)
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

Você também pode gostar