Está en la página 1de 11

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

UNIDAD TECNICA 1: Caractersticas del sistema de desarrollo elegido. Objetivo de la unidad: Repasar los conocimientos del lenguaje C. Tiempo estimado: 8 perodos

C COMO LENGUAJE ESTRUCTURADO


Aunque el trmino lenguaje estructurado en bloques no es aplicable estrictamente al lenguaje C, normalmente se considera un lenguaje estructurado por las similitudes en su estructura con ALGOL, Pascal y Modula-2. Tcnicamente, un lenguaje estructurado en bloques permite que los procedimientos y funciones se declaren dentro de otros procedimientos o funciones. De esta forma, los conceptos de global y local se extienden mediante la utilizacin de reglas de mbito adicionales, que establecen la visibilidad de una variable o procedimiento. C no se puede considerar realmente estructurado en bloques, puesto que no permite la creacin de funciones dentro de funciones. Un lenguaje estructurado permite muchas posibilidades en programacin: Soporta directamente distintas construcciones de bucles, como pueden ser while, do-while y for; la utilizacin de goto est totalmente prohibida o desaprobada; permite sangrar instrucciones, etc. Los lenguajes estructurados son ms recientes que los no estructurados (COBOL, BASIC, etc.). Hoy en da se ha aceptado ampliamente que la claridad de los lenguajes estructurados facilita la programacin y el mantenimiento. Realmente, muy pocos programadores podran considerar seriamente la posibilidad de utilizar un lenguaje no estructurado para nuevos desarrollos de software. El componente principal de la estructura de C es la funcin (una subrutina independiente de C). En C las funciones son bloques constituyentes en donde tiene lugar toda la actividad del programa. Permiten que tareas distintas de un programa se definan y se codifiquen de forma separada, permitiendo as la modularidad de los programas. Despus de crear una funcin, se puede utilizar de forma apropiada en varias situaciones, evitando la creacin de efectos colaterales en otras partes del programa.
CARACTERSTICAS DEL C. El C es un lenguaje de nivel medio. El cdigo C es muy portable. El C tiene pocas palabras reservadas. El C es un lenguaje para programadores. Es Portable.

CICLO DE CREACIN DE UN PROGRAMA


O tambin llamado las fases: FASES DEL DISEO Blog: http://mascrisher.blogspot.com FASES DE LA INSTALACION email: cristitoher@gmail.com
3ro de Bachillerato

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

EDICION Problema ANALISIS Especificacin PROGRAMACION Algoritmo CODIFICACION programa EXPLOTACION Y MANTENIMIENTO ANLISIS En esta fase se establece el producto a desarrollar, siendo necesario especificar los procesos y estructuras de datos que se van a emplear. En el anlisis estructurado se pueden emplear varias tcnicas como: Diagramas de flujo de datos: Sirven para conocer el comportamiento del sistema mediante representaciones grficas. Modelos de datos: Sirven para conocer las estructuras de datos y sus caractersticas. (Entidad relacin y formas normales) Diccionario de datos: Sirven para describir todos los objetos utilizados en los grficos, as como las estructuras de datos. Definicin de los interfaces de usuario: Sirven para determinar la informacin de entrada y salida de datos. Al final de esta fase tenemos que tener claro las especificaciones de la aplicacin. DISEO En esta fase se alcanza con mayor precisin una solucin optima de la aplicacin, teniendo en cuenta los recursos fsicos del sistema (tipo de ordenador, perifricos, comunicaciones, etc) y los recursos lgicos. (sistema operativo., programas de utilidad, bases de datos, etc). CODIFICACIN Consiste en traducir los resultados obtenidos a un determinado lenguaje de programacin, teniendo en cuenta las especificaciones obtenidas en el cuaderno de carga. Se deben de realizar las pruebas necesarias para comprobar la calidad y estabilidad del programa. Las pruebas se pueden clasificar en: Pruebas unitarias: Sirven para comprobar que cada mdulo realice bien su tarea. Pruebas de interconexin: Sirven para comprobar en el programa el buen funcionamiento en conjunto de todos sus mdulos. Pruebas de integracin: Sirven para comprobar el funcionamiento correcto del conjunto de programas que forman la aplicacin. (el funcionamiento de todo el sistema). EXPLOTACIN En esta fase se realiza la implantacin de la aplicacin en el sistema o sistemas fsicos donde van a funcionar habitualmente y su puesta en marcha para comprobar el buen funcionamiento. Actividades a tener en cuenta o realizar: Instalacin del/los programa/s. Pruebas de aceptacin al nuevo sistema. Conversin de la informacin del antiguo sistema al nuevo (si hay una aplicacin antigua) Eliminacin del sistema anterior. Al final de esta fase se debe de completar la informacin al usuario respecto al nuevo sistema y su uso. As como facilitarle toda la documentacin necesaria para una correcta explotacin del sistema (manual de ayuda, manual de uso, gua de la aplicacin, etc.). MANTENIMIENTO Esta es la fase que completa el ciclo de vida y en ella nos encargaremos de solventar los posibles errores o deficiencias de la aplicacin. Existe la posibilidad de que ciertas aplicaciones necesiten reiniciar el ciclo de vida. Tipos de mantenimiento: Blog: http://mascrisher.blogspot.com email: cristitoher@gmail.com 3ro de Bachillerato PRUEBA DE EJECUCION Aplicacin MONTAJE Programa ejecutable COMPILACION Programa objeto Programa fuente

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

Mantenimiento correctivo: Consiste en corregir errores no detectados en pruebas anteriores y que aparezcan con el uso normal de la aplicacin. Este mantenimiento puede estar incluido en la garanta o mantenimiento de la aplicacin. Mantenimiento adaptativo: Consiste en modificar el programa a causa de cambio de entorno grfico y lgico en el que estn implantados. (Nuevas generaciones de ordenadores, nuevas versiones del sistema operativo, etc.) Mantenimiento perfectivo: Consiste en una mejora sustancial de la aplicacin al recibir por parte de los usuarios propuestas sobre nuevas posibilidades y modificaciones de las existentes. Los tipos de mantenimiento adaptativo y perfectivo reinician el ciclo de vida, debiendo proceder de nuevo al desarrollo de cada una de sus fases para obtener un nuevo producto.

ESTRUCTURA GENERAL DE UN PROGRAMA


Un programa puede considerarse como una secuencia lgica de acciones (instrucciones) que manipulan un conjunto de objetos (datos) para obtener unos resultados que sern la solucin al problema que resuelve dicho programa. Todo programa, en general contiene dos bloques bien diferenciados para la descripcin de los dos aspectos anteriormente citados: - Bloque de declaraciones. En l se especifican todos los objetos que utiliza el programa (constantes, variables, tablas, registros, archivos, etc.) indicando las caractersticas de estos. Este bloque se encuentra localizado siempre por delante del comienzo de las acciones. - Bloque de instrucciones. Constituido por el conjunto de operaciones que se han de realizar para la obtencin de los resultados deseados.

PARTES PRINCIPALES DE UN PROGRAMA


Las partes principales de un programa estn relacionadas con sus dos bloques ya mencionados. Dentro del bloque de instrucciones podemos diferenciar tres partes fundamentales, como se muestra en la siguiente figura:

Entrada de Datos: La constituyen todas las instrucciones que toman los datos de entrada desde un dispositivo externo y los almacena en la memoria principal para que puedan ser procesados. Proceso o algoritmo: Est formado por las instrucciones que modifican los objetos a partir de su estado inicial (datos de entrada) hasta el estado final (resultados) dejando los objetos que lo contiene disponibles en la memoria principal. Salida de resultados: Conjunto de instrucciones que toman los datos finales (resultado) de la memoria principal y los envan a los dispositivos externos.

ESTRUCTURA DE UN PROGRAMA EN C
Los programas en C, consisten en una o ms funciones. La nica funcin que siempre debe estar presente es la denominada main(), ya que es la primera en ser llamada cuando comienza la ejecucin de programa. La estructura general de un programa en C es la siguiente: #include #define declaracin de funciones declaracin de variables globales main() { variables locales del main() sentencias } f1() { variables locales de la funcin f1() sentencias } . Blog: http://mascrisher.blogspot.com

email: cristitoher@gmail.com

3ro de Bachillerato

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

. fn() { variables locales de la funcin fn() sentencias } Los #include son necesarios cuando ocupamos determinadas sentencias que necesitan sus respectiva bibliotecas para poder ejecutarse. Por ejemplo, por lo general una sentencia de entrada/salida requerir de la biblioteca stdio; se debe codificar #include <stdio> Los #define se ocupan cuando una variable debe tener un valor equivalente a travs de todo el programa por ejemplo que la variable PI sea siempre igual a 3.1416; se debe codificar #define PI 3.1416. Las declaraciones de funciones consisten bsicamente en establecer que existe una funcin en algn lugar del programa con una cantidad determinada de variables de entrada y que deber retornar un determinado tipo de valor. Las variables globales son aquellas que se utilizarn a lo largo de todo el programa, en cambio, las variables locales son aquellas que se usarn slo en las funciones. El main() es la funcin principal de un programa en C, siempre debe declararse pues el programa en su inicio la primera funcin que se lee es el main(). Si n existe nos arrojar un error. Las funciones deben estar previamente declaradas para poder ser utilizadas. Un programa bsico deber contener a lo menos un rea para el main() y otras rea para los #include.

DIRECTRICES PARA EL PREPROCESADOR


El preprocesamiento es el primer paso en la etapa de compilacin de un programa -esta propiedad es nica del compilador de C. El preprocesador tiene ms o menos su propio lenguaje el cual puede ser una herramienta muy poderosa para el programador. Todas las directivas de preprocesador o comandos inician con un #. Las ventajas que tiene usar el preprocesador son: - Los programas son ms fciles de desarrollar, - Son ms fciles de leer, - Son ms fciles de modificar - Y el cdigo de C es ms transportable entre diferentes arquitecturas de mquinas. #define El preprocesador tambin permite configurar el lenguaje. Por ejemplo, para cambiar a las sentencias de bloque de cdigo { ... } delimitadores que haya inventado el programador como inicio ... fin se puede hacer: #define inicio { #define fin } Durante la compilacin todas las ocurrencias de inicio y fin sern reemplazadas por su correspondiente { o } delimitador y las siguientes etapas de compilacin de C no encontrarn ninguna diferencia. La directiva #define se usa para definir constantes o cualquier sustitucin de macro. Su formato es el siguiente: #define <nombre de macro> <nombre de reemplazo> Por ejemplo: #define FALSO 0 #define VERDADERO !FALSO La directiva #define tiene otra poderosa caracterstica: el nombre de macro puede tener argumentos. Cada vez que el compilador encuentra el nombre de macro, los argumentos reales encontrados en el programa reemplazan los argumentos asociados con el nombre de la macro. Por ejemplo: #define MIN(a,b) (a < b) ? a : b main() { int x=10, y=20; printf("EL minimo es %d\n", MIN(x,y) ); } Cuando se compila este programa, el compilador sustituir la expresin definida por MIN(x,y), excepto que x e y sern usados como los operandos. As despus de que el compilador hace la sustitucin, la sentencia printf ser sta: printf("El minimo es %d\n", (x < y) ? x : y); Como se puede observar donde se coloque MIN, el texto ser reemplazado por la definicin apropiada. Por lo tanto, si en el cdigo se hubiera puesto algo como: Blog: http://mascrisher.blogspot.com email: cristitoher@gmail.com 3ro de Bachillerato

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

x = MIN(q+r,s+t); despus del preprocesamiento, el cdigo podra verse de la siguiente forma: x = ( q+r < s+t ) ? q+r : s+t; Otros ejemplos usando #define pueden ser: #define Deg_a_Rad(X) (X*M_PI/180.0) /* Convierte grados sexagesimales a radianes, M_PI es el valor de pi */ /* y esta definida en la biblioteca math.h */ #define IZQ_DESP_8 <<8 La ltima macro IZQ_DESP_8 es solamente vlida en tanto el reemplazo del contexto es vlido, por ejemplo: x = y IZQ_DESP_8. El uso de la sustitucin de macros en el lugar de las funciones reales tiene un beneficio importante: incrementa la velocidad del cdigo porque no se penaliza con una llamada de funcin. Sin embargo, se paga este incremento de velocidad con un incremento en el tamao del programa porque se duplica el cdigo. #undef Se usa #undef para quitar una definicin de nombre de macro que se haya definido previamente. El formato general es: #undef <nombre de macro> El uso principal de #undef es permitir localizar los nombres de macros slo en las secciones de cdigo que los necesiten. #include La directiva del preprocesador #include instruye al compilador para incluir otro archivo fuente que esta dado con esta directiva y de esta forma compilar otro archivo fuente. El archivo fuente que se leer se debe encerrar entre comillas dobles o parntesis de ngulo. Por ejemplo: #include <archivo> #include "archivo" Cuando se indica <archivo> se le dice al compilador que busque donde estn los archivos incluidos o include'' del sistema. Usualmente los sistemas con UNIX guardan los archivos en el directorio /usr/include. Si se usa la forma "archivo" es buscado en el directorio actual, es decir, donde el programa esta siendo ejecutado. Los archivos incluidos usualmente contienen los prototipos de las funciones y las declaraciones de los archivos cabecera (header files) y no tienen cdigo de C (algoritmos). #if Inclusin condicional La directiva #if evalua una expresin constante entera. Siempre se debe terminar con #endif para delimitir el fin de esta sentencia. Se pueden as mismo evaluar otro cdigo en caso se cumpla otra condicin, o bien, cuando no se cumple ninguna usando #elif o #else respectivamente. Por ejemplo, #define MEX 0 #define EUA 1 #define FRAN 2 #define PAIS_ACTIVO MEX #if PAIS_ACTIVO == MEX char moneda[]="pesos"; #elif PAIS_ACTIVO == EUA char moneda[]="dolar"; #else char moneda[]="franco"; #endif Otro mtodo de compilacin condicional usa las directivas #ifdef (si definido) y #ifndef (si no definido). El formato general de #ifdef es: #ifdef <nombre de macro> <secuencia de sentecias> #endif Si el nombre de macro ha sido definido en una sentencia #define, se compilar la secuencia de sentecias entre el #ifdef y #endif. Blog: http://mascrisher.blogspot.com email: cristitoher@gmail.com
3ro de Bachillerato

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

El formato general de #ifdef es: #ifndef <nombre de macro> <secuencia de sentecias> #endif Las directivas anteriores son tiles para revisar si las macros estn definidas -- tal vez por mdulos diferentes o archivos de cabecera. Por ejemplo, para poner el tamao de un entero para un programa portable entre TurboC de DOS y un sistema operativo con UNIX, sabiendo que TurboC usa enteros de 16 bits y UNIX enteros de 32 bits, entonces si se quiere compilar para TurboC se puede definir una macro TURBOC, la cual ser usada de la siguiente forma: #ifdef TURBOC #define INT_SIZE 16 #else #define INT_SIZE 32 #endif

VARIABLES Y FUNCIONES EXTERNAS


Las variabl es y argume nt os de ni dos dentro de las funci one s son inte rnas , es deci r, local es. Las variables externas estn denidas fuera de las funciones se encuentran potencialmente disponibles a todo el programa (globales) pero NO necesariamente. Las funciones son un conjunto de instrucciones que realizan una tarea especfica. En general toman ciertos valores de entrada, llamados parmetros y proporcionan un valor de salida o valor de retorno; aunque en C++, tanto unos como el otro son opcionales, y pueden no existir. Tal vez parezca un poco precipitado introducir este concepto tan pronto en el curso. Sin embargo, las funciones son una herramienta muy valiosa, y como se usan en todos los programas C++, creo que debemos tener, al menos, una primera nocin de su uso. A fin de cuentas, todos los programas C++ contienen, como mnimo, una funcin. Prototipos de funciones En C++ es obligatorio usar prototipos. Un prototipo es una declaracin de una funcin. Consiste en una presentacin de la funcin, exactamente con la misma estructura que la definicin, pero sin cuerpo y terminada con un ";". La estructura de un prototipo es: [extern|static] <tipo_valor_retorno> [<modificadores>] <identificador>(<lista_parmetros>); En general, el prototipo de una funcin se compone de las siguientes secciones: Opcionalmente, una palabra que especifique el tipo de almacenamiento, puede ser extern o static. Si no se especifica ninguna, por defecto ser extern. No te preocupes de esto todava, de momento slo usaremos funciones externas, lo menciono porque es parte de la declaracin. El tipo del valor de retorno, que puede ser void, si no necesitamos valor de retorno. En C, si no se establece, ser int por defecto, aunque en general se considera una mala tcnica de programacin omitir el tipo de valor de retorno de una funcin. En C++ es obligatorio indicar el tipo del valor de retorno. Modificadores opcionales. Tienen un uso muy especfico, de momento no entraremos en este particular, lo veremos en captulos posteriores. El identificador de la funcin. Es costumbre, muy til y muy recomendable, poner nombres que indiquen, lo ms claramente posible, qu es lo que hace la funcin, y que permitan interpretar qu hace el programa con slo leerlos. Cuando se precisen varias palabras para conseguir este efecto se puede usar alguna de las reglas ms usuales. Una consiste en separar cada palabra con un "_". Otra, que yo prefiero, consiste en escribir la primera letra de cada palabra en mayscula y el resto en minsculas. Por ejemplo, si hacemos una funcin que busque el nmero de telfono de una persona en una base de datos, podramos llamarla "busca_telefono" o "BuscaTelefono". Una lista de declaraciones de parmetros entre parntesis. Los parmetros de una funcin son los valores de entrada (y en ocasiones tambin de salida). Para la funcin se comportan exactamente igual que variables, y de hecho cada parmetro se declara igual que una variable. Una lista de parmetros es un conjunto de declaraciones de parmetros separados con comas. Puede tratarse de una lista vaca. En C es preferible usar la forma "func(void)" para listas de parmetros vacas. En C++ este procedimiento se considera obsoleto, se usa simplemente "func()". Por ejemplo: int Mayor(int a, int b); Blog: http://mascrisher.blogspot.com

email: cristitoher@gmail.com

3ro de Bachillerato

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

Un prototipo sirve para indicar al compilador los tipos de retorno y los de los parmetros de una funcin, de modo que compruebe si son del tipo correcto cada vez que se use esta funcin dentro del programa, o para hacer las conversiones de tipo cuando sea necesario. En el prototipo, los nombres de los parmetros son opcionales, y si se incluyen suele ser como documentacin y ayuda en la interpretacin y comprensin del programa. El ejemplo de prototipo anterior sera igualmente vlido si se escribiera como: int Mayor(int, int); Esto slo indica que en algn lugar del programa se definir una funcin "Mayor" que admite dos parmetros de tipo int y que devolver un valor de tipo int. No es necesario escribir nombres para los parmetros, ya que el prototipo no los usa. En otro lugar del programa habr una definicin completa de la funcin. Normalmente, los prototipos de las funciones se declaran dentro del fichero del programa, o bien se incluyen desde un fichero externo, llamado fichero de cabecera, (para esto se usa la directiva #include, que veremos en el siguiente captulo). Ya lo hemos dicho ms arriba, pero las funciones son extern por defecto. Esto quiere decir que son accesibles desde cualquier punto del programa, aunque se encuentren en otros ficheros fuente del mismo programa. En contraposicin las funciones declaradas static slo son accesibles dentro del fichero fuente donde se definen.

EDITOR DE TEXTO
Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos nicamente por texto sin formato, conocidos comnmente como archivos de texto o texto plano. El programa lee el archivo e interpreta los bytes ledos segn el cdigo de caracteres que usa el editor. Hoy en da es comnmente de 7- 8-bits en ASCII o UTF-8, rara vez EBCDIC. Elementos.- Dentro de los elementos tenemos: Interfaz Formato Botones de accin y de comandos http://www.caricatos.net/editor/index.php

FUNCIONES DEFINIDAS POR EL USUARIO


Las funciones de usuario son, como su nombre indica, las que el propio usuario declara, de igual manera que declara procedimientos. Las funciones nacen con el propsito de ser subprogramas que siempre tienen que devolver algn valor. Las dos principales diferencias entre procedimientos y funciones son: Las funciones siempre devuelven un valor al programa que las invoc. Para llamar a un procedimiento se escribe su nombre en el cuerpo del programa, y si los necesita, se incluyen los parmetros entre parntesis. Para invocar una funcin es necesario hacerlo en una expresin. Las funciones de usuario vienen definidas por un nombre, seguidas de dos parntesis () entre los que puede haber o no argumentos. Los argumentos son valores que se le pasan a la funcin cuando se llama. Un ejemplo de una funcin sin argumentos: #include <stdio.h> main () { printf (\nEste mensaje lo muestra la funcin main()); MiFuncion (); } /* Definicin de la funcin MiFuncion() */ MiFuncion () { printf (\nEste otro lo muestra MiFuncion()); }

FUNCIONES DE LIBRERA
Blog: http://mascrisher.blogspot.com

email: cristitoher@gmail.com

3ro de Bachillerato

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

Librera: Conjunto de funciones, que a diferencia de un programa de Lenguaje C, no contiene la funcin main() Libreras Estndard: Todo compilador que soporte ANSI C contiene al menos las siguientes libreras Archivos encabezado (Header file): Cdigo de lenguaje C que corresponde a declaraciones y recursos de una librera, que sern asociados mediante la directiva #include Libreras Bsicas de Lenguaje C Manejo de caracteres Funciones Matemticas ctype.h math.h Miscelaneos Manejo de cadenas stdlib.h string.h E/S Bsico stdio.h Fecha y hora time.h

LA COMPILACION
La compilacin es el proceso de traduccin de programas fuente a programas objeto. El programa objeto obtenido de la compilacin ha sido traducido normalmente al cdigo comn del lenguaje de mquina. Para conseguir el programa mquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje mquina directamente ejecutable. El modelo de compilacin de C En el grafico se muestran las distintas etapas que cubre el compilador para obtener el cdigo ejecutable.

ENLAZADO
La fase de enlazado consiste simplemente en ``reunir'' cada uno de los ficheros objeto producidos en la fase anterior, resultando de este proceso un fichero ejecutable. Si nuestro programa hace uso de libreras externas (la mayora lo hacen), el cdigo de las funciones utilizadas ser aadido tambin al fichero ejecutable http://www.fismat.umich.mx/mn1/manual/node1.html Qu pasa si est escribiendo un programa en C++ y quiere usar una librera de C? Si hace uso de la declaracin de funciones de C, float f(int a, char b); el compilador de C++ adornar el nombre como algo tipo _f_int_char para permitir la sobrecarga de la funcin (y el enlazado con verificacin de tipos). De todas formas, el compilador de C que compil su librera C definitivamente no decor ese nombre, por lo que su nombre interno ser _f. As pues, el enlazador no ser capaz de resolver sus llamadas tipo C++ a f(). La forma de resolver esto que se propone en C++ es la especificacin de enlazado alternativo, que se produjo en el lenguaje sobrecargando la palabra clave extern. A la palabra clave extern le sigue una cadena que especifica el enlazado deseado para la declaracin, seguido por la declaracin: extern "C" float f(int a, char b); Blog: http://mascrisher.blogspot.com email: cristitoher@gmail.com
3ro de Bachillerato

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

Esto le dice al compilador que f() tiene enlazado tipo C, de forma que el compilador no decora el nombre. Las dos nicas especificaciones de enlazado soportadas por el estndar son C y C++, pero algunos vendedores ofrecen compiladores que tambin soportan otros lenguajes. Si tiene un grupo de declaraciones con enlazado alternativo, pngalas entre llaves, como a continuacin: extern "C" { float f(int a, char b); double d(int a, char b); } O, para archivos de cabecera, extern "C" { #include "Myheader.h" } La mayora de compiladores disponibles de C++ manejan las especificaciones de enlazado alternativo dentro de sus propios archivos de cabecera que trabajan tanto con C como con C++, por lo que no tiene que preocuparse de eso. Ficheros de cabecera Los principales ficheros de cabecera de C ``suelen ser'' los siguientes: ctype.h: Funciones tiles para la clasificacin y el mapeado de cdigos. errno.h: Funciones que permiten comprobar el valor almacenado en errno por algunas funciones de libreras. float.h: Funciones que establecen algunas propiedades de las representaciones de tipos real. limits.h: Funciones que establecen algunas propiedades de las representaciones de tipos enteros. math.h: Funciones que sirven para realizar operaciones matemticas comunes sobre valores de tipo double. stdarg.h: Son declaraciones que permiten acceder a los argumentos adicionales sin nombre en una funcin que acepta un nmero variable de argumentos. stdio.h: Macros y funciones para realizar operaciones de entrada y salida sobre ficheros y flujos de datos. stdlib.h y a veces unistd.h: Declaraciones de una coleccin de funciones tiles y la definicin de tipos y macros para usarlas. Entre ellas suele estar la funcin malloc que permite hacer peticiones de memoria dinmica al sistema. string.h: Declaracin de una coleccin de funciones tiles para manejar cadenas y otros arrays de caracteres. time.h: Declaracin de funciones para el manejo de fechas.

LIBRERIAS ANSI C EN C
string.h math.h stdio.h time.h stdlib.h ctype.h locale.h signal.h setjmp.h cstring cmath cstdio ctime cstdlib cctype clocale csignal csetjmp

Librerias Borland conio.h graphics.h http://www.youtube.com/watch?v=cCMQL3RJDlw

EJECUCIN DE UN PROGRAMA
El siguiente estado es correr el programa ejecutable. Para correr un ejecutable en UNIX, simplemente se escribe el nombre del archivo que lo contiene, en este caso programa (o a.out). Con lo anterior, se ejecuta el programa, mostrando algn resultado en la pantalla. En ste estado, podra haber errores en tiempo de ejecucin (run-time errors), tales como divisin por cero, o bien, podran hacerse evidentes al ver que el programa no produce la salida correcta. Si lo anterior sucede, entonces se debe regresar a editar el archivo del programa, recompilarlo, y ejecutarlo nuevamente.

Blog: http://mascrisher.blogspot.com

email: cristitoher@gmail.com

3ro de Bachillerato

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

DEPURACIN
La depuracin es el anlisis de un programa para descubrir fallos. El nombre en ingls es debug, porque esos fallos de programacin reciben el nombre de bugs (bichos). Para eliminar esos fallos que hacen que un programa no se comporte como debera, se usan unas herramientas llamadas depuradores. Estos nos permiten avanzar paso a paso para ver cmo avanza realmente nuestro programa, y tambin nos dejan ver los valores de las variables. Como nuestros conocimientos ya nos permiten hacer programas de una cierta complejidad, es el momento de ver formas de descubrir dnde estn los posibles errores. Lo haremos desde varios entornos distintos.

OPCIONES DEL DEPURADOR


Ejemplos de algunos entornos Turbo C es un compilador antiguo, pero sencillo de manejar, y la depuracin tambin es sencilla con l: El men Run es el que nos permite poner nuestro programa en marcha normalmente (Run), pero tambin el que nos permite avanzar paso a paso por las rdenes que lo forman. Hay dos maneras de hacerlo: Trace into va paso a paso por todas las rdenes del programa. Si hay una llamada a una funcin, tambin sigue paso a paso por las rdenes que forma esa funcin. Step over es similar, salvo que cuando haya una llamada a una funcin, sta se tomar como una nica orden, sin ver los detalles de dicha funcin. En cualquiera de ambos casos, se nos muestra con una lnea azul por dnde va avanzando la depuracin.

Si queremos observar cmo evoluciona el valor de alguna variable, podemos aadir un viga (en ingls watch) desde el men Break/Watch. Este viga quedar en la parte inferior de la pantalla.

Si trabajamos con DevC++ para Windows, la situacin no es muy diferente. Primero debemos indicar dnde queremos que se interrumpa el programa (aadir un breakpoint), haciendo clic con el ratn en el margen izquierdo de nuestro programa. Esa lnea quedar resaltada en color rojo. Ahora ponemos en marcha el programa desde el men Depurar. http://www.fismat.umich.mx/mn1/manual/node1.html

Blog: http://mascrisher.blogspot.com

10

email: cristitoher@gmail.com

3ro de Bachillerato

Desarrollo de Funciones en el Sistema Informtico

Lic. Cristian Heredia 2011-2012

Actividades de reforzamiento 1.- Elabore 10 preguntas con sus respuestas 2.- Disee un organizador grafico de los temas principales 3.- Aada un comentario al blog 4.- Anote la idea principal del video tutorial. 5.- Elabore una sopa de letras sobre el contenido de esta unidad. Escriba lo que aprendi en un resumen de 10 lneas. ___________________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ______________________________________________________________________________ ____________________________

Blog: http://mascrisher.blogspot.com

11

email: cristitoher@gmail.com

3ro de Bachillerato