How to use the 'while' repeat structure? doubts in a specific exercise

Asked

Viewed 39 times

0

I need to work out an algorithm for "Purchase Order". Where the user is willing to write the name of the product and its value and quantity, and at the end the code shows the multiplication result (unit price*quantity). However, my code is wrong and I’m in doubt how to solve it. (I’m a beginner in the field of programming)

The code I created, where the bug is?

Var
produto,totalPedido,precoUnit:real
quant:inteiro
i:inteiro
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc...
enquanto (i <> N) faca  
escreva("Produto: ")
  leia(produto)
  escreva("Preço unitário: ")
  leia(precoUnit)
  escreva("Quantidade: ")
  leia(quant)
fimenquanto
  totalPedido <- precoUnit * quant
  escreva("Total de pedidos: R$",totalPedido)
Fimalgoritmo


   

o resultado tem que ser esse - feito no visualg

The result has to be this

vlw for the help :)

1 answer

0

Assuming you want to calculate the total for N products, use:

Var
    produto, totalPedido, precoUnit: real
    quant, i, N: inteiro
Inicio
    escreva("Informe a quantidade de produtos: ")
    leia(N)
    i <- 0
    totalPedido <- 0
    enquanto (i < N) faca  
        escreva("Produto: ")
        leia(produto)
        escreva("Preço unitário: ")
        leia(precoUnit)
        escreva("Quantidade: ")
        leia(quant)
        totalPedido <- totalPedido + precoUnit * quant
        i <- i + 1
    fimenquanto
    escreva("Total de pedidos: R$ ", totalPedido)
Fimalgoritmo

For an output as shown in the image:

Var
    produto, totalPedido, precoUnit: real
    quant: inteiro
    continua: caractere
Inicio
    continua <- "S"
    totalPedido <- 0
    enquanto (continua = "S" ou continua = "s") faca  
        escreva("Produto: ")
        leia(produto)
        escreva("Preço unitário: ")
        leia(precoUnit)
        escreva("Quantidade: ")
        leia(quant)
        totalPedido <- totalPedido + precoUnit * quant
        escreval("----------------")
        escreva("Continua ?(S/N) ")
        leia(continua)
    fimenquanto
    escreva("Total do pedido: R$ ", totalPedido)
Fimalgoritmo
  • Thank you very much! That second code of yours helped me a lot. Just something I had to change to work properly: line 8 - while (continue = "S") or (continue = "s") knife Just that to make it work. Thank you very much!

  • I am in doubt if Visualg differentiates between upper and lower case letters in this type of comparison. Take a test.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.