MCliveira 0 Denunciar post Postado Outubro 4, 2009 Sou novato na área de TI e neste espaço. Tenho lido várias comentários do pessoal e tomei coragem de pedir ajuda aos "veteranos", de quem tem um pouco mais de experiência no assunto. Pois bem, preciso implementar um programa na linguagem pascal para a seguinte situação: uma adega com capacidade para 300 vinhos e, nas ocasiões especiais, o colecionador abre sempre a última aquisição. O algoritmo deve: 1)permitir incluir vários vinhos na adega e 2) informar qual vinho deve ser aberto em uma ocasião especial. Fiz a parte 1), usando a estrutura PILHA, bem principiante mesmo. não consigo fazer a parte 2). Valeu. Program Pzim ; var I: array [0..300] of integer; topo: integer; M,R: string; Begin topo:= -1; R:='sim' ; while R='sim' do Begin writeln ('Deseja inserir ou retirar vinhos da Adega?'); read (M); if M = 'inserir' then if topo <2 then begin writeln ('Codigo do Vinho'); topo:=topo+1; read (I[topo]); end else writeln ('Adega sem espaço para armazenamento') else if topo=-1 then writeln ('Adega vazia. Não temos vinho') else topo:=topo-1; writeln ('Deseja Continuar sim ou não?'); read (R); End; End. Compartilhar este post Link para o post Compartilhar em outros sites
Prog 183 Denunciar post Postado Outubro 4, 2009 Entendo que a "última aquisição" será sempre o primeiro da pilha, ou o último código a que foi inserido. Existem funções especificar para "navegar" num vetor, mas dando uma olhada no seu código, teoricamente bastaria exibir o conteúdo de l[topo]. Pela descrição do problema, também entendi que você deve implementar uma pilha. Isto basta? Compartilhar este post Link para o post Compartilhar em outros sites
MCliveira 0 Denunciar post Postado Outubro 5, 2009 Prog, bom dia. Primeiramente, obrigado por me responder. Segundo, fiquei sem acesso à internet durante todo o dia de ontem(domingo), motivo pelo qual não respondi a sua pergunta. Como hoje está restabelecida a minha conexão, vamos então ao que interessa. Realmente era o que faltava para exibição da última aquisição. Entretanto, não consegui posicionar o conteúdo (I[topo])de forma que ao solicitar a retirada do último valor fosse exibido na tela. Às vezes dá erro outras, só exibi quando eu peço para sair. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Outubro 5, 2009 Como o prog disse sendo uma estrutura pilha, somente o ultimo elemento deverá ser "aberto" o que resultaria na sua exclusão da pilha. Para excluir esse valor, você primeiro exibe ele na tela I[topo], e depois da um topo--, que decrementaria a variavel topo. Obs: Não sei em Pascal qual comando você usa pra decrementar. []s Compartilhar este post Link para o post Compartilhar em outros sites
MCliveira 0 Denunciar post Postado Outubro 5, 2009 quitZAUMMM, Valeu por me responder, Entendi perfeitamente o que você disse, até por que não tinha pensado no topo--. Só que, no momento, andei até onde pude, por isso que estou pedindo a ajuda de vocês pois a minha dúvida agora é: como declarar isso no algoritmo? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Outubro 5, 2009 É como eu disse, você vai ler a opção do usuario. Se ele desejar retirar um vinho. Os comando deverão ser o seguinte. write ('Vinho retirado: '); writeln(I[topo]); topo:=topo-1; Bom como disse soh verifique a sintaxe pois não programo com Pascal. []s Compartilhar este post Link para o post Compartilhar em outros sites
MCliveira 0 Denunciar post Postado Outubro 5, 2009 vou efetuar as declarções e te respondo... Compartilhar este post Link para o post Compartilhar em outros sites
MCliveira 0 Denunciar post Postado Outubro 5, 2009 quitZAUMMM Valeu. Problema resolvido. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Outubro 5, 2009 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites