Está en la página 1de 3

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES


DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS
Laboratorio N. 2: Manejo de las Listas Enlazadas

Nombre de la Asignatura: Estructura de Datos II


Módulo: Estructuras Dinámica De Datos
Capítulo: Estructura De Datos Dinámicas Lineales
Docente Responsable: Yolanda de Miguelena
Fecha: Semana 3
Objetivos:
 Analizar las estructuras de listas enlazadas dinámicas utilizado la prueba de escritorio del
método de inserción.
 Identificar las instrucciones en el manejo de las Listas Enlazadas en el lenguaje de
programación C.
Recursos: Plataforma virtuales de apoyo académico, lápiz, borrador, papel, marcadores y tablero
Instrucciones:
 El trabajo debe ser entregado a través de la plataforma moodle, antes que se termine la hora de
clase. El archivo debe contener el programa sin errores, ejecutado y las respuestas de las
preguntas.
 Resolver en grupo de 3 estudiantes.
 Trabaje en forma clara y ordenada.
 Entregar la rúbrica llena en forma individual. Recuerde colocar su nombre de primero y luego
la de sus compañeros.

Integrantes del Grupo:


 Jean Carlos Rivas 8-936-401
 Luis Delgado 8-943-12
 Guillermo Rivas 8-956-464

Fecha: 4/9/2019 Grupo:1IL124

Enunciado

Utilice el programa corregido. Analice y responda a las preguntas siguientes preguntas:

1. Defina qué es una variable tipo puntero.


R: Una variable de tipo puntero almacena la dirección de memoria de otra variable que puede ser
int, char, float, struct etc. Esto quiere decir, que el puntero apunta al espacio físico donde está el
dato o la variable. 

2. Identifique la variable del nodo y de cuántas partes está compuesto?

R: struct nodo {
char dato[40];
struct nodo *sig;
};
Esta compuesto de dos partes INFO SIG
INFO:Esta compuesto con un array tipo char que puede contener infrmacion de máximo 40
caracteres.
SIG: Está formado por el puntero *sig asignado a la tipo nodo.

3. Instrucción que permite crear un espacio de memoria para el dato?

R: principio->sig= new nodo;


Se ubica en la posición de nuestra lista y crea el espacio con la función new a nuestra variable tipo
nodo

4. Identifique si existen métodos recursivos y de qué tipo son?

R: Hay dos métodos recursivos el método de imprimir y el de crear y ambas son recursividad de
tipo directa

5. Qué variables son definidas como variables tipo puntero?


R=
 *principio
 *sig

6. Cuál es la variable tipo puntero inicial?

R= nodo *principio;
Sería la variable principio, la cual almacena la dirección para el primer nodo

CORRECIÓN DEL CODIGO

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define null 0

using namespace std;


struct nodo {
char dato[40];
struct nodo *sig;
};
void crear(nodo *principio)
{
cout<< "Entre el dato o Escriba FIN para terminar: ";
cin>> principio->dato;
if (strcmp(principio->dato, "FIN") == 0)
principio->sig=NULL;
else {
principio->sig= new nodo;
crear(principio->sig);
}

void imprimir(nodo *principio)


{
if(principio->sig != NULL){
cout<<principio->dato<<endl;
imprimir(principio->sig);
}

}
int main()
{
nodo *principio;
principio= new nodo;
system("cls");
crear (principio);
imprimir(principio);
getch();
return 0;
}

También podría gustarte