Hehe haha
Item1
nil nil Rita
Rita
Item
Item
Origem
Origem
Figura 1
Figura 1
Pedro
Pedro
Ana
Ana
Zé
Zé | 2 | Type lig ^Pessoal; | | 3 | Pessoal=Record | | 4 | Nome: string; | | 5 | End; | | 6 | Var item, origem,item1:Pessoal; | | 7 | N, I: Integer; | | 8 | Begin | | 9 | New (item); | | 10 | Item^.nome: =‘Ana’; item: =origem; | | 11 | New (item); | | 12 | Item^.nome: =‘Zé’; item1^.next: =item; item1: =item; | | 13 | New (item); | | 14 | Item^.nome: =‘Pedro’; item1^.next: =item; item1: =item; | | 15 | New (item); | | 16 | Item^.nome: =‘Rita’; item^.next:=nil; | | 17 | Proc_Alterar; | | 18 | End. | | a. Identifique no programa erros de sintaxe e de lógica, corrigindo-os. (4val)
2 – lig=^pessoal;
4 – next:lig;
6 – var item, origem, item1:lig;
10 – origem:=item; item1:=item;
16 – item1^.next:=item;
b. Se o procedimento Proc_Alterar tiver as seguintes linhas de código, indique quais as alterações que sucederiam na lista: (8val) i. Procedure proc_alterar;
Begin
Item:=origem^.next; origem^.next:=item1; Item^.next:=origem;
End;
nil nil Rita
Rita
Ana
Ana
Zé
Zé
Pedro
Pedro
origem item item1
ii. Procedure proc_alterar;
Begin
Item^.next:=origem^.next; Origem^.next:=nil; Item1^.next:=origem;
End;
nil nil ze ze pedro pedro rita rita Ana
Ana
item1 item origem
iii. Procedure proc_alterar;
Begin
Item:=origem^.next; origem^.next:=item1; dispose(item);
End;
nil nil rita rita pedro pedro Ana
Ana
Origem item1 iv. Procedure proc_alterar;
Begin
Item^.next:=item1; Origem:=Origem^.next Origem^.next:=item; Item1^.next:=nil;
End;
Ana
Ana
ze ze rita rita nil nil pedro pedro Origem item1 item
2. Faça um programa que permita criar uma