INSTITUTO TECNOLÓGICO DE COSTA RICA Tarea Corta # 4 Punteros

Anuncio
INSTITUTO TECNOLÓGICO DE COSTA RICA
Escuela de Computación
Análisis y Diseño de Algoritmos
I Semestre 2015
Prof. Víctor Garro
Tarea Corta # 4
Punteros
Objetivos.
1. Introducir los punteros en el lenguaje C++
2. Analizar como los punteros nos permiten utilizar memoria dinámica
3. Comprender el funcionamiento de los punteros y su manejo.
Teóricos(10%)
1. Explique una ventaja de la memoria dinámica sobre la estatica.
2. Ejemplifique como se declara un puntero.
3. Ejemplificar con un diagrama cómo funcionan los punteros en la
memoria dinámica.
Práctica Laboratorio(90%)
1) Realice un programa que genere 5 punteros (2 int, 2 char, 1 struct
me), posteriormente llénelos con variables, y al final genere un
arreglo que contenga la dirección de memoria donde esta el puntero,
y la dirección de memoria del contenido (*Por medio del puntero).
Para constatar los resultados, muestre la información como se
muestra a continuación (30%)
2. Desarrolle una estructura con punteros a otras estructuras y cree con
estas un historial genealógico básico (hasta el nivel de padres, esto es
usuario->hermanos (max 3 hermanos incluyendo el usuario)>padres).
La idea del programa es que el usuario pueda ingresar los datos de su
árbol genealógico y luego el programa permita listar el árbol
genealógico en pantalla según la perspectiva de cada persona en el
arbol, ejemplo:
Si se elije ver desde Usuario aparecería algo como:
Usuario, tiene 2 hermanos: Fulano y Sutano y sus padres son: Papá
y Mamá.
Papá está casado con mamá y tiene 3 hijos: Fulano, Sutano y
Usuario.
(Todo referenciado a través de punteros).
Nota: Cada persona es una estructura que debe contener nombre, y
la referencia a los otros punteros. (30%)
NOTA: De acuerdo con el progreso del programa, usted debe definir el tipo de
variable al que debe apuntar cada uno de los punteros.
3. Realice un programa que cumpla con los siguientes requisitos: (30%)
a.
b.
c.
d.
Utilice únicamente memoria dinámica.
Un puntero “Ptr1”, el cual va a direccionar una V1 tipo entero.
Un puntero “Ptr2”, el cual va a direccionar a una V2 tipo float.
Mediante el uso de punteros el usuario debe poder asignarle valores
definidos a V1 y V2
e. Un puntero “Ptr3”, va a direccionar el valor de la resta del contenido de
“Ptr1” y “Ptr2”.
f. Un puntero “Ptr4”, va a direccionar a una V3 tipo bool y que si V3 es
True entonces se crea una variable anónima tipo entera a través de un
“Ptr5”donde usted ingresará su número de carnet y sino termina el
programa con un mensaje de salida. Además debe borrar todas las
variables anónimas mediante el uso de punteros.
Descargar