Introducción a la programación

�Qu� es un tipo definido por usuario? Vamos a responder a esta pregunta poniendo un ejemplo. Imaginemos que queremos realizar un programa que trabaje con fichas de alumnos. Debemos empezar plante�ndonos qu� datos son los que queremos almacenar del alumno. Por ejemplo, podemos querer su nombre, apellidos, edad, curso y nota media.

Perfectamente podemos, simplemente, hacer la siguiente declaraci�n de variables:

  Nombre, Apellidos: Cadena[255];
  Edad, Curso: Entero;
  NotaMedia: Real;

e ir us�ndolas en el programa. Esta declaraci�n nos sirve para una �nica ficha de alumnos. Si queremos trabajar con dos alumnos, entonces tendr�amos que hacer:

  Nombre1, Nombre2, Apellidos1, Apellidos2: Cadena[255];
  Edad1, Edad2, Curso1, Curso2: Entero;
  NotaMedia1, NotaMedia2: Real;

Si queremos trabajar con tres, la cosa empieza a enrevesarse. Tenemos cada vez m�s variables. �Podr�a definir un tipo "Alumno" que contuviera la informaci�n que quiero y usarlo como si fuera una �nica variable?

La respuesta es s�. Este tipo "Alumno" ser�a lo que se conoce como "tipo definido por el usuario". Ahora bien, �c�mo lo definir�amos? Usaremos la notaci�n:

  Tipo TAlumno
    Nombre, Apellidos: Cadena[255];
    Edad, Curso: Entero;
    NotaMedia: Real;
  Fin Tipo;

es decir:

  Tipo NombreTipo
    Variable1: Tipo1;
    ...
    VariableN: TipoN;
  Fin Tipo;

Ahora, para declarar variables de tipo TAlumno, simplemente escribiremos:

Alumno: TAlumno;

O, si queremos m�s de una variable de tipo TAlumno:

Alumno1, Alumno2, Alumno3: TAlumno;

Para acceder a las variables contenidas en el tipo, usaremos la notaci�n punto (.). Por ejemplo, para acceder a los apellidos del segundo alumno declarado, escribiremos:

Alumno2.Apellidos

Podemos usar esta notaci�n tanto para recuperar el valor almacenado como para establecer uno nuevo:

  NombreAlumno := Alumno3.Nombre;
  Alumno2.Edad := 17;

La definici�n de tipos es muy poderosa: dentro de la definici�n de un tipo, podemos usar como tipo para una variable otro tipo definido por nosotros previamente declarado. Por ejemplo, una vez definido el tipo TAlumno, podemos definir un tipo TClase que contenga, a su vez, tipos TAlumno:

  Tipo TClase
    Alumnos: Vector[1..30] de TAlumno;
    NumeroClase: Entero;
    LetraClase: Car�cter;
    ProfesorTutor: Cadena[255];
  Fin Tipo;

Hemos visto, adem�s, que tipos definidos por el usuario y vectores se pueden combinar de igual manera: dentro de un tipo definido por el usuario, puedo declarar una variable de tipo vector. Si declaramos la variable:

Clase: TClase;

acceder a la edad del alumno n�mero 23 de dicha clase ser� tan sencillo como hacer:

Clase.Alumnos[23].Edad

Ahora podemos empezar a pensar en resolver problemas complejos. Por ejemplo, tengo una clase de 30 alumnos y quiero ordenar ese vector de alumnos por orden alfab�tico.

.�Ejemplos

  1. Definir una estructura que represente una ficha de un empleado con los datos siguientes: Nombre, apellidos, a�o de entrada en la empresa, sueldo mensual bruto, sueldo mensual neto. Declarar dos variables de este tipo.
     Tipo TEmpleado
       Nombre, Apellidos: Cadena[100];
       AnyoEntrada, SueldoBruto, SueldoNeto: Entero;
     Fin Tipo;
    
     Empleado1, Empleado2: TEmpleado;

    Tambi�n puede definirse:

     Empleados: Vector[1..2] de TEmpleado;
  2. Definir una estructura que represente una ficha de un paciente con los datos siguientes: Nombre, apellidos, fecha de entrada en el hospital, clase de dolencia. Declarar cincuenta variables de este tipo.
     Tipo TPaciente
       Nombre, Apellidos: Cadena[100];
       DiaEntrada, MesEntrada, AnyoEntrada: Entero:
       Dolencia: Cadena[255];
     Fin Tipo;
    
     Pacientes: Vector[1..50] de TPaciente;

.�Ejercicios

  1. Definir una estructura que represente una ficha de un empleado con los datos siguientes: Nombre, apellidos, direccion, n�mero de tel�fono, fecha de entrada en la empresa, sueldo bruto al mes, sueldo neto al mes, cargo, departamento al que pertenece. Declarar 20 variables de este tipo.
  2. Definir una estructura que represente una ficha de alumno con los datos siguientes: Nombre, apellidos, direccion, n�mero de tel�fono, fecha de nacimiento, curso, notas de las cinco asignaturas, nota media. Declarar 30 variables de este tipo.
  3. Definir una estructura que represente una ficha de un libro con los datos siguientes: Nombre del libro, autor, fecha de la edici�n, ISBN. Declarar 50 variables de este tipo.

COMPARTE ESTE ARTÍCULO

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP
SIGUIENTE ARTÍCULO