martes, 24 de enero de 2012

arbol

#include <stdlib.h>
#include <stdio.h>
struct arbol{
       struct arbol *izq;
       int dato;
       struct arbol *der;
       };// se declara la estructura albol
typedef struct arbol ARBOL; // se le da un pseudonimo
typedef ARBOL *ARBOLPTR;
void imprimir(ARBOLPTR); // se declaran aplicaciones
void insertar(ARBOLPTR *, int);
void menu(void);
main() // se declara la funcion main
{
   
ARBOLPTR raiz = NULL;
  int opcion, item;
  menu();
  printf("\n Elige opcion: \n");
  scanf("%d",&opcion);
  while (opcion != 4){ // se declara el ciclo para repetir menu
 switch(opcion)
 { case 1:   printf("\n Ingresa el valor : \n");
      scanf("%d", &item);
      if (encontrarArbol(raiz, item) == 1)
         { printf("\n El numero: %d,ya fue ingresado");
    printf("\n  ");
    printf("\n\n Presiona enter  para continuar");
    getch();
             }
      else insertar(&raiz, item);
      break;
   case 2: if (raiz == NULL)
   { printf("\nEsta vacio ingresa un numero primero");
   }                    
   else imprimir(raiz);
      printf("\n\nEnter para continuar\n");
      getch();
      break;
       case 3: printf("Digite el elemento a buscar: \n");
       scanf ("%d", &item);
       if (encontrarArbol(raiz, item) == 0)
       printf("no se encuentra el valor\n");
       else
       printf ("El valor %d esta en el nivel:",item);
      imprimir (raiz);
       getch();
       break;
   
   default : printf("opcion invalida \n\n");
      getch();
      menu();
 }
 menu();
printf("\nElige opcion: ");
scanf("%d",&opcion);
}
     getch();
}
void menu(void)
     { system("cls");
       printf("\n\t" " *******OPERACIONES DISPONIBLES EN EL ARBOL*****\n\n\n"
       " 1 INSERTA UN ELEMENTO\n"
       " 2 IMPRIMIR EL ARBOL\n"
       " 3 BUSQUEDA \n"
       " 4 SALIR DEL PROGRAMA\n");
     }
int encontrarArbol(ARBOLPTR aux, int valor)//esta funcion permita buscar
{ while (aux != NULL)                     //un numero en la lista
 { if (valor < aux->dato)
      { aux = aux->izq;
        continue;}// vuelve entrar a while mientars aux sea diferente de uno
   if (valor > aux->dato)
      { aux = aux->der;
        continue;}
   if (valor == aux->dato)
      return 1;
 }
return 0;
}
void insertar(ARBOLPTR *raiz, int valor)
{ ARBOLPTR aux1, aux2, aux3=   NULL;
  aux1 = (ARBOLPTR) malloc(sizeof(ARBOL));//busca un area de memoria que tenga la estructura de arbol
  if (aux1 != NULL)
     {aux1->dato = valor;//asigna el valor
      aux1->izq = NULL;// asigna nulo
      aux1->der = NULL;// asigna nulo
      aux2 = *raiz;//  se le va asignar el valor de la variable que esta apuntada por raiz
      while (aux2 != NULL)
      {aux3 = aux2;
       if (valor < aux2->dato)// si es menor se va por el else
      
    aux2 = aux2->izq;
       else
    aux2 = aux2->der;// se le asigna al propio aux2
      }
      if (aux3 == NULL)// no es nulo se va por raiz
   *raiz = aux1;
      else
  {if (valor < aux3->dato)
       aux3->izq = aux1;
   else
       aux3->der = aux1;
  }
     }
   
}
void imprimir(ARBOLPTR aux1)
{ ARBOLPTR aux2;
  if (aux1 != NULL) // si el apuntador aux1 es diferente a nulo va imprimir el caracter asiganado
     {printf("\n\n raiz= %d", aux1->dato);
      aux2= aux1->izq;
      if (aux2 != NULL)
   printf("\tizquierdo: %d", aux2->dato);
      else printf("\tizquierdo NULO");
      imprimir(aux2);
      aux2= aux1->der;
      if (aux2 != NULL)
   printf("\tderecho: %d", aux2->dato);
      else printf("\tderecho NULO");
      imprimir(aux2);
     }
}



programa estructura de arbol

#include <stdlib.h>
#include <stdio.h>
struct arbol{
       struct arbol *izq;
       int dato;
       struct arbol *der;
       };// se declara la estructura albol
typedef struct arbol ARBOL; // se le da un pseudonimo
typedef ARBOL *ARBOLPTR;
void imprimir(ARBOLPTR); // se declaran aplicaciones
void insertar(ARBOLPTR *, int);
void menu(void);
main() // se declara la funcion main
{ ARBOLPTR raiz = NULL;
  int opcion, item;
  menu();
  printf("\n elige opcion: \n");
  scanf("%d",&opcion);
  while (opcion != 3){ // se declara el ciclo para repetir menu
 switch(opcion)
 { case 1:   printf("\n Ingresa el valor : \n");
      scanf("%d", &item);
      if (encontrarArbol(raiz, item) == 1)
         { printf("\n El numero: %d,ya fue ingresado");
    printf("\n  ");
    printf("\n\n Presiona enter  para continuar");
    getch();
             }
      else insertar(&raiz, item);
      break;
   case 2: if (raiz == NULL)
   { printf("\nEsta vacio ingresa un numero primero");
   }                    
   else imprimir(raiz);
      printf("\n\nEnter para continuar\n");
      getch();
      break;
      
   default : printf("opcion invalida \n\n");
      getch();
      menu();
 }
 menu();
printf("\nElige opcion: ");
scanf("%d",&opcion);
}
     getch();
}
void menu(void)
     { system("cls");
       printf("\n\n" " *******OPERACIONES DISPONIBLES EN EL ARBOL*****\n"
       " 1 INSERTA UN ELEMENTO\n"
       " 2 IMPRIMIR EL ARBOL\n"
       " 3 SALIR DEL PROGRAMA\n");
     }
int encontrarArbol(ARBOLPTR aux, int valor)//esta funcion permita buscar
{ while (aux != NULL)                     //un numero en la lista
 { if (valor < aux->dato)
      { aux = aux->izq;
        continue;}// vuelve entrar a while mientars aux sea diferente de uno
   if (valor > aux->dato)
      { aux = aux->der;
        continue;}
   if (valor == aux->dato)
      return 1;
 }
return 0;
}
void insertar(ARBOLPTR *raiz, int valor)
{ ARBOLPTR aux1, aux2, aux3=   NULL;
  aux1 = (ARBOLPTR) malloc(sizeof(ARBOL));//busca un area de memoria que tenga la estructura de arbol
  if (aux1 != NULL)
     {aux1->dato = valor;//asigna el valor
      aux1->izq = NULL;// asigna nulo
      aux1->der = NULL;// asigna nulo
      aux2 = *raiz;//  se le va asignar el valor de la variable que esta apuntada por raiz
      while (aux2 != NULL)
      {aux3 = aux2;
       if (valor < aux2->dato)// si es menor se va por el else
      
    aux2 = aux2->izq;
       else
    aux2 = aux2->der;// se le asigna al propio aux2
      }
      if (aux3 == NULL)// no es nulo se va por raiz
   *raiz = aux1;
      else
  {if (valor < aux3->dato)
       aux3->izq = aux1;
   else
       aux3->der = aux1;
  }
     }
   
}

void imprimir(ARBOLPTR aux1)
{ ARBOLPTR aux2;
  if (aux1 != NULL) // si el apuntador aux1 es diferente a nulo va imprimir el caracter asiganado
     {printf("\n\n raiz= %d", aux1->dato);
      aux2= aux1->izq;
      if (aux2 != NULL)
   printf("\tizquierdo: %d", aux2->dato);
      else printf("\tizquierdo NULO");
      imprimir(aux2);
      aux2= aux1->der;
      if (aux2 != NULL)
   printf("\tderecho: %d", aux2->dato);
      else printf("\tderecho NULO");
      imprimir(aux2);
     }
}


lunes, 23 de enero de 2012

FUNCIÓN RECURSIVA Santiago Diaz Krysther Israel

/*Santiago Diaz Krysther Israel*/
/*INFORMÁTICA II - INTERSEMESTRAL*/

#include<stdio.h>/*Declaracion de bibliotecas*/
#include<stdlib.h>

long fact(long);/*Prototipo de la función, se usa long como tipo de dato para mayor rango de valores aceptados*/

main()/*Inicio del programa*/
{
               int num;/*Declaración de variables*/
               printf("\n\nDame un numero mayor a 1: ");/*Pedimos un numero al usuario*/
               scanf("%d", &num);/*el numero se toma del teclado y se almacena en num*/
               system("cls");/*Se limpia la pantalla*/
               printf("\n\n\n\tEl factorial del numero %d! es: %d", num, fact(num));/*se imprime el resultado*/
               getch();
}

long fact(long n)/*Definición de la función fact*/
{
     if(n <= 1)/*si el valor introducido es 1 se regresa un uno a la pantalla*/
         return 1;
     else/*cualquier otro valor diferente de 1 entrara en la funcion que se llamara asi mis misma hasta que sea 1*/
         return(n * fact(n - 1));
}
   

programa factorial (Erick David avalos vite)

/*
  Name: factroial intersemestral fca
  Copyright:
  Author: Erick David avalos
  Date: 23/01/12 20:53
  Description: este programa realiza el factorial de numeros enteros
*/

#include <stdio.h>
#include <stdlib.h>
int factorial(int num);// se declara la funcion factorial
int main(){
int num;
system("cls");
printf("Ingresa un entero \n");// se ingresa un numero de tipo entero
scanf("%d",&num);   
printf("El fatorial es: %d\n",  factorial(num)); 
getch();
}
int factorial(int num){ // funcion recursiva
if (num<2)
return 1;// si el numero ingresdo es mayor a 2 se regresa 1
else
return num * factorial(num-1); }/* de caso contrario  se multiplica el numero por
 la funcion factorial y se le restara 1*/

domingo, 22 de enero de 2012

Recursividad (Factorial)

/*Rodriguez Paez Luz Angelica*/

#include <stdio.h>
#include <conio.h>

int factorial(int n);

int main (){
     int num;
     char res;
     printf("** FACTORIAL ** \n\n");
     do
      {
             int num;
                       printf("Ingrese un numero: ");
                       scanf("%i",&num);
                       printf("\tEl resultado es: %i\n", factorial(num));
                       {
                              printf("\n\n hacer otravez?(s/n) \n");}
                              scanf("%s",&res);
      } while(res == 's');
                   
                      getch();
                      }
   

int factorial(int n){
  if(n<=1)
    return 1;
  else
    return n * factorial(n-1);
}



//Martinez Baca Eric Omar

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>

int factorial(int);
int numero;

main(){
       system("cls");
       printf("\n\nEscriba el numero del cual desea saber el factorial: ");
       scanf("%d", &numero);
       printf("\n\nEl resultado es: %d ", factorial(numero) );
       getch();
     
}


int factorial(int Num){
                  if(Num == 1)
                  return Num;
                  
                  return Num * factorial(Num-1);
                  }




martes, 17 de enero de 2012

Examen 2

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>
#include <string.h>
struct lista1 {
char nombre [30];
struct lista1 *sig;
};

typedef  struct lista1 LISTA;
typedef LISTA *LISTAPTR;


void menu();//declarar funciones
void insertar (LISTAPTR*,char[]);
char eliminar(LISTAPTR*,char[]);
void imprimir(LISTAPTR);
int estavacia(LISTAPTR);

   


main(){
       LISTAPTR principio = NULL;
       LISTAPTR final = NULL;
       int opcion;
       char item[30];
       do{

       menu();
       printf("\n\n\n\tSelecciona una opcion: ");
       scanf("%d", &opcion);
     
switch(opcion){
                                  case 1:
                                  fflush(stdin);
                                  system("cls");
                                  printf("\n\n\tIngresa un nombre : ");
                                  scanf("%s", item);
                                 insertar  (&final,item);
                         
                                  imprimir(final);
                                  break;
                                 
                                  case 2:
                                       imprimir(final);
                                       getch();
                                       break;
                                 
                                  case 3:
                                       if (estavacia(principio)){
                                       printf ("imprimir la cadena  a eliminar: ");
                                       scanf("\n%s ", item);
                                       if(eliminar(&principio,item)){
                                       printf("%s Eliminado.\n" ,item);
                                      }
                                       else
                                       printf ("%s no se encontro.\n\n",item);
                                       }
                                       else
                                       printf("La lista esta vacia\n\n");
                                       break;
                                       }
                                       getch();
                                     
}while(opcion!=4);

       getch();
       }

void menu(){
     system("cls");
     printf("\n\n\t\t*** FILA ***");
     printf("\n\t\t1)Insertar un miembro en la fila.");
     printf("\n\t\t2)Imprimir la fila.");
     printf("\n\t\t3)eliminar una fila");
     printf("\n\t\t4)Salir.");
     }
void insertar (LISTAPTR *sptr, char caracter[]){
     LISTAPTR nuevo,principio,final;
     nuevo = malloc (sizeof(LISTA));
     if(nuevo != NULL)
     {
               strcpy( nuevo -> nombre,caracter);
                     nuevo -> sig = NULL;
                     principio=NULL;
                     final=*sptr;
     while (final!=NULL && strcmp(caracter, final->nombre) > 0 ){
           principio=final;
           final=final->sig;
           }
           if (principio == NULL){
           nuevo->sig=*sptr;
           *sptr=nuevo;
           }
           else{
                principio->sig=nuevo;
                nuevo->sig=final;
                }
                }
     }
void imprimir(LISTAPTR  final)
{
     if (final == NULL)
     printf (" La lista esta vacia");
     else {
          printf("la lista es :\n");
          while (final!=NULL){
                printf (" %s \n",final->nombre);
                final=final->sig;
                }
                }        
     }
char eliminar(LISTAPTR *sptr,char valor[]){
     LISTAPTR principio,final,aux1;
     if (valor==(*sptr)->nombre){
     aux1=*sptr;
     *sptr=(*sptr)->sig;
     free(aux1);
   return  valor;
     }
     else{
          principio=*sptr;
          final = (*sptr)->sig;
          while (final != NULL && final -> nombre!=valor){
                principio = final;
                final=final->sig;
                }
          if(final!=NULL){
          aux1 =final;
          principio->sig=final->sig;
          free(aux1);
          return valor;
       
          }
          }
          return '\0';
          }
         
int estavacia(LISTAPTR sptr){
    return sptr==NULL;
}






viernes, 13 de enero de 2012

COLA

#include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <stdlib.h>

struct colanodo{
       char miembro;
       struct colanodo *sig;
       };
     
typedef colanodo COLA;
typedef COLA *COLAPTR;

void menu();
int nohaycola(COLAPTR);
void escribelacola(COLAPTR);
void encolar(COLAPTR *, COLAPTR *, char);
char descolar(COLAPTR *, COLAPTR *);




main(){
       COLAPTR principio = NULL;
       COLAPTR final = NULL;
       int opcion;
       char item;
       do{
       menu();
       printf("\n\n\n\tSelecciona una opcion: ");
       scanf("%d", &opcion);
     
     
                          switch(opcion){
                                  case 1:
                                  fflush(stdin);
                                  system("cls");
                                  printf("\n\n\tDame el nombre del miembro: ");
                                  scanf("%c", &item);
                                  encolar(&principio, &final, item);  //enqueue
                                  break;
                                  case 2:
                                       if(principio == NULL && final == NULL){
                                                    system("cls");
                                                    printf("\n\n\n\n\n\n\t\tNo se puede extraer nada, tienes la cola vacia?!");
                                                    getche();
                                                    }
                                       else{
                                            printf("\n\t %c salio de la cola", descolar(&principio, &final));
                                            getche();
                                            }
                                  break;
                                  case 3:
                                  system("cls");    
                                  escribelacola(principio);
                                 
                                  break;
                                  case 4:
                                  system("exit");
                                  break;
                          }
     
               }while(opcion!=4);
       }

char descolar(COLAPTR *adelante, COLAPTR *atras){
     COLAPTR aux;
     char salemiembro;
   
     if(*adelante == *atras){
                  aux = *adelante;
                  salemiembro = aux -> miembro;
                  *adelante = NULL;
                  *atras = NULL;
                  free(aux);
                  }
     else{
          aux = *adelante;
          salemiembro = aux -> miembro;
          (*adelante) = aux -> sig;
          free(aux);
          }
   
     return (salemiembro);
   
     }



void encolar(COLAPTR *adelante, COLAPTR *atras, char valor){
   
     COLAPTR aux = (COLAPTR) malloc(sizeof(COLA));
     aux->sig = NULL;
     aux->miembro = valor;
   
     if (nohaycola(*adelante)){
                               *adelante = aux;
                               *atras = aux;
                               }
     else{
          (*atras) -> sig = aux;
          *atras = aux;
          }
     }



void menu(){
     system("cls");
     printf("\n\n\t\t***OPERACIONES DE LA COLA***");
     printf("\n\t\t1)Insertar un miembro en la cola.");
     printf("\n\t\t2)Sacar un miembro de la cola.");
     printf("\n\t\t3)Imprimir la cola.");
     printf("\n\t\t4)Salir.");
     }

int nohaycola(COLAPTR aux){
    return aux == NULL;
    }

void escribelacola(COLAPTR aux){
   
     if(nohaycola(aux)){
                        printf("\n\n\n\n\n\n\n\n\n\n\n\t\t\t\tNO HAY COLA!!!!!!");
                        getche();
                        }
     else{
          printf("\n\n\n\t\t***La COLA esta asi***\n\n");
          printf("\nINICIO DE LA COLA -> ");
          while(aux != NULL){
                    printf("%c -> ", aux -> miembro);
                    aux = aux -> sig;
                    }
          printf(" FIN DE LA COLA.");
     getche();
          }
     }








miércoles, 11 de enero de 2012

PILA

#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <windows.h>
struct pilanodo{
       int dato;
       struct pilanodo *sig;
       };
       typedef struct pilanodo PILA;
       typedef PILA *PILAPTR;
void menu(void);//no regresa valor pero no se pasa una lista de parametros
void push (PILAPTR*,int);
int pop(PILAPTR *);
int estavacia(PILAPTR );
int imprime (PILAPTR);
      
       main()
       {
          PILAPTR pilaptr = NULL;// se asigna valor nulo por que no existe la  pila
             int opcion,valor;//para el menu de main
             //llamado a un menu
menu(); 
do{
printf("\tElige una opcion....\n");
scanf("%d",&opcion);
      switch (opcion)
      {
        
             case 1: printf("dame el valor: \n");
             scanf("%d",&valor);
             push(&pilaptr,valor);
                          break;
             case 2: if (!estavacia(pilaptr))//llama una funcion dice que si no esta vacia
             printf ("\n\n El valor extraido de la pila es : %d\n",pop(&pilaptr));
             break;
             case 3: printf("el contenido de la pila es: \n\n");
             imprime(pilaptr );
             break;
             default: printf("El numero que ingresaste es incorrecto\n");
      }
            } while(opcion!=4);

         
getch();
}
void menu(void)
{
     system ("cls");
          printf("operaciones disponibles con la PILA\n\n"); 
          printf ("1.- insertar un valor en la pila\n");
          printf ("2.- extraer un valor de la pila\n");
          printf ("3.- imprimir la pila\n"); 
          printf ("4.- salir del programa\n\n\n");
}
void push (PILAPTR *aux, int valor ){
     PILAPTR aux1;
     aux1=malloc (sizeof (PILA));//malloc busca en memoria una area del tamanio de pila
     if(aux1!= NULL)
     {      
                    aux1 -> dato = valor;
                    aux1 -> sig =NULL;
                   
                    if(*aux==NULL)
                    *aux =aux1;
                    else{
                    aux1->sig=*aux;
                    *aux=aux1;
                    }  } 
          }
int estavacia(PILAPTR aux){
    return aux ==NULL;//verifica que la pila no esta vacia y manda cero o uno
    }
int pop (PILAPTR*aux)//aux apuntaa pilaptr
{
    if (aux==NULL){
    printf("No se a ingresado ningun valor");
}
else{
PILAPTR aux1;
int salevalor;// se declara un valor entero
aux1=*aux;
*aux=aux1->sig;//sirve para pasar a pilaptr al siguiente nodo
salevalor=aux1->dato;
free (aux1);// libera el espacio en memoria para otra aplicacion
return (salevalor);//regressa un valor y e guarda en pop &pilaptr
}}
int imprime (PILAPTR aux)



{
    if (aux==NULL){
          printf("La pila esta vacia\n");
       }
       else{
   system ("cls");
    printf ("tope de la pila");
    while (aux != NULL){
          printf("\n%d\n",aux->dato);
          aux=aux-> sig;
}
         
          printf("fondo DE LA PILA\n");
          }                
     }
    



jueves, 5 de enero de 2012

examen1 (capturas)


examen 1 (código)

#include <conio.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <windows.h>

float TareasTotales;
float TotAsis;
float ParTotales;
struct alumno
       {
       
        int cuenta;
        char Nombre[50];
        char ApMat[15];
        char ApPat[15];
        float asistencias;
        float tareas;
        float participaciones;
        float examen;
        float otros; //uuuuuuuuuuuuuu!!!
        float CFinal;                  
       };
      
struct alumno Alumno;

void captura(){
    
     system("cls");
     printf("\nIngresa los datos:");
     printf("\nIngresa el numero de cuenta: "); scanf("%d", &Alumno.cuenta);
     printf("\nIngresa el Apeido Paterno: "); scanf("%s", Alumno.ApPat);
     printf("\nIngresa el Apeido Materno: "); scanf("%s", Alumno.ApMat);
     printf("\nIngresa los nombres: "); scanf("%s", Alumno.Nombre);
     printf("\nIngrese el numero de asistencias: "); scanf("%f", &Alumno.asistencias);
     printf("\nIngrese el numero de tareas entregadas: "); scanf("%f", &Alumno.tareas);
     printf("\nIngrese el numero de participaciones obtenidas: "); scanf("%f", &Alumno.participaciones);
     printf("\nIngrese la calificacione del examen: "); scanf("%f", &Alumno.examen); 
     printf("\nCalificacion en el trabajo extra: "); scanf ("%f", &Alumno.otros);
     printf("\n\n\n ==== Presiones ENTER para alamacenar los datos === ");
     getch();
     }

void mostrar(){
    
     system("cls");
     printf("\nNUMERO DE CUENTA : %d", Alumno.cuenta);
     printf("\n  APEIDO PATERNO : %s", Alumno.ApPat);
     printf("\n  APEIDO MATERNO : %s", Alumno.ApMat);
     printf("\n       NOMBRE(S) : %s", Alumno.Nombre);
     printf("\nTuvo %2.0f de %2.0f asistencias", Alumno.asistencias, TotAsis);
     printf("\nEntrego %2.0f de %2.0f tareas", Alumno.tareas, TareasTotales);
     printf("\nTuvo %2.0f de %2.0f participaciones totales", Alumno.participaciones, ParTotales);
     printf("\nLa calificacion del examen es : %2.2f", Alumno.examen);
     printf("\nLa calificacion del tabajo extra es: %2.2f", Alumno.otros);
     printf("\n\n\n === Presione ENTER para recibir la clificacion final === ");
     getch();
    
     }
    
main(){
      
       printf("Este programa te pide datos de un alumno ");
       printf("\nLos almacena en una estructura de datos");
       printf("\nY te devuelve la calificacion final del alumno");
       printf(" \n=== Presione ENTER para comenzar === ");
       getch();
       system("cls");
       printf("¿Cuantas asistencias hubo en total?: "); scanf("%f", &TotAsis);
       printf("¿Cuantas tareas hubo en total?: "); scanf("%f", &TareasTotales);
       printf("¿Cuantas participaciones hubo en total?: "); scanf("%f", &ParTotales);
      
       captura();
       mostrar();
      
       Alumno.CFinal = ((Alumno.examen * 0.50) + ( (Alumno.tareas / TareasTotales) * 3 ) + ((Alumno.participaciones/ParTotales)*1) + ((Alumno.asistencias/TotAsis)* .5) + (Alumno.otros * 0.05));
       system("cls");
       printf("La calificacion de %s es: %2.2f ", Alumno.Nombre, Alumno.CFinal);      
       getch();
       }

examen1 (preguntas y respuestas)

EXAMEN PARCIAL 1 - INFORMATICA II CURSO INTERSEMESTRAL 2012-2
-------------------------------------------------------------
1.       Que es una Estructura de Datos? (valor 1 punto)

R= Una Estructura de Datos es cualquier colección o grupo de datos de tal manera organizados que tengan asociados un conjunto de operaciones que permiten manipularlos.

2. Para que sirve una estructura de datos? (valor 1 punto)

R= Sirve como molde, o modelo de un, o una parte de un sistema de información.

3. Para que se utilizan los apuntadores en Estructuras de datos dinámicas? (valor 1 punto)

R= sirven para pasar al siguiente nodo, así como también establecer el tamaño de la estructura.

4. En que consiste la Abstracción de Datos? (valor 1 punto)

R= Técnica, o metodología que permite diseñar estructuras de datos; y consiste en representarlo bajo ciertos criterios y lineamientos las características esenciales de una estructura.

5. Qué es un tipo de Datos Abstracto? (valor 1 punto)

R= Generar una estructura de Datos a base de la Abstracción, y que se pueda implementar en cualquier lenguaje de programación.

6. Haga la abstracción de un sistema de información (libre elección).
   Diseñe una estructura de datos para ese sistema de información.
   Elabore un programa en C, que solicite los datos para almacenarlos en esa estructura,
   y que los despliegue en pantalla.  (valor 5 puntos)