|
Bienvenido a mis Tutorías
©
en la UNED
Exámenes |
|
![]() |
Programación I, 1ª Semana, Tipo B, Febrero 2000:
Test
|
|
Programación I, 1ª Semana, Febrero 2000:
Ejercicio Práctico Definir en un modulo un tipo de dato que contenga la siguiente información altura, velocidad y rumbo (Norte, Sur, Este, Oeste) y los procesos LeerVelocidad, LeerAltura, LeerRumbo. Desarrollar solamente el módulo de definición. A continuación desarrollar un Programa que haga uso del tipo definido y que imprima por pantalla la información referente a 20 aviones.
DEFINITION MODULE VelAltRu;
TYPE
TipoRumbo=(Norte, Sur, Este, Oeste);
TipoVelAltRu= RECORD
Velocidad:CARDINAL;
Altura: CARDINAL;
Rumbo: TipoRumbo;
END;
PROCEDURE LeerRumbo(AvionaEvaluar:TipoVelAltRu):TipoRumbo;
PROCEDURE LeerVelocidad(AvionaEvaluar:TipoVelAltRu):CARDINAL;
PROCEDURE LeerAltura(AvionaEvaluar:TipoVelAltRu):CARDINAL;
END VelAltRu.
MODULE Aviones;
FROM InOut IMPORT WriteCard, WriteString, WriteLn, WriteInt;
IMPORT VelAltRu;
CONST NumAviones=20;
TYPE TipodatosAvion=ARRAY [1..NumAviones] OF VelAltRu.TipoVelAltRu;
VAR
Avion: TipodatosAvion;
Contador: INTEGER;
PROCEDURE ImprimirDatos
(AvionaImprimir: VelAltRu.TipoVelAltRu, IdAvion: INTEGER)
VAR
Altura, Velocidad: CARDINAL;
Rumbo: VelAltRu.TipoRumbo;
BEGIN
Altura:=VelAltRu.LeerAltura(AvionaImprimir);
Velocidad:= VelAltRu.LeerVelocidad(AvionaImprimir);
Rumbo:= VelAltRu.LeerRumbo(AvionaImprimir);
WriteInt(IdAvion,5); WriteCard(Altura,8);
WriteCard(Velocidad,8);WriteString(" ");
CASE Rumbo OF
VelAltRu.Norte: WriteString("Norte")|
VelAltRu.Sur: WriteString("Sur")|
VelAltRu.Este: WriteString("Este")|
VelAltRu.Oeste: WriteString("Oeste")|
END;
WriteLn;
END ImprimirDatos;
BEGIN
WriteString("Avion Altura Velocidad Rumbo");WriteLn;
FOR Contador:=1 TO NumAviones DO
ImprimirDatos(Avion[Contador];Contador);
END;
END;
| |
|
No dudes en escribir si tienes alguna duda sobre estos ejercicios
abello |