¿ QUE ES LA PROGRAMACIÓN ORIENTADA A OBJETOS ? La POO es una nueva filosofía de programación que se basa en la utilización de objetos. El objetivo de la POO no es sino la meta de cualquier modelo de programación estructurada convencional: "imponer" una serie de normas de desarrollo que aseguren y faciliten la mantenibilidad y reusabilidad del código.
Los mecanismos básicos de la POO son: objetos, mensajes, métodos y clases. Objetos. Un objeto es una entidad que tiene unos atributos particulares (datos) y unas formas de operar sobre ellos (los métodos o funciones miembro). Es decir, un objeto incluye, por una parte una serie de operaciones que definen su comportamiento, y una serie de variables manipuladas por esas funciones que definen su estado. Por ejemplo, una ventana Windows contendrá operaciones como "maximizar" y variables como "ancho" y "alto" de la ventana. Mensajes. En C++, un mensaje se corresponde con el nombre de uno de los métodos de un objeto. Cuando se pasa un mensaje a un objeto, este responde ejecutando el código de la función asociada.
Clases. Una clase es la definición de un tipo de objetos. De esta manera, una clase "Empleado" representaría todos los empleados de una empresa, mientras que un objeto de esa clase (también denominado instancia) representaría a uno de esos empleados en particular.
Las principales características de la POO son: abstracción, encapsulamiento, herencia y polimorfismo: Abstracción. Es el mecanismo de diseño en la POO. Nos permite extraer de un conjunto de entidades datos y comportamientos comunes para almacenarlos en clases. Encapsulamiento. Mediante esta técnica conseguiremos que cada clase sea una caja negra, de tal manera que los objetos de esa clase se puedan manipular como unidades básicas. Los detalles de la implementación se encuentran dentro de la clase, mientras que desde el exterior, un objeto será simplemente una entidad que responde a una serie de mensajes públicos (también denominados interfaz de la clase). Herencia. Es el mecanismo que nos permite crear clases derivadas (especialización) a partir de clases bases (generalización). Es decir, podríamos tener la clase "Empleado" (clase base) y la clase "Vendedor" derivando de la anterior. Una librería de clases (como la MFC) no es más que un conjunto de definiciones de clases interconectadas por múltiples relaciones de herencia. Polimorfismo. Esta característica nos permite disponer de múltiples implementaciones de un mismo método de clase, dependiendo de la clase en la que se realice. Es decir, podemos acceder a una variedad de métodos distintos (con el mismo nombre) mediante el mismo mecanismo de acceso. En C++ el polimorfismo se consigue mediante la definición de clases derivadas, funciones virtuales y el uso de punteros a objetos.
ESIME-ZACATENCO-ICE-IPN
Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
Método. Un método (función miembro) se implementa dentro de un objeto y determina como tiene que actuar el objeto cuando se produce el mensaje asociado. En C++ un método se corresponde con la definición de la función miembro del objeto. La estructura más interna de un objeto está oculta, de tal manera que la única conexión con el exterior son los mensajes
Otros dos conceptos muy importantes en la POO son relativos a la creación y destrucción de objetos. En lenguajes estructurados convencionales, cuando se define una variable se le reserva espacio en memoria y, si no se inicializa expresamente, se hace por defecto (por ejemplo, en C una variable global siempre se inicializa a 0, pero una automática no, por lo que si no se inicializa expresamente su contenido inicial será basura); por otra parte, cuando se destruye una variable (por que se abandona el ámbito de su definición - scope -) se libera la memoria que estaba ocupando. Si ahora hacemos el paralelismo obligado entre variables y objetos para los lenguajes POO nos daremos cuenta de que deben existir procedimientos especiales de construcción y destrucción de objetos. En concreto, cada clase tiene dos funciones miembro especiales denominadas constructor y destructor.
Constructor -> Función miembro que es automáticamente invocada cada vez que se define un objeto, su objetivo es la inicialización del mismo. Toma el mismo nombre que la clase, puede recibir parámetros y podemos tener varios constructores definidos.
ARCHIVOS La directiva #include carga determinados Archivos denominados, Archivos de inclusión (include files), Archivos de cabecera (header files) o simplemente cabeceras, y los inserta en el código fuente (en el punto de la directiva) que desde ese momento queda sustituida por el texto contenido en el fichero.
#DEFINE Como vimos, con la directiva #define se define un alias, es decir una sustitución de texto. Esto, que usamos para definir constantes, se puede utilizar de la misma manera para definir macros. En efecto, podemos poner parámetros a esas sustituciones, que se comportan entonces como si de una pseudo-función se tratara.
LIBRERIAS Una librería es un conjunto de recursos (algoritmos) prefabricados, que pueden ser utilizados por el programador para realizar determinadas operaciones
PUNTEROS 'VOID' Un puntero puede apuntar a un objeto de cualquier tipo, predefinido por el lenguaje o definido por el usuario. 'Void' es el nombre de un tipo, pero su uso esta sujeto a mayores restricciones respecto a otros tipos. El termino 'void' puede ser usado como tipo de una funcion o de un puntero, pero no para declarar un objeto. Las declaraciones posibles de tipo void, en C y C++
ESIME-ZACATENCO-ICE-IPN
Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
Destructor -> Función miembro invocada automáticamente cada vez que se destruye un objeto. Su objetivo es realizar operaciones como liberación de memoria, cerrar ficheros abiertos, etc. Toma el mismo nombre de la clase comenzado primero por el carácter "~", no toma parámetros y no admite la sobrecarga (sólo puede existir uno en cada clase).
#include #include #include <stdlib.h> #include #include <stdio.h> #include <math.h> #include <string.h> #define max_prod 20 #define CAPTURA cant //AQUI EMPIEZAN LAS LLAMADAS DE FUNCIONES DE USUARIO O FUNCIONES MIEMBRO void marco(); void esime(); void marcprin(); void fichatecnica(); void pilasycolas(); void minisuper(); void libreria(); void opcion1(); void opcion2(); void opcion3(); void opcion4(); void opcion5(); void archivos(); void titu(); //ESTA CLASE CONTROLA PARTE DE LA FUNCION LIBRERIA class fecha { int dia; char*mes; int anio; }; class biblioteca:public fecha { private: char *clasif; char *titulo; char *autor; char *editorial; int pags; char *edicion; char *ISBN; ESIME-ZACATENCO-ICE-IPN
Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
PROGRAMA
float precio; public: void leer(); void imprime(int); };biblioteca *libro; //TERMINA CLASE QUE CONTROLA PARTE DE LA FUNCION LIBRERIA //AQUI TERMINAN LAS LLAMADAS DE FUNCIONES DE USUARIO O FUNCIONES MIEMBRO
main() { int opcion, opc; clrscr(); do{ clrscr(); marcprin(); marco(); //ESTE CODIGO MUESTRA EN PANTALLA LAS OPCIONES DEL MENU gotoxy(26,7);cout<<"ESTRUCTURAS Y BASES DE DATOS\n"<<endl; gotoxy(31,9);cout<<"1.- Archivos"<<endl; gotoxy(31,10);cout<<"2.- Libreria"<<endl; gotoxy(31,11);cout<<"3.- Minisuper"<<endl; gotoxy(31,12);cout<<"4.- Ficha Tecnica"<<endl; gotoxy(31,13);cout<<"5.- Salir"<<endl; gotoxy(31,15); cout<<"Elige una opcion: "; cin>>opcion; //TERMINA CODIGO QUE MUESTRA EN PANTALLA LAS OPCIONES DEL MENU //AQUI EMPIEZA EL CODIGO PARA LA SELECCION DE OPCIONES EN EL MENU switch(opcion){ case 1:archivos();break; case 2:libreria();break; case 3:minisuper();break; case 4:fichatecnica();break; case 5:clrscr();marcprin();marco();gotoxy(20,12); cout<<"Le Agradecemos haber Probado Nuestro Programa"<<endl; getche();break; default:cout<<"\nElige una opcion correcta"<<endl;break; } }while(opcion!=5); return 0; } /*AQUI TERMINA EL MAIN PRINCIPAL DEL PROGRAMA QUE DECLARA LAS LLAMADAS DE FUNCIONES MIEMBRO O DE USUARIO ASI COMO EL MENU PRINCIPAL*/ //ESTE MENU ES SOLO PARA EL CONTROL DEL EJEMPLO DE MANEJO DE ARCHIVOS void archivos(){ ESIME-ZACATENCO-ICE-IPN Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
/*ESTE ES MAIN PRINCIPAL DEL PROGRAMA EN ESTE ESTAN DECLARADAS LAS LLAMADAS DE FUNCIONES MIEMBRO O DE USUARIO ASI COMO EL MENU PRINCIPAL*/
cout<<"1.- Crear Archivo"<<endl; cout<<"2.- Escribir Archivo"<<endl; cout<<"3.- Ver Archivo "<<endl; cout<<"4.- Renombrar Archivo"<<endl; cout<<"5.- Eliminar Archivo"<<endl; cout<<"6.- Regresar a menu anterior\n"<<endl; cout<<"Elige una opcion "; cin>>opc; switch(opc){ case 1:opcion1();break; case 2:opcion5();break; case 3:opcion2();break; case 4:opcion3();break; case 5:opcion4();break; case 6:break; default:clrscr(); cout<<"\nElige una opcion correcta"<<endl; getche();break; } }while(opc!=6); } //TERMINA MENU PARA EL CONTROL DEL EJEMPLO DE MANEJO DE ARCHIVOS /*ESTAS FUNICONES MIENBRO O DE USUARIO SON EXCLUSIVAS DEL MENU DE MANEJO DE ARCHIVOS*/ void opcion1() { FILE *fichero; char nombre[10]; clrscr(); printf("\nDale nombre a tu nuevo archivo con extencion EXACTA"); printf("\nDe preferencia este debe ser en formato TXT, ej.- nombre.txt"); printf("\n\n¨Como se va a llamar tu archivo? : "); gets(nombre); fichero = fopen( nombre, "w" ); clrscr(); printf( "Archivo: %s -> ", nombre ); if( fichero ) printf( "Creado (EL ARCHIVO SE CREO Y ABRIO CON EXITO)\n" ); else { ESIME-ZACATENCO-ICE-IPN Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
clrscr(); int opc; do{ clrscr(); cout<<"\nOPERACIONES BASICAS PARA EL MANEJO DE ARCHIVOS"<<endl; cout<<"QUE DESEAS HACER AHORA?"<<endl; cout<<" "<<endl;
ifstream arch_en (nombre); if (!arch_en){ clrscr(); cerr<<"\nNo se puede abrir el archivo: "<<nombre<<endl; cerr<<"\n\nProbablemente haya sido borrado o no exite"; } //char nombre[80]; clrscr(); arch_en.get(nombre,80); cout<<nombre; arch_en.close(); getch(); } void opcion3() { char nombre[50], nuevo[50]; clrscr(); printf("\nDame el nombre del archivo que quieres renombrar"); printf("\nRecuerda que este tiene que tener extension exacta"); printf("\n\nNombre de Archivo: "); gets(nombre); printf("\nAhora dame el nuevo nombre de tu archivo: "); gets(nuevo); printf( "\n\nEl archivo: %s", nombre ); if( rename(nombre, nuevo) == 0 ) printf( ", ha sido renombrado como: %s\n", nuevo ); ESIME-ZACATENCO-ICE-IPN Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
printf("Error (ARCHIVO NO ABIERTO)\n" ); // return 1; } if( !fclose(fichero) ) printf("\nArchivo cerrado\n" ); else { printf( "Error: Archivo NO CERRADO\n" ); // return 1; } getche(); //return 0; } void opcion2() { clrscr(); char nombre[80]; printf("\nPor favor dime el nombre del archivo que deseas ver"); printf("\nRecuerda que la extension debe ser exacta"); printf("\n\nNombre de Archivo: "); gets(nombre);
gets(nombre); clrscr(); fichero = fopen( nombre, "a" ); printf( "Fichero: %s -> ", nombre ); if( fichero ) printf( "(ABIERTO)\n" ); else { printf( "Error (NO ABIERTO)\n" ); // return 1; } ESIME-ZACATENCO-ICE-IPN
Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
else printf( "\nNo pudo ser renombrado\n" ); getche(); } void opcion4() { char nombre[24]; FILE *fichero; clrscr(); printf("\nDime el nombre del archivo que deseas borrar"); printf("\nRecuerda que este tiene que tener extension exacta"); printf("\n\nNombre de Archivo: "); gets(nombre); fichero = fopen( nombre, "r" ); /* El fichero ha de existir primeramente */ clrscr(); printf( "\nEl Archivo: %s", nombre ); if( fichero != NULL ) { fclose( fichero ); if( remove(nombre) == 0 ) printf( " ha sido borrado\n" ); else printf( "\nNo pudo ser borrado\n" ); } else printf( ", no encontrado\n" ); getche(); } void opcion5() { FILE *fichero; char nombre[50]; char intro[50] ,i; clrscr(); printf("\nDime el nombre de archivo que quieres abrir para escribir"); printf("\nRecuerda que este tiene que tener extension exacta"); printf("\n\nNombre de Archivo: "); fflush(stdout);
//ESTAS FUNCIONES MIEMBRO O DE USUARIO SON EXCLUSIVAS DE LA FUNCION LIBRERIA void biblioteca::leer() { clrscr(); char cadena[100]; cout<<"\n"; cout<<"Titulo del libro.............: "; gets(cadena); titulo= new char[strlen(cadena)+1]; strcpy(titulo,cadena); cout<<"Autor del libro..............: "; gets(cadena); autor= new char[strlen(cadena)+1]; strcpy(autor,cadena); cout<<"Editorial del libro..........: "; ESIME-ZACATENCO-ICE-IPN Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
printf("Ahora escribe algun texto:\n\n" ); fflush(stdout); gets(intro); fwrite( intro, sizeof(unsigned int), 10, fichero ); if( !fclose(fichero) ) printf( "\nEL Archivo se cerro correctamente\n" ); else { printf( "\nError: Archivo NO CERRADO\n" ); // return 0; } getche(); } /*TERMINAN LAS FUNICONES MIENBRO O DE USUARIO QUE SON EXCLUSIVAS DEL MENU DE MANEJO DE ARCHIVOS*/ //ESTO ES SOLO PARA EL CONTROL DEL EJEMPLO DE LA LIBRERIA void libreria() { clrscr(); int n_lib,l; titu(); cout<<"\n\nSimulacion de una BIBLIOTECA, con un maximo de 100 registros"<<endl; cout<<"Este Programa esta controlado en base a CADENAS DE CARACETRES Y ESTRUCTURAS"<<endl; cout<<"\n¨Cuantos libros deseas registrar?: "; cin>>n_lib; libro= new biblioteca[n_lib]; for(l=0; l
//ESTO ES SOLO PARA EL CONTROL DEL EJEMPLO DEL MINISUPER void minisuper() { int cant; int codigo[max_prod]; //21 codigos contando el 0 char producto[max_prod][20]; //21 productos de maximo 20 letras del producto float precio[max_prod]; //21 PRECIOS MAXIMO clrscr(); titu(); printf("\n\n"); printf("\nSimulacion de una Tienda de Autoservicio"); ESIME-ZACATENCO-ICE-IPN Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
gets(cadena); editorial= new char[strlen(cadena)+1]; strcpy(editorial,cadena); cout<<"No.- de paginas del libro....: "; cin>>pags; cout<<"Clasificacion del libro......: "; gets(cadena); clasif= new char[strlen(cadena)+1]; strcpy(clasif,cadena); cout<<"ISBN del libro...............: "; gets(cadena); ISBN= new char[strlen(cadena)+1]; strcpy(ISBN,cadena); cout<<"Precio del libro.............: "; cin>>precio; } void biblioteca::imprime(int l) { cout<<"\nEstos son los datos del libro No.: "<<(l+1)<<endl; cout<<"\n"; cout<<"Libro titulado............: "<
Fecha de entrega: 26 de noviembre de 2009
printf("\nEsta tienda simula una base de datos con un maximo de 20 PRODUCTOS (registros)\n"); printf("\n\nCUANTOS PRODUCTOS DESEAS CAPTURAR? "); scanf("%d",&cant); //capturo los productos con su c¢digo for (int cont=1;cont<=cant;cont++) { printf("\n"); printf("DAME EL %dø PRODUCTO ",cont); scanf("%s",&producto[cont]); printf("DAME SU CODIGO "); scanf("%d",&codigo[cont]); printf("DAME SU PRECIO UNITARIO "); scanf("%f",&precio[cont]); printf("\n"); } int codigo2,num; float total=0; char opcion; clrscr(); gotoxy(22,1);cprintf("TIENDA DE AUTOSERVICIO EL ESTUDIANTE PERDIDO"); gotoxy(3,3);cprintf("[CODIGO]"); gotoxy(11,3);cprintf("--------"); gotoxy(19,3);cprintf("[PRODUCTO]"); gotoxy(29,3);cprintf("--------"); gotoxy(37,3);cprintf("[PRECIO]"); gotoxy(45,3);cprintf("--------"); gotoxy(53,3);cprintf("[CANTIDAD]"); gotoxy(63,3);cprintf("--------"); gotoxy(71,3);cprintf("[TOTAL]"); for(cont=1;cont<=CAPTURA;cont++) //numero de VENTAS= 3 { gotoxy(1,cont+3); scanf("%d",&codigo2); for (int i=1;i<=cant;i++) { if(codigo2==codigo[i]) { gotoxy(20,cont+4);printf("%s",producto[i]); gotoxy(40,cont+4);printf("%f",precio[i]); gotoxy(55,cont+4);scanf("%d",&num); gotoxy(72,cont+4);printf("%f",num*precio[i]); total=num*precio[i]+total; } } } gotoxy(24,24);cprintf("TOTAL DE LA VENTA = %f",total); getch(); } //TERMINA CONTROL DEL EJEMPLO DE MANEJO DEL MINISUPER ESIME-ZACATENCO-ICE-IPN Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
//ESTO ES PARA EL CONTROL DE LA FICHA TECNICA void fichatecnica(){ clrscr(); esime(); marco(); gotoxy(15,7);cout<<"Materia : Estructuras y Bases de Datos"; gotoxy(15,9);cout<<"Alumnos : Alarcon Garcia Andres "<<" 200730029"; gotoxy(15,10);cout<<" Guevara Jimenez Daniel "<<"2007300963"; gotoxy(15,11);cout<<" Ortega Velazquez Sofia "<<"2007301750"; gotoxy(15,13);cout<<"Grupo :3CV4"; gotoxy(15,14);cout<<"Turno : Vespertino"; gotoxy(15,16);cout<<"Este programa es una muestra de algunos de los temas"; gotoxy(15,17);cout<<"mas importantes de la ESTRUCTURAS Y BASES DE DATOS"; gotoxy(15,18);cout<<"como lo son, la manipulacion de archivos y estructuras"; getch (); } //TERMINA CONTROL DE LA FICHA TECNICA /*Esta seccion es para el marco principal*/ void marcprin(){ textcolor(RED); int ast=1; while(ast<=25){ cprintf("³");{ for(int esp=78,cont=1;cont<=esp;cont++) cout<<" "; } cprintf("³"); cout<<" "; ast=ast+1; } gotoxy(2,1);{ textcolor(RED); for(int ast=78,cont=1;cont<=ast;cont++) cprintf("Ä"); } gotoxy(2,25);{ textcolor(RED); for(int ast=78,cont=1;cont<=ast;cont++) ESIME-ZACATENCO-ICE-IPN Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
//ESTO ES PARA EL CONTROL DEL EJEMPLO DE PILAS Y COLAS void pilasycolas(){ clrscr(); cout<<"Esta seccion muestra ejemplo de pilas y colas"; getch(); } //TERMINA CONTROL DEL EJEMPLO DE MANEJO DE PILAS Y COLAS
ESIME-ZACATENCO-ICE-IPN
Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
cprintf("Ä"); textcolor(GREEN); gotoxy(1,1);cprintf("Ú"); gotoxy(1,25);cprintf("À"); gotoxy(80,1);cprintf("¿"); gotoxy(80,25);cprintf("Ù"); } } /*Termina codigo para marco principal*/ /*ESTA FUNCION VISUALIZA EN PANTALLA NOMBRE Y UNIDAD DE LA ESCUELA*/ void esime(){ gotoxy(15,3);cout<<"ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA"; gotoxy(32,23);cout<<"UNIDAD ZACATENCO"; } /*TERMINA EL CODIGO QUE VISUALIZA EL NOMBRE Y UNIDAD DE LA ESCUELA*/ /*Inicia codigo para marco secundario*/ void marco(){ int i,j; for(i=5; i<14; i++){ for(j=11; j<73; j++){ } } textcolor(BLUE); for(i=11; i<=70; i++){ gotoxy(i,5);cprintf("Í"); gotoxy(i-1,4); gotoxy(i,20);cprintf("Í"); gotoxy(i-1,4); } textcolor(GREEN); for(i=6;i<=19; i++){ gotoxy(10,i);cprintf("º"); gotoxy(10,i-1); gotoxy(70,i);cprintf("º"); gotoxy(70,i-1); } textcolor(RED); gotoxy(10,5);cprintf("É"); gotoxy(10,20);cprintf("È"); gotoxy(70,5);cprintf("»"); gotoxy(70,20);cprintf("¼"); } /*Termina código para parco secundario*/
DIAGRAMAS DE FLUJO INICIO
Menu 1.-Archivos 2.-Librerias
4.-Ficha técnica 5.-Salir
Si
No
Menu
5.- Salir
1.-Archivos 2.-Librerias 3.-Mini Super 4.-Ficha Tecnica ESIME-ZACATENCO-ICE-IPN
Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
3.-Mini Super
INICIO
OPCION 1
1.-Crear archivo 2,.Escribir Archivo 3.-Ver Archivo 4.-Renombrar Archivo
6.-Regresar al menú anterior
Imprime las acciones que se le piden respecto a la opción elegida
FIN ESIME-ZACATENCO-ICE-IPN
Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
5.-Eliminar archivo
INICIO OPCION 2
Simulación de una biblioteca
Introducir el número de libros para registrar
Título del libro
Editorial del libro
Número de páginas del libro
Clasificación del libro
ISBN del libro
Costo
Imprime todos los datos ESIME-ZACATENCO-ICE-IPN
Alarcón García Andrés. Guevara Jiménez Daniel. Ortega Velázquez Sofía. FIN
Fecha de entrega: 26 de noviembre de 2009
Autor del libro
INICIO OPCION 3
Simulación de una tienda de autoservicio
Cuantos productos deseas capturar
Dar N productos
Introducir código(s)
Introducir la cantidad de “N” productos
Imprime todos los productos , su costo y el total a pagar
ESIME-ZACATENCO-ICE-IPN
Alarcón García Andrés. FIN Daniel. Guevara Jiménez Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
“N” productos
INICIO OPCION 4
Ficha Técnica
Imprime todos los datos: Materia: Estructura de Base de Datos Alumnos: Alarcón García Andrés.
Ortega Velázquez Sofía. Grupo: 3CV4 Turno : Vespertino Este programa es una muestra de algunos de los temas mas importantes de la Estructura De Base de Datos, como lo son manipulación de archivos y las estructuras
ESIME-ZACATENCO-ICE-IPN
FINAndrés. Alarcón García Guevara Jiménez Daniel. Ortega Velázquez Sofía.
Fecha de entrega: 26 de noviembre de 2009
Guevara Jiménez Daniel