Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
practica 9 ejercicio 7
program HelloWorld; {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- CONST - Define las constantes para usar en tiempo de compilacion} const dias = 9; FIN = 'fin'; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- TYPE - Define los tipos creados por el usuario para usar en tiempo de compilacion} type rangoDias = 0 .. dias; Tnombre = string[15]; Telemento = record dni : integer; nombre : Tnombre; apellido : Tnombre; monto : real; end; Tlista = ^nodo ; nodo = record datos : Telemento; sig : Tlista; end; Tvector = array [rangoDias] of Tlista; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- VARIABLES GLOBALES - Define variables que se podran usar por todos los modulos de ser necesarias} // var {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- LEER ELEMENTO ...} procedure leerElemento(var e : Telemento); begin readln(e.nombre); if e.nombre <> FIN then begin readln(e.apellido); e.dni := random(9999); e.monto := random(9999); end; end; {----------------------------------------------------------------- AGREGAR ELEMENTO ...} procedure agregarElemento(var l : Tlista; e : Telemento); var nue : Tlista; begin new(nue); nue^.datos:= e; nue^.sig := l; l := nue; end; {----------------------------------------------------------------- CARGAR LISTA ...} procedure cargarLista(var l: Tlista); var e : Telemento; begin l := nil; leerElemento(e); while e.nombre <> FIN do begin agregarElemento(l,e); leerElemento(e); end; end; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- IMPRIMIR ELEMENTO ...} procedure imprimirElemento(e : Telemento); begin writeln('nombre : ',e.nombre); writeln('apellido : ',e.apellido); writeln('dni : ',e.dni); writeln('monto : ',e.monto:10:2); writeln('-----------------------------------------------------------------'); end; {----------------------------------------------------------------- IMPRIMIR LISTA ...} procedure imprimirLista( l: Tlista); begin while l <> nil do begin imprimirElemento(l^.datos); l:= l^.sig; end; writeln('---------------------------------------------------------------------------------------------------------------'); end; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- INFORMAR ...} procedure informar(v : Tvector); var i : rangoDias; begin for i := 0 to dias do begin writeln('En el dia ',i+1,' pagan ------------------------'); imprimirLista(v[i]); end; end; {----------------------------------------------------------------- AGREGAR AL FINAL ... } procedure agregarAlFinal(var l : Tlista; e : Telemento); var ult,nue : Tlista; begin new(nue); nue^.datos := e; nue^.sig := nil; if l <> nil then begin ult := l; while ult^.sig <> nil do ult := ult^.sig; ult^.sig := nue; end else l := nue; end; {----------------------------------------------------------------- INICIALIZAR ... } procedure inicializar (var v : Tvector); var i : rangoDias; begin for i := 0 to dias do v[i] := nil; end; {----------------------------------------------------------------- RECORRER LISTA ...} procedure recorrerLista(l : Tlista; var v : Tvector); var n : rangoDias; begin inicializar(v); while l <> nil do begin n := l^.datos.dni mod 10 ; agregarAlFinal(v[n],l^.datos); l := l^.sig; end; informar(v); 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; {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- LIBERAR LISTAS ...} procedure liberarListas(var l: Tlista;var v : Tvector); var i : rangoDias; begin liberarLista(l); for i := 0 to dias do liberarLista(v[i]); end; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- PROGRAMA PRINCIPAL} var l : Tlista; v : Tvector; begin cargarLista(l); imprimirLista(l); recorrerLista(l,v); liberarListas(l,v); end. {-----------------------------------------------------------------------------------------------------------------------}
run
|
edit
|
history
|
help
0
6
09
(p,q,r)
2sdfghkl
5 5
ANDERSON MARINS DE SOUZA 600622591
Tri 1.0
practica 7 ejercicio 1
Определение типа треугольника по трём сторонам
buscar_numero_V2_divisible_5