Está en la página 1de 10

UNIVERSIDAD TECNOLOGICA NACIONAL

FACULTAD REGIONAL GENERAL PACHECO


ANEXO JOSÉ CLEMENTE PAZ

TECNICO SUPERIOR EN PROGRAMACIÓN

LABORATORIO DE COMPUTACIÓN II
Prof. Rubén A. Calabuig

GUIA DE TRABAJOS PRACTICOS


Nº 1
ESTRUCTURAS
UTN LABORATORIO DE COMPUTACIÓN II
FRGP GUÍA DE TRABAJOS PRÁCTICOS Nº 1
ANX JCP ESTRUCTURAS

Índice
OBJETIVO GENERAL :..........................................................................................................................................................................1
OBJETIVOS DEL PRÁCTICO:...............................................................................................................................................................1
CONSIGNAS:........................................................................................................................................................................................1
EJERCICIOS..........................................................................................................................................................................................2
UTN LABORATORIO DE COMPUTACIÓN II
FRGP GUÍA DE TRABAJOS PRÁCTICOS Nº 1
ANX JCP ESTRUCTURAS

Objetivo general:
• Adquirir la habilidad necesaria para el desarrollo de los procesos lógicos y el análisis crítico
en la solución de problemas.
• Adquirir la habilidad práctica que requiere la programación.

Objetivos del práctico:


Que el alumno sea capaz de:
• Desarrollar programas con variables estructuradas.

Los procesos interactivos, deberán ir acompañados de pantallas donde explique claramente los pasos
a seguir.

Consignas:
En todos los ejercicios siguientes deberán cumplirse las consignas que se mencionan a continua-
ción:
a) Diseñe los algoritmos, y realice los diagramas de flujo correspondientes.
b) Codifique los diagramas utilizando el lenguaje C++
c) Todos los programas deben llevar un encabezado del autor como el siguiente:

//////////////////////////////////////////////////////////////////////////
// ARCHIVO : nombre del archivo (ejemplo: SUMAENT.CPP)
// PROGRAMA : nombre completo del programa (ejemplo: SUMA DE ENTEROS).
// AUTOR : nombre completo del autor.
// VERSION : numero de version (ejemplo: “1.0 estable” o “Sin version”
// CREADO : fecha de creación (ejemplo: 28/02/2008)
// IDE : Code::Blocks.
// COMPILADOR : GNU GCC Compiler (Mingway).
//------------------------------------------------------------------------
// DESCRIPCION: una breve explicacion de lo que hace el programa.
//========================================================================

d) Todos los programas deberán llevar comentarios aclaratorios en los casos que sea necesario.
e) Los procesos interactivos, deberán ir acompañados de pantallas donde se expliquen claramente
los pasos a seguir.

Autor: Rubén A. Calabuig LAB2_TP01_Estructuras_2008.doc Página 1


Ejercicios
1. Defina una estructura (struct) donde aparezcan todos los datos personales básicos de una perso-
na.
Restricciones: Identifique y justifique claramente el por qué de los tipos que utiliza para cada
dato.

2. Defina una estructura (struct) donde aparezcan todos los datos necesarios para identificar a un
alumno universitario.
Restricciones: Identifique y justifique claramente el por qué de los tipos que utiliza para cada
dato.

3. Defina una estructura (struct) donde aparezcan todos los datos necesarios para identificar a un
automóvil.
Restricciones: Identifique y justifique claramente el por qué de los tipos que utiliza para cada
dato.

4. Defina una estructura (struct) de tipo legajo, donde se incluyan los datos de las estructuras tipo
persona y tipo alumno de los ejercicios 1 y 2 respectivamente.
Restricciones:
• Identifique los datos exclusivos de persona.
• Identifique los datos exclusivos de alumno.
• Identifique los datos comunes.
• Justifique claramente el por qué de sus clasificaciones.

5. Diseñe una función “vaciarPersona” que reciba como parámetro un puntero a una estructura de
tipo persona y cargue a cada campo numérico con 0 (cero), y a cada campo alfabético con ‘\0’.
Restricciones:
• La función no debe mostrar carteles.

6. Diseñe una función “leerDNI” que reciba como parámetro un puntero a una estructura de tipo
persona y permita ingresar por teclado el valor del campo dni de la misma.
Restricciones:
• El campo dni debe ser de tipo numérico.
• El campo dni debe estar validado.
• La función debe devolver “true" si el valor es válido, y “false” si no lo es.
• La función no debe mostrar carteles.

LAB2_TP01_Estructuras_2008.doc Página 2
UTN LABORATORIO DE COMPUTACIÓN II
FRGP GUÍA DE TRABAJOS PRÁCTICOS Nº 1
ANX JCP ESTRUCTURAS

7. Diseñe una funció n “leerNombre” que reciba como parámetro un puntero a una estructura de
tipo persona y permita ingresar por teclado la cadena del campo nombre de la misma.
Restricciones: la función no debe mostrar carteles.

8. Diseñe una función “leerApellido” que reciba como parámetro un puntero a una estructura de
tipo persona y permita ingresar por teclado la cadena del campo apellido de la misma.
Restricciones: la función no debe mostrar carteles.

9. Compare las funciones “leerNombre” y “leerApellido”, e intente realizar una única función que
cumpla con las dos tareas.
Restricciones: la nueva función no debe leer más de un campo por vez.

10. Diseñe las funciones necesarias para cargar cada uno de los datos faltantes de su estructura per-
sona.
Restricciones:
• Las funciones deben ser individuales para cada campo faltante.
• Las funciones no deben mostrar carteles.

11. Compare todas las funciones diseñadas para las cargas de campos, y verifique si existen funcio-
nes que realizan tareas similares. Si es así, intente realizar funciones ge néricas que cumplan con
las tareas repetidas.
Restricciones:
• Las nuevas funciones no deben leer más de un campo por vez.
• En los casos que sean necesarios las cargas deben estar validadas.

12. Valiéndose de las funciones realizadas en los ejercicios anteriores, diseñe una función “leerPer-
sona” que reciba como parámetro un puntero a una estructura de tipo persona y permita la carga
de ella.

Autor: Rubén A. Calabuig LAB2_TP01_Estructuras_2008.doc Página 3


Restricciones:
• Esta función debe presentar por pantalla una ficha con las siguientes características;

CARGA DE DATOS PERSONALES


NOMBRE : (hasta 50 caracteres)
APELLIDO: (hasta 50 caracteres)
DNI : (8 dígitos)
Cada uno de los campos faltantes de su estructura persona. (aclaraciones necesarias)

• La función debe incorporar la capacidad de poder ejecutarse en cualquier par de coordena-


das X e Y de la pantalla.

13. Siguiendo la metodología de diseño utilizada hasta ahora en el práctico, realice las funciones
necesarias para mostrar cada uno de los campos de su estructura persona por pantalla.
Restricciones:
• Las nuevas funciones no deben mostrar más de un campo por vez.
• Las nuevas funciones no deben mostrar carteles.

14. Valiéndose de las funciones realizadas en el ejercicio anterior, diseñe una función “mostrarPer-
sona” que reciba como parámetro un puntero a una estructura de tipo persona y permita mostrar
por pantalla el contenido de ella.
Restricciones:
• Esta función debe presentar por pantalla una ficha con las siguientes características;

DATOS PERSONALES
NOMBRE :
APELLIDO:
DNI :
Cada uno de los campos faltantes de su estructura persona

• La función debe incorporar la capacidad de poder ejecutarse en cualquier par de coordena-


das X e Y de la pantalla.

15. Siguiendo la metodología de diseño utilizada en los ejercicios anteriores, realice las funciones
necesarias para modificar cada uno de los campos de su estructura persona.
Restricciones:
• Las nuevas funciones no deben modificar más de un campo por vez.
• Las nuevas funciones no deben mostrar carteles.

LAB2_TP01_Estructuras_2008.doc Página 4
UTN LABORATORIO DE COMPUTACIÓN II
FRGP GUÍA DE TRABAJOS PRÁCTICOS Nº 1
ANX JCP ESTRUCTURAS

16. Valiéndose de las funciones realizadas en el ejercicio anterior, diseñe una función “modificar-
Persona” que reciba como parámetro un puntero a una estructura de tipo persona y permita la
modificación de sus campos.
Restricciones:
• Esta función debe presentar por pantalla una ficha con las siguientes características;

CARGA DE DATOS PERSONALES


NOMBRE : información anterior (hasta 50 caracteres)
APELLIDO: información anterior (hasta 50 caracteres)
DNI : información anterior (8 dígitos)
Cada uno de los campos faltantes de su estructura persona. (aclaraciones necesarias)

• La función debe incorporar la capacidad de poder ejecutarse en cualquier par de coordena-


das X e Y de la pantalla.

17. Utilizando la función “limpiarPersona”, diseñe una función “limpiarPersonas” que reciba como
parámetros, un puntero a un vector de estructuras tipo persona, la cantidad de elementos del
vector, y permita limpiar a cada uno de los elementos del vector.
Restricciones:
• La función no debe mostrar carteles.

18. Utilizando la función “cargarPersona”, diseñe una función “cargarPersonas” que reciba como
parámetros, un puntero a un vector de estructuras de tipo persona, la cantidad de elementos del
vector, las coordenadas X e Y de pantalla, y permita cargar cada uno de los elementos del vector
en las coordenadas dadas.

19. Utilizando la función “mostrarPersona”, diseñe una función “mostrarPersonas” que reciba como
parámetros, un puntero a un vector de estructuras de tipo persona, la cantidad de elementos del
vector, las coordenadas X e Y de pantalla, y permita listar por pantalla los elementos del vector
en las coordenadas dadas.

20. Utilizando todas las funciones diseñadas a lo largo del práctico, diseñe un pequeño programa
que permita el mantenimiento, en memoria, de un listado de personas.

Autor: Rubén A. Calabuig LAB2_TP01_Estructuras_2008.doc Página 5


Restricciones:
• El programa debe ser manejado por un menú con las siguientes opciones:

B – Borrar Listado à Limpia todos los elementos del vector.


C – Cargar Persona à Permite el ingreso de los datos de una nueva persona.
V – Ver Persona à Muestra los datos de una persona.
M – Modificar Persona à Modifica los datos de una persona.
L – Listar Personas à Lista todas la personas del vector.
S – Salir à Termina el programa.

• La opción “Borrar Listado” debe pedir confirmación de borrado.


• La opción “Cargar Persona ” debe cargar los datos de la nueva persona en el primer elemento
limpio del vector. (Si no quedan elementos limpios debe informar que el listado está com-
pleto).
• La opción “Ver Persona” debe pedir el Nombre, el Apellido, y si hubiera más de una coin-
cidencia, debe mostrar el “DNI” de cada una de ellas, y pedir que se elija uno. (Si no hay co-
incidencia, debe ser informado).
• La opción “Modificar persona” debe actuar de una manera similar a “Ver Persona”, sólo que
una vez encontrada la persona deseada, debe mostrar el contenido de cada uno de sus cam-
pos y permitir modificarlos en forma total o parcial. Cualquiera sea el caso, debe pedir con-
firmación antes de modificar.
• La opción “Listar Personas” debe hacerlo de a una persona por pantalla, con opciones de
continuar o terminar.
• La opción “Salir” debe finalizar el programa.
• Todas las opciones, con excepción de “Salir”, deben volver al menú principal, una vez cum-
plida la tarea.

21. Desarrolle un programa de características similares para un sistema de legajo de alumnos.

LAB2_TP01_Estructuras_2008.doc Página 6