Está en la página 1de 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.

: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

PROGRAMACIN
PRCTICAS DE LABORATORIO

C/C++

Lenguaje de Programacin: C/C++ con DevCpp

Correo Electrnico: josh_ram@hotmail.com

Pagina 1 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

Introduccin

Estas prcticas se han elaborado para orientar a los alumnos de la materia de LENGUAJE DE PROGRAMACION en el aprendizaje de algoritmos computacionales en el entorno del DEV C

Todas las prcticas de laboratorio estarn estructuradas de la siguiente forma:

Objetivo. Recursos. Teora. Desarrollo de ejercicios y entrega de resultados

NOTAS: EL RESULTADO DE CADA PROGRAMA DE ESTA PRCTICA, SE ENVIARA AL CORREO: PROF. ING. JORGE RAMOS GARCIA, josh_ram@hotmail.com (pantalla de resultados y los archivos fuente .CPP) REVISE Y ESTUDIE CADA EJERCICIO Y TRATE DE ENTENDERLOS PARA LOS EJERCICIOS QUE SE REALIZARAN EN LAS SIGUIENTES PRACTICAS. CUALQUIER DUDA O COMENTARIO FAVOR DE EXPRESARLO

Lenguaje de Programacin: C/C++ con DevCpp

Correo Electrnico: josh_ram@hotmail.com

Pagina 2 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

P R A C T I C A OBJETIVO: Declaracin y uso de Funciones (Subrutinas/subprogramas) Manejo de archivos FILES (escritura/lectura)

No.

RECURSOS: Para implementar los ejercicios de programacin en lenguaje C se utilizarn las siguientes herramientas de software:

a) b)

DEV C ++ FreeDFD

TEORIA. Funciones en Lenguaje C. La modularizacin, es una tcnica usada por los programadores para hacer sus cdigos ms cortos, ya que consiste en reducir un gran problema complejo, en pequeos problemitas ms sencillos, concentrndose en la solucin por separado, de cada uno de ellos. En C, se conocen como funciones aquellos trozos de cdigos utilizados para dividir un programa con el objetivo que, cada bloque realice una tarea determinada. En las funciones juegan un papel muy importe las variables, ya que como se ha dicho estas pueden ser locales o globales. Variables Globales: Estas se crean durante toda la ejecucin del programa, y son globales, ya que pueden ser llamadas, ledas, modificadas, etc; desde cualquier funcin. Se definen antes del main(). Variables Locales: Estas, pueden ser utilizadas nicamente en la funcin que hayan sido declaradas. La sintaxis de una funcin es la siguiente: Tipo_de_datos nombre_de_la_funcion (tipo y nombre de argumentos) { acciones } donde:

Tipo_de_datos: Es el tipo de dato que devolver esa funcin, que puede ser real, entera, o tipo void(es decir que no devolver ningn valor). Nombre_de_la_funcion: Es el identificador que le damos a nuestra funcin, la cual debe cumplir las reglas que definimos en un principio para los identificadores. Tipo y nombre de argumentos:son los parmetros que recibe la funcin. Los argumentos de una funcin no son ms que variables locales que reciben un valor. Este valor se lo enviamos al hacer la llamada a la funcin. Pueden existir funciones que no reciban argumentos.

1.

Acciones: Constituye el conjunto de acciones, de sentencias que cumplir la funcin, cuando sea ejecutada. Entre ellas estn: Asignaciones
Correo Electrnico: josh_ram@hotmail.com Pagina 3 / 17

Lenguaje de Programacin: C/C++ con DevCpp

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

2. 3. 4.

Lecturas Impresiones Clculos, etc

Una funcin, termina con la llave de cerrar, pero antes de esta llave, debemos colocarle la instruccin return, con la cual devolver un valor especfico. Es necesario recalcar que si la funcin no devuelve ningn valor, es decir, es tipo void, no tiene que ir la sentencia return, ya que de lo contrario, nos dar un error. Cmo es que funcionan los Subprogramas? A menudo, se utiliza el adjetivo de Subprogramas, para referirse a las funciones, as que, el lector debe familiarizarse tambin con este trmino. Los subprogramas se comunican con el programa principal, que es el que contiene a las funciones, mediante parmetros, que e stos pueden ser: Parmetros Formales y Parmetros Actuales. Cuando se da la comunicacin los parmetros actuales son utilizados en lugar de los parmetros formales.

Paso de Parmetros Existen dos formas de pasar parmetros, las cuales son: A) Paso por Valor Tambin conocido como parmetros valor. Los valores se proporcionan en el orden de clculos de entrada. Los parmetros se tratan como variables locales y los valores iniciales se proporcionan copiando los valores de correspondien tes argumentos. Los parmetros formales-Locales de una funcin reciben como inicilaes los valores de los parmetros actuales y con ellos se ejecutan las acciones descritas en el subprograma. Ejemplo: A=5; B=7; C=proc1(A, 18, B*3+4); Proc1(X, Y, Z) Explicacin: Donde, se encuentra c, se est llamando la funcin, denominada proc1, en la cual se estn enviando como parmetros el valor de A, que es cinco; el cual es recibido por la variable X, en la definicin de la funcin proc1; en la misma funcin, Y tendr el valor de 18; por que ese es el valor del parmetro formal, mientras que Z, tendr un valor inicial de 25, ya que ese es el resultado del tercer parmetro qu e resulta ser una expresin aritmtica.

Funciones Definidas Por El Usuario en C Una funcin, como ya se ha dicho, es un bloque de cdigo dentro del programa que se encarga de realizar una tarea determinada. Por lo tanto un programa en c debe constar de una o ms funciones, y por su puesto no puede faltar la funcin principal main(). Un viejo adagio dice: Separa y vencers, lo cual se acopla perfectamente cuando tenemos un programa que es bastante grande; podemos separarlos en pequeos subprogramas (funciones), y concentrarnos en la solucin por separados de cada uno de ellos y as resolver un gran problemas, en unos cuantos problemitas ms pequeos. Si un programa, est constituido por ms de una funcin, las llamadas a la misma, pueden realizarse desde cualquier parte del programa, y la definicin de ellas debe ser independiente unas de otras.
Lenguaje de Programacin: C/C++ con DevCpp Correo Electrnico: josh_ram@hotmail.com Pagina 4 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

Por lo tanto sera un grave error el tratar de definir una funcin dentro de otra. Una funcin puede ser llamada desde cualquier parte del programa no slo una vez, y cuando es llamada, empieza a ejecutar las acciones que estn escritas en cdigo. Ejemplos: 1. 2. 3. 4. 5. Funciones que no devuelven ningn valor Funciones que devuelven un valor entero Funciones que devuelven un valor Real Funciones combinadas Funciones en las que usamos Men.

FUNCIONES PARA TRATAMIENTO DE FICHEROS EN LENGUAJE C Tipo FILE: C define la estructura de datos FILE en el fichero de cabecesa "stdio.h" para el manejo de ficheros. Nosotros siempre usaremos punteros a estas estructuras. La definicin de sta estructura depende del compilador, pero en general mantienen un campo con la posicin actual de lectura/escritura, un buffer para mejorar las prestaciones de acceso al fichero y algunos campos para uso interno. Funcin fopen: Sintaxis: FILE *fopen(char *nombre, char *modo); sta funcin sirve para abrir y crear ficheros en disco. El valor de retorno es un puntero a una estructura FILE. Los parmetros de entrada son: nombre: una cadena que contiene un nombre de fichero vlido, esto depende del sistema operativo que estemos usando. El nombre puede incluir el camino completo. modo: especifica en tipo de fichero que se abrir o se crear y el tipo de datos que puede contener, de texto o binarios: r: slo lectura. El fichero debe existir. w: se abre para escritura, se crea un fichero nuevo o se sobreescribe si ya existe. a: aadir, se abre para escritura, el cursor se situa al final del fichero. Si el fichero no existe, se crea. r+: lectura y escritura. El fichero debe existir. w+: lectura y escritura, se crea un fichero nuevo o se sobreescribe si ya existe. a+: aadir, lectura y escritura, el cursor se situa al final del fichero. Si el fichero no existe, se crea. t: tipo texto, si no se especifica "t" ni "b", se asume por defecto que es "t" b: tipo binario. Funcin fclose: Sintaxis: int fclose(FILE *fichero); Es importante cerrar los ficheros abiertos antes de abandonar la aplicacin. Esta funcin sirve para eso. Cerrar un fichero almacena los datos que an estn en el buffer de memoria, y actualiza algunos datos de la cabecera del fichero que mantiene el sistema operativo. Adems permite que otros programas puedan abrir el fichero para su uso. Muy a menudo, los ficheros no pueden ser compartidos por varios programas. Un valor de retorno cero indica que el fichero ha sido correctamente cerrado, si ha habido algn error, el valor de retorno es la constante EOF. El parmetro es un puntero a la estructura FILE del fichero que queremos cerrar.

Funcin fgetc: Sintaxis: int fgetc(FILE *fichero); Esta funcin lee un carcter desde un fichero. El valor de retorno es el carcter ledo como un unsigned char convertido a int. Si no hay ningn carcter disponible, el valor de retorno es EOF. El parmetro es un puntero a una estructura FILE del fichero del que se har la lectura.
Lenguaje de Programacin: C/C++ con DevCpp Correo Electrnico: josh_ram@hotmail.com Pagina 5 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

Funcin fputc: Sintaxis: int fputc(int caracter, FILE *fichero); Esta funcin escribe un carcter a un fichero. El valor de retorno es el carcter escrito, si la operacin fue completada con xito, en caso contrario ser EOF. Los parmet ros de entrada son el carcter a escribir, convertido a int y un puntero a una estructura FILE del fichero en el que se har la escritura. Funcin feof: Sintaxis: int feof(FILE *fichero); Esta funcin sirve para comprobar si se ha alcanzado el final del fichero. Muy frecuentemente deberemos trabajar con todos los valores almacenados en un archivo de forma secuencial, la forma que suelen tener los bucles para leer todos los datos de un archivo es permanecer leyendo mientras no se detecte el fin de fichero. Esta funcin suele usarse como prueba para verificar si se ha alcanzado o no ese punto. El valor de retorno es distinto de cero slo si no se ha alcanzado el fin de fichero. El parmetro es un puntero a la estructura FILE del fichero que queremos verificar. Funcin rewind: Sintaxis: void rewind(FILE *fichero) Es una funcin heredada de los tiempos de las cintas magnticas. Literalmente significa "rebobinar", y hace referencia a que para volver al principio de un archivo almacenado en cinta, haba que rebobinarla. Eso es lo que hace sta funcin, sita el cursor de lectura/escritura al principio del archivo. El parmetro es un puntero a la estructura FILE del fichero que queremos rebobinar. Ejemplos: // ejemplo1.c: Muestra un fichero dos veces. #include <stdio.h> int main() { FILE *fichero; fichero = fopen("ejemplo1.c", "r"); while(!feof(fichero)) fputc(fgetc(fichero), stdout); rewind(fichero); while(!feof(fichero)) fputc(fgetc(fichero), stdout); fclose(fichero); getchar(); return 0; } Funcin fgets: Sintaxis: char *fgets(char *cadena, int n, FILE *fichero); Esta funcin est diseada para leer cadenas de caracteres. Leer hasta n-1 caracteres o hasta que lea un retorno de lnea. En este ltimo caso, el carcter de retorno de lnea tambin es ledo. El parmetro n nos permite limitar la lectura para evitar derbordar el espacio disponible en la cadena. El valor de retorno es un puntero a la cadena leda, si se ley con xito, y es NULL si se detecta el final del fichero o si hay un error. Los parmetros son: la cadena a leer, el nmero de caracteres mximo a leer y un puntero a una estructura FILE del fichero del que se leer.

Funcin fputs: Sintaxis: int fputs(const char *cadena, FILE *stream); La funcin fputs escribe una cadena en un fichero. No se aade el carcter de retorno de lnea ni el carcter nulo final. El valor de retorno es un nmero no negativo o EOF en caso de error. Los parmetros de entrada son la cadena a escribir y un puntero a la estructura FILE del fichero donde se realizar la escritura. Funcin fread: Sintaxis:
Lenguaje de Programacin: C/C++ con DevCpp Correo Electrnico: josh_ram@hotmail.com Pagina 6 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

size_t fread(void *puntero, size_t tamao, size_t nregistros, FILE *fichero); Esta funcin est pensada para trabajar con registros de longitud constante. Es capaz de leer desde un fichero uno o varios registros de la misma longitud y a partir de una direccin de memoria determinada. El usuario es responsable de asegurarse de que hay espacio suficiente para contener la informacin leda. El valor de retorno es el nmero de registros ledos, no el nmero de bytes. Los parmetros son: un puntero a la zona de memoria donde se almacenarn los datos ledos, el tamao de cada registro, el nmero de registros a leer y un puntero a la estructura FILE del fichero del que se har la lectura. Funcin fwrite: Sintaxis: size_t fwrite(void *puntero, size_t tamao, size_t nregistros, FILE *fichero); Esta funcin tambin est pensada para trabajar con registros de longitud constante y forma pareja con fread. Es capaz de escribir hacia un fichero uno o varios registros de la misma longitud almacenados a partir de una direccin de memoria determinada. El valor de retorno es el nmero de registros escritos, no el nmero de bytes. Los parmetros son: un puntero a la zona de memoria donde se almacenarn los datos ledos, el tamao de cada registro, el nmero de registros a leer y un puntero a la estructura FILE del fichero del que se har la lectura. Ejemplo: // copia.c: Copia de ficheros // Uso: copia <fichero_origen> <fichero_destino> #include <stdio.h> int main(int argc, char **argv) { FILE *fe, *fs; unsigned char buffer[2048]; // Buffer de 2 Kbytes int bytesLeidos; if(argc != 3) { printf("Usar: copia <fichero_origen> <fichero_destino>\n"); return 1; } // Abrir el fichero de entrada en lectura y binario fe = fopen(argv[1], "rb"); if(!fe) { printf("El fichero %s no existe o no puede ser abierto.\n", argv[1]); return 1; } // Crear o sobreescribir el fichero de salida en binario fs = fopen(argv[2], "wb"); if(!fs) { printf("El fichero %s no puede ser creado.\n", argv[2]); fclose(fe); return 1; } // Bucle de copia: while((bytesLeidos = fread(buffer, 1, 2048, fe))) fwrite(buffer, 1, bytesLeidos, fs); // Cerrar ficheros: fclose(fe); fclose(fs); return 0; }

Funcin fprintf: Sintaxis: int fprintf(FILE *fichero, const char *formato, ...); La funcin fprintf funciona igual que printf en cuanto a parmetros, pero la salida se dirige a un fichero en lugar de a la pantalla. Funcin fscanf:
Lenguaje de Programacin: C/C++ con DevCpp Correo Electrnico: josh_ram@hotmail.com Pagina 7 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

Sintaxis: int fscanf(FILE *fichero, const char *formato, ...); La funcin fscanf funciona igual que scanf en cuanto a parmetros, pero la entrada se toma de un fichero en lugar del teclado. Funcin fflush: Sintaxis: int fflush(FILE *fichero); Esta funcin fuerza la salida de los datos acumulados en el buffer de salida del fichero. Para mejorar las prestaciones del manejo de ficheros se utilizan buffers, almacenes temporales de datos en memoria, las operaciones de salida se hacen a travs del buffer, y slo cuando el buffer se llena se realiza la escritura en el disco y se vaca el buffer. En ocasiones nos hace falta vaciar ese buffer de un modo manual, para eso sirve sta funcin. El valor de retorno es cero si la funcin se ejecut con xito, y EOF si hubo algn error. El parmetro de entrada es un puntero a la estructura FILE del fichero del que se quiere vaciar el buffer. Si es NULL se har el vaciado de todos los ficheros abiertos.

Funciones C especficas para ficheros de acceso aleatorio Funcin fseek: Sintaxis: int fseek(FILE *fichero, long int desplazamiento, int origen); Esta funcin sirve para situar el cursor del fichero para leer o escribir en el lugar deseado. El valor de retorno es cero si la funcin tuvo xito, y un valor distinto de cero si hubo algn error. Los parmetros de entrada son: un puntero a una estructura FILE del fichero en el que queremos cambiar el cursor de lectura/escritura, el valor del desplazamiento y el punto de origen desde el que se calcular el desplazamiento. El parmetro origen puede tener tres posibles valores: SEEK_SET el desplazamiento se cuenta desde el principio del fichero. El primer byte del fichero tiene un desplazamiento cero. SEEK_CUR el desplazamiento se cuenta desde la posicin actual del cursor. SEEK_END el desplazamiento se cuenta desde el final del fichero. Funcin ftell: Sintaxis: long int ftell(FILE *fichero); La funcin ftell sirve para averiguar la posicin actual del cursor de lectura/excritura de un fichero. El valor de retorno ser esa posicin, o -1 si hay algn error. El parmetro de entrada es un puntero a una estructura FILE del fichero del que queremos leer la posicin del cursor de lectura/escritura

Lenguaje de Programacin: C/C++ con DevCpp

Correo Electrnico: josh_ram@hotmail.com

Pagina 8 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

DESARROLLO DE EJERCICIOS.

1. Crear una funcin en C que permita al usuario escribir una palabra pero cuando se digite cada letra o carcter slo aparezca un asterisco como si estuviese ingresando una clave. Ejemplo si digita la palabra profesor aparecer en la pantalla ********
#include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> void password(void); char c, palabra[30]; int k; main() { printf("\n Ingrese una password: "); password(); printf("\n OK. ...... fin"); getch(); return 0; } void password(void) { k=0; c=getch(); while (c!=13&&c!=10) { palabra[k]=c; printf("*"); k++; c=getch(); } printf("\n\n"); printf("\n La palabra que usted ingreso fue: "); palabra[k]='\0'; puts(palabra); }

Lenguaje de Programacin: C/C++ con DevCpp

Correo Electrnico: josh_ram@hotmail.com

Pagina 9 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

2.

Escribe una funcin que reciba un nmero como parmetro y devuelva el nmero que se obtiene al invertir el orden de los dgitos del nmero original. Por ejemplo, si la funcin recibe el nmero 356 devolver el nmero 653.

3.

Ejercicio de funcin. Calcular el precio de un producto.

#include <stdio.h> #include <conio.h> float importe = 2.5; float tasa = 0.07; float precio(float base, float impuesto); /* declaracin de la funcin */

main() { printf("El precio a pagar es: %.2f\n", precio(importe, tasa)); //llamado de la funcin getch(); return 0; } float precio(float base, float impuesto) /* definicin de la funcion */ { float calculo; calculo = base + (base * impuesto); return calculo; }

4.

A continuacin veremos un ejemplo de un programa en el cual utilizamos dos funciones de diferente tipo de dato. El valor del nmero e se puede aproximar sumando n trminos de la serie: e = 1 + 1/1! + 1/2! + 1/3! + ... Escribir un programa que solicite el nmero de trminos de la serie a sumar e informe del valor aproximado de e. Tngase en cuenta que el termino i de la anterior serie se obtiene dividiendo por (i-1).

/* programa de funciones combinadas Lenguaje de Programacion: C Universidad de Guanajuato */ #include <stdio.h> #include <conio.h> #include <stdlib.h> void calculodatos(int numero); double factorial(int dato);
Lenguaje de Programacin: C/C++ con DevCpp Correo Electrnico: josh_ram@hotmail.com Pagina 10 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

int numero; char respuesta;

main() { printf("\n\n\nINICIO DEL PROGRAMA\n\n\n"); printf("\n\nEl programa te calcula el valor del numero e."); do { do { printf("\n\nIntroduzca un numero de terminos de la serie: "); scanf("%d",&numero); } while (numero<0); calculodatos(numero); printf("\n\nDesea introducir mas datos\?\n\n"); respuesta=getch(); system("cls"); } while (respuesta=='s' || respuesta=='S'); printf("\n\n\n\t\t"); printf("\n\t\t FIN DEL PROGRAMA "); printf("\n\t\t\n\n\n"); getch(); return 0; }// fin de main //----------------------- funciones definicas -------------------void calculodatos(int numero) { register int i; register double e=1.; for (i=1;i<=numero;i++) { e=e+1./factorial(i); } printf("\n\nEl valor de e para %d terminos es %f.",numero,e); } double factorial(int dato) { register int i; register double resultado=1; for (i=dato;i>0;i--) resultado=resultado*i; return resultado; }
Lenguaje de Programacin: C/C++ con DevCpp Correo Electrnico: josh_ram@hotmail.com Pagina 11 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

5.

Funciones en C. Antes de ejecutar el siguiente programa, crear una carpeta denominada PROGRAMACION en la unidad de disco. Ej. C:\programacion\ /* Ejemplo de fopen Lenguaje de Programacion C, DICIS */ #include <stdio.h> #include <conio.h> int main () { FILE * pFile; pFile = fopen ("c:/programacion/mifile.txt","w"); //nombre del archive . if (pFile!=NULL) { fputs ("Ejemplo de Crear y escribir en Archivo .... ",pFile); // informacion a escribir fclose (pFile); } getch(); return 0; }

Se aprecia en la pantalla la creacin del archivo MIFILE.TXT en la unidad de disco C:\programacion y su contenido.

Lenguaje de Programacin: C/C++ con DevCpp

Correo Electrnico: josh_ram@hotmail.com

Pagina 12 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

6. a)

Revise cada uno de los ejemplos que a continuacin se listan y verifique su resultado.

//Escribimos un caracter en un fichero (abierto en modo escritura). // fputc( variable_caracter , puntero_fichero ); #include <stdio.h> #include <stdlib.h> #include <conio.h> main() { FILE *pf; char letra='A'; if (!(pf=fopen("c:/programacion/datos.txt","w"))) { printf("Error al abrir el archivo"); exit(0); getch(); } else fputc(letra,pf); fclose(pf); printf("\n OK, presione cualquier tecla para salir ................ "); getch(); return 0; }

b) //Escribimos un caracter en un fichero (abierto en modo escritura). // fputc( variable_caracter , puntero_fichero ); #include <stdio.h> #include <stdlib.h> #include <conio.h> main() { FILE *pf; char letra='A'; if (!(pf=fopen("c:/programacion/datos.txt","w"))) { printf("Error al abrir el archivo"); exit(0); getch(); } else fputc(letra,pf); fclose(pf); printf("\n OK, presione cualquier tecla para salir ................ "); getch();
Lenguaje de Programacin: C/C++ con DevCpp Correo Electrnico: josh_ram@hotmail.com Pagina 13 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

return 0; }

c) //Escribe un numero entero en formato binario en el fichero. // putw( variable_entera, puntero_fichero ); #include <stdio.h> #include <stdlib.h> #include <conio.h> main() { FILE *pf; int num=5; // valor a ser almacenado ................ if (!(pf=fopen("c:/programacion/base.txt","wb"))) { printf("Error al abrir el archivo"); exit(0); } else { putw(num,pf); fclose(pf); } printf("\n OK. ya se grabo el dato ........... "); getch(); return 0; }

d) // Lee un numero entero de un fichero, avanzando dos bytes despus de cada lectura. // getw( puntero_fichero ); #include <stdio.h> #include <stdlib.h> #include <conio.h> int carnum; main() { FILE *pf; int num; if (!(pf=fopen("c:/programacion/base.txt","rb"))) { printf("Error al abrir el archivo");
Lenguaje de Programacin: C/C++ con DevCpp Correo Electrnico: josh_ram@hotmail.com Pagina 14 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

exit(0); } else carnum=getw( pf ); printf("\n El caracter leido es ====> %d", carnum); getch(); return 0; }

e) // Una cadena de caracteres // Escribe una cadena de caracteres en el fichero. g// fputs( variable_array, puntero_fichero ); #include <stdio.h> #include <stdlib.h> #include <conio.h> main() { FILE *pf; char cad[12]="Hola mundo"; if (!(pf=fopen("c:/programacion/frase.txt","w"))) { printf("Error al abrir el archivo"); exit(0); } else { fputs(cad,pf); fclose(pf); } printf("\n OK ....... "); getch(); return 0; }

f)

//Una cadena de caracteres // Lee una cadena de caracteres del fichero y la almacena en variable_array. La variable_entera indica la longitud mxima de caracteres que puede leer.
Lenguaje de Programacin: C/C++ con DevCpp Correo Electrnico: josh_ram@hotmail.com Pagina 15 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

// fgets( variable_array, variable_entera, puntero_fichero ); #include <stdio.h> #include <stdlib.h> #include <conio.h> char sstr[50]; main() { FILE *pf; char cad[20]; if (!(pf=fopen("c:/programacion/frase.txt","rb"))) { printf("Error al abrir el archivo"); exit(0); } else fgets(sstr,20,pf); printf("\n La cadena obtenida es :: %s", sstr); getch(); return 0; }

Lenguaje de Programacin: C/C++ con DevCpp

Correo Electrnico: josh_ram@hotmail.com

Pagina 16 / 17

MATERIA: LENGUAJE DE PROGRAMACION CLAVE: ABP01.9 PREREQUISITOS: Sin Requisito. DPTO.: AREA BASICA SALON: 312 TRIM: Otoo 2011

PROF: M. en ING. JORGE RAMOS GARCIA. GPO: B DICIS DIV. INGENIERIAS CAMPUS IRAPUATO-SALAMANCA UNIVERSIDAD DE GUANAJUATO, Salamanca, Gto. Mx. HORARIO: Martes y Jueves de 8:00am- 10:00am

Lenguaje de Programacin: C/C++ con DevCpp

Correo Electrnico: josh_ram@hotmail.com

Pagina 17 / 17

También podría gustarte