Ir para conteúdo
Fórum Script Brasil
  • 0

alguém Poderia me Ajudar com Codigo ?


valterlin

Pergunta

h) Dado o salário de uma pessoa, cobrar 8% de INSS e verificar se ela paga IR calcular o valor a ser pago de acordo com os critérios abaixo, depois de todos os cálculos efetuados, exibir o salário bruto, INSS, IR e salário liquido:

Base de cálculo mensal Alíquota %

Até 1.434,59 0

De 1.434,60 até 2.150,00 7,5

De 2.150,01 até 2.866,70 15,0

De 2.866,71 até 3.582,00 22,5

Acima de 3.582,00 27,5

A minha duvida e se o calculo e feito antes o no meio do Codigo alguém Pode me ajudar analisem por favor:

Program Salario ;

Var

Salario,Inss,ir,Ir01,Ir02,Ir03,Ir04,SalBruto,SalLiquido :real;

Begin

write ('Digite seu salario: ');

Readln (salario);

salLiquido:= (salario - inss);

Inss:= (SALARIO * 0.8);

SalBruto:= (salario + inss + ir );

Ir01:= (salario * 7.5);

Ir02:= ( salario * 15.0);

ir03:= ( salario * 22.5);

ir04:= (salario * 27.5);

If ( salario <= 1434.59 ) then

write ('Não Paga IR')

else

if (salario >= 1434.59) and (salario <= 2150.00) then

write (ir01)

else

if ( salario >= 2150.01) and ( salario <= 2866.70 ) then

write (Ir02)

else

if ( salario >= 2866.71) and ( salario <= 35822.00) then

write (Ir03)

else

if ( salario >= 35822.01 ) then

write (Ir04);

write('Salario:',salario,'Inss:',inss,'SalBruto: ',SalBruto,'Salliquido: ',SalLiquido);

End.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

O cálculo do IR tem que ser dentro do IF. O modo como você está usando o IF também está errado, você não está fechando todos, e no caso do pascal você não pode usar tanto ELSE assim, apenas em algumas linguagens isso é permitido

Program Salario;

Var
Salario,Inss,ir,Ir01,Ir02,Ir03,Ir04,SalBruto,SalLiquido :real;

Begin
write ('Digite seu salario: ');
Readln (salario);
salLiquido:= (salario - inss);
Inss:= (salario * 0.8);  ' Ficar atento sempre na hora de declarar uma variavel, do mesmo modo, tem linguagens que são sense-cansitive, por isso é recomendado usar sempre maiúsculas.


If ( salario <= 1434.59 ) then
    IR:=(salario)      'Mesmo não necessitando calcular guardar em uma variável, já que a mesma será usadada no final do programa.
    write ('Não Paga IR');  
end if


if (salario >= 1434.59) and (salario <= 2150.00) then
    IR:= (salario * 7.5);
    write (IR);
end if


if ( salario >= 2150.01) and ( salario <= 2866.70 ) then
   IR:= ( salario * 15.0);
   write (IR);
end if 

if ( salario >= 2866.71) and ( salario <= 35822.00) then
   IR:= ( salario * 22.5);    
   write (IR);
end if

if ( salario >= 35822.01 ) then
   IR:= (salario * 27.5);
   write (IR);
end if

SalBruto:= (salario + inss + IR);  ' precisa ser à última coisa a ser calculada, já que depende da soma do IR



write('Salario:',salario,'Inss:',inss,'SalBruto: ',SalBruto,'Salliquido: ',SalLiquido);

End.

Link para o comentário
Compartilhar em outros sites

  • 0

Obrigado Pela ajuda

Ta ai o Codigo funcionando perfeito

Program Sal;

Var

Salario,Inss,ir,SalBruto,SalLiquido :real;

Begin

writeln ('___________Calculo de Imposto de Renda____________________');

writeln ('');

write('Digite seu salario: ');

Readln (salario);

writeln ('');

SalBruto:= (salario + inss + IR);

Inss:= (salario * 0.8)/100;

salLiquido:= (salario - inss);

BEGIN

If ( salario <= 1434.59 ) then

writeln ('Não Paga IR');

writeln ('');

if (salario >= 1434.59) and (salario <= 2150.00) then

IR:= (salario * 7.5);

if ( salario >= 2150.01) and ( salario <= 2866.70 ) then

IR:= ( salario * 15.0)/100;

if ( salario >= 2866.71) and ( salario <= 35822.00) then

IR:= ( salario * 22.5)/100;

if ( salario >= 35822.01 ) then

IR:= (salario * 27.5/100);

END;

writeln ('');

writeln('Salario:',salario:0:2);

writeln ('Inss:',inss:0:2);

writeln ('Ir: ',ir:0:2);

writeln ('SalBruto: ',SalBruto:0:2);

writeln ('Salliquido: ',SalLiquido:0:2);

End.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...