All pastes #2060756 Raw Edit

Anonymous

public text v1 · immutable
#2060756 ·published 2011-05-15 23:02 UTC
rendered paste body
algoritmo "Calculo Imposto de Renda"
// Função : Calcular, dado o salario bruto  e o valor do Imposto Retido na Fonte (imposto pago)
//          o valor da restiuicao ou do Imposto a Pagar.
// Sistema de Informacao - UAB UFSCar
// Disciplina - Alg e Progamacao I - Prof Jander Moreira
// Autor :  Wander Silvio Bernardes - RA 435392
// Data : 15/5/2011


// Seção de Declarações

var
salarioBruto, aliquota, parcelaDeduzir, irFonte, irPagar: real
irDevido, restituicao: real

inicio
// Seção de Comandos 

// Obtencao dos dados necessarios
escreval("Digite o Salario Bruto Anual")
leia(salarioBruto)
escreval

escreval("Digite o valor do Imposto já pago - IR Retido na Fonte")
leia(irFonte)

// Calculos do Imposto devido
se salarioBruto <= 17989.80 entao
irDevido <- 0.00
fimse

     se (salarioBruto >= 17989.81) e (salarioBruto <= 26961.00) entao
     aliquota <- 0.075
     parcelaDeduzir <- (112.43 * 12)
     irDevido <- (salarioBruto * aliquota) - parcelaDeduzir
     fimse
     
          se (salarioBruto >= 26961.01) e (salarioBruto <= 35948.40) entao
          aliquota <- 0.15
          parcelaDeduzir <- (280.94 * 12)
          irDevido <- (salarioBruto * aliquota) - parcelaDeduzir
          fimse
          
               se (salarioBruto >= 35948.41) e (salarioBruto <= 44918.28) entao
               aliquota <- 0.225
               parcelaDeduzir <- (505.62 *12)
               irDevido <- (salarioBruto * aliquota) - parcelaDeduzir
               fimse
               
                    se (salarioBruto >= 44918.29) entao
                    aliquota <- 0.275
                    parcelaDeduzir <- (692.78 * 12)
                    irDevido <- (salarioBruto * aliquota) - parcelaDeduzir
                    fimse
                    
// Calculos da restituicao ou do Imposto a Pagar

se (irFonte = irDevido) entao
restituicao <- 0.00
irPagar <- 0.00
escreval("Restituicao do Imposto de Renda:   R$", restituicao:1:2)     // valor da restituicao com 2 casas decimais
escreval("Valor do Imposto de Renda a Pagar: R$", irPagar:1.2)
fimse

     se (irFonte > irDevido) entao
     restituicao <- (irFonte - irDevido)
     escreval("Restituicao do Imposto de renda para receber")
     escreval("Valor da restituicao: R$ ", restituicao:5:2)
     fimse
     
          se (irDevido > irFonte) entao
          irPagar <- (irDevido - irFonte)
          escreval("Imposto de Renda a Pagar")
          escreval("Valor do IR a Pagar: R$ ", irPagar:5:2)
          escreval
          fimse
          
// Calculos das Parcelas no caso de Imposto a Pagar

   se (irPagar >= 300.00) entao
   escreval("Seu Imposto a pagar pode ser parcelado em ateh 6 vezes")
   escreval("Valor de cada parcela: R$ ", irPagar / 6:4:2)
   fimse

        se (irPagar < 300.00) e (irPagar >= 250.00) entao
        escreval("Seu Imposto a pagar pode ser parcelado em ateh 5 vezes")
        escreval("Valor de cada parcela: R$ ", irPagar / 5:3:2)
        fimse

              se (irPagar < 250.00) e (irPagar >= 200.00) entao
              escreval("Seu Imposto a pagar pode ser parcelado em ateh 4 vezes")
              escreval("Valor de cada parcela: R$ ", irPagar / 4:3:2)
              fimse

                    se (irPagar < 200.00) e (irPagar >= 150.00) entao
                    escreval("Seu Imposto a pagar pode ser parcelado em ateh 3 vezes")
                    escreval("Valor de cada parcela: R$ ", irPagar / 3:2)
                    fimse

                          se (irPagar < 150.00) e (irPagar >= 100.00) entao
                          escreval("Seu Imposto a pagar pode ser parcelado em ateh 2 vezes")
                          escreval("Valor de cada parcela: R$ ", irPagar / 2)
                          fimse

                              se(irPagar < 100.00)e (irPagar > 1) entao
                              escreval("O pagamento do se Imposto a pagar deve ser realizado em 1 parcela")
                              escreval("No valor de: R$ ", irPagar:2:2)
                              fimse


fimalgoritmo