Baixe o app para aproveitar ainda mais
Prévia do material em texto
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: ") Alguns algoritmos resolvidos 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 @andersoncga [https://twitter.com/andersoncga] Postado há 2nd September 2012 por Códigos Eficientes Marcadores: Programação Respostas 15 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 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. Responder 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. 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 junhode 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 Digite seu comentário... Comentar como: Conta do Google Publicar Visualizar
Compartilhar