0% acharam este documento útil (0 voto)
274 visualizações15 páginas

Alguns Algoritmos Resolvidos

O documento apresenta 18 algoritmos resolvidos utilizando a linguagem Visualg para treinar a resolução de problemas. Os algoritmos incluem cálculos matemáticos como soma, média, porcentagem e outras operações comuns como cálculo de idade e salário.

Enviado por

Carl fredericos
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
274 visualizações15 páginas

Alguns Algoritmos Resolvidos

O documento apresenta 18 algoritmos resolvidos utilizando a linguagem Visualg para treinar a resolução de problemas. Os algoritmos incluem cálculos matemáticos como soma, média, porcentagem e outras operações comuns como cálculo de idade e salário.

Enviado por

Carl fredericos
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 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

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy