Renanr 0 Denunciar post Postado Março 12, 2011 Pessoal, recebi um exercício para fazer e até ai tudo bem. Fui e fiz. Mas quando vou rodar o programa. Recebo uma mensagem me dizendo que tem algo errado porém não consigo de maneira alguma identificar o erro. Me ajudem? Desde já! var ht,vh,sl,vinss,virpf,sb:real //ht: horas trabalhadas, vh: valor Hora, sl: salário líquido, vinss: valor do inss, virpf: valor do irpf, sb: salário bruto inicio escreva ("Horas Trabalhadas:") leia(ht) escreva("Valor Hora:") leia(vh) sb<-ht*vh escreval("O salário bruto é de:",sb) se sb<=868.29 entao vinss<-sb*(7.65/100) escreval("Valor do INSS:",vinss) virpf<-(sb-vinss) escreval("Valor do imposto de renda é:",virpf) sl<-sb-(vinss+virpf) escreval("Salário Líquido:",sl) senao se sb>=868.30 e sb<=1.447.14 entao vinss<-sb*(8/100) escreval("Valor do INSS:",vinss) virpf<-(sb-vinss) escreval("Valor do imposto de renda é:",virpf) sl<-sb-(vinss+virpf) escreval("Salário Líquido:",sl) senao se sb>=1.447.15 e sb<=2.894.28 entao vinss<-sb*(9/100) escreval("Valor do INSS:",vinss) virpf<-(sb-vinss)*(15/100) escreval("Valor do imposto de renda é:",virpf) sl<-sb-(vinss+virpf) escreval("Salário Líquido:",sl) senao se sb>2.894.28 e sb<=3.743.19 entao vinss<-(sb*(11/100)) escreval("Valor do INSS:",vinss) virpf<-(sb-vinss)*(15/100)-224.87) escreval("Valor do imposto de renda é:",virpf) sl<-sb-(vinss+virpf) escreval("Salário Líquido:",sl) senao se sb>3.743.19 entao vinss<-sb*(11/100) escreval("Valor do INSS:",vinss) virpf<-(sb-vinss)*(27.5/100)-561.02 escreval("Valor do imposto de renda é:",virpf) sl<-sb-(vinss+virpf) escreval("Salário Líquido:",sl) fimse fimse fimse fimse fimse fimse fimalgoritmo Qual seria o erro nele? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Março 13, 2011 ql o erro informado? []s Compartilhar este post Link para o post Compartilhar em outros sites
LCS 0 Denunciar post Postado Março 13, 2011 Meu amigo eu achei um problema lendo o código. Você botou um fimse a mais. Ou seja, você abriu 5 "SE" e fechou 6 "fimse"; talvez esse seja o problema. Em breve estarei postando algumas dicas para se fazer um bom pseudo-código,que na verdade serve de base para se escrever qualquer código.Quando tiver um tempo dê uma lida. //Editado// Dicas Achei mais um problema, ele esta nessa linha: virpf<-(sb-vinss) Você não esta calculando o imposto de renda, mas sim esta subtraindo o inss do salário bruto. Logo o salário líquido fica zerado no fim do programa se a condição do 1° e do 2° IF forem satisfeitas. abx, LCS Compartilhar este post Link para o post Compartilhar em outros sites
Renanr 0 Denunciar post Postado Março 13, 2011 Obrigado pela atenção,corrigi esses dois erros, mais o programa continua dizendo que esta linha esta errada se sb>=868.30 e sb<=1.447.14 entao ele diz que esperava encontrar um "entao" mais já tem. Meu amigo eu achei um problema lendo o código. Você botou um fimse a mais. Ou seja, você abriu 5 "SE" e fechou 6 "fimse"; talvez esse seja o problema. Em breve estarei postando algumas dicas para se fazer um bom pseudo-código,que na verdade serve de base para se escrever qualquer código.Quando tiver um tempo dê uma lida. //Editado// Dicas Achei mais um problema, ele esta nessa linha: virpf<-(sb-vinss) Você não esta calculando o imposto de renda, mas sim esta subtraindo o inss do salário bruto. Logo o salário líquido fica zerado no fim do programa se a condição do 1° e do 2° IF forem satisfeitas. abx, LCS Obrigado pela atenção,corrigi esses dois erros, mais o programa continua dizendo que esta linha esta errada se sb>=868.30 e sb<=1.447.14 entao ele diz que esperava encontrar um "entao" mais já tem. Meu amigo eu achei um problema lendo o código. Você botou um fimse a mais. Ou seja, você abriu 5 "SE" e fechou 6 "fimse"; talvez esse seja o problema. Em breve estarei postando algumas dicas para se fazer um bom pseudo-código,que na verdade serve de base para se escrever qualquer código.Quando tiver um tempo dê uma lida. //Editado// Dicas Achei mais um problema, ele esta nessa linha: virpf<-(sb-vinss) Você não esta calculando o imposto de renda, mas sim esta subtraindo o inss do salário bruto. Logo o salário líquido fica zerado no fim do programa se a condição do 1° e do 2° IF forem satisfeitas. abx, LCS Compartilhar este post Link para o post Compartilhar em outros sites
LCS 0 Denunciar post Postado Março 13, 2011 De uma olhada na documentação do Visualg. Lá você verá a solução do seu problema..É questão de sintaxe. Quando você usa operadores lógicos como o And(E),Or(ou) você tem que por entre () as condições propostas. Logo ao invés disso: se sb>=868.30 e sb<=1.447.14 entao Faça: se (sb>=868.30) e (sb<=1.447.14) entao Leia as dicas postadas no subfórum de lógica de programação. Lá você verá a dica que diz: Leia sempre a documentação da linguagem que você esta usando. Abx, LCS Compartilhar este post Link para o post Compartilhar em outros sites