Beruflich Dokumente
Kultur Dokumente
ADVERTENCIA PRELIMINAR Salvo que se indique lo contrario, todos los nombres de carpetas, ficheros, proyectos, etc deben cumplir estas normas: Puede contener letras, nmeros, y el guin bajo (_). No puede contener espacios (por ejemplo, no vale usar la carpeta Mis Documentos por tener un espacio en el nombre, pero s podemos crear o usar una carpeta, dentro del disco C: que se llame mis_proyectos o simplemente proyectos) No puede contener la letra (por ejemplo, no se le puede llamar diseo a una carpeta o fichero, pero s se le puede llamar diseno). No puede contener acentos (por ejemplo, un fichero o carpeta no puede llamarse mecnica pero s mecanica). Esta gua comprende la instalacin y uso bsicos del entorno de desarrollo C-Free 4.0, de tal forma que el alumno pueda realizar los ejercicios y prcticas de la asignatura fuera del laboratorio. El uso del depurador ser desarrollado en documento aparte. Es recomendable que el alumno tenga siempre a mano esta gua, independientemente de la prctica que est realizando. Dentro de esta gua habr pasos u opciones que dependern del sistema operativo en el que se est instalando C-Free.
Cuando lo explicado en un prrafo afecte slamente a usuarios con Windows XP, antepondremos el smbolo
,y
cuando afecte nicamente a usuarios con Windows Vista, usaremos el smbolo . Cuando la gua muestre imgenes con el contenido de la pantalla para apoyar la explicacin de un paso, slo se mostrar una de las dos versiones (captura de pantalla de Windows XP o de Windows Vista), a no ser que el contenido de las pantallas en ambos sistemas operativos sea muy distinto o pueda llevar a confusin.
CONTENIDOS
Preconfiguracin del ordenador donde se va a trabajar ................................ ................................................................ 2 Descarga del fichero comprimido conteniendo el entorno de programacin................................. ..................................3 Instalacin del parche de seguridad de Microsoft para Windows XP................................. .............................................4 Instalacin de C-Free 4.0................................................................ ................................................................ ..............5 Gua de uso de C-Free 4.0................................ ................................................................ .............................................7
Primeros pasos con C-Free 4.0................................................................................................................................................................................................7 Edicin de cdigo C.................................................................................................................................................................................................................. 9 Compilacin y ejecucin de programas................................................................................................................................................................................12 Trabajar con ficheros de cdigo C existentes.......................................................................................................................................................................13
de la figura. Pulsamos SI. El resultado se puede observar abriendo cualquier ventana del explorador de Windows que tenga ficheros dentro. Ahora los programas ejecutables aparecen identificados con su extensin (.EXE) y los ficheros de cdigo C aparecen con su extensin (.C), lo que los hace fcilmente identificables, sea cual sea el tipo de vista que tengamos seleccionada para esa carpeta.
En el disco duro aparecer un fichero llamado cfree.zip . Si has realizado el paso anterior, vers la extensin (.ZIP), indicativo de fichero comprimido. Haz clic en ese fichero con el botn derecho del ratn. Si tienes WinZIP instalado, usa la opcin Extract files here (extraer ficheros aqu). Si no tienes WinZIP, usa la opcin Extraer todo y sigue los pasos del asistente de extraccin, hasta que obtengas la carpeta con los archivos descomprimidos.
El primero de ellos que se muestra en la imagen corresponde al fichero de instalacin del entorno propiamente dicho. El segundo lo usaremos en el siguiente paso, pero slo si eres usuario de Windows XP.
ste es un programa proporcionado por Microsoft, que solventa un fallo que se produce al ejecutar algunos programas. El C-Free se ve afectado de este fallo, y por ello es imprescindible que instalemos este parche antes de usar C-Free. Si por casualidad ya hubieras instalado C-Free antes de este parche, no pasa nada, se puede instalar este parche despus del C-Free, pero observa que si intentas ejecutar C-Free antes de realizar este paso, obtendrs un error como ste:
4. Por ltimo, pulsamos Finalizar para salir del asistente. Cerramos todas las ventanas y aplicaciones que tuviramos abiertas y reiniciamos el equipo, para que el parche sea efectivo.
1. Tanto Windows XP como Windows Vista muestran un cuadro de dilogo como ste, para confirmar que se desea ejecutar este programa. Windows Vista adems presentar otro cuadro para pedir permiso explcito para ejecutarlo.
2. El cuadro de presentacin de C-Free. Se recomienda cerrar todos los programas que se tengan abiertos antes de proseguir con la instalacin. Pulsamos Next.
3. Se muestra el directorio (carpeta) donde se instalar CFree. Se puede dejar el valor por defecto, que puede ser distinto en Windows XP que en Windows Vista. Simplemente, pulsamos Next.
4. Se nos informa que el programa est listo para instalar C-Free en el ordenador. Pulsamos Next para iniciar la instalacin propiamente dicha.
5. Se inicia la copia de ficheros. Esta operacin tarda muy poco en los PCs actuales.
6. Y por ltimo, este cuadro nos informa de que se ha instalado C-Free correctamente. Pulsamos Finish para terminar la instalacin.
Es posible que Windows Vista muestre un cuadro de dilogo informando de posibles errores en la instalacin, y ofreciendo la opcin de repetir el proceso con los parmetros recomendados, o dar por buena la instalacin. Si se lleg al paso 6, se puede dar por buena.
Tambin se habr creado un men dentro del men Inicio Todos los programas, con el nombre C-Free 4.0
Al arrancar C-Free se mostrar la pantalla principal, desde la cual se realiza todo el trabajo.
El programa se maneja a travs de las opciones de los mens que hay en la parte superior. Algunas de las funciones ms comunes tambin estn disponibles en forma de iconos en la barra de herramientas situada justo debajo. Por ejemplo, el icono situado ms a la izquierda ( ) corresponde a la opcin File New, y sirve para crear un nuevo fichero de cdigo fuente. Pulsamos sobre l, y ste es el resultado.
Ahora vemos ms divisiones en la ventana del programa. La que ocupa ms espacio es el editor. Vemos que est con el cursor de texto listo para empezar a escribir en pantalla lo que tecleemos. El editor numera automticamente las lneas que vamos escribiendo, lo que es muy til para encontrar rpidamente partes dentro un cdigo fuente extenso, o ir directamente a la lnea donde se ha reportado un error de compilacin. En el mismo editor vemos una lnea fina vertical de color gris cerca del costado derecho, que lo recorre de arriba abajo. Esa lnea indica dnde se encuentra la columna 80. Sirve como referencia a la hora de imprimir un listado de cdigo fuente, ya que las impresoras suelen configurarse para una lnea de 80 caracteres, y cualquier lnea que ocupe ms de eso, se corta y se contina en la siguiente. Esto puede no quedar bien en un documento, ya que se pierde el identado (hablaremos sobre el identado ms tarde). Aparte de eso, no pasa absolutamente nada por escribir ms all de esa lnea. La columna de la derecha contiene el listado de ficheros fuente con los que se est trabajando en este momento. En la imagen slo aparece uno. C-Free nos permite editar varios ficheros de cdigo fuente de forma simultnea, y pasar de uno a otro con un simple clic de ratn en el nombre de fichero en esta columna. Cada fichero dentro del editor tiene asociada una pestaa con su nombre (en este ejemplo, la pestaa est justo encima de la ventana del editor, con el nombre Untitled1.cpp), y tambin podemos cambiar de fichero haciendo clic en la pestaa correspondiente. La columna de la izquierda, que ahora est vaca, contiene todas las variables globales y funciones que usemos en nuestro programa. Es una buena idea tener esta columna presente, ya que cuando nuestro programa sea ms complejo, con muchas funciones, podremos saltar a la definicin de cualquiera de ellas haciendo un simple clic en su nombre en esta columna. Los contenidos de la misma se actualizan automticamente cuando escribimos cdigo. Debajo de estos tres espacios se abrir un cuarto, la ventana de mensajes, pero esto slo ocurre cuando se ha realizado una compilacin.
Edicin de cdigo C
Este es un buen momento para hacer el ejercicio de introduccin que tenis disponible en la primera prctica de programacin (o repetirlo por tu cuenta si el profesor lo hizo en clase). Para este ejemplo, sin embargo, usaremos otro cdigo, ms complejo, que nos permitir ver algunas de las cosas que hemos adelantado en los prrafos precedentes. Nuestro programa calcula las cuatro primeras filas del tringulo de Tartaglia. Despus de haberlo escrito, lo grabamos usando la opcin Save (o haciendo clic el icono correspondiente en la barra de herramientas , o ms sencillo an: usando el atajo de teclado Ctrl + S ) . La primera vez que usamos esta opcin con un programa nuevo nos preguntar cmo se llama el fichero de cdigo fuente, y dnde se guardar. Aqu le hemos dado como nombre practica.c (no olvidarse el .C en el nombre). Las siguientes veces que se use esta opcin se guardar el cdigo fuente con el nombre que se dio la primera vez. Si queremos cambiar el nombre del fichero, podemos hacerlo con la opcin Save As La columna de la izquierda, una vez que hemos terminado de teclear el programa, muestra todos los smbolos relevantes que hay en l. En este caso, indica que estamos usando un archivo de cabecera llamado stdio.h, identificado con el icono , y que nuestro programa tiene tres funciones, cada una de ellas tambin identificada con un icono que representa la letra F. Las funciones son main (la funcin principal), fact (una funcin que nos permite calcular factoriales) y combi (una funcin que usa la anterior para calcular nmeros combinatorios). Haciendo doble clic en cualquiera de estos nombres, el editor salta directamente a la definicin de la funcin. En las primeras prcticas de esta asignatura, slo usaremos una funcin: la funcin main. En la siguiente imagen se muestra el programa en su totalidad, a punto de ser guardado en disco con la opcin Save.
Se puede observar que el texto del programa tiene diferentes colores: El AZUL se usa para identificar tipos de variables (int, void, float, etc): El ROJO se usa para resaltar las palabras reservadas del lenguaje C, esto es, las palabras que jams deben ser usadas como nombres de variables o funciones (for, if, return, while, etc). Tambin se usa para resaltar nmeros: El VERDE se usa para resaltar nombres de archivos de cabecera (stdio.h, string.h, math.h, etc): El MARRON se usa para resaltar nombres de funciones: El GRIS se usa para resaltar los nombres de variables (globales o locales): Cualquier otro elemento del texto aparece en color NEGRO. C-Free adems hace distincin entre variables locales y parmetros. Estos ltimos aparecen subrayados tanto en su declaracin en la funcin, como en el cuerpo de la misma, as:
Las variables locales o globales no van subrayadas. Por supuesto, es el propio C-Free quien realiza este subrayado de forma automtica, no nosotros. C-Free adems incorpora mecanismos que ayudan a escribir mejor el cdigo. Uno de ellos es la ayuda interactiva sensible al contexto. Esto significa que si dejamos el cursor de texto encima de la funcin printf (o cualquier otra funcin, sea nuestra, o definida por el sistema), veremos su prototipo:
Adems, para las funciones predefinidas, la ayuda interactiva no se limita a mostrar el prototipo de una funcin, sino que permite ver en pantalla informacin y ejemplos sobre el uso de dicha funcin (en ingls), sin ms que pulsar F1 cuando el cursor est encima del nombre de la funcin:
El otro mecanismo es el la identacin automtica: consiste en que es el editor quien tabula las diferentes lneas segn su contenido. Por ejemplo, si se ha de escribir una porcin de cdigo como sta:
for (i=0;i<strlen(s);i++) { printf (%c, s[i]); if (s[i]>=A && s[i]<=Z) { s[i]=s[i]+a-A; printf (\07); } }
Normalmente el programador debera preocuparse de desplazar a la derecha las diferentes lneas para mostrar la jerarqua de las estructuras de programacin usadas: aqu, el cuerpo del bucle FOR est identado a la derecha de las llaves, y dentro de ese cuerpo, la sentencia que se ejecuta si el IF es cierto, est ms a la derecha que el propio IF. Esta norma de identar el cdigo ser muy conveniente cuando nuestro programa comience a tener cierta complejidad en las estructuras de control usadas. Si el programador no se preocupa de ello, el cdigo podra quedar as: 10
for (i=0;i<strlen(s);i++) { printf (%c, s[i]); if (s[i]>=A && s[i]<=Z) { s[i]=s[i]+a-A; printf (\07); } }
O an peor:
for(i=0;i<strlen(s);i++){printf(%c, s[i]);if(s[i]>=A && s[i]<=Z){s[i]=s[i]+aA;printf (\07);}}
Para el compilador, estos cdigos son equivalentes. No le importa la identacin, pero para un programador, el segundo cdigo ofrece ciertas dificultades para ser ledo, y el tercero, es completamente ilegible1. El editor de C-Free tiene un mecanismo de identacin automtica. Es el propio editor el que va desplazando cada lnea a la derecha a medida que se profundiza en una estructura de control. As, despus de haber tecleado la primera linea de este ejemplo:
for (i=0;i<strlen(s);i++)
Pulsamos la tecla Intro y el cursor queda debajo de la F de for. Tecleamos el smbolo de la llave abierta { y pulsamos Intro de nuevo.
for (i=0;i<strlen(s);i++) {
El cursor, representado por el cuadrado negro, se queda en este caso no debajo de la primera llave que se abri, sino un poco ms a la derecha. Lo mismo pasar cuando se escriba la llave abierta del IF. Un poco ms tarde, cuando se termina de escribir la parte que va entre llaves del IF, hay que poner la llave cerrada }. Despus de escribir el printf y pulsar Intro, el cursor se queda debajo de la P de printf, porque piensa que se va a escribir una nueva orden que se ejecutar dentro de IF. En realidad, queremos terminar el IF tecleando la llave cerrada
for (i=0;i<strlen(s);i++) { printf (%c, s[i]); if (s[i]>=A && s[i]<=Z) { s[i]=s[i]+a-A; printf (\07);
El editor se da cuenta de esto, y alinea automticamente la llave cerrada con la ltima llave abierta que tiene. Si se pulsa Intro, la siguiente lnea ahora comienza un poco ms a la izquierda.
for (i=0;i<strlen(s);i++) { printf (%c, s[i]); if (s[i]>=A && s[i]<=Z) { s[i]=s[i]+a-A; printf (\07); }
Si volvemos a pulsar la llave cerrada, para cerrar el bloque del FOR, el editor volver a alinear esta llave con la ltima llave que qued abierta. Despus de teclear esta llave y pulsar Intro, el cdigo queda as:
for (i=0;i<strlen(s);i++) { printf (%c, s[i]); if (s[i]>=A && s[i]<=Z) { s[i]=s[i]+a-A; printf (\07); } }
Ten en cuenta esto, porque el profesor puede negarse a exa minar un cdigo que no est minimamente identado durante el examen de prcticas. El tiempo en este examen es importante, y no debera perderlo identando un cdigo que no lo est, cuando es mucho ms rpido escribirlo identado desde el principio.
11
Cuando termina el programa, la consola muestra el mensaje Presione una tecla para continuar. Pulsando cualquier tecla, la ventana se cierra y el programa termina1. Cuando se efecta al menos una vez el proceso de compilacin, aparece un nuevo espacio: la ventana de mensajes. En ella aparecen los mensajes que el compilador emite durante el proceso de compilacin, y que permiten ver rpidamente si el programa tiene errores o avisos (warnings). Un programa correctamente compilado tiene 0 errores y 0 warnings.
1 No es buena idea cerrar el programa haciendo clic en el botn X de cerrar ventana, sobre todo si el programa est siendo depurado. Es mejor cerrarlo de la forma indicada, pulsando una tecla. Slo debe usarse el botn X cuando el programa no responde y hay que interrumpirlo por la fuerza.
12
De cualquier manera, haciendo doble clic sobre uno de estos avisos o errores, el editor salta a la lnea de cdigo afectada. OJO, porque a veces el verdadero error o aviso no se encuentra exactamente en la lnea indicada, sino en la anterior o posterior. C-Free tiene un comportamiento anmalo en Windows Vista a la hora de compilar. La anomala consiste en que durante la compilacin aparecen dos err ores fantasma. Aunque aparecen en la ventana de compilacin, no deben tomarse como tales. De hecho, si el cdigo est correctamente escrito y se pulsa F5 para compilar y ejecutar, todo ir con normalidad, excepto que en la ventana de errores aparecern estos dos.
Ntese que an apareciendo estos dos errores, el mensaje final del compilador es que se ha generado el fichero ejemplo.exe, que es el programa ejecutable, resultado final de la compilacin.
Este comportamiento no se da en Windows XP. En esta versin de Windows, todos los errores que aparezcan en esta ventana son errores de verdad.
Podemos tener ms de un fichero C dentro de C-Free, y cambiar de uno a otro usando las pestaas que van apareciendo (cada una con el nombre de fichero C al que pertenecen) justo encima de la ventana principal del editor. El fichero mostrado en el editor es el de la pestaa cuyo nombre aparece en negrita.
13