TC1_Estructura de datos

download TC1_Estructura de datos

of 12

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.