Exercício Resolvido de Lógica de Programação e Algoritmo
 1 algoritmo "Compras"
 2 var
 3 {criação de vetores para armazenar o valor do produto, o  nome e a quantidade}
 4 valor, quantidade: vetor [1..5] de real
 5 objeto: vetor [1..5] de caractere
 6 {total para armazenar o total arrecadado}
 7 total: real
 8 {uma variável cont que ira servir como contador e op para armazenar a opção}
 9 {selecionada pelo usuário}
10 cont, op: inteiro
11 
12 inicio
13 {o valor inicial da variável cont é 1 e vai até 5, sempre incrementando de 1 em 1}
14 para cont de 1 ate 5 faca
15    {escreve na tela}
16    escreva("Digite o nome do ", cont," produto: ")
17    {armazena na variável objeto, na posição referente ao valor de cont o que o usuário}
18    {vim a digitar}
19    leia(objeto[cont])
20    {ocorre da mesma forma...}
21    escreva("Digite o valor de ", objeto[cont],": ")
22    leia(valor[cont])
23 fimpara
24 {comando para limpar a tela}
25 limpatela
26 
27 {atribui o valor 1 a variável op, para que a condição op diferente de 0, seja verdadeira}
28 {para poder entrar no laço enquanto}
29 op<-1
30 {o laço irá iniciar e continuar a repetir os comando dentro do mesmo enquanto op for}
31 {diferente de 0}
32 enquanto op<>0 faca
33    {escreval escreve o que estar entre aspas e pula uma linha, defirente de escreva}
34    {que não pula linha}
35    escreval("Escolha uma das opções abaixo: ")
36    {o valor inicial da variável cont é 1 e vai até 5, sempre incrementando de 1 em 1}
37    para cont de 1 ate 5 faca
38       escreval(cont, " - ",objeto[cont]," R$:",valor[cont])
39    fimpara
40    escreval(" 0 - para sair")
41    {espera que o usuário digite algo para ser armazenado na variável op}
42    leia(op)
43    {só servindo como pulo de linha, já que nada foi digitado}
44    escreval("")
45    {se a opção digitada e que estar armazenada na variável op, for diferente de 0, então}
46    se(op<>0) entao
47       {escreve na tela}
48       escreva("Digite a quantidade: ")
49       {espera que algo seja digitado e armazenado na variável quantidade na posição}
50       {referente ao valor de op}
51       leia(quantidade[op])
52       {atribui o valor 0 a total}
53       total<-0
54       {o valor inicial da variável cont é 1 e vai até 5, sempre incrementando de 1 em 1}
55       para cont de 1 ate 5 faca
56          {se a variável quantidade na posição do valor de cont for maior do que zero, então}
57          se (quantidade[cont]>0) entao
58             {total será ele mesmo + o valor armazenado na variável valor na posição referente}
59             {a cont; vezes o valor da variável quantidade na posição referente a cont}
60             total<-total+(valor[cont]*quantidade[cont])
61          fimse
62       fimpara
63       {no final escreve o valor contido em total}
64       escreval("Total R$:",total)
65    fimse
66 fimenquanto
67 {limpa a tela}
68 limpatela
69 {zera total}
70 total<-0
71 para cont de 1 ate 5 faca
72    {novamente faz a verificação da variável quantidade na posição referente ao valor}
73    {armazenado de cont}
74    se (quantidade[cont]>0) entao
75       {recalcula o total}
76       total<-total+(valor[cont]*quantidade[cont])
77       {escreve as especificações dos vetores objeto, valor e quantidade referente ao}
78       {valor de cont; lembrando que só serão exibidos os produtos que possuírem}
79       {quantidade > 0}
80       escreval(cont," - ",objeto[cont]," ",valor[cont]," Quantidade: ",quantidade[cont])
81    fimse
82 fimpara
83 {no final escreve o valor contido em total}
84 escreval("Total arrecadado foi de R$: ",total)
85 
86 fimalgoritmo