Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
practica 11 ejercicio 1
program HelloWorld; {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- CONST - Define las constantes para usar en tiempo de compilacion} const codigos = 9; FIN = 'fin'; max = 100000; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- TYPE - Define los tipos creados por el usuario para usar en tiempo de compilacion} type rangoCodigos = 1 .. codigos; Tnombre = string[14]; Tcliente = record DNI : integer; nombre : Tnombre; apellido : Tnombre; codigo : rangoCodigos; monto : real; end; Tlista = ^nodo; nodo = record datos : Tcliente; sig : Tlista; end; Tvector = array [rangoCodigos] of integer; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- VARIABLES GLOBALES - Define variables que se podran usar por todos los modulos de ser necesarias} //var {-----------------------------------------------------------------------------------------------------------------------} // cargar listas {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- LEER ELEMENTO ...} procedure leerElemento(var e : Tcliente); begin readln(e.nombre); if e.nombre <> FIN then begin readln(e.apellido); e.codigo :=random(9)+1; e.monto :=random(10000); e.DNI:=random(30); end; end; {----------------------------------------------------------------- AGREGAR ELEMENTO ...} procedure agregarElemento(var l : Tlista; e : Tcliente); var nue : Tlista; begin new(nue); nue^.datos:= e; nue^.sig := l; l:= nue; end; {----------------------------------------------------------------- CARGAR LISTA ...} procedure cargarLista(var l: Tlista); var e : Tcliente; begin l := nil; leerElemento(e); while e.nombre <> FIN do begin agregarElemento(l,e); leerElemento(e); end; end; {-----------------------------------------------------------------------------------------------------------------------} // imprimir lista {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- IMPRIMIR ELEMENTO ...} procedure imprimirElemento(e : Tcliente); begin writeln('nombre : ',e.nombre); writeln('apellido : ',e.apellido); writeln('codigo : ',e.codigo); writeln('monto : ',e.monto:10:2); writeln('-----------------------------------------------------------------'); end; {----------------------------------------------------------------- IMPRIMIR LISTA ...} procedure imprimirLista( l: Tlista); begin writeln('imprimimos lista -----------------------------------------------------------------'); while l <> nil do begin imprimirElemento(l^.datos); l:= l^.sig; end; writeln('---------------------------------------------------------------------------------------------------------------'); end; {-----------------------------------------------------------------------------------------------------------------------} // recorrer {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- INFORMAR ...} procedure informar (v : Tvector; mx : integer; sin_atender : integer); var i, nmax : rangoCodigos; begin for i:= 1 to codigos do begin if v[i] > mx then begin nmax := i; mx := v[i]; end; end; writeln('el codigo de impuesto mas pagado fue : ', nmax); writeln('quedaron sin atender ',sin_atender,' clientes'); end; {----------------------------------------------------------------- INICIALIZACION ...} procedure inicializacion(var v : Tvector ; var monto : real; var s : integer); var i : rangoCodigos; begin s := 0; for i := 1 to codigos do v[i] := 0; monto := 0; end; {----------------------------------------------------------------- RECORRER LISTA ...} procedure recorrerLista(l : Tlista); var v : Tvector; monto : real; sin_atender : integer; begin inicializacion(v,monto,sin_atender); while (l <> nil) and (monto <= max ) do begin // ejercicio 1 monto := l^.datos.monto + monto; // ejercicio 2 v[l^.datos.codigo]:= v[l^.datos.codigo]+ 1; l := l^.sig; end; // ejercicio 3 while (l <> nil) do begin sin_atender := sin_atender + 1; l := l^.sig; end; informar(v,0,sin_atender); end; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- PROGRAMA PRINCIPAL} var l : Tlista; begin randomize; cargarLista(l); imprimirLista(l); recorrerLista(l); end. {-----------------------------------------------------------------------------------------------------------------------}
run
|
edit
|
history
|
help
0
Blanko char
BubbleSor (slimmer)
Tugas1
Naloga 12: 3.9.2003
practica 3 ejercicio B7
24/10/17
135
practica 7 ejercicio 5
sorting_direct_choise_no_optimized
Tugas