Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
practica 9 ejercicio 12
program HelloWorld; {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- CONST - Define las constantes para usar en tiempo de compilacion} const FIN = 0; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- TYPE - Define los tipos creados por el usuario para usar en tiempo de compilacion} type Tlista = ^nodo; nodo = record datos : integer; sig : Tlista; end; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- VARIABLES GLOBALES - Define variables que se podran usar por todos los modulos de ser necesarias} //var {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- INSERTAR ORDENADO ...} procedure insertarOrdenado(var l : Tlista; n : integer); var nue ,act, ant: Tlista; begin new (nue); nue^.datos := n; act := l; while (act <> nil) and (act^.datos < nue^.datos) do begin ant := act; act := act^.sig; end; if act = l then begin l := nue; end else ant^.sig := nue; nue^.sig := act; end; {----------------------------------------------------------------- AGREGAR ELEMENTO ...} procedure agregarElemento(var l : Tlista; n : integer); var nue : Tlista; begin new (nue); nue^.datos := n; nue^.sig := l; l := nue; end; {----------------------------------------------------------------- CARGAR LISTA ...} procedure cargarLista(var l: Tlista); var n : integer; begin l := nil; n := random(20); while (n <> FIN) do begin insertarOrdenado(l,n); n := random(20); end; end; {----------------------------------------------------------------- IMPRIMIR LISTA ...} procedure imprimirLista(l : Tlista); begin while l^.sig <> nil do begin write(l^.datos,' - '); l:= l^.sig; end; write(l^.datos, '.'); end; {----------------------------------------------------------------- LIBERAR LISTA ...} procedure liberarLista(var l : Tlista); var aux : Tlista; begin while l <> nil do begin aux := l^.sig; dispose(l); l := aux; end; end; {----------------------------------------------------------------- ELIMINAR ELEMENTO ...// se verificó que el elemento existe previamente, lo que hace que el modulo sea mas simple} procedure eliminarElemento(var l : Tlista; e : integer); var ant,act : Tlista; begin act := l; ant := l; while act^.datos <> e do begin ant := act; act := act^.sig; end; if act = l then begin l := act^.sig; end else ant^.sig := act^.sig; dispose(act); end; // ----------------ejercicios---------------- // {----------------------------------------------------------------- UNIR LISTA ...} function unirListas(a,b : Tlista):Tlista; var l : Tlista; begin l := nil; while b <> nil do begin insertarOrdenado(l,b^.datos); b := b^.sig; end; while a <> nil do begin insertarOrdenado(l,a^.datos); a:= a^.sig; end; unirListas:=l; end; {----------------------------------------------------------------- SEGUNDO MODULO ...} procedure segundoModulo(var a : Tlista; b : Tlista); begin while b <> nil do begin insertarOrdenado(a,b^.datos); b := b^.sig; end; writeln('se insertó ordenado b en a'); end; {----------------------------------------------------------------- TERCER MODULO ...} procedure tercerModulo(var a : Tlista); var n : integer;aux : Tlista; begin aux := a; n := random(19)+1; while aux <> nil do begin if aux^.datos = n then begin eliminarElemento(a,n); end ; aux := aux^.sig; end; writeln('el elemento borrado es ',n); end; {-----------------------------------------------------------------------------------------------------------------------} // agregado {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- } procedure espacio; begin writeln;writeln;writeln;writeln; writeln('--------------------------------------------------------------------------'); writeln;writeln;writeln;writeln; end; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- PROGRAMA PRINCIPAL} var a,b,c : Tlista; begin randomize; cargarLista(a); cargarLista(b); imprimirLista(a);espacio; imprimirLista(b);espacio; c := unirListas(a,b); imprimirLista(c); espacio; segundoModulo(a,b); imprimirLista(a); espacio; tercerModulo(a); imprimirLista(a); end. {-----------------------------------------------------------------------------------------------------------------------}
run
|
edit
|
history
|
help
0
practica 9 ejercicio 5
practica 3 ejercicio B2
Pi
Tinh tong
pdp31-boolean
tabeliran polinom
test08
Mengubah desimal ke biner
zad27-notoptimized
a 3 .a