Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- with Ada.Text_IO;
- use Ada.Text_IO;
- procedure ejercicio_7 is
- -- Definimos el tipo Registro
- --type Tipo_Hora is array(Positive range <>) of Character;
- --type Tipo_Unidad is array(Positive range <>) of Character;
- type Tipo_Registro is
- record
- -- Valores por defecto
- Hora:String(1..8);
- Valor:Integer;
- Unidad:String(1..20);
- end record;
- -- Declaramos los elementos de una lista enlazada
- type Nodo;
- type Enlace is access Nodo;
- type Nodo is record
- Valor:Tipo_Registro;
- Siguiente:Enlace:=null;
- end record;
- -- Declaramos tres elementos para añadirlos a la lista
- A:Enlace;
- B:Enlace;
- C:Enlace;
- -- Declaramos un elemento para recorrer la lista y un índice
- Dato:Enlace;
- I:Integer;
- begin
- -- Inicializamos los elementos y creamos la lista
- A:=new Nodo;
- B:=new Nodo;
- C:=new Nodo;
- A.Valor:=("13:00 pm",25,"[Grados centígrados]");
- A.Siguiente:=B;
- B.Valor:=("14:00 pm",40,"[Grados centígrados]");
- B.Siguiente:=C;
- C.Valor:=("01:00 am",8,"[Grados centígrados]");
- -- Usamos estos elementos para recorrer la lista
- Dato:=A;
- I:=1;
- -- Recorremos la lista para mostrar su contenido
- Put_Line("Los elementos de la lista son: ");
- loop
- exit when Dato=null;
- Put_Line("Dato nº" & I'Img);
- Put_Line("Hora: "& (Dato.Valor.Hora));
- Put_Line("Valor: "& Dato.Valor.Valor'Img);
- Put_Line("Unidad: "& (Dato.Valor.Unidad));
- Put_Line("");
- I:=I+1;
- Dato:=Dato.Siguiente;
- exit when Dato=null;
- end loop;
- end ejercicio_7;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement