TC1_Estructura de datos
-
Upload
ozzy-natali -
Category
Documents
-
view
219 -
download
0
Transcript of TC1_Estructura de datos
-
8/18/2019 TC1_Estructura de datos
1/12
ESTRUCTURA DE DATOS
TRABAJO COLABORATIVO 1
JOSE ARMANDO ARIAS PABONMANUEL ALEJANDRO CHAPARRO GIRALDO
ISAURA NATALI VELASQUEZ MENDOZA
HERMES MOSQUERATUTOR
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIAOCTUBRE DE 2013
-
8/18/2019 TC1_Estructura de datos
2/12
DESARROLLO DE ACTIVIDADES
1. Aplicación de los apuntadores.
Línea Código fuente del programaDocumente cada línea de código e indique
los resultados que toma cada variable.
1 voidmain(){ Declaración de la función principal main
voidmain() /*Indicas que no esperas ningún valor
de retorno*/ (Solo en Borlan Funciona)
intmain() /*Se espera un valor entero de retorno
del tipo entero*/ (Para hacer funcionar en Dev
C++ y Turbo el más adecuado)
2 int a=8,b,c; Definición de las variables enteras a=8 ,b , c
3 int *x,**y, ***z; Definición de la variable tipo puntador “ x ” ,
apuntador a apuntador “ y ” , apuntador a
apuntador a apuntador “ z”
4 x=&a; Asignación de “ x ” a la dirección de memoria de
“ a”
5 *x=12+a; Se almacena en “ a” el valor de la operación
aritmética “ a” +12(a=8 Resultado 12+8=20)
6 y=&x; Asignación de “y” a la dirección de memoria de
“x” (20)
7 **y=**y+*x; Se almacena en “ x ” el valor de la operación
aritmética “y” +” x ” (y=20 x=20 Resultado
20+20=40)
8 z=&y; Asignación de “z” a la dirección de memoria de
“y” (40)
9 ***z=***z+**y + *x; Se almacena en “z” el valor de la operación
aritmética “z” +“y” +”x” (y=40 x=40 z=40
Resultado 40+40+40=120)
10 b=*x; Asignación de “b” a la dirección de memoria de
“x” (120) 11 c=**y; Asignación de “c” a la dirección de memoria de
“y” (120)
12 cout
-
8/18/2019 TC1_Estructura de datos
3/12
Compilación y ejecución del programa.
Antes que todo se debe declarar las librerías para poder ejecutar las funciones del
programa.
#include
#include
#include
#include
#include
Para permitir el fin de ejecución luego de que se pulse una tecla
getch();
En las líneas 13 y 14, debe corregirse la función “cout” puesto que la misma se encuentra
con su inicial en mayúscula y el compilador no reconoce dicha orden.
Compilación de Pantallazos
A. DevC++
-
8/18/2019 TC1_Estructura de datos
4/12
B. Zinjal
C. Visual C++
Nota: con este entorno de desarrollo fue necesario agregar al cuerpo del programa las siguientes
líneas:
system ("PAUSE");return 0;
Ya que sin ellas el programa se cerraba inmediatamente se ejecutaba.
-
8/18/2019 TC1_Estructura de datos
5/12
D. Borland C++
-
8/18/2019 TC1_Estructura de datos
6/12
E. Turbo C++
-
8/18/2019 TC1_Estructura de datos
7/12
F. CodeBlocks
2. Aplicación de las estructuras de datos y gestión dinámica de memoria con lasfunciones Malloc() y Free().
#include "stdio.h" //Declaración de las librerías#include "stdlib.h"#include "conio.h"
struct computadores //Declaración de la Estructura computadores
{char marcaprocesador [30]; //Declaración de la variable tipo char marcaprocesador char cantidadram [10]; //Declaración de la variable tipo char cantidadramchar cantidaddisco [10]; //Declaración de la variable tipo char cantidaddisco}*a=NULL; //Declaración del apuntador *a que apunta a nulo
void menuprincipal (); //Declaración de funciones del programador void menusedundario ();void ingresardatos ();void visualizardatos ();int opción, n; //Declaración de variables tipo entero opción y n
int main () //Declaración e inicio de la función main tipo entero {do //Ciclo de la pantalla del menú principal
{system ("cls");menuprincipal ();scanf ("%d", &opcion);if (opcion==1)ingresardatos ();if (opcion==2)visualizardatos ();
}while (opcion!=3); //Condición para cerrar el programafree (a); }//Liberación de memoria con la función free al apuntador a
-
8/18/2019 TC1_Estructura de datos
8/12
void menuprincipal () //Función menuprincipal creada por el programador {system ("cls");printf ("\t\t MENU PRINCIPAL \n1. Ingresar Datos \n2. Visualizar Datos \n3. Salir\nElija una opcion del 1 al 3 \n");}void menusecundario () //Función menusecundario creada por el programador {system ("cls");printf ("\t\t MENU SECUNDARIO \n1. continuar \n2. salir\nElija una opcion de 1al 2 \n");}void ingresardatos () //Función ingresar datos creada por el programador{do{
system ("cls");menusecundario (); //Llamado de la función menusecundarioscanf ("%d", &n);if (n==1) //Condición para ingresar la cantidad de datos que se desee {
a=(computadores *)malloc(sizeof(computadores));printf ("\t\tFICHA TECNICA DE LOS COMPUTADORES \nMarca del Procesador ");scanf ("%s", a->marcaprocesador);printf ("\nCantidad de Memoria RAM (MB) ");scanf ("%s", a->cantidadram);printf ("\nCantidad de Almacenamiento en Disco Duro (GB) ");scanf ("%s", a->cantidaddisco);}
}while (n!=2); //Ciclo de cierre de la funcion}
void visualizardatos ()//Función visualizardatos creada por el programador{
printf ("\nFICHA TECNICA DE LOS COMPUTADORES");printf ("\nMarca del Procesador: %s", a->marcaprocesador);printf ("\nCantidad de Memoria RAM (MB): %s", a->cantidadram);printf ("\nCantidad de Almacenamiento en Disco Duro (GB): %s", a-
>cantidaddisco);printf ("\nPresiona enter para continuar \n");getch ();
}
-
8/18/2019 TC1_Estructura de datos
9/12
3. Aplicación de las estructuras y gestión dinámica de memoria con los operadores New
y Delete.
#include //Llamado de Librerías implicadas#include#include
#include
using namespace std; //Se declara espacios de nombre estándarint n; //Declaración de la variable entera nstruct cliente{ //Declaración de la estructura cliente y sus componenteschar nombre[20];char apellido[20];char fecha[15];char tipo[15];}*clien=NULL; //Apuntador clien creado vacio struct cliente *mod=NULL;
//Establecimiento de las funciones a realizar con la estructura cliente void ingresar(); //Declaración de función
void lista(); //Declaración de función
int main(){ //Inicio del cuerpo funcional int opcion;do{ //Inicio de bucle
system ("cls");cout
-
8/18/2019 TC1_Estructura de datos
10/12
cin>>n;clien=new cliente[sizeof(cliente)]; //Se reserva la recepción de los
datos del apuntador que contiene ladirección de la estructura cliente
while (i
-
8/18/2019 TC1_Estructura de datos
11/12
REFERENCIAS
OPERADORES DE MANEJO DE MEMORIA NEW Y DELETE
Curso de C++, C++ con clase - Capitulo 13http://c.conclase.net/curso/?cap=013b
OPERADORES NEW Y DELETEIntroducción a Patrones de Diseño en C++ con Qt4/1.16.2
Wikilibros
http://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Patrones_de_Dise%C3%B
1o_en_C%2B%2B_con_Qt4/1.16.2_Operadores_new_y_delete
MEMORIA DINAMICA: MALLOC Y FREEUniversidad de las Palmas de Gran Canariahttp://sopa.dis.ulpgc.es/so/cpp/intro_c/introc75.htm
FUNCIÓN MALLOC ANSI CCurso de C++, C++ con clase - Capitulo 13http://c.conclase.net/librerias/?ansifun=malloc
MODULO ESTRUCTURAS DE DATOS - 301305Hermes Mosquera Angulo
Escuela de Ciencias Basicas, Tecnologia e Ingenieria
Universidad Nacional Abierta y a Distancia
http://c.conclase.net/curso/?cap=013bhttp://c.conclase.net/curso/?cap=013bhttp://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Patrones_de_Dise%C3%B1o_en_C%2B%2B_con_Qt4/1.16.2_Operadores_new_y_deletehttp://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Patrones_de_Dise%C3%B1o_en_C%2B%2B_con_Qt4/1.16.2_Operadores_new_y_deletehttp://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Patrones_de_Dise%C3%B1o_en_C%2B%2B_con_Qt4/1.16.2_Operadores_new_y_deletehttp://sopa.dis.ulpgc.es/so/cpp/intro_c/introc75.htmhttp://sopa.dis.ulpgc.es/so/cpp/intro_c/introc75.htmhttp://c.conclase.net/librerias/?ansifun=mallochttp://c.conclase.net/librerias/?ansifun=mallochttp://c.conclase.net/librerias/?ansifun=mallochttp://sopa.dis.ulpgc.es/so/cpp/intro_c/introc75.htmhttp://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Patrones_de_Dise%C3%B1o_en_C%2B%2B_con_Qt4/1.16.2_Operadores_new_y_deletehttp://es.wikibooks.org/wiki/Introducci%C3%B3n_a_Patrones_de_Dise%C3%B1o_en_C%2B%2B_con_Qt4/1.16.2_Operadores_new_y_deletehttp://c.conclase.net/curso/?cap=013b
-
8/18/2019 TC1_Estructura de datos
12/12
COEVALUACION Y AUTOEVALUACION DE LA ACTIVIDAD
Nombre del Estudiante Participación y DesarrolloJosé Armando Arias Pabón Desarrollo de las actividades, aporte a los puntos 1, 2 y 3.
Manuel Alejandro Chaparro Giraldo Desarrollo de las actividades, aporte a los puntos 1, 2 y 3.Isaura Natalí Velásquez Mendoza Desarrollo de las actividades, aporte a los puntos 1,2 y 3,
consolidación del trabajo final.