Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Tutoriales > Teoría > Metodología > Introducción a la programación
-Tutoriales

Introducción a la programación


Tipos definidos por el usuario (el tipo registro)

¿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.
 
Patrocinados
 

Copyright © 1999-2010 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

diseño y desarrollo web por Color Vivo Internet. Un proyecto de los Hermanos Carrero