Daniel Mineo 0 Denunciar post Postado Outubro 15, 2012 Olá Pessoal bom dia, comecei a pouco a fazer um curso de informática com algoritmos, e me passaram esse exercicio para treinar, porém estou enrolado, não consegui entender a lógica disso, alguem pode me ajudar? segue o exemplo: – Faça um Algoritmo que calcule o salário de um funcionário. O valor da Hora é de R$25,00. Calcular também o excesso de pagamento, se houver,se o funcionário trabalhar mais que 40 horas semanais. O valor da hora extra é 50% a mais que o valor da hora normal. O algoritmo deverá descontar 12% de imposto, caso o salário bruto ultrapasse R$10.000,00. No final, mostre o salário liquido excesso de pagamento e valor do imposto. Se puderem me auxiliar montando para eu visualizar as informações, agradeço! Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Outubro 16, 2012 Mostre o que você já fez até agora... Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Mineo 0 Denunciar post Postado Outubro 16, 2012 Algoritimo Declare horas_trabalhadas, salario_bruto, salario_liquido, imposto, excesso: REAL; Leia horas_trabalhadas se horas_trabalhadas > 40 salario_bruto (horas_trabalhadas * 25 ) * 1,5 senao salario_bruto horas_trabalhadas * 25 fim de se se salario_bruto > 10000 salario_liquido salario_bruto – 12% imposto salario_bruto * 12% fim de se excesso salario_bruto – (horas_trabalhadas * 25); escreva salario_liquido, excesso, imposto; fim algoritimo será q ta certo? Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Outubro 16, 2012 Bom, o usuário terá que digitar as horas de trabalho. Você terá que multiplicar essas horas por 25 (valor do salário por hora). Com isso você terá o salário bruto, certo? Aí fica fácil, você precisará criar uma estrutura de seleção para verificar se a quantidade de horas ultrapassa 40. Outra para verificar se o salário bruto ultrapassa 10.000. E uma terceira para verificar o excesso. Você está com problema na lógica ou no código? Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Mineo 0 Denunciar post Postado Outubro 16, 2012 Bom, o usuário terá que digitar as horas de trabalho. Você terá que multiplicar essas horas por 25 (valor do salário por hora). Com isso você terá o salário bruto, certo? Aí fica fácil, você precisará criar uma estrutura de seleção para verificar se a quantidade de horas ultrapassa 40. Outra para verificar se o salário bruto ultrapassa 10.000. E uma terceira para verificar o excesso. Você está com problema na lógica ou no código? Então Renan, eu estou fazendo a facul de redes, e tem essa matéria de contrução de algoritmos, e foi passado para desenvolvermos esse código, e eu quero aprender e saber desenvolver, se o q fiz esta correto sobre o que o problema aborda, já fico feliz, mas se tem algo a acrescentar, quero saber desenvolver o melhor possível, se vcs alterarem o código e me disserem o por q das alterações poderei entender melhor... Compartilhar este post Link para o post Compartilhar em outros sites
reebr 94 Denunciar post Postado Outubro 16, 2012 Eu não lembro muita coisa de algoritmo, mas algumas coisas que percebi no seu código: se horas_trabalhadas > 40 Isso está errado (pelo que eu me lembre). A estrutura de seleção "SE" é feita desta forma: SE horas_trabalhadas > 40 ENTAO INICIO instrução 1; instrução 2; instrução 3; FIMSE Outra coisa que notei: se salario_bruto > 10000 salario_liquido salario_bruto – 12% imposto salario_bruto * 12% O programa não irá entender porcentagem representada desta forma "12%". Você terá que mostrar de outro jeito, por exemplo: (12/100) ou 0.12. Ficando assim: SE salario_bruto > 10000 ENTAO INICIO salario_liquido:= salario_bruto - (12/100); imposto:= salario_bruto * (12/100); FIMSE ou SE salario_bruto > 10000 ENTAO INICIO salario_liquido:= salario_bruto - 0.12; imposto:= salario_bruto * 0.12; FIMSE Sobre as mensagens que irão aparecer para o usuário: escreva salario_liquido, excesso, imposto; Está errado. Você precisa colocar a mensagem entre aspas duplas e entre parenteses. Exemplo: ESCREVA("O salario liquido é:", salario_liquido); ou ESCREVAL("O salario liquido é:", salario_liquido); A diferença entre o "ESCREVA" e o "ESCREVAL":ESCREVAL: posiciona o cursor na linha de baixo da mensagem. ESCREVA: posiciona o cursor na frente da mensagem. Refaça o código com essas dicas e poste-o aqui novamente ^_^ Compartilhar este post Link para o post Compartilhar em outros sites