Ejercicio de Programación:

Enunciado

Desarrollar en MODULA 2 un tipo de dato que represente la velocidad, altura y rumbo: Norte, Sur, Este y Oeste, que lleva un avión. Con las operaciones: LeerRumbo, LeerAltura, LeerVelocidad. Sólo se pide el modulo de definición. Úsese el dato definido para crear en un módulo principal un subprograma que imprima por pantalla los datos de 20 aviones.

 

Solución

 

DEFINITION MODULE Aviones;
TYPE
    TipoRumbo=(Norte,Sur,Este,Oeste);
    TipoAvion=RECORD
              altura,velocidad:CARDINAL;
              rumbo:TipoRumbo;
              END;
    PROCEDURE LeerVelocidad(avion:TipoAvion):CARDINAL;
    PROCEDURE LeerAltura(avion:TipoAvion):CARDINAL;
    PROCEDURE LeerRumbo(avion:TipoAvion):TipoRumbo;
    PROCEDURE ImprimirRumbo(rumbo:TipoRumbo);
END Aviones.
MODULE Examen;
FROM InOut IMPORT WriteInt,WriteString,WriteLn;
IMPORT Aviones;
TYPE TipoFlota=ARRAY [1..20] OF Aviones.TipoAvion;
PROCEDURE ImprimirFlota(flota:TipoFlota);
    VAR
        contador:CARDINAL;
    BEGIN
       WriteString("Los datos de la flota son ..");WriteLn;
       FOR contador:=1 TO 20 DO
            WriteString(" Avion numero ");
            WriteInt(contador,4);WriteLn;
            WriteString("Altura = ");
            WriteInt(Aviones.LeerAltura(flota[contador]),4);
            WriteLn;
            WriteString("Velocidad = ");
            WriteInt(Aviones.LeerVelocidad(flota[contador]),4);
            WriteLn;
            WriteString("Rumbo = ");
            Aviones.ImprimirRumbo(Aviones.LeerRumbo(flota[contador]));
            WriteLn;
       END;
END ImprimirFlota;

END Examen.
 
Enviar correo electrónico a AdministradorWebOrganizacion con preguntas o comentarios sobre este documento.
Copyright EUITI UNED © 2000. Última modificación: 26 de noviembre de 2002