Dicionário OnLine Workpédia

Retira - Workpédia

 
Retira
retira sf (der regressiva de retirar) desus V retirada.
Assuntos relacionados a Retira

Forças de segurança de Israel retiram colonos de prédio em Hebron

[ Participação Civil ] Pergunta aberta : O que você pensa dessa funcionaria da Caixa Econômica Federal não gosta do cliente, então cancelou meu cartão?

[ Programação e Design ] Pergunta aberta : ola estou querendo ajuda para resouver este programa?

Descrição: Uma determinada escola deverá distribuir livros para os alunos. Sabendo que, conforme os livros são recebidos pela escola para serem passados para os alunos, são empilhados em uma única pilha (ainda que seja preciso uma escada para chegar ao topo da lista, e um equilíbrio fora do comum para não deixá-la desabar!). Os alunos se organizam em uma fila para receber os livros (imagine que eles são muito bem educados e não irão furar a fila). Cada livro entregue a um aluno na fila (seguindo-se a ordem da pilha de livros e fila de alunos) deve ser anotada em uma lista com o nome do aluno e o livro que este recebeu. Sua missão é criar um programa que permita gerenciar: ·A fila de alunos (inclusão de alunos). ·A pilha de livros (inclusão de livros). ·A distribuição dos livros: Entregar o livro ao próximo aluno da fila (remover o livro da pilha e o aluno da fila) O programa não pode permitir que seja distribuído algum livro sem haver aluno para recebê-lo, tão pouco o inverso. Caso não haja livros ou alunos para efetuar uma entrega, o sistema deverá avisar. Deve ser possível exibir a lista, que indicará quais alunos receberam quais livros. Dessa forma, o programa terá as seguintes opções: ·Colocar aluno na fila ·Colocar livro na pilha ·Entregar livro. ·Exibir lista ordem normal. Exibir lista ordem inversa. A lista deverá ser duplamente encadeada. Ao fim do programa a lista deverá ser destruída. Uses Crt; type ApTLivro = ^TLivro; Tlivro = record livro: string; prox : ApTlivro; End; ApTnome = ^Tnome; Tnome = Record nome : String; Prox : ApTNome; End; Type ApTentrega = ^Tentrega; Tdados = Record livro: string; aluno: String; End; Tentrega = Record Dados : Tdados; Prox,ant: ApTentrega; End; {***********************procedimento para inserir*******************} Procedure Inserir (var inici,fim : ApTnome; nome:string); Var aux : ApTnome; Begin new(aux); aux^.nome := nome; If (fim nil) then fim^.prox := aux else inici := aux; aux^.prox := nil; fim:= aux; end; {*************************procedimento para inserir nome****************} procedure InserirNome( var inici,fim : ApTnome); var nome: string; resp : char; begin Repeat ClrScr; write('digite o nome do aluno : '); readln(nome); inserir(inici, fim, nome); Writeln; Writeln('Deseja continuar a inserir S/N ? '); resp:= readkey; resp:= upcase(resp); until (resp='N'); End; {****************************** fun?Æo para remover ************************} Function Removeraluno (Var Inici,fim : ApTnome) : string; Var aux : ApTnome; Begin aux := inici; inici:=inici^.prox; removeraluno := aux^.nome; dispose(aux); If(inici = nil ) then fim := nil; End; {********************** exibir os dados **************************} procedure exibir(var inici,fim : ApTnome); var nome:string; begin nome := removeraluno(inici,fim); { writeln('O proximo aluno ah receber livro : ',nome);} Readln; end; {*************************procedimento inserir livros*****************} Procedure push(var inicio : ApTlivro; livro : string); var aux : ApTlivro; Begin new(aux); aux^.livro := livro; aux^.prox := inicio; inicio := aux; End; {***************************Fun?Æo retirar o livro*********************} Function pop(var inicio : ApTlivro): string; var aux : ApTlivro; Begin aux := inicio; inicio := aux^.prox; pop:= aux^.livro; dispose(aux); end; {********** para conferir se a pilha esta vazia **********} function vazia(var inicio :ApTlivro): boolean; Begin If (inicio = nil) then vazia := true else vazia := false; end; {******************************inserir livro*****************************} Procedure inserirlivro (var inicio : ApTlivro); var livro : string; resp : char; Begin repeat; ClrScr; write(' Digite o nome do livro '); readln(livro); push (inicio,livro); Writeln; write('deseja continuar cadastrndo ? S/N '); resp:=readkey; resp:=upcase(resp); until (resp = 'N'); end; {*****************procedimento para remover livro**************************} procedure removerlivro(var inicio:aptlivro); var liv:string; begin liv:=pop(inicio); end; {*********************procedimentos para inserir os dados na lista ********************* } Procedure Incluirlista(var aux : ApTentrega) ; var INICIO : tlivro; comeco : aptentrega; begin New(aux); { Aux^.Dados:= pop( inicio); } { Aux^.Dados:= exibir; } aux^.ant := Nil; aux^.prox := comeco; If(comeco nil) then comeco^.ant:= aux; comeco := aux; End; {procedimento para exibir os dados} Procedure Exibirlista(aux : ApTentrega); Begin Writeln(aux^.dados.aluno); Writeln; Writeln(aux^.dados.livro); end; {**

Página Anterior
Página 1 de 14
131 verbetes encontrados. Registros 1 até 10
 1 2 3 4 5 6 7 8 9 10 11 12 13 14 

Próxima Página (2)
Workpédia