virtualword
Te invitamos a registrarte para poder acceder a todo el contenido gratuito que esta comunidad provee.

Saludos Wink

Lección 036: Ejercicios básicos sobre TADs

Ir abajo

Lección 036: Ejercicios básicos sobre TADs

Mensaje  Kyshuo Ayame el Dom Nov 24, 2013 11:23 am

Estos ejercicios serán bien sencillos a modo de que practiquen lo poco que hemos visto sobre TADs en la lección 36. La idea es que los conceptos dados allí queden claros a fin de que el avance de lo que viene les resulte sencillo.

--------------------------------------------------------------------------------------

Ejercicio 1:

En los ejemplos de la lección sobre TADs definimos el tipo Persona cuyo comportamiento estaba dado por las operaciones siguientes:

  • Asignarle nombre.
  • Asignarle apellido.
  • Asignarle un número de documento.
  • Asignarle edad.
  • Asignarle sexo.
  • Asignarle cargo.
  • Obtener su nombre actual.
  • Obtener su apellido actual.
  • Obtener su documento actual.
  • Obtener su edad actual.
  • Obtener su sexo.
  • Obtener su cargo actual.
  • Comparar dos personas para saber si son la misma.
  • Saber si dos personas son tocayos.
  • Saber si una persona es mayor a otra.
  • Saber si una persona es menor a otra.
  • Saber si dos personas tienen la misma edad.
  • Eliminar los datos de una persona.


De ese listado de operaciones se dió el código fuente de algunas de ellas:

  • Asignarle nombre.
  • Obtener su nombre actual.
  • Comparar dos personas para saber si son la misma.
  • Saber si dos personas son tocayos.
  • Eliminar una persona.


Código:
(*Asigna a p el nombre pasado como argumento*)
PROCEDURE ModificarNombrePersona(nombre: TNombre; VAR p: Persona);

(*Retorna el nombre de la persona p*)
PROCEDURE ObtenerNombrePersona(p: Persona): TNombre;

(*Retorna TRUE si p1 y p2 corresponden a la misma persona, es decir si todos los
atributos p1 son iguales a los de p2, FALSE en caso contrario*)
PROCEDURE MismaPersona(p1, p2: Persona): BOOLEAN;

(*Retorna TRUE si ambas personas tienen el mismo nombre*)
PROCEDURE SonTocayos(p1, p2: Persona): BOOLEAN;

(*Libera la memoria RAM ocupada por la variable p*)
PROCEDURE EliminarPersona(VAR p: Persona);
La idea es que ustedes definan el resto de las operaciones colocando su firma el archivo de definición y luego implementándolas en el archivo de implementación completando así el TAD Persona.

====================================================================================

Ejecicio 2:

Definir desde cero los siguientes tipos de datos:

Alumno:

  • Atributos

    • Nombre y apellido
    • Numero de alumno
    • Numero de documento
    • Grado actual que cursa
    • Sexo




  • Comportamiento

    • Inicializar un alumno con todos los datos (constructor completo).
    • Asignar un nuevo nombre.
    • Asignar un nuevo apellido.
    • Asignar un numero de alumno.
    • Asignar un numero de documento.
    • Asignar el grado que cursa.
    • Asignar el sexo.
    • Obtener el nombre.
    • Obtener el apellido.
    • Obtener el numero de alumno.
    • Obtener el numero de documento.
    • Obtener el grado que cursa.
    • Obtener el sexo.
    • Eliminar alumno.



Vehículo:

  • Atributos

    • Marca
    • Modelo
    • Año de fabricación
    • Cantidad de ruedas
    • Cantidad de ejes
    • Modelo del motor
    • Cantidad de velocidades
    • Tipo de combustible: Nafta, GasOil
    • Litros de combustible que lleva el tanque.
    • Litos de combustible que posee el vehículo actualmente.
    • Cantidad de pasajeros incluyendo al chofer
    • Cantidad de puertas
    • Tonelaje: El peso en toneladas que puede transportar el vehículo
    • Peso del vehículo




  • Comportamiento:

    • Constructor completo.
    • Operaciones para modificar cada uno de los atributos.
    • Operaciones para obtener el valor actual de cada uno de los atributos.
    • Una operación que retorne TRUE si el vehículo es gasolero, FALSE sino.
    • Conocer, para un tonelaje dado, si el vehículo puede o no puede transportarlo.
    • Conocer, para una cantidad de litros de combustilbe dada, si el vehículo puede recibirla, teniendo en cuenta la capacidad de su tanque y el combustible actualmente en él.
    • Eliminar el vehículo.


==================================================================================

Navegación:
avatar
Kyshuo Ayame
Admin

Mensajes : 105
Fecha de inscripción : 14/11/2012
Edad : 29

Ver perfil de usuario http://virtualworld.foroargentina.net

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.