Buscar

Procedimento e Nota Fiscal CLEAN #visualg #algoritmo

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Algoritmo "Procedimento-NotaFiscal"
// Disciplina : Lógica de Programação e Algoritmos
// Professor :
// Autor(a) : Vinicius
// Data atual : 09/10/2016
//------------------------------------------------------------------------+
// Descrição : Algoritmo recebe um número para nota fiscal , um nome
// para o cliente e os códigos dos itens para nota fiscal.
//
// Depois ele mostra um relatório ordenado por número das
// notas fiscais contendo:
//
// - Número da nota fiscal
// - Nome do cliente
// - Itens e seus respectivos valores.
//
// Permite a inserção de 10 itens por nota fiscal.
//
// Os dados da nota fiscal ficarão num vetor, os nomes dos
// clientes em outro vetor, e os itens numa matriz.
//
// Os valores por item ficarão armazenados em um vetor.
//
// Os códigos dos itens poderão ser somente de 1 a 10.
//
// Quando o número da nota fiscal for zero, o programa
// encerra as entradas.
//
// Quando o código do item for zero, o programa encerra a
// entrada de uma nf.
//
// Organizado em blocos de Procedimento.
//------------------------------------------------------------------------+
Var
// Seção de Declarações das variáveis
avancar : caracter
start , stop , i , j , l , c : inteiro
//------------------------------------------------------------------------+
numero_nf : inteiro
nome_cliente : caracter
limite_itens , cont , item : inteiro
//------------------------------------------------------------------------+
vtor_nf : vetor [1..4] de inteiro
vtor_nome_cliente : vetor [1..4] de caracter
k : inteiro
matriz_itens_nf : vetor [1..4 , 1..4] de inteiro
vtor_valor_itens : vetor [1..4] de inteiro
valor_ale : inteiro
Procedimento PROC_ALEATORIOS
Var
valor_ale : inteiro
Inicio
start <- 1
stop <- 4
i <- 0
aleatorio on
para i de start ate stop faca
 valor_ale <- Randi (200)
 vtor_valor_itens[i] <- valor_ale
fimpara
aleatorio off
FimProcedimento
Procedimento PROC_VALORES_INICIAIS
Inicio
avancar <- ""
start <- 1
stop <- 4
i <- 0
j <- 0
c <- 0
l <- 0
cont <- 0
numero_nf <- 0
nome_cliente <- ""
limite_itens <- 0
cont <- 0
item <- 0
FimProcedimento
Procedimento PROC_APRESENTACAO
Inicio
enquanto (avancar <> "1") faca
 avancar <- "1"
 limite_itens <- 4
 limpatela
 escreval ("")
 escreval (" EMPRESA GAMBIARRA DE LUXO")
 escreval ("")
 escreval (" +-------------------------------------------------------------------------+")
 escreval (" | |")
 escreval (" | Digite o número da Nota Fiscal . Este número deve ser maior que 'zero'. |")
 escreval (" | |")
 escreval (" | Caso seja 'zero' , a entrada de Notas Fiscais será finalizada. |")
 escreval (" | |")
 escreval (" | Insira no máximo", limite_itens , " itens por Nota Fiscal . |")
 escreval (" | |")
 escreval (" +-------------------------------------------------------------------------+")
 escreval ("")
 escreval ("")
 escreval ("")
 escreval ("")
 escreval ("")
 escreval ("")
 escreval ("")
 escreval ("")
 escreval ("")
 escreva (" Digite ", avancar," para avançar... ")
 leia (avancar)
 escreval ("")
 escreval ("")
fimenquanto
FimProcedimento
Procedimento PROC_ENTRADA_DADOS
Inicio
escreval ("")
escreval (" +--------------------------------------------------------------------------+")
numero_nf <- -1
i <- 1
enquanto (i <= stop) faca //5
 numero_nf <- -1//teste
 escreval ("")
 escreva (" NF : ")
 leia (numero_nf)
 se (numero_nf <> 0) entao
 vtor_nf[i] <- numero_nf
 escreval ("")
 escreva (" Cliente : ")
 leia (nome_cliente)// Validar tamanho do Nome
 vtor_nome_cliente[i] <- nome_cliente
 j <- 1
 cont <- 0
 item <- -1
 enquanto (j <= stop) faca
 cont <- cont + 1
 escreval ("")
 escreva (" ", cont , " Item : ")
 leia (item)
 se (item <> 0) entao
 matriz_itens_nf[i,j] <- item
 senao
 j <- 4
 fimse
 j <- j + 1
 fimenquanto
 senao
 i <- 4
 fimse
 escreval ("")
 escreval (" +--------------------------------------------------------------------------+")
 i <- i + 1
fimenquanto
FimProcedimento
Procedimento PROC_SAIDA_DADOS
Inicio
escreval ("")
escreval (" EMPRESA GAMBIARRA DE LUXO")
escreval ("")
se ((numero_nf = 0) e (vtor_nf[1] = 0)) entao
 escreval (" +--------------------------------------------------------------------------+")
 escreval (" | |")
 escreval (" | Não há Notas Fiscais inseridas! |")
 escreval (" | |")
 escreval (" +--------------------------------------------------------------------------+")
 escreval (" | |")
 escreval (" | |")
 escreval (" | * * * * * |")
 escreval (" | * * |")
 escreval (" | * * |")
 escreval (" | * * |")
 escreval (" | * * |")
 escreval (" | * * |")
 escreval (" | * * |")
 escreval (" | * * |")
 escreval (" | * * * * * |")
 escreval (" | |")
 escreval (" | |")
 escreval (" | |")
 escreval (" +--------------------------------------------------------------------------+")
senao
 para i de 1 ate 4 faca
 se (vtor_nf[i] <> 0) entao
 escreval (" +--------------------------------------------------------------------------+")
 escreval (" Nota Fiscal :", vtor_nf[i])
 escreval (" Cliente : ", vtor_nome_cliente[i])
 escreval (" Itens adicionados:")
 cont <- 0
 k <- 0
 para j de 1 ate 4 faca
 cont <- cont + 1
 se (matriz_itens_nf[i,j] <> 0) entao
 escreva (" ", cont, " -> Item", matriz_itens_nf[i,j])
 k <- matriz_itens_nf[i,j]
 se ( (k > 0) e (k < 5) )entao
 escreva (" -> Valor :", vtor_valor_itens[k])
 escreval ("")
senao
 escreva (" -> Valor :", 0)
 escreval ("")
 fimse
 fimse
 fimpara
 fimse
 fimpara
 escreval (" +--------------------------------------------------------------------------+")
 escreval ("")
 escreval ("")
 escreval ("")
fimse
FimProcedimento
Inicio
PROC_ALEATORIOS
PROC_VALORES_INICIAIS
PROC_APRESENTACAO
limpatela
PROC_ENTRADA_DADOS
limpatela
PROC_SAIDA_DADOS
FimAlgoritmo

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando