| |
|
Assuntos relacionados a
Incluir |
|
[ 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;
{**
[ Outras - Governo e Política ] Pergunta aberta : Ups! Parece que o Molusco pagará a língua mais uma vez: O Chaveco prepara novo pacote de re-eleição ilimitada?
Chávez inicia segunda tentativa para reeleição ilimitada
30 de novembro de 2008 - 18:31
CARACAS (Reuters) - O presidente venezuelano, Hugo Chávez, pediu no domingo aos seus partidários para começarem a elaborar uma proposta de emenda da Constituição que permita a sua reeleição indefinidamente, denunciando que seus adversários pretendem atentar contra seu governo.
A iniciativa, incluída em uma proposta de reforma constitucional, foi derrotada em um referendo nacional em 2007.
"Eu dou minha autorização ao Partido Socialista Unido da Venezuela, ao povo venezuelano, para que iniciem um debate e as ações para conseguir uma emenda constitucional e a reeleição do Presidente da República", disse Chávez em um ato transmitido em cadeia nacional de rádio e televisão.
"Estou certo de que agora vamos conseguir, vamos mostrar quem manda na Venezuela", disse Chávez, arrancando aplausos da platéia que presenciava a posse de um dos prefeitos eleitos na semana passada.
Chávez disse que seus adversários que venceram as disputas locais - em 5 dos 17 governos regionais e cerca de 20 por cento das prefeituras - se preparam para um atentado contra a "revolução socialista" e contra o povo, que incluiria a criação de províncias autônomas no país de mais de 28 milhões de habitantes.
Além disso, o presidente ameaçou expulsar o Cônsul da Colômbia por uma suposta conversa do funcionário com um assessor do presidente Alvaro Uribe, transmitida na véspera por um programa de televisão oficial.
"A única forma para eu não expulsar esse cônsul em Maracaibo é que o governo da Colômbia o leve rápido: já. Porque senão, eu vou expulsá-lo", disse Chávez.
Na conversa, uma voz atribuída ao cônsul dizia estar muito contente com os resultados das eleições na Venezuela e falava da cooperação dos governadores opositores dos estados fronteiriços de Zulia e Táchira, sem dizer quais os planos discutidos. Segundo Chávez, trata-se de projetos "separatistas".
[ Outros - Internet ] Pergunta aberta : Como faço para incluir um fundo (imagem) como assinatura de um email?
[ Piadas e Charadas ] Pergunta aberta : Exaustão sexual?..........? ??
[ Nível Superior ] Pergunta aberta : Quem pode me ajudar a falar sobre hipercolesterolimia.?
Presidente da Rússia vai visitar o Brasil no fim de novembro
Berlusconi quer expandir G-8 para incluir emergentes
Obama busca nova estratégia no Afeganistão, diz 'Washington Post'
Obama pode incluir republicanos em seu governo
Página Anterior | Página 1 de 1 9 verbetes encontrados. Registros 1 até 9 1
| Próxima Página |
|
|
|