Ir ao conteúdo

Posts recomendados

Postado

<algoritmo "AP1 - Matemática Para Computação"

//------------------------------------------------------------------------------

// Uma loja está vendendo uma TV com a opção de parcelamento com um desconto a

// quem pagar os boletos das parcelas antes da data de vencimento. Funcionando

// da seguinte forma:

//

// - Boletos pagos na data de vencimento, pagam o valor exato da parcela.

// - Boletos pagos antes da data de vencimento, ganham um desconto de 10%.

// - Boletos pagos após a data de vencimento, ganham um acréscimo de 4%.

//

// Lívia e Bernardo compraram uma TV cada.

//

// Lívia parcelou em 8 vezes, pagou as 2 primeiras parcelas na data de vencimen-

// to e as demais parcelas, ela pagou antes da data.

//

// Bernardo parcelou em 11 vezes e pagou a primeira parcela antes da data. Mas

// devido a falta de organização financeira, precisou pagar as 7 parcelas

// seguintes, atrasadas. Para tentar compensar o gasto, pagou as parcelas

// restantes, antes da data de vencimento.

//

// Sabendo que a TV tinha um custo de R$2500,00, podendo ser parcelada em 12x

// sem juros, qual foi o valor pago por Lívia e por Bernardo na TV?

//------------------------------------------------------------------------------

var

      valorProd, pagEmDia, pagAdiantado, pagAtrasado, valorPagoTv: Real  

      op, resp: caractere

      parcelas: Inteiro

//-----------------------------------------------------------------------------

procedimento Topo()

inicio

      escreval("----------------------------------------")

      escreval("Valor do produto R$", valorProd:5:2)

      escreval("Valor pago até o momento R$", valorPagoTv:5:2)

      escreval("Prestações restantes: ", parcelas)

      escreval("----------------------------------------")

fimprocedimento

//------------------------------------------------------------------------------

procedimento Menu()

inicio

      escreval("[1] Pagou em dia")

      escreval("[2] Pagou atrasado")

      escreval("[3] Pagou adiantado")

      escreval("[x] Finalizar")

      escreva("-> ")

      leia(op)

fimprocedimento

//------------------------------------------------------------------------------

procedimento Comprador()

inicio

      escreval("[1] Livia")

      escreval("[2] Bernardo")

      escreval()

      escreva("-> ")

      leia(resp)

escolha resp

caso "1"

      pagEmDia <- 312.50

      pagAdiantado <- 281.25

      pagAtrasado <- 325.00

caso "2"

      pagEmDia <- 227.27

      pagAdiantado <- 204.55

      pagAtrasado <- 236.36

fimescolha

fimprocedimento

//------------------------------------------------------------------------------

inicio

      Topo()

      Comprador()

      limpatela

      Topo()

      escreva("Valor Tv R$")

      leia(valorProd)

      escreva("Nº parcelas: ")

      leia(parcelas)

      enquanto (parcelas >= 0) faca

            limpatela

           Topo()

           Menu()

           se (op = "1") entao

                valorPagoTv <- valorPagoTv + pagEmDia

            fimse

           se (op = "2") entao

                valorPagoTv <- valorPagoTv + pagAtrasado

           fimse

           se (op = "3") entao

                 valorPagoTv <- valorPagoTv + pagAdiantado

           fimse

           se (op = "x") entao

                 parcelas <- 0

                limpatela

                Topo()

                escreval()

                escreval("---------------")

                escreval(" Finalizando ")

                escreval("---------------")

           fimse

           parcelas <- parcelas - 1

      fimenquanto

fimalgoritmo>

  • Curtir 1
  • Solução
Postado

@Wendy Chagas Ao invés de simplificar já pensou em tornar mais genérico?

 

Exemplo

Algoritmo "parcelas"

var
   valor_total:real
   valor_parcela:real
   quantidade_parcelas:inteiro
   nome_comprador, nome_produto:caractere
   opcao, contador:inteiro
   POR_ADIANTADA, POR_ATRASADA:real

procedimento zera_dados
inicio
   valor_total <- 0
   valor_parcela <- 0
   quantidade_parcelas <- 0
   nome_comprador <- ""
   nome_produto <- ""
fimProcedimento

procedimento pega_dados
inicio
   escreva("Digite o nome do comprador:")
   leia(nome_comprador)
   escreva("Digite o nome do produto:")
   leia(nome_produto)
   escreva("Digite o valor da parcela:")
   leia(valor_parcela)
   repita
      escreva("Digite a quantidade de parcelas:")
      leia(quantidade_parcelas)
      se quantidade_parcelas <= 1 entao
         escreval("Quantidade de parcelas invalido!")
      fimSe
   ate quantidade_parcelas > 1
fimProcedimento

inicio
   // Porcentagem da parcela adiantada e atrasada
   POR_ADIANTADA <- 10.0
   POR_ATRASADA <- 4.0

   repita
      limpaTela
      zera_dados
      pega_dados
      para contador de 1 ate quantidade_parcelas faca
         limpaTela
         repita
            escreval("Digite uma das opções a baixo")
            escreval("A parcela ", contador," foi paga de que forma")
            escreval("1-Adiantada")
            escreval("2-Em dia")
            escreval("3-Em atraso")
            escreval("4-Para cancelar a operação")
            leia(opcao)
            se (opcao < 1) ou (opcao > 4) entao
               escreval("Opcao invalida!")
            fimSe
         ate (opcao >= 1)e(opcao <= 4)
         escolha opcao
         caso 1
            valor_total <- valor_total+(valor_parcela-((valor_parcela*POR_ADIANTADA)/100))
         caso 2
            valor_total <- valor_total+valor_parcela
         caso 3
            valor_total <- valor_total+(valor_parcela+((valor_parcela*POR_ATRASADA)/100))
         caso 4
            interrompa  // Sai do laço de repetição
         fimEscolha
      fimPara
      se contador = quantidade_parcelas entao
         escreval("O compradaor ", nome_comprador," pagou um total de ", valor_total:2:2," no produto ", nome_produto)
      fimSe
      escreval("Deseja fazer outro calculo?")
      escreval("1-Sim, 2-não")
      leia(opcao)
   ate não (opcao = 1)
fimAlgoritmo

 

  • Curtir 1
Postado

@kgin isso exatamente, eu não sabia que palavra usar jsioajiosji, mas é exatamente isso que estou tentando ainda não consegui,

e muito obrigado pela ajuda também, eu abri seu código aqui no visualg e realmente desse jeito é muito mais funcional!!

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!