Ir ao conteúdo
  • Cadastre-se

Vinezof2

Membro Júnior
  • Posts

    1
  • Cadastrado em

  • Última visita

posts postados por Vinezof2

  1. Olá, estou fazendo um curso de informática e neste curso foi proposta uma atividade de desenvolver um algoritmo para dar bônus a 4 funcionários dependendo dos dependentes desse funcionário, enfim, fiz o programa e ele funcionou o problema é que o cônjuge pode ser um dependente então eu fiz uma condição para que se o funcionário fosse solteiro ele não pudesse receber o bônus do cônjuge, mas sempre que o funcionário é solteiro a idade dos dependentes é lida duas vezes, não altera o fluxo do programa simplesmente muda o valor da variável, mas considero isso um erro e li e re-li o algoritmo e não consegui resolver isso.

     

    Parte do algoritmo que contém o erro:

    enquanto (quant_dependentes>contador) faca
          repita
             escreva ("Tipo do Dependente  (C= Cônjuge | X= Outros): ")
             leia (tipo_dependente)
          ate (tipo_dependente="C") ou (tipo_dependente="X")
          se (tipo_dependente="C") e (estado_civil="C") então
             enquanto (contador_conjuge<1) faca
                escreva ("Idade do Cônjuge: ")
                leia (idade_conjuge)
                bonus_funcionario1 := bonus_funcionario1 + 20
                contador_conjuge := contador_conjuge + 1
                contador := contador + 1
             fimenquanto
          senao
             repita
                escreva ("Idade do Dependente: ")
                leia (idade_dependente)
             ate (idade_dependente>0)
             contador := contador + 1
             se (idade_dependente<=17) então
                bonus_funcionario1 := bonus_funcionario1 + 15
             fimse
          fimse
       fimenquanto

      

    Algoritmo inteiro:

    algoritmo "Bônus Funcionário"
    // Função : Dar bônus aos funcionários
    // Autor :  João Vitor de A. Vinezof
    // Data : 10/11/2017
    // Seção de Declarações 
    var
       funcionario1, funcionario2, funcionario3, funcionario4: literal
       idade_conjuge, dependente, tipo_dependente, idade_dependente, estado_civil: literal
       bonus_funcionario1, bonus_funcionario2, bonus_funcionario3, bonus_funcionario4: inteiro
       contador, contador_conjuge, quant_dependentes: inteiro
       
    inicio
    // Seção de Comandos
    //Definindo os valores dos acumuladores e contadores
       bonus_funcionario1 := 40
       bonus_funcionario2 := 40
       bonus_funcionario3 := 40
       bonus_funcionario4 := 40
       contador := 0
       contador_conjuge := 0
    //Funcionário 01
       escreval ("Dados do funcionário 1:")
       escreva ("Nome: ")
       leia (funcionario1)
       repita
          escreva ("Estado Civil  (C= Casado | S= Solteiro): ")
          leia (estado_civil)
       ate (estado_civil="C") ou (estado_civil="S")
       repita
          escreva ("Possuí Dependentes?  (N= Não | S= Sim): ")
          leia (dependente)
       ate (dependente="N") ou (dependente="S")
       se (dependente="S") então
          repita
             escreva ("Quantos? ")
             leia (quant_dependentes)
          ate (quant_dependentes>0)
       fimse
       enquanto (quant_dependentes>contador) faca
          repita
             escreva ("Tipo do Dependente  (C= Cônjuge | X= Outros): ")
             leia (tipo_dependente)
          ate (tipo_dependente="C") ou (tipo_dependente="X")
          se (tipo_dependente="C") e (estado_civil="C") então
             enquanto (contador_conjuge<1) faca
                escreva ("Idade do Cônjuge: ")
                leia (idade_conjuge)
                bonus_funcionario1 := bonus_funcionario1 + 20
                contador_conjuge := contador_conjuge + 1
                contador := contador + 1
             fimenquanto
          senao
             repita
                escreva ("Idade do Dependente: ")
                leia (idade_dependente)
             ate (idade_dependente>0)
             contador := contador + 1
             se (idade_dependente<=17) então
                bonus_funcionario1 := bonus_funcionario1 + 15
             fimse
          fimse
       fimenquanto
       escreval
       contador := 0
       contador_conjuge := 0
       quant_dependentes := 0
    //Funcionário 02
       escreval ("Dados do Funcionário 2:")
       escreva ("Nome: ")
       leia (funcionario2)
       repita
          escreva ("Estado Civil  (C= Casado | S= Solteiro): ")
          leia (estado_civil)
       ate (estado_civil="C") ou (estado_civil="S")
       repita
          escreva ("Possuí Dependentes?  (N= Não | S= Sim): ")
          leia (dependente)
       ate (dependente="N") ou (dependente="S")
       se (dependente="S") então
          repita
             escreval ("Quantos? ")
             leia (quant_dependentes)
          ate (quant_dependentes>0)
       fimse
       enquanto (quant_dependentes>contador) faca
          repita
             escreva ("Tipo do dependente (C= Cônjuge | X= Outros): ")
             leia (tipo_dependente)
          ate (tipo_dependente="C") ou (tipo_dependente="X")
          se (tipo_dependente="C") e (estado_civil="C") então
             enquanto (contador_conjuge<1) faca
                repita
                   escreva ("Idade do Cônjuge: ")
                   leia (idade_conjuge)
                ate (idade_conjuge>0)
                bonus_funcionario2 := bonus_funcionario + 20
                contador_conjuge := contador_conjuge + 1
                contador := contador + 1
             fimenquanto
          senao
             repita
                escreva ("Idade do Dependente: ")
                leia (idade_dependente)
             ate (idade_dependente>0)
             contador := contador + 1
             se (idade_dependente<=17) então
                bonus_funcionario2 := bonus_funcionario2 + 15
             fimse
          fimse
       fimenquanto
       contador := 0
       contador_conjuge := 0
       quant_dependentes := 0
       escreval
    //Funcionário 03
       escreval ("Dados do Funcionário 3: ")
       escreva ("Nome: ")
       leia (funcionario3)
       repita
          escreva ("Estado Civil  (C= Cônjuge | S= Solteiro): ")
          leia (estado_civil)
       ate (estado_civil="C") ou (estado_civil="S")
       repita
          escreva ("Possuí Dependentes?  (N= Não | S= Sim): ")
          leia (dependente)
       ate (dependente="N") ou (dependente="S")
       se (dependente="S") então
          repita
             escreva ("Quantos? ")
             leia (quant_dependentes)
          ate (quant_dependentes>0)
       fimse
       enquanto (quant_dependentes>contador) faca
          repita
             escreva ("Tipo do Dependente  (C= Cônjuge | X= Outros): ")
             leia (tipo_dependente)
          ate (tipo_dependente="C") ou (tipo_dependente="X")
          se (tipo_dependente="C") e (estado_civil="C") então
             enquanto (contador_conjuge<1) faca
                repita
                   escreva ("Idade do Cônjuge: ")
                   leia (idade_conjuge)
                ate (idade_conjuge>0)
                bonus_funcionario3 := bonus_funcionario3 + 20
                contador_conjuge := contador_conjuge + 1
                contador := contador + 1
             fimenquanto
          senao
             repita
                escreva ("Idade do Dependente: ")
                leia (idade_dependente)
             ate (idade_dependente>0)
             contador := contador + 1
             se (idade_dependente<=17) então
                bonus_funcionario3 := bonus_funcionario3 + 15
             fimse
          fimse
       fimenquanto
       contador := 0
       contador_conjuge := 0
       quant_dependentes := 0
       escreval
    //Funcionário 04
       escreval ("Dados do Funcionário 4:")
       escreva ("Nome: ")
       leia (funcionario4)
       repita
          escreva ("Estado Civil  (C= Casado | S= Solteiro): ")
          leia (estado_civil)
       ate (estado_civil="C") ou (estado_civil="S")
       repita
          escreva ("Possuí Dependentes?  (N= Não | S= Sim): ")
          leia (dependente)
       ate (dependente="N") ou (dependente="S")
       se (dependente="S") então
          repita
             escreva ("Quantos? ")
             leia (quant_dependentes)
          ate (quant_dependentes>0)
       fimse
       enquanto (quant_dependentes>contador) faca
          repita
             escreva ("Tipo do Dependente  (C= Cônjuge | X= Outros): ")
             leia (tipo_dependente)
          ate (tipo_dependente="C") ou (tipo_dependente="X")
          se (tipo_dependente="C") e (estado_civil="C") então
             enquanto (contador_conjuge<1) faca
                repita
                   escreva ("Idade do Cônjuge: ")
                   leia (idade_conjuge)
                ate (idade_conjuge>0)
                bonus_funcionario4 := bonus_funcionario4 + 20
                contador_conjuge := contador_conjuge + 1
                contador := contador + 1
             fimenquanto
          senao
             repita
                escreva ("Idade do Dependente: ")
                leia (idade_dependente)
             ate (idade_dependente>0)
             contador := contador + 1
             se (idade_dependente<=17) então
                bonus_funcionario4 := bonus_funcionario4 + 15
             fimse
          fimse
       fimenquanto
       limpatela
       escreval (funcionario1,": Benefício de R$",bonus_funcionario1)
       escreval (funcionario2,": Benefício de: R$",bonus_funcionario2)
       escreval (funcionario3,": Benefício de: R$",bonus_funcionario3)
       escreval (funcionario4,": Benefício de: R$",bonus_funcionario4)
    fimalgoritmo

     

    Desde já, Obrigado.

    • Curtir 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!