Sie sind auf Seite 1von 17

CURSO SUPERIOR DE TECNOLOGIA EM ANLISE E DESENVOLVIMENTO DE SISTEMAS

JOSE RUBENILDO DA SILVA EAD00415963 EDGARD EDSON CARDOSO EAD00425106 ELIANE FLORENCIO DE FARIAS EAD00415954 PEDRO PAULO RIBEIRO DE CAMPOS EAD00415967 WILSON FABIANO EPAMINONDAS DE OLIVEIRA EAD00415972

FLUXO DE INFORMAO PARA IMPLEMENTAR UMA PILHA COM INCLUSO E PESQUISA

Cuiab 2010

JOSE RUBENILDO DA SILVA EAD00415963 EDGARD EDSON CARDOSO EAD00425106 ELIANE FLORENCIO DE FARIAS EAD00415954 PEDRO PAULO RIBEIRO DE CAMPOS EAD00415967 WILSON FABIANO EPAMINONDAS DE OLIVEIRA EAD00415972

FLUXO DE INFORMAO PARA IMPLEMENTAR UMA PILHA COM INCLUSO E PESQUISA

Trabalho apresentando a disciplina Algoritmos e estrutura de dados, da Universidade Norte do Paran UNOPAR. Prof. Merris Mozer

Cuiab 2010

SUMRIO

1 2 3 4

INTRODUO .................................................................................................... 3 ALGORITMO ..................................................................................................... 4 TELAS DO ALGORITMO ................................................................................ 11 CONCLUSO ................................................................................................... 15

REFERNCIAS ........................................................................................................ 16

1 INTRODUO

A proposio deste trabalho a montagem de um fluxo de informao para implementar uma PILHA, utilizando o visuALG. Limitaremos nessa proposio o Maximo de 10 elementos. Na tela inicial demonstrar-se- quantos elementos ir aparecer bem como os valores de comeo e fim. Ser verificada uma possvel situao de erro de OVERFLOW. Tambm aparecer um menu, com as opes, 0 Sair, 1 Incluir, 2 Pesquisar. Neste ponto o algoritmo solicitar ao usurio que informe a opo desejada. O usurio poder sair a qualquer momento deste algoritmo, ou seja, para cada operao Incluso ou Pesquisa ser mostrado o Menu novamente, possibilitando ao usurio selecionar 0, 1 ou 2 de novo. Para as opes 1 e 2 o seu algoritmo dever mostrar mensagem na tela solicitando o que for necessrio para sua perfeita execuo, como feito no menu. A cada incluso a tela redesenhada novamente. Para a opo 2 de pesquisa o usurio dever informar um valor a ser pesquisado e tambm se esta pesquisa houve fracasso ou sucesso. Caso o usurio selecione a opo de Sair, encerrar o algoritmo. Primeiramente o algoritmo dever solicitar ao usurio quantos elementos dever existir na pilha.

2 ALGORITMO algoritmo "Montagem de pilha com N elementos" // Funo : Montar um pilha de n Elementos informado pelo usurio // Autor : jose, pedro paulo, edgard,...,... // Data : 14/10/2010 // Seo de Declaraes //procedimentos e funes utilizadas no algoritmo var VIGElementos,VIGInicio,VIGFinal : inteiro VBVetorCompleto: logico VPilha: Vetor[1..10] de caractere inicio procedimento DefinirVetor(VNNumero:Caractere) var inicio VIGElementos <- 11 escolha VNNumero caso "1" VIGElementos <- 1 caso "2" VIGElementos <- 2 caso "3" VIGElementos <- 3 caso "4" VIGElementos <- 4 caso "5" VIGElementos <- 5 caso "6" VIGElementos <- 6 caso "7" VIGElementos <- 7 caso "8" VIGElementos <- 8 caso "9" VIGElementos <- 9 caso "10" VIGElementos <- 10

fimescolha fimprocedimento //Encerrar Sistema procedimento encerrar inicio Limpatela escreval ("+============================================================== ================+") escrevaL ("| IMPLEMENTAO DE PILHA - FIFO |") escreval ("+============================================================== ================+") escreval (" OBRIGADO POR AVALIAR NOSSO SISTEMA ") fimprocedimento //Incluir Elemento procedimento incluir var VSValor : Caractere j : inteiro inicio escreval ("+============================================================== ================+") escrevaL ("|INCLUSO DE UM NOVO VALOR NA PILHA |") escreval ("+============================================================== ================+") escreva (" Novo valor a inserir-> ") Leia (VSValor) para j de 1 ate VIGElementos faca Se VPilha[j] = "" entao VPilha[j] <- VSValor interrompa fimse fimpara fimprocedimento //Pesquisar Elementos

procedimento pesquisar var VSValor : Caractere j : inteiro VBAchou : logico inicio VBachou <- falso escreval ("+============================================================== ================+") escrevaL ("|DIGITE UM VALOR PARA PESQUISA |") escreval ("+============================================================== ================+") escreva (" Valor a pesquisar -> ") Leia (VSValor) para j de 1 ate VIGElementos faca Se VPilha[j] = VSValor entao escreva ("Sucesso! Valor na posio ",J:2, "Aperte F9 para continuar" ) VBAchou <- verdadeiro pausa fimse fimpara se VBAchou = Falso entao escreva ("tem no localizado! Aperte F9 para continuar") pausa fimse fimprocedimento //Limites procedimento LimitesVetor Var X : inteiro inicio para x de 1 ate VIGElementos faca se VPilha[1] = "" entao VIGInicio <- 0 VIGFinal <- 0 interrompa

senao VIGInicio <- 1 se VPilha[x] <> "" entao VIGFInal <- x se x = VIGElementos entao VBVetorCompleto <- verdadeiro fimse fimse fimse fimpara fimprocedimento //Encerrar Sistema procedimento TeladeDados(i:inteiro) Var j : inteiro inicio j <- i Limpatela escreval ("+============================================================== =================+") escrevaL ("| TELA DOS DADOS DA PILHA |") escreval ("| MONTAGEM DA PILHA DE ",j:2," ELEMENTOS |") escreval ("+============================================================== =================+") repita escreval ("Elemento -------->[", j:2 ,"] Valor --->",VPilha[j]) j <- (j - 1) ate (j = 0) LimitesVetor escreval (" Indicador Inicial -> ",VIGInicio:2 , " Indicador Final -> ",VIGFinal:2) fimprocedimento procedimento SolicitarElementos(maximo:inteiro) var Opcao : caracter inicio

Opcao <- "0" //Pode ser qualquer valor apenas para definio do loop enquanto (Opcao = "0") faca Limpatela escreval ("+------------------------------------------------------------------------------+") escrevaL ("| IMPLEMENTAO DE PILHA - FIFO |") escrevaL ("| |") escreval ("+============================================================== ================+") escreval (" INFORME A QUANTIDADE DE ELEMENTOS(mximo " , maximo:2, " ou S para Sair) ") leia(opcao) escolha Opcao caso "S","s" encerrar interrompa outrocaso DefinirVetor(Opcao) Opcao <- "0" se (VIGElementos <= 10) entao TeladeDados(VIGElementos) TelaPilha senao escreval("valor invlido! Aperte F9 para continuar") pausa fimse fimescolha fimenquanto fimprocedimento // Menu Pilha procedimento TelaPilha var Finalizar : caractere Opcoes : caractere inicio <<< SUPORTA AT 10 ELEMENTOS. >>>

Opcoes <- "3" enquanto (Opcoes = "3") faca escreval (" escreval (" escreval (" escreval (" escreval (" escreval (" ") MENU PRINCIPAL ") 1 - INCLUIR 2 - PESQUISAR 0 - SAIR ") ") ") ") ")

escreval (" escreva (" ESCOLHA-> ") leia(Opcoes) //Obrigado informar n de elementos escolha Opcoes caso "0" encerrar interrompa caso "1" se VBVetorCompleto entao Escreva("OVERFLOW!. Pilha preenchida ") escreva("Aperte F9 para continuar") pausa teladeDados(VIGElementos) Telapilha senao incluir TeladeDados(VIGElementos) Telapilha fimse caso "2" pesquisar TeladeDados(VIGElementos) Telapilha outrocaso escreva ("Opo Invlida! Aperte F9 para continuar") pausa telapilha fimescolha fimenquanto fimprocedimento

10

VBVetorCompleto <- Falso SolicitarElementos(10) fimalgoritmo

11

3 TELAS DO ALGORITMO

Figura 1. tela de abertura do algoritmo

Figura 2. Tela com 6 elementos.

12

Figura 3. digitando o valor do primeiro elemento.

Figura 4. Primeiro elemento incluido.

13

Figura 5. Trs elementos incluidos

Figura 6. Tela de pesquisa

14

Figura 7. Pesquisa com sucesso

Figura 8. Tela de Sada

15

4 CONCLUSO Como pode ser notado no algoritmo acima o Visualg uma excelente ferramenta para a construo de algoritmos que do base para programao em qualquer linguagem que o desenvolvedor por ventura use. No importa a linguagem de programao a ser usada o Visualg nos da a visualizao perfeita das rotinas a serem implementadas.

16

REFERNCIAS

DELIBERADOR, PAULO DE TARSO. Algoritmos e Estrutura de Dados Sistemas Mdulo III. Paginas 143 a 146. So Paulo: Pearson Prentice Hall, 2009. https://www20.unopar.br/unopar/ava/aluno/formwebaula.action?gecronofer.gcofCd=1 16811&gecroncont.gcrcNrPagina=3&geoferturm.goftCd=2486217&gediscofer.gofdC d=471670 https://www20.unopar.br/unopar/ava/aluno/formwebaula.action?gecronofer.gcofCd=1 16811&gecroncont.gcrcNrPagina=5&geoferturm.goftCd=2486217&gediscofer.gofdC d=471670 https://www20.unopar.br/unopar/ava/aluno/formwebaula.action?gecronofer.gcofCd=1 16811&gecroncont.gcrcNrPagina=6&geoferturm.goftCd=2486217&gediscofer.gofdC d=471670 https://www20.unopar.br/unopar/ava/aluno/formwebaula.action?gecronofer.gcofCd=1 16811&gecroncont.gcrcNrPagina=7&geoferturm.goftCd=2486217&gediscofer.gofdC d=471670 C:\Program Files (x86)\Apoio\Visualg Verso 2\Help\refer.htm