Baixe o app para aproveitar ainda mais
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
Compartilhar