Sei sulla pagina 1di 11

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

Captulo #1
Introduccin
1.1. PRESENTACIN
Saber programar es una herramienta imprescindible para cualquier profesionista, ms en el rea de la ingeniera, pues le permite solucionar problemas complejos mediante la realizacin de clculos matemticos que procesan grandes cantidades de datos. En los ltimos aos ha habido una mayor tendencia al uso de C entre programadores profesionales. Entre las muchas razones de la popularidad de C estn las siguientes: C es un lenguaje de programacin estructurado, de alto nivel, flexible y orientado a funciones. C tiene ciertas caractersticas de bajo nivel de las que slo se dispone normalmente en ensamblador o en lenguaje mquina. Los programas escritos en C son transformados por los compiladores en pequeos programas objeto que se ejecutan eficientemente. Existen compiladores de C comerciales para la mayora de las computadoras personales, minicomputadoras y grandes computadoras. C no depende en gran manera de la mquina. Los programas escritos en C se pueden llevar fcilmente de una computadora a otra.

Durante mi estancia como estudiante en la F.I.M.E.-U.A.N.L. aprend a programar en FORTRAN, BASIC y COBOL, todos estos lenguajes eran no estructurados. Una vez que termin la carrera y comenc a impartir ctedra, me correspondi ensear PASCAL, QUICKBASIC y COBOL. Tanto PASCAL como QUICKBASIC ya incluan caractersticas de la programacin estructurada; la diferencia radica en que en la programacin estructurada las instrucciones se ejecutan de manera secuencial y esta secuencialidad no se ve interrumpida en ningn momento. Un lenguaje estructurado tiene adems instrucciones repetitivas y selectivas; todas ellas con un principio y un fin bien claro y definido. La principal instruccin que rompe con la secuencialidad de un programa es la sentencia goto, por eso su uso ya ha sido descontinuado. Ahora, en la F.I.M.E. ya impartimos Lenguaje C, Visual Fox Pro y Progress, todos ellos soportan la programacin estructurada, aunque en el caso de Visual Fox Pro y Progress tambin soportan la Programacin Orientada a Objetos. La realizacin de este libro, es el resultado del esfuerzo coordinado de cada uno de los autores; esperamos sea un apoyo que le permita, al estudiante, visualizar en forma prctica las instrucciones ms importantes y utilizadas para comprender y aprender la filosofa de la Programacin Estructurada. Atentamente I.A.S. Edgar Danilo Domnguez Vera, M.C. Maestro en Ciencias de Administracin con especialidad en Sistemas

Captulo #1

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

1.2. DEFINICIN DE PROGRAMACIN DE COMPUTADORAS.


Es muy difcil dar una definicin de lo que es la programacin por lo que comenzar por decir que la programacin no es una ciencia exacta, aqu no hay soluciones nicas, un problema puede ser resuelto por programacin, sin embargo, puede haber programas diferentes que solucionan el mismo problema. En la programacin no hay reglas estrictas porque no se trata de aplicar una frmula. Es intil tratar de aprender a programar por memorizacin. En la programacin hay herramientas y el objetivo es usar esas herramientas con un orden lgico que nos ayuden a resolver un problema. Mucho se ha discutido acerca de que la programacin es un arte. Hay algo de verdad en lo anterior pero tambin es ciencia porque trata de entender la realidad y procura desarrollar una solucin mediante tcnicas y mtodos ya existentes. Por lo tanto, podemos decir que la programacin de computadoras es la habilidad de interpretar un problema; llevar ese problema a un nivel de abstraccin tal que permita desarrollar un algoritmo de solucin que posteriormente pueda convertirse en un cdigo que sea interpretable por una computadora.

1.3. HISTORIA DEL LENGUAJE C


El lenguaje C es un lenguaje de alto nivel que combina el poder de un lenguaje ensamblador con la facilidad de uso y portabilidad de un lenguaje de alto nivel. Fue desarrollado en 1972 en los laboratorios de Bell de AT & T. Fue diseado por Dennis Ritchie como un lenguaje en el cual se escribi el sistema operativo UNIX. Originalmente fue usado para programar sistemas operativos. Sin embargo, con el transcurso de los aos debido a su flexibilidad y su poder, junto con la disponibilidad de compiladores C de alta calidad, para todo tipo de computadoras de todos tamaos, se ha hecho popular en la industria, para una gran cantidad de aplicaciones. Un lenguaje estndar es el que describe todas las construcciones y especificaciones de su sintaxis para que puedan ser ejecutadas en cualquier computadora. El lenguaje C estndar usualmente llamado ANSI fue adoptado por el Instituto de Estndares Nacionales Americanos (ANSI) en 1989.

1.4. MTODO A SEGUIR PARA LA SOLUCIN DE PROBLEMAS


Ya que una computadora no piensa, para que realice un trabajo til debemos proporcionar una serie de instrucciones, las cuales forman un programa. Pero programar implica ms que una lista de instrucciones. La solucin de problemas es un componente crucial de la programacin. Antes de escribir un programa para la solucin de un problema en particular, debemos considerar cuidadosamente todos los aspectos del problema y luego, desarrollar y organizar una solucin. Antes de hacer tus propios problemas debes aplicar el siguiente mtodo para la solucin del problema propuesto. 1. Especificar los requerimientos. Esto consiste en establecer el problema y entenderlo claramente, as como determinar con precisin lo que se requiere para su solucin. Se debe descartar todo lo que no es importante y llegar a la raz del mismo, y si despus de esto, el problema no queda totalmente definido debemos pedir ms informacin a la persona que quiere resolverlo. 2. Anlisis. El anlisis consiste en identificar las entradas del problema (datos conocidos), las salidas deseadas (datos que se desean conocer) y cualquier requisito o restriccin adicional para lograr la solucin. Identificar qu informacin es proporcionada por los datos del problema y qu resultados se deben computarizar y desplegar. 3. Diseo. Lo siguiente es desarrollar una lista de pasos a seguir para la solucin del problema llamada ALGORITMO y verificar que el algoritmo resuelva el problema como se intenta. Escribir el algoritmo es la parte ms difcil del proceso de solucin de problemas. 4. Una vez que se tenga el algoritmo hay que verificar que sea correcto antes de seguir adelante. 5. Implementacin. Implementar el algoritmo como programa. Se requiere conocer un lenguaje de programacin ya que cada paso del algoritmo se convierte a una o varias lneas de cdigo en el lenguaje seleccionado. 6. Verificacin y Prueba. Probar el trabajo completo y verificar que trabaja como se esperaba usando diferentes conjuntos de datos.
Captulo #1

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

1.5. MTODOS PARA LA ELABORACIN DE ALGORITMOS.


Hay dos mtodos para la elaboracin de algoritmos: Diagramas de flujo y pseudo cdigo. Para la elaboracin de diagramas de flujo se utilizan una serie de smbolos que representan una accin computacional, tales como entrada de datos, impresin de datos, operaciones matemticas, seleccin de alternativas, repeticin de pasos, etc. Es conveniente tomar en cuenta las siguientes reglas generales para la elaboracin de diagramas de flujo: 1. Utilice smbolos estandarizados 2. Desarrolle el diagrama de flujo de tal forma que se lea de arriba hacia abajo y de izquierda a derecha siempre que sea posible. No cruce lneas de flujo. Use puntas de flechas para indicar direccin. 3. Mantenga el diagrama de flujo claro, legible, simple. Deje suficiente espacio entre los distintos smbolos. Si la solucin a un problema es larga y compleja, divdala en varios diagramas de flujo. 4. Escriba mensajes sencillos para describir los distintos pasos a lo largo del diagrama de flujo. 5. Escriba en forma clara y legible los smbolos. El pseudo cdigo es una especie de lenguaje de programacin que permite escribir: entrada de datos, impresin de datos, operaciones matemticas, seleccin de alternativas, repeticin de pasos etc. Recuerde que todas las computadoras digitales, independientemente de su tamao, son bsicamente dispositivos electrnicos que pueden transmitir, almacenar y manipular informacin (datos).

1.6. EJECUCIN DE UN PROGRAMA.


La ejecucin de un programa supone lo siguiente: 1. Un conjunto de informacin conocida, los datos de entrada, se introducen en la computadora (desde un teclado, un disquete, un disco duro, etc.) y se almacenan en una porcin de la memoria de sta, tradicionalmente en la memoria RAM. Para entender lo que es la memoria RAM observe la figura donde se representa a una computadora que est pensando, de aqu se deduce que la memoria RAM es un medio de almacenamiento de datos voltil ya que cuando se apaga la computadora, toda informacin que haba en la memoria RAM se pierde, a menos de que la hayamos almacenado en otro dispositivo como un disco. 2. Los datos de entrada se procesarn para producir ciertos resultados deseados que se les llama los datos de salida. 3. Los datos de salida, y probablemente algunos de los datos de entrada, se imprimirn en papel o se presentarn en un monitor.

RAM

Captulo #1

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

Por otro lado, el procesamiento de datos mediante un programa puede representarse con la siguiente figura. Salida de datos (resultados)

Entrada de Datos

Proceso de Datos
Se introducen datos a la memoria RAM (desde el teclado), ah mismo de procesan y posteriormente se genera un resultado (se presentan en el monitor o en papel).

1.7 Instalacin del Dev-C++.


Ya hemos comentado que el propio Dev-C++ no es un compilador en s, sino un entorno de programacin que utiliza un compilador. Podramos bajarnos el IDE por un lado, y el compilador por el otro, instalarlo y utilizarlo. Sin embargo teniendo en cuenta que en la pgina tenemos un paquete que lo rene todo, ser cuestin de aprovechar la circunstancia y no complicarnos la vida. Vamos a la pgina oficial del Dev-C++: http://www.bloodshed.net/dev/devcpp.html En la seccin Downloads tenemos la siguiente versin: Dev-C++ 5.0 beta 8 (4.9.8.0) (12 MB) with Mingw/GCC 3.2 y varios lugares para descargarlo. Pinchamos en cualquiera de ellos y a esperar; son unos 13 megas aproximadamente. Una vez descargado tendremos un ejecutable auto-instalable. Doble clic en l y se podr a punto. Lo nico que tenemos que seleccionar es el directorio de destino as como si queremos iconos en el escritorio, men inicio o quick-launch. Es recomendable dejar el directorio por defecto (c:\dev-cpp) o al menos usar una ruta de directorios que no tenga espacios en los nombres de directorios.

Conociendo el entorno.
Antes que nada me gustara comenzar con la definicin de algo con lo que vamos a tratar mucho a lo largo del documento: el concepto de proyecto. Un proyecto no es ms que una agrupacin de todos los ficheros que requiere una aplicacin, as como de su configuracin especfica. Cuando en el Dev-C++ creamos un proyecto se crea un fichero .dev. Es un fichero de texto que contiene referencias a los ficheros necesarios para compilar nuestra aplicacin (ficheros de cdigo, ficheros de encabezado) as como las opciones necesarias especficas de esa aplicacin (como pueden ser referencias a bibliotecas no estndar que se necesitan para compilar).

Captulo #1

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

Una vez ejecutado el programa tendremos algo as:

1. Men y barras de herramientas Aqu tenemos los mens con los tpicos comandos de Windows (abrir, guardar, copiar y pegar) Tambin tenemos una serie de iconos en las barras de herramientas que no son ms que una parte de las opciones que tenemos en los mens, as que por tanto, no creo que haga falta explicarlos uno por uno. Si an as no te aclaras, puedes dejar el ratn encima de un icono durante unos segundos y aparecer una ayuda emergente. En ella se incluye una descripcin bsica y el atajo de teclado asociado a la funcin del icono, si este existe. (Como veremos, los atajos de teclado tambin se pueden configurar) 2. Explorador de proyectos y clases e informacin de depuracin. Dependiendo de la pestaa que seleccionemos en esta rea tendremos acceso a: a) Explorador de proyectos, que muestra los archivos por los que est formado nuestro proyecto -y por tanto nuestra aplicacin- bien sean de cdigo, de encabezados, o de recursos. b) Explorador de clases, una de las funciones ms tiles y que ya conoceris si habis visto el Visual Studio. En este caso veremos cada una de las estructuras/clases definidas en los ficheros de nuestro proyecto, as como los mtodos y datos que forman parte de la estructura/clase, incluyendo sus argumentos y su tipo. Tambin veremos una lista de las funciones globales que tenemos en el proyecto, tambin con sus argumentos. Pulsando doble clic en un mtodo, funcin o clase, iremos directamente al archivo y lnea donde se ha definido. c) Informacin de depuracin, aqu podremos definir las variables que queramos cuando estemos depurando un programa. 3. rea de edicin. Aqu aparecern los ficheros de cdigo que abras. Puedes tener abierto ms de un fichero a la vez, y seleccionarlo por medio de las pestaas que aparecern en la parte superior de este rea.

Captulo #1

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

4. Resultados de la compilacin y controles de depuracin. En sta serie de pestaas encontraremos informacin acerca del proceso de compilacin y depuracin. Cuando seleccionemos una pestaa se expandir para mostrarnos los resultados, al tiempo que aparecer una nueva pestaa que se sumar a las cinco anteriores: la pestaa Cerrar. Pulsndola volveremos a tener el mismo espacio que tenamos antes. En la pestaa compilador veremos los errores y advertencias que ha generado la compilacin de nuestro cdigo (si los hubiera). Pulsando doble clic en uno de ellos nos remitir directamente a la lnea que provoc dicho error o advertencia. En la pestaa resultados del compilador, tendremos toda la salida que genera el compilador gcc (que recordemos se maneja por lnea de comandos) Esto tambin incluye errores y avisos, al igual que en la pestaa anterior. Sin embargo no tenemos la opcin del doble clic para ir directamente a la lnea que provoc el error.

Men archivo:
- Nuevo: Aqu podemos crear un nuevo fichero de cdigo fuente en blanco (que no es otra cosa que un fichero de texto); un nuevo proyecto seleccionado entre varios tipos un fichero de definicin de recursos (los recursos se utilizan en la programacin con la API win32); o crear una plantilla a partir del cdigo que tenemos que se convertir en otro tipo de proyecto. Una plantilla en este caso, es un nuevo tipo de proyecto, que nos sirve de base para empezar a programar. Por ejemplo puedes definir una plantilla hola mundo que ya contenga los ficheros y el cdigo necesario para imprimir en pantalla el famoso mensaje. De la misma manera los programas en win32 tienen unas estructuras bsicas (funcin WinMain, definicin e inclusin de encabezados) que poseen todos los programas. Puedes generar una plantilla, y as no tienes que teclear lo bsico cada vez. - Propiedades: Muestra las caractersticas de los ficheros del proyecto (o del fichero actual si no hay proyecto) como lneas totales, lneas de cdigo, lneas comentadas, tamao - Importar: Solo tenemos la opcin de importar un proyecto de Visual C++. Lo que hace esta opcin es transformar el proyecto de visual C++ en un proyecto de Dev-C++, con sus dependencias de bibliotecas y ficheros de cdigo, pero no trasforma el cdigo para que sea posible su compilacin directamente con DevC++. Slo lo he probado con proyectos simples y funciona bastante bien. Cabe decir que es intil trasformar un proyecto de Visual C++ que utilice MFC, ya que Dev-C++ no tiene soporte para ellas. Su mayor utilidad reside en trasformar un proyecto que utilice las API Win32, que s soporta el compilador. - Exportar: Podemos exportar el fichero de cdigo actual a un fichero HTML o RTF, o exportar el proyecto a HTML. Puede ser til para la distribucin o para colgar el cdigo en una pgina web de forma ordenada. Men Edicin: - Insertar: Tenemos las opciones de insertar la fecha y hora actual o una plantilla de una cabecera bsica para la descripcin del fichero fuente. Sin embargo podemos agregar nuestros propios elementos a este men. Ms adelante veremos cmo hacerlo. El icono insertar que aparece en una de las barras de herramientas cumple la misma funcin que ste men. - Intercambiar header/source: Conmuta entre los archivos de cdigo fuente y su archivo de encabezado asociado. Para que esto funcione, ambos archivos deben tener el mismo nombre, y cambiar solamente en su extensin (Por ejemplo: main.cpp y main.h) Esta opcin tambin est disponible haciendo clic derecho en el rea de edicin y seleccionando la misma opcin (siempre que tengamos un fichero abierto, claro) - Aadir o quitar marcador / ir a marcador. Sirve para crear una marca en una lnea concreta de un fichero de cdigo (no tienen porqu estar todas en el mismo fichero) para luego desplazarnos a ella de una forma ms rpida. Tambin tenemos un icono en la barra de herramientas con esta funcin. - Agregar comentario: Agrega un comentario de C++ ( // ) si hacemos una seleccin y elegimos esta opcin, comentar todas las lneas de la seleccin. - Quitar comentario: Realiza la funcin contraria a la anterior. - Poner/quitar margen: Hace una sangra a la lnea/seleccin.

Men Bsqueda:
Tiene las opciones tpicas de bsqueda y reemplazo. Cabe destacar una funcin de bsqueda en varios ficheros, as como los comandos Ir a lnea y el siempre til comando Ir a funcin, que busca entre las funciones del fichero actual.
Captulo #1

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

Men Ver:
Nada del otro mundo. Podemos seleccionar qu barras de herramientas queremos que muestre el Dev-C++, as como si queremos que muestre el explorador de proyectos/clases. Tambin podemos elegir si queremos que el explorador de proyectos y clases, as como los resultados del compilador; se muestren anclados al programa principal (por defecto) o como una ventana aparte. Por ltimo podemos cambiar las opciones de los resultados del compilador para que est siempre visible, o slo cuando sea necesario (es decir, cuando compilemos nuestro programa y surjan errores o advertencias) Yo os recomiendo la segunda opcin.

Men Proyecto:
- Nuevo cdigo fuente: crea un nuevo fichero de cdigo que se aada automticamente al proyecto. Cuando lo salves por primera vez te pedir el nombre del fichero. - Aadir al proyecto: permite aadir ficheros al proyecto. - Quitar del proyecto: muestra un cuadro de dilogo con los ficheros pertenecientes a nuestro proyecto para poder eliminar los que queramos (se eliminan del proyecto, no se borran de su ubicacin) - Propiedades del proyecto: para cada proyecto podemos definir unas opciones diferentes de las comunes a las definidas en el compilador. Por ejemplo podemos vincular con ms bibliotecas, aadir flags de compilacin o activar la depuracin, de forma que todas estas configuraciones slo se aplicarn a nuestro proyecto.

Men Ejecutar:
- Compilar: compila y vincula el fichero o el proyecto entero para crear el ejecutable/librera. Como ya dije los archivos que no fueron modificados no son recompilados. - Compilar el archivo actual: compila el fichero que ests editando actualmente. No se vincula. - Ejecutar: Ejecuta el programa (si existe ejecutable) Ojo! Este comando no compila, por lo que si has modificado tu programa, pero no lo recompilas, y le das a este botn (suponiendo que ya tuvieras un ejecutable en el directorio de trabajo) ejecutar la versin anterior. Puede parecer una tontera, pero considerando que me ha pasado unas cuantas veces (la mayora de las cuales han acabado en intentos de suicidio) creo que es mejor recalcarlo. - Parmetros: Si queremos que nuestro ejecutable reciba algn tipo de parmetro se pone aqu. Slo los parmetros, no hace falta repetir de nuevo el nombre del ejecutable. - Compilar y ejecutar: Compila, vincula y automticamente ejecuta el programa (si no hubo ningn error, claro) - Reconstruir todo: Borra todos los archivos de cdigo objeto, para recompilar todos los ficheros de cdigo fuente. Tambin vincula todos. En definitiva, reconstruye el proyecto de cero. Se consigue el mismo efecto que pulsando Limpiar resultados y luego Compilar en este mismo men. - Revisar sintaxis: Comprueba si la sintaxis del cdigo es correcta. No genera cdigo objeto alguno. Es lo mismo que invocar al compilador con la opcin -fsyntax-only - Limpiar resultados: Borra todos los archivos de cdigo objeto y el ejecutable, si existen. - Anlisis de perfil. Muestra la informacin del profiler, que consiste en datos estadsticos acerca de las funciones del programa, como el nmero de veces que son llamadas, el tiempo que tardan en ejecutarse, el porcentaje de tiempo total del programa que se ejecutan etc. Sirve para encontrar las funciones ms utilizadas o ms lentas, con el fin de optimizar stas. Aunque el IDE contempla estas opciones, no funcionan correctamente en esta versin, aunque cuando actualicemos el programa a la versin 4.9.8.5 funcionarn correctamente. - Reiniciar ejecucin del programa: Esta opcin slo est disponible si ests ejecutando tu programa. Seleccinalo para reiniciar el programa.

Men depurar:
Ya que veremos este asunto ms delante de forma detallada, no me voy a extender mucho. Espero que las explicaciones que no se entiendan ahora sean respondidas entonces. - Depurar: Creo que est claro, no? Inicia la depuracin del proyecto.
Captulo #1

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

- Parar ejecucin. Finaliza la ejecucin del programa, as como el modo depuracin. - Parmetros. Igual que la opcin del men compilar, pero slo se aplica cuando estemos depurando el proyecto. - Aadir quitar punto de ruptura: Aade un breakpoint, es decir, un punto en el cual la ejecucin del programa se detendr. - Siguiente paso: Siguiente instruccin del programa - Avanzar paso a paso: Igual que el anterior, pero ejecuta los pasos dentro de un procedimiento. - Saltar paso: Esta opcin debera ser traducida como continuar. Contina la ejecucin del programa hasta que se encuentre otro breakpoint o finalice. - Ir a cursor: Se ejecuta el programa hasta que llegue al punto donde est el cursor (si no hay un breakpoint antes) - Aadir watch: Abre un cuadro de dilogo para introducir la variable que queremos observar en tiempo de ejecucin. La variable y su contenido aparecer en el rea 2 (siempre que tengamos seleccionada esa pestaa. - Observar variables: Selecciona la pestaa Depurar del rea 2. - Ver ventana del CPU: Debug avanzado Podemos observar los registros de la mquina en un momento de la ejecucin.

Men Herramientas
Aqu tenemos las opciones de configuracin del IDE y del compilador. Tambin tenemos algunas herramientas ya incluidas con el programa, aunque tambin podemos agregar objetos a este men para definir nuestras propias herramientas, y tenerlas a mano.

1.8. PASOS PARA EJECUTAR (CORRER) UN PROGRAMA.


1. 2. Escribir el cdigo en la pantalla de edicin. grabar el programa en un disco y asignar un nombre, el cual debe ser de mximo ocho caracteres, sin espacios, acepta letras, nmeros y guiones medios, tal y como se muestra en la siguiente figura.

Captulo #1

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

3.

Compilar hasta quitar todos los errores de sintaxis, para esto tendr que corregir, grabar el programa y volver a compilar hasta que ya no halla errores. Para compilar el programa deber activar la primera opcin que est en el men Compile. Cuando ya no hay errores de sintaxis aparecer una caja de dilogo como en la siguiente figura

Captulo #1

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

4.

Correr el programa y verificar los resultados en la pantalla de ejecucin. Para ejecutar el programa deber activar la primera opcin que est en el men Run. Los resultados del programa aparecern en la ventana de ejecucin como en la siguiente figura.

Captulo #1

10

Introduccin

Universidad Autnoma de Nuevo Len

Facultad de Ingeniera Mecnica y Elctrica

Captulo #1

11

Introduccin

Potrebbero piacerti anche