Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
practica 9 ejercicio 4
program HelloWorld; {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- CONST - Define las constantes para usar en tiempo de compilacion} const asientos = 1000; FIN = 'fin'; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- TYPE - Define los tipos creados por el usuario para usar en tiempo de compilacion} type Tnombre = string[15]; rangoAsientos = 1 .. asientos; Tavion = record marca : Tnombre; modelo : Tnombre; asiento : rangoAsientos; end; Tlista = ^nodo; nodo = record datos : Tavion; 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; e : Tavion); var nue,act,ant : Tlista; begin new(nue); nue^.datos := e; act := l; ant := l; while (act <> nil) and (act^.datos.marca > nue^.datos.marca) do begin ant := act; act := act^.sig; end; if (ant = l) then begin l := nue; end else ant^.sig := nue; nue^.sig:= act; end; {----------------------------------------------------------------- LEER AVION...} procedure leerAvion(var a : Tavion); begin readln(a.marca); if a.marca <> FIN then begin readln(a.modelo); a.asiento := 200; end; end; {----------------------------------------------------------------- CARGAR LISTAS ...} procedure cargarLista(var l : Tlista); var e : Tavion; begin l := nil; leerAvion(e); while (e.marca <> FIN) do begin insertarOrdenado(l,e); leerAvion(e); end; end; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- IMPRIMIR LISTA ... } procedure imprimirLista(l : Tlista); begin while l <> nil do begin writeln('marca : ',l^.datos.marca,' modelo : ', l^.datos.modelo,' asiento : ',l^.datos.asiento); l := l^.sig; end; writeln('-----------------------------------------------------------------'); end; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- INSERTAR AVION ...} procedure insertarAvion(l : Tlista); var a : Tavion; begin leerAvion(a); writeln('insertar avion ',a.marca); writeln; insertarOrdenado(l,a); imprimirLista(l); end; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} function comparar(a,e : Tavion):boolean; begin if (a.marca = e.marca)and(a.modelo = e.modelo)and(a.asiento = e.asiento) then begin comparar := false; end else comparar := true; end; {----------------------------------------------------------------- BORAR ELEMENTO } procedure borrarElemento(var l : Tlista; e : Tavion); var act,ant : Tlista; begin act:= l; ant := l; while comparar( act^.datos, e) do begin ant := act; act := act^.sig; end; if act = l then begin ant := act^.sig; end else ant^.sig := act^.sig; dispose(act); end; {----------------------------------------------------------------- EXISTE ...} function existe(l : Tlista; a : Tavion): boolean; begin while (l <> nil) and comparar(l^.datos,a) do l := l^.sig; if l = nil then begin existe := false; end else existe := true; end; {----------------------------------------------------------------- BORRAR AVION ...} procedure borrarAvion(l : Tlista); var a : Tavion; begin leerAvion(a); if existe(l,a) then begin writeln('borrar avion ',a.marca); writeln; borrarElemento(l,a); imprimirLista(l); end else writeln('el avion a borrar no existe ...'); 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; {-----------------------------------------------------------------------------------------------------------------------} {-----------------------------------------------------------------------------------------------------------------------} {----------------------------------------------------------------- PROGRAMA PRINCIPAL} var l : Tlista; begin cargarLista(l); imprimirLista(l); insertarAvion(l); borrarAvion(l); liberarLista(l); end. {-----------------------------------------------------------------------------------------------------------------------}
run
|
edit
|
history
|
help
0
zad27-notoptimal
LUCAS SERRADO GOES CONCEICAO 600624134
zadacha2
imprimir_numeros_hasta_N
lala
Грицанова, стр. 26, Пример 1.7
Huong11a2@
Projet1
sandogh 1
FRANCILENE PEIXOTO LOPES DA MATA 600621615