Programación (PRG) PRÁCTICA 5. Depuración de programas

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Programación (PRG) PRÁCTICA 5. Depuración de programas"

Transcripción

1 Programación (PRG) PRÁCTICA 5. Depuración de programas Facultad de Informática Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia 1. Introducción El objetivo de esta práctica es mostrar el uso de una herramienta muy importante en el proceso de desarrollo de programas: el depurador. Encontrar y solucionar los errores sintácticos (es decir, errores que violan las reglas del lenguaje de programación) es un proceso relativamente sencillo porque el compilador indica la fuente de error y la zona donde puede encontrarse dicho error. Sin embargo, una vez que el programa ha compilado, pueden aparecer una serie de errores más difíciles de encontrar: los errores semánticos o lógicos. Dichos errores hacen que el programa se comporte de forma inesperada, o que devuelva resultados erróneos. Algunos de dichos errores son muy difíciles de encontrar. En estos casos hay que averiguar dónde se produce el error y por qué. En esta práctica se ofrecen algunos consejos útiles para utilizar el depurador para encontrar dichos errores. 2. Qué es un depurador? Hasta ahora, la única forma de realizar la traza de un programa era hacerla a mano o insertar en el código fuente impresiones intermedias. Veámoslo con un ejemplo. Dado el siguiente programa: #include <stdio.h> #define N 10 void main() { int i, a; a=0; 1

2 for (i=1;i<=n;i++) { a+=i*i; printf("%d\n",a); Ejercicio. Qué hace el programa? Realiza una traza de la ejecución. El resultado del ejercicio anterior debe ser parecido a la siguiente tabla: i i i a Una opción a la traza manual del programa es añadir líneas auxiliares al código inicial, que muestren por pantalla los resultados intermedios: #include <stdio.h> #define N 10 void main() { int i, a; a=0; printf(" i i*i a\n"); /* Traza */ printf(" \n"); /* Traza */ for (i=1;i<=n;i++) { a+=i*i; printf("%4d %4d %4d\n", i, i*i, a); /* Traza */ printf("%d\n",a); 25 de noviembre de 2002 Página 2 de 13

3 Y ejecutar el nuevo código: i i*i a Esta tarea se puede realizar de forma automática utilizando un depurador. Un depurador, fundamentalmente, permite: 1. Ejecutar un programa instrucción a instrucción o detenerse en un punto dado. 2. Una vez detenida momentáneamente la ejecución de un programa, se puede consultar el estado de las variables. 3. Examinar las llamadas y retornos de funciones. 4. Consultar los registros de activación existentes en la pila en un momento dado de la ejecución del programa. En el apartado siguiente se muestra cómo utilizar el entorno gráfico del depurador. Aviso!! Para poder depurar el programa, éste ha de ser compilado con el parámetro -g, caso de tratarse de un programa en C y el compilador GNU gcc. Ejercicio Compila el programa ejemplo1.c con la opción -g : [carraca@pc011 p5]$ gcc ejemplo1.c -o ejemplo1 -Wall -g 3. Qué es DDD? El depurador que se explica a continuación es el GNU DDD (Display Data Debugger), un entorno gráfico del depurador GDB The GNU Source- Level Debugger, que permite depurar código generado en C, C++, Java, 25 de noviembre de 2002 Página 3 de 13

4 Modula-2, Modula-3, Pascal, Chill, Ada, Fortran y ensamblador. 1 Para conocer más a fondo este entorno o el depurador, se puede consultar: Manual del entorno DDD ( html). Manual del depurador GDB ( /gdb.html). Artículo en Dr. Dobb s Journal de uno de los autores del entorno, Andreas Zeller [Zel01], artículo de José María Laveda en LinuxFocus [Lav98]. Ejercicio Invoca al depurador con ddd y el nombre del ejecutable del programa ejemplo1.c. Obtendrás la ventana de la Figura 1. [carraca@pc011 p5]$ ddd ejemplo1 Figura 1: Ventana que se obtiene al invocar el depurador ddd con el ejecutable ejemplo1. 1 En realidad, el entorno gráfico DDD puede ser utilizado con otros depuradores aparte del GDB, tales como DBX, WDB, Ladebug, JDB, XDB, Perl debugger, o Python debugger. 25 de noviembre de 2002 Página 4 de 13

5 3.1. Aspecto del entorno En la Figura 1 se puede observar que la ventana está dividida en dos zonas: la zona del código (Source window): muestra el código fuente (en nuestro caso, el fuente ejemplo1.c); la zona inferior (Debugger Console): se corresponde con la ventana del depurador, y en ella se pueden introducir los comandos directamente al depurador gdb. La barra de tareas o ventana flotante que aparece permite controlar la ejecución del programa en todo momento Obteniendo ayuda En el entorno DDD se puede obtener información sobre las acciones en curso, o sobre cómo realizar alguna tarea de múltiples formas, por ejemplo, si se deja el puntero del ratón encima de una variable o de cualquier botón del entorno aparecerá un diálogo mostrando información sobre el mismo; en la parte inferior de la ventana hay una línea de estado sobre lo que se está haciendo y su resultado; en la parte derecha de la barra de menús hay un elemento desplegable con la ayuda disponible (opción Help ); pulsando F1 sobre cualquier menú (véase la Figura 2). En la ventana del depurador podemos introducir help para una ayuda general o sobre cualquier otro comando. Ejercicio Comprueba cómo funcionan las ayudas del depurador sobre los distintos menús. Fíjate en lo que puedes hacer con cada comando de los distintos menús. 4. Una sesión con el DDD Una vez invocado el DDD con el ejecutable a depurar, el código fuente del programa aparece en el área correspondiente. A partir de este momento ya se puede navegar por el código fuente, obtener el valor y definición de las variables, ejecutar el programa controlando su evolución de noviembre de 2002 Página 5 de 13

6 Figura 2: Ayuda sobre el menú Program (con F1 ) Puntos de ruptura Normalmente lo primero que se hace es establecer uno o varios puntos de ruptura (breakpoint), con el fin de poder detener la ejecución del programa en algún punto de interés. En el ejemplo que se está siguiendo, se pondrá un punto de ruptura en la línea correspondiente a: Para ello, a+=i*i; 1. se coloca el puntero del ratón en la parte izquierda de la línea en la que se desea poner el punto de ruptura: ejemplo1.c:9, y 2. se selecciona la opción Set Breakpoint que aparece en el menú al pulsar el botón derecho del ratón o pulsando el botón Break en la barra de herramientas. El depurador indica que se ha fijado el punto de ruptura mediante una pequeña señal en la línea marcada (véase la Figura 3). Otra forma de establecer los puntos de ruptura es haciendo doble clic a la izquierda de la instrucción donde se desea parar la ejecución. También con el ratón se pueden arrastrar puntos de ruptura de una línea a otra. Una vez se inicie la ejecución y se llegue al punto de ruptura, se podrá estudiar el estado de las variables definidas en el programa mediante las opciones que se explican más adelante. 25 de noviembre de 2002 Página 6 de 13

7 Figura 3: Punto de ruptura en la línea Puntos de ruptura condicionales y lista de puntos de ruptura se pueden establecer puntos de ruptura que se activen únicamente cuando se cumpla una cierta condición. Para ello, hay que pulsar con el botón derecho del ratón sobre la marca del punto de ruptura y seleccionar la opción Properties.... Entonces aparecerá la ventana que muestra la Figura 4. Figura 4: Propiedades de un punto de ruptura. Dentro de dicha ventana, en el cuadro de texto Condition se puede escribir una condición válida con la sintaxis de C (por ejemplo, a>=3). Cuando la ejecución pase por la línea del punto de ruptura, únicamente se detendrá si la condición es cierta. Dentro del mismo cuadro de diálogo, 25 de noviembre de 2002 Página 7 de 13

8 también se permite deshabilitarlo temporalmente ( Disable ) o permanentemente ( Delete ). Por último, si se pulsa el botón marcado como Temp, el punto de ruptura se convertirá en temporal, y únicamente funcionará una vez. La opción Breakpoints del menú Source permite mostrar una lista de todos los puntos de ruptura definidos en el programa, como muestra la Figura 5, y editar sus propiedades, habilitarlos, deshabilitarlos o borrarlos. En el manual de DDD se pueden encontrar más formas de manejo de puntos de ruptura. Figura 5: Lista de los puntos de ruptura definidos Ejecución del programa Existen distintas formas de ejecutar un programa: Run ejecuta el programa (desde el principio) hasta un punto de ruptura. Es decir, sea cual sea el estado de la ejecución del programa, Run comienza la ejecución desde el principio y se para en el primer punto de ruptura. Step ejecuta el programa una línea más (paso a paso), esto es, si se hace una llamada a una función, se recorrerán las líneas de esta. Next ejecuta la siguiente línea. Cont permite continuar con la ejecución del programa tras el punto de ruptura. Kill, Interrupt y Abort permiten interrumpir el programa depurado. Finish termina la función actual y muestra el valor devuelto. Siguiendo con el ejemplo, al pulsar Run, comienza la ejecución de ejemplo1 hasta que se alcanza el punto de ruptura. Dicha información aparece en la ventana del depurador y la línea actual donde se encuentra la 25 de noviembre de 2002 Página 8 de 13

9 ejecución (es decir, la siguiente línea que se va a ejecutar) se indica con una flecha verde (véase la Figura 6). Figura 6: Consulta de variables (mediante la opción Display ). Una vez que se ha detenido la ejecución del programa se pueden consultar los valores de las variables. Para ello, se puede dejar el puntero del ratón encima de la variable del código fuente para obtener su valor actual en la línea de estado (también aparece una ventana con el valor de la variable). Si se pulsa el botón derecho del ratón sobre el nombre de una variable, aparece un submenú con las siguientes opciones: 1. Print a : permite obtener el valor de la variable a (en la ventana inferior del depurador). 2. Display a : permite mostrar visualmente el valor de la variable a en la ventana superior ( área de dibujo ). Esta opción es especialmente útil cuando se desea visualizar vectores, listas, etc... En la Figura 6 se puede ver el valor de la variable a en el área de dibujo. El valor de la variable se actualiza automáticamente cada vez que el programa se detiene en un punto de ruptura. 3. Con What is se puede conocer la estructura o tipo de variable señalada (en la ventana inferior del depurador). En la Figura 6 se muestra la información del tipo de la variable a en el área del depurador. 4. Lookup permite la búsqueda de ocurrencias de la variable. 25 de noviembre de 2002 Página 9 de 13

10 5. Break at y Clear at permiten el manejo de los puntos de ruptura. Para continuar la ejecución a partir de un punto de ruptura, y ejecutar la línea actual, se puede pulsar el botón Next. La flecha avanza hasta la línea siguiente. El botón Step realiza la misma acción: ejecutar la siguiente instrucción. La diferencia entre una opción y otra aparece cuando se va a ejecutar una llamada a una función. En el caso de Next ejecuta toda la función, parando la ejecución en la línea que aparece a continuación de la llamada, y Step detiene la ejecución en la primera instrucción de la función. Para continuar la ejecución hasta una línea determinada se puede pulsar el botón derecho del ratón sobre la línea donde parar y elegir la opción Continue Until Here. El botón Cont reanuda la ejecución del programa hasta el siguiente punto de ruptura (o hasta que se acabe). Finalmente, para salir del entorno, se puede ejecutar la opción Program Exit o pulsando Ctlr+Q. 5. Consejos finales Antes de empezar a depurar, deberás tener un código fuente limpio, con una instrucción por línea para poder poner puntos de ruptura sin problemas, y bien indentando para poder visualizar claramente los bloques que forman el programa. Para formatear automáticamente un programa puedes utilizar el programa indent 2. Dicho programa funciona del siguiente modo: [carraca@pc011 p5]$ indent dificil.c Si inicialmente el fichero dificil.c contiene el siguiente código: #include <stdio.h> int main() { int a,b,c,i; printf("escribe un número: "); scanf("%d",&b); a=0; c=0; while (a<b) {a++; for (i=1;i<=2;i++) c++; printf("\nel número es %d y el doble es %d\n",a,c); 2 Normalmente en Linux ya está instalado. Para instalarlo en Windows, bájate los paquetes indent, gettext y LibIconv de GnuWin32/ y copia los archivos que están dentro de los directorios bin de esos paquetes en un directorio de tu PATH (por ejemplo, en c:\mingw\bin si tienes ahí instalado el compilador. 25 de noviembre de 2002 Página 10 de 13

11 Después de ejecutar la orden anterior, el fichero quedará como muestra la Figura 7. #include <stdio.h> int main () { int a, b, c, i; printf ("Escribe un número: "); scanf ("%d", &b); a = 0; c = 0; while (a < b) { a++; for (i = 1; i <= 2; i++) c++; printf ("\nel número es %d y el doble es %d\n", a, c); Figura 7: Código fuente reformateado por indent. A la hora de utilizar un depurador para encontrar un fallo en un programa, debes aplicar un método lógico, paso por paso [Got97]. Lo primero es aislar el error. Si el programa acaba inesperadamente (por ejemplo, con un mensaje de Violación de segmento), es prioritario detectar qué instrucción está produciendo ese acceso no permitido. Para ello, se pueden introducir distintos puntos de ruptura en el programa, y lanzar la ejecución. Cuando, al pasar de un punto de ruptura al siguiente se produce el fallo del programa, ya se ha encontrado el bloque de código problemático. Cuando el programa tiene varias funciones, es útil comprobar el estado de las variables del programa antes y después de cada llamada a función. Esto permite detectar qué función falla. Una vez que se ha detectado el bloque de código o función donde se encuentra el error, es necesario ejecutar paso a paso las instrucciones de ese bloque. Dicha ejecución deberá revelar la instrucción transgresora, y el valor de las variables involucradas. Cuando estés depurando paso a paso un programa, deja visibles permanentemente las variables de interés. Cada vez que avances una instrucción, dichas variables se actualizarán y podrás ver su evolución. 25 de noviembre de 2002 Página 11 de 13

12 Para finalizar, varios consejos: Una vez que hayas acabado de escribir un programa y compile, somételo a pruebas de robustez. No pruebes los casos que sabes que funcionan, sino aquellos casos particulares que pueden suponer un problema al programa (números negativos, cadenas vacías, números repetidos, etc). Ningún programa da saltos aleatorios. Si para ir del punto A al punto B tienes que pasar por el C, y has empezado en A y has acabado en C, ten seguro que B se ha ejecutado. Si te parece que no se ha ejecutado (por ejemplo, si B es un bucle que imprime algo por pantalla y no ha sacado nada), es porque hay alguna razón (por ejemplo, que la guarda del bucle está mal escrita). No asumas que una variable vale lo que crees que vale. Visualiza su valor y comprueba lo que vale realmente. Apréndete los atajos de teclado para depurar el código. Irás más rápido que con el ratón. No le eches la culpa al ordenador, al compilador, a Linux o a Bill Gates. El 99,9% de las veces será culpa tuya. Ejercicios propuestos 1. Dado el siguiente programa: #include <stdio.h> int main() { int i,j,k,n,p; p=0; printf("escribe un número: "); scanf("%d",&n); for (i=0;i<n;i++) for (j=0;j<n;j++) for (k=0;k<n;k++) { if (k%2==0) if (i*j<n i+j>k) p++; printf("resultado: %d\n",p); return 0; 25 de noviembre de 2002 Página 12 de 13

13 Suponiendo que el usuario ha introducido un 10 por teclado: a) Indica cuánto vale la variable p, cuando i=5, j=5 y k=5. b) Calcula cuántas veces cambia de valor la variable p cuando i=5 y j=3. c) Indica el valor de las variables i, j y k en el momento en que p toma el valor de Encuentra los errores en el programa que se encuentra en el fichero /misc/practicas/asignaturas/prgfi/p5/had_mal.c, haciendo uso del depurador. El programa debería pedir una letra al usuario, y mostrar todas las palabras de una lista interna que empiecen por dicha letra. Para ello, busca una palabra válida mediante una búsqueda dicotómica, y luego secuencialmente, a partir de ella, la primera y última palabra buscada. La lista original está ordenada. Una vez que creas haber encontrado todos los errores, prueba el comportamiento del programa para las letras a, z, ~n, o y Encuentra los errores en el programa que se encuentra en el fichero /misc/practicas/asignaturas/prgfi/p5/ahorcado_mal.c, haciendo uso del depurador. El programa plantea al usuario el juego del ahorcado. En primer lugar pide un número al usuario para inicializar el generador de números aleatorios. Después inicia el juego del ahorcado. Una cadena de caracteres indica las letras que quedan por descubrir. El usuario puede introducir letras, y según acierta o no, el programa descubre las letras de la palabra desconocida o va reduciendo la vida del jugador, completando la palabra AHORCADO. El jugador gana si descubre la palabra y pierde si es ahorcado. Cuando acaba un juego el programa pregunta si se quiere jugar con otra palabra diferente o acabar la ejecución. Referencias [Got97] Byron Gottfried. Programación en C. Mc. Graw Hill, [Lav98] José María Laveda. Depurando código con ddd. Linux FOCUS, January [Zel01] Andreas Zeller. Visual Debugging with DDD. Dr. Dobb s Journal, March de noviembre de 2002 Página 13 de 13

Funciones básicas del depurador

Funciones básicas del depurador Funciones básicas del depurador Con frecuencia, los alumnos piensan que cuando su programa no tiene errores de compilación (está correctamente escrito) entonces ya es correcto. Muchas veces esto no es

Más detalles

GUIA DE LABORATORIO # 2 ENTORNO DE DESARROLLO Y COMPILACIÓN DE UN PROGRAMA EN C

GUIA DE LABORATORIO # 2 ENTORNO DE DESARROLLO Y COMPILACIÓN DE UN PROGRAMA EN C GUIA DE LABORATORIO # 2 ENTORNO DE DESARROLLO Y COMPILACIÓN DE UN PROGRAMA EN C OBJETIVOS: Conocer el entorno de desarrollo Pelles C. Editar, compilar y ejecutar un programa sencillo. Aprender a depurar

Más detalles

Dpto. Lenguajes y Ciencias de la Computación E.T.S.I. Telecomunicación. Laboratorio de Programación Uso del depurador en Dev-C++

Dpto. Lenguajes y Ciencias de la Computación E.T.S.I. Telecomunicación. Laboratorio de Programación Uso del depurador en Dev-C++ Dpto. Lenguajes y Ciencias de la Computación E.T.S.I. Telecomunicación Laboratorio de Programación Uso del depurador en Dev-C++ Abril 2004 David Bueno Vallejo Plan Introducción n a la depuración Preparación

Más detalles

Fundamentos de Ordenadores. Depurar programas usando Nemiver

Fundamentos de Ordenadores. Depurar programas usando Nemiver Fundamentos de Ordenadores Depurar programas usando Nemiver Departamento de Arquitectura de Computadores Autor: Mario Macias. Fecha de elaboración: 16/10/2015 1 Manual básico Nemiver Nemiver es un sencillo

Más detalles

Tema 3. Estructuras de control

Tema 3. Estructuras de control Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)

Más detalles

Tutorial de GDB. Algoritmos y Estructuras de Datos II. Algoritmos y Estructuras de Datos II () Tutorial de GDB 1 / 1

Tutorial de GDB. Algoritmos y Estructuras de Datos II. Algoritmos y Estructuras de Datos II () Tutorial de GDB 1 / 1 Tutorial de GDB Algoritmos y Estructuras de Datos II Algoritmos y Estructuras de Datos II () Tutorial de GDB 1 / 1 Qué es gdb? GNU Debugger Es un depurador para varios lenguajes, incluyendo C y C++. Permite

Más detalles

Formatos para prácticas de laboratorio

Formatos para prácticas de laboratorio Fecha de efectividad: CARRERA PLAN DE ESTUDIO CLAVE ASIGNATURA NOMBRE DE LA ASIGNATURA TRONCO COMÚN 2009-2 11214 PROGRAMACIÓN PRÁCTICA No. LABORATORIO DE PROGRAMACIÓN DURACIÓN (HORA) 9 NOMBRE DE LA PRÁCTICA

Más detalles

Guía práctica de estudio: Depuración de programas

Guía práctica de estudio: Depuración de programas Guía práctica de estudio: Depuración de programas Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio: Depuración de

Más detalles

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III Lenguaje C 1 Puntos previos Los códigos fuentes generados en C requieren ser compilados

Más detalles

Entorno de Programación Visual C++ 6.0

Entorno de Programación Visual C++ 6.0 Entorno de Programación Visual C++ 6.0 Informática II Fundamentos de Programación 18 de Febrero de 2002 1 Visual C++ 6.0 Es un IDE (Entorno de desarrollo integrado). Tiene editor, compilador, enlazador,

Más detalles

ENSAMBLADO DEL PROGRAMA

ENSAMBLADO DEL PROGRAMA ENSAMBLADO DEL PROGRAMA IDE Terminada la edición del programa se procede al ensamblado del archivo fuente (Practica1.asm) Project > Quickbuild Practica1.asm En esta etapa se realiza en forma automática

Más detalles

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F) Bucles en lenguaje C Bucle while y forzar detención con break APRENDERAPROGRAMARCOM WHILE Y DO WHILE BREAK EN LENGUAJE C BUCLES MIENTRAS FORZAR SALIDA O TERMINACIÓN EJEMPLO (CU00534F) Sección: Cursos Categoría:

Más detalles

Guía de uso del programa AVR-Studio

Guía de uso del programa AVR-Studio Guía de uso del programa AVR-Studio El entorno de desarrollo AVR-STUDIO nos permite cargar, ensamblar y depurar los programas que escribimos en lenguaje ensamblador. Los pasos para crear un proyecto nuevo

Más detalles

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial FUNDAMENTOS DE INFORMÁTICA 1º PRÁCTICA 1: Introducción al entorno de programación Dev-C++ CURSO 2005/2006 División de Ingeniería de Sistemas y Automática ISA-UMH R-00-FI001v1.0 1. Objetivos Los objetivos

Más detalles

BREVE DESCRIPCIÓN DEL ENTORNO DE PROGRAMACIÓN DE VISUAL LISP

BREVE DESCRIPCIÓN DEL ENTORNO DE PROGRAMACIÓN DE VISUAL LISP BREVE DESCRIPCIÓN DEL ENTORNO DE PROGRAMACIÓN DE VISUAL LISP 1. INTRODUCCIÓN El entorno de desarrollo de Visual Lisp es accesible desde Autocad de dos maneras distintas: Desde el menú herramientas AutoLISP

Más detalles

Operadores aritméticos

Operadores aritméticos Bloque 3.2 Operadores aritméticos Suma : x + y Resta : x y Multiplicación : x * y División : x / y Módulo : x % y (resto de la división Si los operandos son enteros tipo del resultado

Más detalles

FACULTAD DE INGENIERÍA

FACULTAD DE INGENIERÍA NOMBRE DEL PROFESOR: Ing. Héctor Manuel Quej Cosgaya NOMBRE DE LA PRÁCTICA: Estructuras de decisión PRÁCTICA NÚM. [ 5 ] LABORATORIO: MATERIA: UNIDAD: TIEMPO: Centro de Ingeniería Computacional Lenguaje

Más detalles

Introducción al Depurador de Dev-C++

Introducción al Depurador de Dev-C++ PRÁCTICA 3 Introducción al Depurador de Dev-C++ El objetivo de esta práctica es el conocimiento de la herramienta que proporciona Dev-C++ para la corrección de errores de ejecución: el depurador o debugger.

Más detalles

Sentencias iterativas

Sentencias iterativas Sentencias iterativas 1. Objetivos Al finalizar esta actividad, serás capaz de: 1. Utilizar adecuadamente la sentencia while para generar la repetición en la ejecución de grupos de sentencias 2. Motivación

Más detalles

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual. Manual de Dev-C++ 4.9.9.2 Página 1 de 11 Introducción Dev-C++ es un IDE (entorno de desarrollo integrado) que facilita herramientas para la creación y depuración de programas en C y en C++. Además, la

Más detalles

LENGUAJE DE PROGRAMACION C/C++.

LENGUAJE DE PROGRAMACION C/C++. LENGUAJE DE PROGRAMACION C/C++. Este sencillo apunte fue pensado para introducir a los alumnos que se inician en programación, tanto del lenguaje C como C++, con las características propias de cada uno,

Más detalles

DEPURADOR GDB. Debugging de programas complejos con múltiples archivos.

DEPURADOR GDB. Debugging de programas complejos con múltiples archivos. Introducción DEPURADOR GDB GDB es el source debugger de GNU. Es un poderoso debugger que permite "ver" que esta sucediendo dentro de programas escritos en C, C++ y Modula-2. Entre las capacidades más notorias

Más detalles

Esta guía le ayudará a dar los primeros pasos en su aplicación Productor y así poder evaluar su funcionamiento.

Esta guía le ayudará a dar los primeros pasos en su aplicación Productor y así poder evaluar su funcionamiento. Primeros Pasos Esta guía le ayudará a dar los primeros pasos en su aplicación Productor y así poder evaluar su funcionamiento. 1. Ejecutar la aplicación La instalación de la aplicación habrá creado un

Más detalles

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Dobles: Es el caso de la instrucción if-else (punto 1.2). 1 1.Introducción Las estructuras de control son instrucciones que nos permiten controlar el flujo de ejecución del programa. Las instrucciones de control se pueden agrupar en instrucciones condicionales

Más detalles

ENTORNO DE DESARROLLO Y COMPILACIÓN DE PELLES C

ENTORNO DE DESARROLLO Y COMPILACIÓN DE PELLES C 2010 UNAN LEON Departamento de Computación Ing. En Sistemas Sabatino Autor: Ing.Karina Esquivel Alvarado. Asignatura: Programación II. ENTORNO DE DESARROLLO Y COMPILACIÓN DE PELLES C OBJETIVOS: Conocer

Más detalles

VB - Access Manual Visual Basic para Aplicaciones del Access 2000

VB - Access Manual Visual Basic para Aplicaciones del Access 2000 VB - Access 2000 1 Manual Visual Basic para Aplicaciones del Access 2000 VB - Access 2000 2 Índice Antes de empezar... 3 1 Fundamentos de VBA... 5 Autoevaluación 1... 47 Soluciones 1... 50 2 Introducción

Más detalles

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE

Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE Actividad Algoritmos, Estructura y Programación I. FOR, DO-WHILE 1. Qué es un bucle? 2. A que se denomina cuerpo de un bucle? 3. Define iteración de un bucle. 4. Cuál es el cuerpo de un bucle? 5. Qué es

Más detalles

Primeros pasos para utilizar el editor Code::Blocks para C

Primeros pasos para utilizar el editor Code::Blocks para C Primeros pasos para utilizar el editor Code::Blocks para C En esta edición del curso se utilizará un entorno para C llamado Code::Blocks (de libre distribución). Hay diferentes versiones para usar en distintos

Más detalles

INSTRUCCIONES CAMPUS. Primer registro

INSTRUCCIONES CAMPUS. Primer registro INSTRUCCIONES Primer registro Una vez dado de alta como usuario en Campus Mundo Primaria recibirás un e-mail de activación en la cuenta de correo que usaras al comprar el curso. Si no lo encuentras en

Más detalles

Curso Completo de Visual Basic 6.0

Curso Completo de Visual Basic 6.0 CURSO Curso Completo de Visual Basic 6.0 Escuela Superior de Ingenieros Industriales UNIVERSIDAD DE NAVARRA Javier García de Jalón José Ignacio Rodríguez Alfonso Brazález Patxi Funes Eduardo Carrasco Jesús

Más detalles

IESTP MOTUPE MICROSOFT WORD 2016

IESTP MOTUPE MICROSOFT WORD 2016 Iniciar Word 2016 Lo primero que hay que hacer para trabajar con Word 2016 es, obviamente, arrancar el programa. Podemos hacerlo de varias formas: 1. Desde el menú Inicio. Al menú Inicio se accede desde

Más detalles

Primeros pasos en Word capítulo 01

Primeros pasos en Word capítulo 01 Primeros pasos en Word 2007 capítulo 01 Primeros pasos en Word 2007 primeros pasos 1.1 Qué es Microsoft Word? Word es un editor de texto que se sitúa entre los más populares del mercado. Desde las primeras

Más detalles

CAPÍTULO III MENÚS DEL TURBO PASCAL. File Edit Search Run Compile Debug Tools Options Windows Help [ ] NONAME.PAS

CAPÍTULO III MENÚS DEL TURBO PASCAL. File Edit Search Run Compile Debug Tools Options Windows Help [ ] NONAME.PAS CIENCIAS DE LA COMPUTACIÓN MAT 1104 17 CAPÍTULO III MENÚS DEL TURBO PASCAL 3.1 MENÚS Para activar los menús que turbo pascal tiene en la parte superior de la ventana principal pulse la tecla alt más la

Más detalles

Manual de usuario de Kiva

Manual de usuario de Kiva Manual de usuario de Kiva 1 Manual de usuario de Kiva En este manual se tratan todos los aspectos funcionales de la aplicación para que el usuario aprenda el funcionamiento de ésta y pueda crear topologías

Más detalles

MANUAL DE USUARIO CARGA DE FICHEROS DE PROCEDIMIENTO -

MANUAL DE USUARIO CARGA DE FICHEROS DE PROCEDIMIENTO - MANUAL DE USUARIO CARGA DE FICHEROS DE PROCEDIMIENTO - Índice ÍNDICE...1 RESUMEN...1 CARGA DE FICHEROS DE PROCEDIMIENTO...2 Resumen En este documento se explican los pasos a seguir para cargar un fichero

Más detalles

GCC para plataforma Windows

GCC para plataforma Windows GCC para plataforma Windows LINKS para bajar las herramientas GCC para Windows, disponible en: http://sourceforge.net/projects/mingw/ Editor de texto, disponible en http://www.editpadpro.com/. Este editor

Más detalles

Capítulo 9 Archivos de sintaxis

Capítulo 9 Archivos de sintaxis Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta

Más detalles

El entorno de desarrollo eclipse 3.0.1

El entorno de desarrollo eclipse 3.0.1 escuela técnica superior de ingeniería informática El entorno de desarrollo eclipse 3.0.1 Departamento de Lenguajes y Sistemas Informáticos Ingeniería del Software de Gestión III Índice Introducción Perspectiva

Más detalles

Creación/Simulación de un proyecto con ModelSim

Creación/Simulación de un proyecto con ModelSim Creación/Simulación de un proyecto con ModelSim 1) Ejecutar la aplicación ModelSim. Su ejecutable podrá encontrarlo en la carpeta de aplicación del FPGAdv 5.4 Pro. 2) La pantalla inicial de la herramienta

Más detalles

Introducción a la Programación

Introducción a la Programación Introducción a la Programación Fundamentos de Programación Ingeniería Informática en Sistemas de Información Alicia Troncoso 1 Contenido l Introducción l Mi primer programa l Etapas a seguir en la programación

Más detalles

Una función es un miniprograma dentro de un programa. Las funciones contienen varias

Una función es un miniprograma dentro de un programa. Las funciones contienen varias TEMA 6. FUNCIONES. Una función es un miniprograma dentro de un programa. Las funciones contienen varias sentencias bajo un solo nombre, que un programa puede utilizar una o más veces para ejecutar dichas

Más detalles

ST-8502 ACTUALIZACIÓN ANUAL.

ST-8502 ACTUALIZACIÓN ANUAL. ST-8502 ACTUALIZACIÓN ANUAL www.fbelectronica.com ACTUALIZACIONES ANUALES DEL EQUIPO Anualmente es necesario habilitar el equipo para poder descargar y trabajar con nuevas actualizaciones. Para realizar

Más detalles

Sage 50c Premium / Standard / Essential. Manual de instalación. SAGE 50c PREMIUM / STANDARD / ESSENTIAL Manual de Instalación

Sage 50c Premium / Standard / Essential. Manual de instalación. SAGE 50c PREMIUM / STANDARD / ESSENTIAL Manual de Instalación Sage 50c Premium / Standard / Essential Manual de instalación SAGE 50c PREMIUM / STANDARD / ESSENTIAL Manual de Instalación 01/06/2017 1 Tabla de Contenidos 1.0 Presentación... 3 2.0 Instalación de Sage

Más detalles

OBJETIVOS ÍNDICE MÓDULO 1: VISUAL BASIC 6.0 PARTE 1ª

OBJETIVOS ÍNDICE MÓDULO 1: VISUAL BASIC 6.0 PARTE 1ª OBJETIVOS El objetivo de este curso es realizar sencillas tareas en Visual Basic y usar los elementos necesarios para avanzar en la programación de Visual Basic, estudiando las nuevas tecnologías de programación

Más detalles

1. INTRODUCCIÓN A WRITER

1. INTRODUCCIÓN A WRITER 1. INTRODUCCIÓN A WRITER Con el nacimiento de los ordenadores y posteriormente de las aplicaciones para el tratamiento de texto, se ha ido desbancando a las tradicionales máquinas de escribir, cuyo uso

Más detalles

Ayuda. Módulo Manipulación Manual de Cargas (MMC Tarea Simple) CAFERG Aplicación informática para la evaluación de la carga física de trabajo.

Ayuda. Módulo Manipulación Manual de Cargas (MMC Tarea Simple) CAFERG Aplicación informática para la evaluación de la carga física de trabajo. Ayuda Módulo Manipulación Manual de Cargas (MMC Tarea Simple) 1 Introducción La presente aplicación informática está destinada a técnicos de prevención que deban realizar un estudio ergonómico de puestos

Más detalles

Unidad 2. Crear una Presentación (I)

Unidad 2. Crear una Presentación (I) Unidad 2. Crear una Presentación (I) A continuación veremos cómo crear una Presentación. PowerPoint nos permite crear una presentación de formas distintas, bien a través del asistente que es muy útil cuando

Más detalles

PROF. ANGEL MENDEZ YALLI.

PROF. ANGEL MENDEZ YALLI. COLEGIO NACIONAL PROF. ANGEL MENDEZ YALLI. 2011 1 ELEMENTOS DE LA VENTANA DE VISUAL FOXPRO. BARRA DE MENÚ BARRA DE TITULO BARRA DE HERRAMIENTA ESTANDAR AREA DE TRABAJO VENTANA DE COMANDOS BARRA DE ESTADO

Más detalles

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 4: Diseñador de Consultas (+ info)

Ministerio de Educación. Base de datos en la Enseñanza. Open Office. Módulo 4: Diseñador de Consultas (+ info) Ministerio de Educación Base de datos en la Enseñanza. Open Office Módulo 4: Diseñador de Consultas (+ info) Instituto de Tecnologías Educativas 2011 Más información sobre el Diseñador de consultas Como

Más detalles

INTRODUCCIÓN A IMPRESS 1. INTRODUCCIÓN

INTRODUCCIÓN A IMPRESS 1. INTRODUCCIÓN X INTRODUCCIÓN A IMPRESS 1. INTRODUCCIÓN Se puede definir Impress como una aplicación dirigida fundamentalmente a servir de apoyo en presentaciones o exposiciones de los más diversos temas, proyectando

Más detalles

Práctica 2. Desarrollo de programas. Entrada y salida estándar en C.

Práctica 2. Desarrollo de programas. Entrada y salida estándar en C. INFORMÁTICA Práctica 2. Desarrollo de programas. Entrada y salida estándar en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2014-2015 v2.0 (05.09.14) CREACIÓN DE UN PROGRAMA A la

Más detalles

Introducción a XCode y Objective-C

Introducción a XCode y Objective-C Sesión 5: Depuración y pruebas 2012-2013 Depto. Ciencia de la Computación e IA Índice de contenidos Trazas de seguimiento NSLogs Asserts El depurador de XCode Breakpoints: Uso y tipos Acciones disponibles

Más detalles

Capítulo 4. Estructuras Iterativas

Capítulo 4. Estructuras Iterativas Capítulo 4. Universidad del País Vasco / Euskal Herriko Unibertsitatea 95 Índice del capítulo 1. Introducción........................................ 97 2. Objetivos...........................................

Más detalles

APELLIDOS NOMBRE GRUPO CALIFICACIÓN FECHA

APELLIDOS NOMBRE GRUPO CALIFICACIÓN FECHA Hoja 1/10 Duración: una hora y media Resultados de aprendizaje que se evalúan en este examen: R2: Saber emplear las estructuras de control de flujo de programación para implementar algoritmos sencillos.

Más detalles

INCIO DE WORD. Mis primeros pasos

INCIO DE WORD. Mis primeros pasos INCIO DE WORD Mis primeros pasos Descripción breve Este tema está pensado para las personas que no conocen nada de Word. Este contenido es una mezcla de recopilaciones (Aula Clic), y ediciones también

Más detalles

Dos de los elementos más importante de cualquier sistema operativo son los archivos y las carpetas.

Dos de los elementos más importante de cualquier sistema operativo son los archivos y las carpetas. Archivos y carpetas Introducción Dos de los elementos más importante de cualquier sistema operativo son los archivos y las carpetas. Los archivos son el componente que permite almacenar prácticamente toda

Más detalles

TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS. Entorno dreamweaver DESARROLLO DE APLICACIONES WEB I

TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS. Entorno dreamweaver DESARROLLO DE APLICACIONES WEB I TECNOLOGÍA DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS Entorno dreamweaver DESARROLLO DE APLICACIONES WEB I Lic. RUBICELL PINEDA TELLEZ ALUMNA: DURÁN VARGAS CLAUDIA MATRICULA: 10292047

Más detalles

Elementos esenciales de Word

Elementos esenciales de Word Word 2013 Elementos esenciales de Word Área académica de Informática 2015 Elementos esenciales de Word Iniciar Microsoft Word 2013 Para entrar en Microsoft Word 2013 Haz clic en el botón Inicio para ir

Más detalles

FUNDAMENTOS DE PROGRAMACIÓN Asignatura correspondiente al plan de estudios de la carrera de Ingeniería Informática

FUNDAMENTOS DE PROGRAMACIÓN Asignatura correspondiente al plan de estudios de la carrera de Ingeniería Informática Página 1/14 Universidad Nacional del Litoral Facultad de Ingeniería y Ciencias Hídricas Departamento de Informática FUNDAMENTOS DE PROGRAMACIÓN Asignatura correspondiente al plan de estudios de la carrera

Más detalles

TEMA 3: El proceso de compilación, del código fuente al código máquina

TEMA 3: El proceso de compilación, del código fuente al código máquina TEMA 3: El proceso de compilación, del código fuente al código máquina 3.1 Fase de compilación y linkado (link, montado o enlace) Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado

Más detalles

Manual del generador del Libro del Edificio. La siguiente imagen muestra la pantalla de trabajo de la herramienta, dividida en tres áreas.

Manual del generador del Libro del Edificio. La siguiente imagen muestra la pantalla de trabajo de la herramienta, dividida en tres áreas. Manual del generador del Libro del Edificio El generador del libro del Edificio es una herramienta informática que permite la elaboración del libro de cualquier edificio de viviendas de modo sencillo y

Más detalles

INSTALACIÓN DE VISUAL STUDIO 2010

INSTALACIÓN DE VISUAL STUDIO 2010 FUNDAMENTOS DE LA PROGRAMACIÓN. INGENIERÍA DE LA SALUD ANEXO Entorno de trabajo Versión: 1.1 INSTALACIÓN DE VISUAL STUDIO 2010 En la página web se puede descargar un vídeo que indica los pasos para descargar

Más detalles

PARTE 1: Introducción

PARTE 1: Introducción POWERPOINT PARTE 1: Introducción Para iniciar el programa de PowerPoint podemos hacerlo: Desde el icono del escritorio Desde el botón Inicio Cuando abrimos el programa se nos abre una nueva ventana en

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA PRÁCTICAS PARA LA ASIGNATURA FUNDAMENTOS DE INFORMÁTICA PRÁCTICAS 1 y 2: Empezando a programar en C. INGENIEROS INDUSTRIALES UNIVERSIDAD POLITÉCNICA DE CARTAGENA Pedro María Alcover Garau Dolores Cano

Más detalles

DIAGRAMAS DE FLUJO: DFD

DIAGRAMAS DE FLUJO: DFD DIAGRAMAS DE FLUJO: DFD DFD es un programa de libre disposición para ayuda al diseño e implementación de algoritmos expresados en diagramas de flujo (DF). Además incorpora opciones para el depurado de

Más detalles

CÓMO INICIAR UNA SESIÓN DE CONTROL REMOTO BAJO DEMANDA

CÓMO INICIAR UNA SESIÓN DE CONTROL REMOTO BAJO DEMANDA Índice: 1 CÓMO INICIAR UNA SESIÓN DE CONTROL REMOTO BAJO DEMANDA 2 1.1 DESCARGAR Y ABRIR LA CONSOLA DE OPERADOR. 2 1.1.1 INTRODUCIR LOS DATOS DE ACCESO 3 1.1.2 UNA VEZ CONECTADO, PULSAR SOBRE EL BOTÓN

Más detalles

MATERIAL PREVIO A LA PRIMERA PRÁCTICA: INTRODUCCIÓN AL ENTORNO WINDOWS INTRODUCCIÓN AL PAQUETE ESTADÍSTICO SPSS

MATERIAL PREVIO A LA PRIMERA PRÁCTICA: INTRODUCCIÓN AL ENTORNO WINDOWS INTRODUCCIÓN AL PAQUETE ESTADÍSTICO SPSS Asignatura: ESTADÍSTICA EMPRESARIAL: UN ENFOQUE APLICADO Curso 2010-2011 2º Diplomatura en CIENCIAS EMPRESARIALES Profesores: Manuel García y Rafael Rivera MATERIAL PREVIO A LA PRIMERA PRÁCTICA: INTRODUCCIÓN

Más detalles

MICROSOFT EXCEL 2007 NIVEL AVANZADO. Contenido

MICROSOFT EXCEL 2007 NIVEL AVANZADO. Contenido MICROSOFT EXCEL 2007 NIVEL AVANZADO GUÍA TEÓRICO-PRÁCTICA N 4 MACROS Contenido INTRODUCCION... 2 Crear una macro automáticamente... 2 Ejecutar una macro... 3 Actividad 1... 4 Asignar una macro a un botón...

Más detalles

Manual de instalación de R y R Commander

Manual de instalación de R y R Commander José Egea Departamento Matemática Aplicada y Estadística Universidad Politécnica de Cartagena Manual de instalación de R y R Commander 1. Introducción R es un lenguaje de programación altamente recomendado

Más detalles

roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. Nociones básicas de programación

roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. Nociones básicas de programación There are no translations available. Introducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C. roducción a la programación con el lenguaje C usando el entorno de trabajo Dev-C.

Más detalles

Unidad 1. Mi primer documento (I)

Unidad 1. Mi primer documento (I) Unidad 1. Mi primer documento (I) Este tema está pensado para las personas que no conocen nada de Word 2007, si ya has usado Word 2007 puedes pasar a la Unidad 2. Aquí aprenderemos a crear y guardar nuestro

Más detalles