SlideShare a Scribd company logo
1 of 4
Download to read offline
30/08/2016 15:58:58C:UserselainDocumentsAlgoritmosListaLisat Simplesmente Encadeada Dinâmicalista_simplesmente_encadeada
1: //ELAINE CECÍLIA GATTO
2: //29/08/2016
3:
4: program lista_simplesmente_encadeada_dinamica;
5: uses wincrt, crt;
6:
7: //DECLARANDO UM NOVO TIPO
8: type
9: apont=^reg;
10: reg=record
11: nome: string[10];
12: prox:apont;
13: end;
14:
15: Var
16: opcao : integer;
17: lista, pAux2, pAux1:apont;
18: x : string;
19:
20: //INICIALIZANDO A LISTA
21: procedure inicializaLista();
22: begin
23: lista:=nil;
24: pAux1:=nil;
25: pAux2:=nil;
26: end;
27:
28: //INSERINDO NO FIM DA LISTA
29: procedure insereFinal();
30: begin
31:
32: //se a lista estiver vazia
33: if(lista = nil)then
34: begin
35: new(lista);
36: writeln('Digite o nome');
37: readln(lista^.nome);
38: lista^.prox:=nil;
39: pAux1:=lista;
40: end
41: else
42: begin
43: new(pAux2);
44: writeln('Digite o nome');
45: readln(pAux2^.nome);
46: pAux2^.prox:=nil;
47: pAux1^.prox:=pAux2;
48: pAux1:=pAux2;
49: end;
50: end;
51:
52: //INSERINDO NO INICIO DA LISTA
53: procedure insereInicio();
54: begin
55: //se a lista estiver vazia
56: if(lista = nil)then
57: begin
58: new(lista);
59: writeln('Digite o nome');
60: readln(lista^.nome);
61: lista^.prox:=nil;
62: pAux1:=lista;
63: end
64: else
65: begin
66: new(pAux1);
1/4
30/08/2016 15:58:58C:UserselainDocumentsAlgoritmosListaLisat Simplesmente Encadeada Dinâmicalista_simplesmente_encadeada
67: writeln('Digite o nome');
68: readln(pAux1^.nome);
69: pAux1^.prox:=lista;
70: lista := pAux1;
71: end;
72: end;
73:
74: //REMOVENDO DO INCIO DA LISTA
75: function removeInicio : string;
76: begin
77: //verifica se a lista está vazia
78: if(lista = nil)then
79: begin
80: writeln(' A lista está vazia! ');
81: end
82: else
83: begin
84: //remove se a lista tem apenas um elemento
85: if(lista^.prox = nil)then
86: begin
87: removeInicio := lista^.nome; //remove
88: dispose(lista); //desaloca memória
89: end
90: else
91: begin
92: //remove se a lista tem vários elementos
93: pAux1 := lista; //aponta para o inicio da lista
94: lista := lista^.prox; // lista recebe o próximo
95: removeInicio := pAux1^.nome; //remove do inicio
96: dispose(pAux1); //desaloca memória
97: end;
98: end;
99: end;
100:
101: //REMOVENDO DO FIM DA LISTA
102: function removeFim : string;
103: begin
104: //verifica se a lista está vazia
105: if(lista = nil)then
106: begin
107: writeln(' A lista está vazia! ');
108: end
109: else
110: begin
111: //remove se a lista tem apenas um elemento
112: if(lista^.prox = nil)then
113: begin
114: removeFim := lista^.nome; //remove
115: dispose(lista); //desaloca memória
116: end
117: else
118: begin
119: pAux2 := lista; //auxiliar2 recebe a lista
120: pAux1 := lista; //auxiliar1 recebe a lista
121:
122: //enquanto o próximo elemento de Aux 1 for diferente de NIL
123: while(pAux1^.prox<>nil)do
124: begin
125: pAux2 := pAux1; //auxiliar 2 recebe auxiliar 1
126: pAux1 := pAux1^.prox; //auxiliar 1 recebe o seu próximo
127: end;
128: removeFim := lista^.nome; //remove o elemento desejado
129: dispose(pAux1); //desaloca memória
130: pAux2^.prox := nil; //Aux 2 aponta para o fim da lista
131: end;
132: end;
2/4
30/08/2016 15:58:58C:UserselainDocumentsAlgoritmosListaLisat Simplesmente Encadeada Dinâmicalista_simplesmente_encadeada
133: end;
134:
135: //BUSCAR UM ELEMENTO
136: procedure buscar;
137: begin
138: writeln(' Digite o nome que deseja procurar ');
139: readln(x);
140: pAux1 := lista;
141: while((pAux1<>nil)and(pAux1^.nome<>x))do
142: begin
143: pAux1 := pAux1^.prox;
144: end;
145: write(' Nome encontrado: ');
146: writeln(pAux1^.nome);
147: end;
148:
149: //ATUALIZAR UM ELEMENTO
150: procedure atualizar;
151: begin
152: writeln(' Digite o nome que deseja procurar ');
153: readln(x);
154: pAux1 := lista;
155: while((pAux1<>nil)and(pAux1^.nome<>x))do
156: begin
157: pAux1 := pAux1^.prox;
158: end;
159: write(' Nome encontrado: ');
160: writeln(pAux1^.nome);
161: write(' Atualize o nome ');
162: readln(pAux1^.nome);
163: end;
164:
165: //IMPRIMINDO A LISTA
166: procedure listarTodos();
167: begin
168: if(lista = nil)then
169: begin
170: writeln('lista vazia');
171: end
172: else
173: begin
174: pAux1:=lista;
175: while(pAux1 <> nil)do //imprimindo lista
176: begin
177: write(' NOME : ');
178: writeln(pAux1^.nome);
179: pAux1 := pAux1^.prox;
180: end; //while
181: end; //if
182: end; //begin
183:
184:
185: //PROGRAMA PRINCIPAL
186: procedure menu;
187: begin
188: repeat
189: writeln(' MENU ');
190: writeln (' 1. Inicializar a Lista ');
191: writeln (' 2. Inserir no fim da Lista ');
192: writeln (' 3. Imprimir Lista ');
193: writeln (' 4. Inserir no inicio da Lista ');
194: writeln (' 5. Remover do inicio da Lista ');
195: writeln (' 6. Remover do fim da Lista ');
196: writeln (' 7. Buscar um elemento na Lista ');
197: writeln (' 8. Atualize um elemento na Lista ');
198: writeln (' 0. SAIR ');
3/4
30/08/2016 15:58:58C:UserselainDocumentsAlgoritmosListaLisat Simplesmente Encadeada Dinâmicalista_simplesmente_encadeada
199: writeln('');
200: write(' Digite a opcao desejada: ');
201: readln(opcao);
202: writeln('');
203:
204: Case opcao Of
205: 1 : Begin
206: inicializaLista();
207: writeln('');
208: end;
209: 2 : Begin
210: insereFinal();
211: writeln('');
212: end;
213: 3 : Begin
214: listarTodos();
215: writeln('');
216: end;
217: 4 : Begin
218: insereInicio();
219: writeln('');
220: end;
221: 5 : Begin
222: removeInicio();
223: writeln('');
224: end;
225: 6 : Begin
226: removeFim();
227: writeln('');
228: end;
229: 7 : Begin
230: buscar();
231: writeln('');
232: end;
233: 8 : Begin
234: atualizar();
235: writeln();
236: end;
237: Else Writeln (' inválido ');
238: End;
239: until opcao = 0;
240: writeln('');
241: end;
242:
243:
244: //PROGRAMA PRINCIPAL
245: begin
246: menu();
247: end.
4/4

More Related Content

What's hot (8)

Arvore binária
Arvore bináriaArvore binária
Arvore binária
 
Lista simplesmente encadeada
Lista simplesmente encadeada Lista simplesmente encadeada
Lista simplesmente encadeada
 
Lista Encadeada Simples: Inserção no Final
Lista Encadeada Simples: Inserção no FinalLista Encadeada Simples: Inserção no Final
Lista Encadeada Simples: Inserção no Final
 
Filas
FilasFilas
Filas
 
Árvore Binária
Árvore BináriaÁrvore Binária
Árvore Binária
 
Why functional programming matters
Why functional programming mattersWhy functional programming matters
Why functional programming matters
 
Pilhas
PilhasPilhas
Pilhas
 
Comparando dois números
Comparando dois númerosComparando dois números
Comparando dois números
 

Viewers also liked

Viewers also liked (6)

Hash Endereçamento Quadrático Operações
Hash Endereçamento Quadrático OperaçõesHash Endereçamento Quadrático Operações
Hash Endereçamento Quadrático Operações
 
Resume_ Vivek Sharma_3yrs.
Resume_ Vivek Sharma_3yrs.Resume_ Vivek Sharma_3yrs.
Resume_ Vivek Sharma_3yrs.
 
Heap Máximo
Heap MáximoHeap Máximo
Heap Máximo
 
礦晶皂簡報0913
礦晶皂簡報0913礦晶皂簡報0913
礦晶皂簡報0913
 
Presentazione navì
Presentazione navìPresentazione navì
Presentazione navì
 
2010 sustainability index
2010 sustainability index2010 sustainability index
2010 sustainability index
 

More from Elaine Cecília Gatto

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaElaine Cecília Gatto
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaElaine Cecília Gatto
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Elaine Cecília Gatto
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCElaine Cecília Gatto
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxElaine Cecília Gatto
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Elaine Cecília Gatto
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarElaine Cecília Gatto
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesElaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationElaine Cecília Gatto
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfElaine Cecília Gatto
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Elaine Cecília Gatto
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...Elaine Cecília Gatto
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoElaine Cecília Gatto
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsElaine Cecília Gatto
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoElaine Cecília Gatto
 

More from Elaine Cecília Gatto (20)

A influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etariaA influência da Tecnologia em cada faixa etaria
A influência da Tecnologia em cada faixa etaria
 
Inteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à MedicinaInteligência Artificial Aplicada à Medicina
Inteligência Artificial Aplicada à Medicina
 
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
Além do Aprendizado Local e Global: Particionando o espaço de classes em prob...
 
Apresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPCApresentação da minha tese de doutorado no EPPC
Apresentação da minha tese de doutorado no EPPC
 
entrevista r7.pdf
entrevista r7.pdfentrevista r7.pdf
entrevista r7.pdf
 
Como a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptxComo a pesquisa científica impacta o mundo real.pptx
Como a pesquisa científica impacta o mundo real.pptx
 
Empoderamento Feminino
Empoderamento FemininoEmpoderamento Feminino
Empoderamento Feminino
 
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...Explorando correlações entre rótulos para o particionamento do espaço de rótu...
Explorando correlações entre rótulos para o particionamento do espaço de rótu...
 
Community Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCarCommunity Detection for Multi-Label Classification - Seminários UFSCar
Community Detection for Multi-Label Classification - Seminários UFSCar
 
Classificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de CorrelaçõesClassificação Multirrótulo: Aprendizado de Correlações
Classificação Multirrótulo: Aprendizado de Correlações
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Community Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label ClassificationCommunity Detection Method for Multi-Label Classification
Community Detection Method for Multi-Label Classification
 
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdfMulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
Mulheres na Campus Party assumir o feminismo ou não – Blogueiras Feministas.pdf
 
Curtinhas de sábado.pdf
Curtinhas de sábado.pdfCurtinhas de sábado.pdf
Curtinhas de sábado.pdf
 
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
Explorando Correlações entre Rótulos usando Métodos de Detecção de Comu...
 
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
EXPLORANDO CORRELAÇÕES PARA O PARTICIONAMENTO DO ESPAÇO DE RÓTULOS EM PROBLEM...
 
Pipeline desdobramento escalonamento
Pipeline desdobramento escalonamentoPipeline desdobramento escalonamento
Pipeline desdobramento escalonamento
 
Cheat sheet Mips 32 bits
Cheat sheet Mips 32 bitsCheat sheet Mips 32 bits
Cheat sheet Mips 32 bits
 
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bitsResumo das Instruções de Desvio Incondicionais MIPS 32 bits
Resumo das Instruções de Desvio Incondicionais MIPS 32 bits
 
Como descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcaçãoComo descobrir e classificar coisas usando machine learning sem compilcação
Como descobrir e classificar coisas usando machine learning sem compilcação
 

Recently uploaded

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesFabianeMartins35
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfHELENO FAVACHO
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOAulasgravadas3
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfFrancisco Márcio Bezerra Oliveira
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...azulassessoria9
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoGentil Eronides
 
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdfBlendaLima1
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......suporte24hcamin
 

Recently uploaded (20)

Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Revolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividadesRevolução russa e mexicana. Slides explicativos e atividades
Revolução russa e mexicana. Slides explicativos e atividades
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdfPROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
PROJETO DE EXTENSÃO - EDUCAÇÃO FÍSICA BACHARELADO.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃOFASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
FASE 1 MÉTODO LUMA E PONTO. TUDO SOBRE REDAÇÃO
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
BNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimentoBNCC Geografia.docx objeto de conhecimento
BNCC Geografia.docx objeto de conhecimento
 
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
3-Livro-Festa-no-céu-Angela-Lago.pdf-·-versão-1.pdf
 
Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......Introdução a Caminhada do Interior......
Introdução a Caminhada do Interior......
 

Lista Encadeada Dinâmica em Pascal

  • 1. 30/08/2016 15:58:58C:UserselainDocumentsAlgoritmosListaLisat Simplesmente Encadeada Dinâmicalista_simplesmente_encadeada 1: //ELAINE CECÍLIA GATTO 2: //29/08/2016 3: 4: program lista_simplesmente_encadeada_dinamica; 5: uses wincrt, crt; 6: 7: //DECLARANDO UM NOVO TIPO 8: type 9: apont=^reg; 10: reg=record 11: nome: string[10]; 12: prox:apont; 13: end; 14: 15: Var 16: opcao : integer; 17: lista, pAux2, pAux1:apont; 18: x : string; 19: 20: //INICIALIZANDO A LISTA 21: procedure inicializaLista(); 22: begin 23: lista:=nil; 24: pAux1:=nil; 25: pAux2:=nil; 26: end; 27: 28: //INSERINDO NO FIM DA LISTA 29: procedure insereFinal(); 30: begin 31: 32: //se a lista estiver vazia 33: if(lista = nil)then 34: begin 35: new(lista); 36: writeln('Digite o nome'); 37: readln(lista^.nome); 38: lista^.prox:=nil; 39: pAux1:=lista; 40: end 41: else 42: begin 43: new(pAux2); 44: writeln('Digite o nome'); 45: readln(pAux2^.nome); 46: pAux2^.prox:=nil; 47: pAux1^.prox:=pAux2; 48: pAux1:=pAux2; 49: end; 50: end; 51: 52: //INSERINDO NO INICIO DA LISTA 53: procedure insereInicio(); 54: begin 55: //se a lista estiver vazia 56: if(lista = nil)then 57: begin 58: new(lista); 59: writeln('Digite o nome'); 60: readln(lista^.nome); 61: lista^.prox:=nil; 62: pAux1:=lista; 63: end 64: else 65: begin 66: new(pAux1); 1/4
  • 2. 30/08/2016 15:58:58C:UserselainDocumentsAlgoritmosListaLisat Simplesmente Encadeada Dinâmicalista_simplesmente_encadeada 67: writeln('Digite o nome'); 68: readln(pAux1^.nome); 69: pAux1^.prox:=lista; 70: lista := pAux1; 71: end; 72: end; 73: 74: //REMOVENDO DO INCIO DA LISTA 75: function removeInicio : string; 76: begin 77: //verifica se a lista está vazia 78: if(lista = nil)then 79: begin 80: writeln(' A lista está vazia! '); 81: end 82: else 83: begin 84: //remove se a lista tem apenas um elemento 85: if(lista^.prox = nil)then 86: begin 87: removeInicio := lista^.nome; //remove 88: dispose(lista); //desaloca memória 89: end 90: else 91: begin 92: //remove se a lista tem vários elementos 93: pAux1 := lista; //aponta para o inicio da lista 94: lista := lista^.prox; // lista recebe o próximo 95: removeInicio := pAux1^.nome; //remove do inicio 96: dispose(pAux1); //desaloca memória 97: end; 98: end; 99: end; 100: 101: //REMOVENDO DO FIM DA LISTA 102: function removeFim : string; 103: begin 104: //verifica se a lista está vazia 105: if(lista = nil)then 106: begin 107: writeln(' A lista está vazia! '); 108: end 109: else 110: begin 111: //remove se a lista tem apenas um elemento 112: if(lista^.prox = nil)then 113: begin 114: removeFim := lista^.nome; //remove 115: dispose(lista); //desaloca memória 116: end 117: else 118: begin 119: pAux2 := lista; //auxiliar2 recebe a lista 120: pAux1 := lista; //auxiliar1 recebe a lista 121: 122: //enquanto o próximo elemento de Aux 1 for diferente de NIL 123: while(pAux1^.prox<>nil)do 124: begin 125: pAux2 := pAux1; //auxiliar 2 recebe auxiliar 1 126: pAux1 := pAux1^.prox; //auxiliar 1 recebe o seu próximo 127: end; 128: removeFim := lista^.nome; //remove o elemento desejado 129: dispose(pAux1); //desaloca memória 130: pAux2^.prox := nil; //Aux 2 aponta para o fim da lista 131: end; 132: end; 2/4
  • 3. 30/08/2016 15:58:58C:UserselainDocumentsAlgoritmosListaLisat Simplesmente Encadeada Dinâmicalista_simplesmente_encadeada 133: end; 134: 135: //BUSCAR UM ELEMENTO 136: procedure buscar; 137: begin 138: writeln(' Digite o nome que deseja procurar '); 139: readln(x); 140: pAux1 := lista; 141: while((pAux1<>nil)and(pAux1^.nome<>x))do 142: begin 143: pAux1 := pAux1^.prox; 144: end; 145: write(' Nome encontrado: '); 146: writeln(pAux1^.nome); 147: end; 148: 149: //ATUALIZAR UM ELEMENTO 150: procedure atualizar; 151: begin 152: writeln(' Digite o nome que deseja procurar '); 153: readln(x); 154: pAux1 := lista; 155: while((pAux1<>nil)and(pAux1^.nome<>x))do 156: begin 157: pAux1 := pAux1^.prox; 158: end; 159: write(' Nome encontrado: '); 160: writeln(pAux1^.nome); 161: write(' Atualize o nome '); 162: readln(pAux1^.nome); 163: end; 164: 165: //IMPRIMINDO A LISTA 166: procedure listarTodos(); 167: begin 168: if(lista = nil)then 169: begin 170: writeln('lista vazia'); 171: end 172: else 173: begin 174: pAux1:=lista; 175: while(pAux1 <> nil)do //imprimindo lista 176: begin 177: write(' NOME : '); 178: writeln(pAux1^.nome); 179: pAux1 := pAux1^.prox; 180: end; //while 181: end; //if 182: end; //begin 183: 184: 185: //PROGRAMA PRINCIPAL 186: procedure menu; 187: begin 188: repeat 189: writeln(' MENU '); 190: writeln (' 1. Inicializar a Lista '); 191: writeln (' 2. Inserir no fim da Lista '); 192: writeln (' 3. Imprimir Lista '); 193: writeln (' 4. Inserir no inicio da Lista '); 194: writeln (' 5. Remover do inicio da Lista '); 195: writeln (' 6. Remover do fim da Lista '); 196: writeln (' 7. Buscar um elemento na Lista '); 197: writeln (' 8. Atualize um elemento na Lista '); 198: writeln (' 0. SAIR '); 3/4
  • 4. 30/08/2016 15:58:58C:UserselainDocumentsAlgoritmosListaLisat Simplesmente Encadeada Dinâmicalista_simplesmente_encadeada 199: writeln(''); 200: write(' Digite a opcao desejada: '); 201: readln(opcao); 202: writeln(''); 203: 204: Case opcao Of 205: 1 : Begin 206: inicializaLista(); 207: writeln(''); 208: end; 209: 2 : Begin 210: insereFinal(); 211: writeln(''); 212: end; 213: 3 : Begin 214: listarTodos(); 215: writeln(''); 216: end; 217: 4 : Begin 218: insereInicio(); 219: writeln(''); 220: end; 221: 5 : Begin 222: removeInicio(); 223: writeln(''); 224: end; 225: 6 : Begin 226: removeFim(); 227: writeln(''); 228: end; 229: 7 : Begin 230: buscar(); 231: writeln(''); 232: end; 233: 8 : Begin 234: atualizar(); 235: writeln(); 236: end; 237: Else Writeln (' inválido '); 238: End; 239: until opcao = 0; 240: writeln(''); 241: end; 242: 243: 244: //PROGRAMA PRINCIPAL 245: begin 246: menu(); 247: end. 4/4