!! Identificar las señales que llegan a la consola.

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

Download "!! Identificar las señales que llegan a la consola."

Transcripción

1 Objetivos TEMA 9 Gestión de Errores y Excepciones!! Describir el mecanismo de gestión de señales en Windows API y la gestión de excepciones.!! Identificar las señales que llegan a la consola. Estudio de un Sistema Operativo U. D. Sistemas DSIC Curso 2009/10 1 Tema 9: Gestión de Errores y Excepciones 2 Bibliografía!! Johnson M. Hart: Win32 System Programming, 2ª ed., Addison-Wesley, 2001, ISBN , 508 págs. "! Capítulos 4 y 7.!! Microsoft: Win32 SDK (Edición 1997). "! Libro Win32 Programmer s Reference. #! Capítulos: Processes and Threads, Structured Exception Handling y Consoles and Character-Mode Support.!! Microsoft: MSDN de Visual Studio.NET "! Programación en Windows -> Windows Base Services -> Archivos DLL, procesos y subprocesos -> Documentación del SDK -> Processes and threads. "! Programación en Windows -> Windows Base Services -> Archivos DLL, procesos y subprocesos -> Documentación del SDK -> Character mode applications. "! Programación en Windows -> Windows Base Services -> Depuración y control de errores -> Documentación del SDK -> Structured exception handling. Tema 9: Gestión de Errores y Excepciones 3 Tema 9: Gestión de Errores y Excepciones 4

2 1.- Introducción!!Características señales POSIX: "! Generadas por el sistema #! Errores en ejecución del proceso "! Tratamiento: #! Ignorarlas #! Tratamiento por omisión (terminar al proceso) #! Establecer rutina manejadora #! Enmascarar (tratarlas después) "! Envío de señales a otros procesos (Kill) 1.- Introducción!!Características excepciones en Win32: "! Generadas por el sistema #! Errores en ejecución del proceso "! Control en el propio bloque donde se genera la excepción #! Establecer un manejador para tipos de excepciones ocurridas #! _try{ /*bloque */ _except( /*filtro */){ /*manejador*/ #! Propagar excepciones a otras funciones previas "! Generación de excepciones voluntarias: #! Un proceso sobre sí mismo #! No sobre otros procesos Tema 9: Gestión de Errores y Excepciones 5 Tema 9: Gestión de Errores y Excepciones Introducción!! Otros mecanismos: "! Un proceso puede matar a otro con la llamada TerminateProcess() #! Similar a enviar una señal SIGKILL en POSIX "! Tratar señales desde teclado (Ctrl+C, Ctrl+Break, Close) #! Ignorarlas #! Fijar rutinas manejadoras: SetConsoleCtrlHandler() "! Enviar señales (Ctrl+C, Ctrl+Break) a otros procesos #! GenerateConsoleCtrlEvent() Tema 9: Gestión de Errores y Excepciones 7 Tema 9: Gestión de Errores y Excepciones 8

3 2.- Repaso llamadas POSIX.1!! Comparación llamadas en POSIX y en WIN32 kill() POSIX sigemptyset() sigfillset() sigaddset() sigismember() sigprocmask() sigaction() sigsuspend() WIN32 Descripción TerminateProcess(), Generar o enviar una señal Generar o enviar una señal RaiseException(), GenerateConsoleCtrlEvent() Funciones de tratamiento de la máscara de señales Funciones de tratamiento ( No de la máscara existe máscara de señales de señales en Windows!!) SetConsoleCtrlHandler() Capturar o manejar señales Capturar o manejar señales Esperar señales Descripción (No aplicable en Windows) Tema 9: Gestión de Errores y Excepciones 9 Tema 9: Gestión de Errores y Excepciones Terminación de procesos!! TerminateProcess: matar a otro proceso BOOL TerminateProcess( HANDLE hprocess, UINT uexitcode);!! Devuelve CIERTO si éxito, FALSO si error!! Similar a envío de SIGKILL en POSIX!! Parámetros: "! hprocess: Descriptor del proceso que queremos terminar #! Activo flag PROCESS_TERMINATE #! Si conocemos PID proceso a terminar, usar OpenProcess() para obtener descriptor y activar su flag "! uexitcode: Valor de terminación que proporcionará ese proceso 3.- Terminación de procesos!! Ejemplo: Programa kill.c "! Recibe como argumento el PID del proceso a eliminar "! Utiliza llamada OpenProcess() para obtener descriptor del proceso #! Falla cuando no tengamos derechos para matar al proceso, por pertenecer a otro usuario, o cuando no exista el PID #! Si éxito (devuelve un descriptor válido), mata al proceso con TerminateProcess()! Sólo fallará si el proceso ha terminado entre tanto "! Averiguar los identificadores de los procesos: #! Usar administrador de tareas #! Opción Ver - Seleccionar columnas PID Tema 9: Gestión de Errores y Excepciones 11 Tema 9: Gestión de Errores y Excepciones 12

4 3.- Terminación de procesos /* kill.c : Programa para eliminar al proceso cuyo PID se facilite como argumento. */ void main(int argc, char *argv[]) { DWORD dwpid; HANDLE hproc; /* Comprobar que se ha recibido un argumento. */ if (argc!= 2) { kill.c kill2.c fprintf(stderr, "Se necesita un PID como argumento.\n"); /* Pasar el argumento a entero. */ dwpid = atoi(argv[1]); /* Tratar de obtener un descriptor para ese proceso. */ hproc = OpenProcess(PROCESS_TERMINATE, FALSE, dwpid); if (hproc==null) { fprintf(stderr, "No se ha podido obtener el descriptor para el proceso %d.\n", dwpid); Tema 9: Gestión de Errores y Excepciones Terminación de procesos /* Matar al proceso. */ if (!TerminateProcess(hProc,1)) { fprintf(stderr, "Error en TerminateProcess().\n"); printf("proceso %d eliminado correctamente.\n", dwpid); ExitProcess(0); $ kill 2744 Proceso 2744 eliminado correctamente Tema 9: Gestión de Errores y Excepciones 14 Tema 9: Gestión de Errores y Excepciones 15 try { /* Bloque */ except ( /*Filtro*/ ) { /* También puede ser finally en lugar de except */ /* Manejador */!! Tratamiento estructurado de excepciones "! Soportado en algunos compiladores de C en sistemas Windows "! Win32 facilita algunas funciones para usar en ese tratamiento #! try: bloque de código con tratamiento de excepciones #! except: manejador de excepción. Se ejecuta cuando ocurre una excepción en el bloque try asociado #! finally: manejador de terminación. Se ejecuta cuando se sale del bloque try asociado Tema 9: Gestión de Errores y Excepciones 16

5 !! Filtro de la cláusula except "! Un valor constante "! Una llamada a alguna función de filtrado que devuelva: #! EXCEPTION_EXECUTE_HANDLER: debe ejecutarse el manejador #! EXCEPTION_CONTINUE_SEARCH: debe ignorarse el manejador! La excepción se propaga! Manejarse en otras funciones invocadas previamente (todavía activas en la pila de invocaciones, no terminadas). #! EXCEPTION_CONTINUE_EXECUTION: se retornará el control inmediatamente a la instrucción que generó la excepción, reanudando su ejecución! Sólo posible si la función utilizada como filtro ha podido resolver la causa de la excepción.! HAY MUCHAS EXCEPCIONES QUE NO PUEDEN SER GESTIONADAS DE ESTA MANERA. "! El bloque manejador se ejecutará si el filtro lo ha autorizado (EXCEPTION_EXECUTE_HANDLER) "! Cuando acaba el manejador, el flujo prosigue fuera del bloque try Tema 9: Gestión de Errores y Excepciones 17!! LLamadas de Win32 para el tratamiento estructurado de excepciones: "! AbnormalTermination(): Indica si se salió del bloque try tras ejecutar la última función o no. Emplearla sólo en la parte del finally "! GetExceptionCode(): Indica qué tipo de excepción se ha producido en un bloque try "! GetExceptionInformation(): Devuelve información adicional sobre una excepción. Sólo puede utilizarse en el filtro "! RaiseException(): Permite generar una excepción "! SetUnhandledExceptionFilter(): Permite establecer una función filtro por omisión "! UnhandledExceptionFilter(): Para hacer llegar las excepciones no tratadas a un depurador Tema 9: Gestión de Errores y Excepciones 18!! GetExceptionCode: indicar tipo de excepción DWORD GetExceptionCode(VOID);!! Devuelve un valor numérico que identifica la excepción que se haya producido en el bloque try!! Sólo puede utilizarse en el filtro o en el propio bloque manejador!! Valores que puede devolver: EXCEPTION_ACCESS_VIOLATION, EXCEPTION_BREAKPOINT, EXCEPTION_DATATYPE_MISALIGNMENT, EXCEPTION_SINGLE_STEP, EXCEPTION_ARRAYS_BOUND_EXCEEDED, EXCEPTION_FLT_DENORMAL_OPERAND, EXCEPTION_FLT_DIVIDE_BY_ZERO, EXCEPTION_FLT_INEXACT_RESULT, EXCEPTION_FLT_INVALID_OPERATION, EXCEPTION_FLT_OVERFLOW, EXCEPTION_FLT_STACK_CHECK, EXCEPTION_FLT_UNDERFLOW, EXCEPTION_INT_DIVIDE_BY_ZERO, EXCEPTION_INT_OVERFLOW, EXCEPTION_PRIV_INSTRUCTION, EXCEPTION_NONCONTINUABLE_EXCEPTION. Tema 9: Gestión de Errores y Excepciones 19!! Ejemplos: "! Ejemplo 1: Provoca excepciones del tipo EXCEPTION_ACCESS_VIOLATION al intentar acceder a la posición señalada por un puntero no inicializado "! Ejemplo 2: Puede provocar excepciones del tipo EXCEPTION_FLT_DIVIDE_BY_ZERO.!! Tratamos la excepción en el bloque manejador asociado!! Podría hacerse en una función filtro que consultara el tipo de excepción generado "! Podríamos provocar nuevas excepciones si devolvemos como resultado EXCEPTION_CONTINUE_EXECUTION Tema 9: Gestión de Errores y Excepciones 20

6 senyal.c #include <malloc.h> /* Ejemplo 1. Excepciones por acceder a direcciones sin memoria. */ char *ptro; int main(int argc, char *argv[]) { if (argc<2) { fprintf(stderr, "Se necesita un argumento.\n"); try { *ptro=argv[1][0]; except( EXCEPTION_EXECUTE_HANDLER ) { switch(getexceptioncode()) { case EXCEPTION_ACCESS_VIOLATION: fprintf(stderr, "El puntero no tenía memoria. Se la asignamos.\n"); ptro=malloc(sizeof(char)); *ptro=argv[1][0]; break; default: fprintf(stderr, "Excepción inesperada.\n"); printf( "Primer carácter: %c.\n", *ptro ); ExitProcess(0); Tema 9: Gestión de Errores y Excepciones 21 /* Ejemplo 2. Excepciones de división por cero. */ int main(int argc, char *argv[]) { double resul,denom; if (argc<2) { fprintf(stderr, "Se necesita un argumento.\n"); denom=atof(argv[1]); try { resul=5.0/denom; except( EXCEPTION_EXECUTE_HANDLER ) { switch(getexceptioncode()) { case EXCEPTION_FLT_DIVIDE_BY_ZERO: fprintf(stderr, "El denominador no puede ser cero.\n"); break; default: fprintf(stderr, "Excepción inesperada.\n"); printf( "Operación: 5.0/%f -- Resultado: %f.\n", denom, resul ); ExitProcess(0); Tema 9: Gestión de Errores y Excepciones 22!! Todo proceso de Windows tiene una función manejadora de señales recibidas desde la consola!! Señales de consola que se pueden manejar: "! [Ctrl]+[C] "! [Ctrl]+[Break] ([Ctrl]+[Supr]) "! [Alt]+[F4] (Close, en las aplicaciones gráficas)!! La función instalada por omisión en todos los procesos llama a ExitProcess(), finalizando el proceso!! Modificación del comportamiento del manejador de señales de consola: SetConsoleCtrlHandler() "! Instalar nuevas funciones manejadoras (puede haber varias) "! Eliminar alguna de las ya instaladas!! Envío de señales de consola: GenerateConsoleCtrlEvent() Tema 9: Gestión de Errores y Excepciones 23 Tema 9: Gestión de Errores y Excepciones 24

7 !! SetConsoleCtrlHandler BOOL SetConsoleCtrlHandler( PHANDLER_ROUTINE HandlerRoutine, BOOL Add );!! Instala (o elimina) una función manejadora de señales de consola "! Al recibir una señal, las funciones manejadoras serán invocadas en orden inverso al de instalación "! Hasta que alguna de ellas devuelva el valor TRUE "! Si ninguna de ellas devuelve cierto, se llama a la función manejadora por omisión, que terminará al proceso!! Argumentos "! HandlerRoutine: Dirección base de la función manejadora "! Add: TRUE=Añadir la función a la lista; FALSE= eliminarla!! Si HandlerRoutine es NULL, tiene un comportamiento especial: "! Si Add =TRUE, se ignorar la señal [Ctrl]+[C] "! Si Add = FALSE, se restaura tratamiento por omisión para [Ctrl]+[C]!! Interfaz de los manejadores a instalar: BOOL HandlerRoutine(DWORD dwctrltype);!! dwctrltype es un argumento facilitado por el sistema, que indica la señal recibida: "! CTRL_CLOSE_EVENT: el usuario ha pedido el cierre de la aplicación. [Alt] +[F4] "! CTRL_BREAK_EVENT: el usuario ha pulsado [Ctrl]+[Break] "! CTRL_LOGOFF_EVENT: el usuario está cerrando la sesión "! CTRL_SHUTDOWN_EVENT: el usuario está parando el equipo Tema 9: Gestión de Errores y Excepciones 25 Tema 9: Gestión de Errores y Excepciones 26!! Ejemplo: instalación de un manejador que muestra por pantalla la señal recibida por el proceso "! Hasta que no reciba cuatro señales de consola, no terminará "! Qué pasaría si devolviera FALSE en lugar de TRUE? Tema 9: Gestión de Errores y Excepciones 27 senyconsola.c int contador=0; BOOL manejador(dword dwctrltype) { switch(dwctrltype) { case CTRL_C_EVENT: printf("se ha pulsado Ctrl+C.\n"); break; case CTRL_CLOSE_EVENT: printf("se ha intentado cerrar el proceso.\n"); break; case CTRL_BREAK_EVENT: printf("se ha pulsado Ctrl+Break.\n"); break; case CTRL_LOGOFF_EVENT: printf("se ha cerrado la sesión.\n"); return FALSE; case CTRL_SHUTDOWN_EVENT: printf("se ha parado el equipo.\n"); return FALSE; contador++; return TRUE; int main(void) { SetConsoleCtrlHandler(manejador,TRUE); while(contador<4); return 0; Tema 9: Gestión de Errores y Excepciones 28

8 !! GenerateConsoleCtrlEvent BOOL GenerateConsoleCtrlEvent( DWORD dwctrlevent, DWORD dwprocessgroupid );!! Envía una señal de teclado a un grupo de procesos!! Retorna TRUE si éxito y FALSE si error "! Fallará si el PID no es el de un líder de grupo. Es decir, el primer proceso creado en dicho grupo!! Parámetros: "! dwctrlevent: Identificador de la señal a enviar (CTRL_C_EVENT o CTRL_BREAK_EVENT) "! dwprocessgroupid: Identificador del proceso líder de un grupo #! Al activar flag CREATE_NEW_PROCESS_GROUP en la llamada CreateProcess() #! Por omisión, cada proceso pertenece al grupo de su proceso padre Tema 9: Gestión de Errores y Excepciones 29 void fatal(char *msg) { DWORD dwmsglen; LPTSTR lpvmessage; dwmsglen = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpvmessage, 0, NULL); fprintf(stderr, "%s: %s", msg, lpvmessage); LocalFree(lpvMessage); int main(int argc, char*argv[]) { DWORD pid; if (argc!=2) { fprintf(stderr, "Se necesita un PID como argumento.\n"); return 1; pid = atoi(argv[1]); if (!GenerateConsoleCtrlEvent(CTRL_C_EVENT,pid)) { fatal("fallo en el envío de Ctrl+C"); return 1; if (!GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT,pid)) { fprintf(stderr, "Fallo en el envío de Ctrl+Break.\n"); return 1; printf("señales enviadas correctamente.\n"); return 0; killconsola.c Tema 9: Gestión de Errores y Excepciones 30 Aplicaciones interesantes!!task Manager "! Procesos activos del sistema!!event Viewer (eventvwr.exe) "! Administrador: acceder a logs sistema!!sysinternals Tools (www.sysinternals.com) "! Process Explorer "! Process Monitor Tema 9: Gestión de Errores y Excepciones 31

Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid

Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Manejo de Señales Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Señales Concepto Evento que interrumpe la ejecución normal de un proceso La acción por defecto suele

Más detalles

TEMA 5 HILOS Y PLANIFICACIÓN

TEMA 5 HILOS Y PLANIFICACIÓN Objetivos TEMA 5 HILOS Y PLANIFICACIÓN!!Distinguir entre hilos y fibras!!describir las llamadas al sistema para gestionar hilos y fibras Estudio de un Sistema Operativo U. D. Sistemas DSIC!!Describir la

Más detalles

Sistemas Operativos Práctica 3

Sistemas Operativos Práctica 3 Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /

Más detalles

El lenguaje de Programación C. Fernando J. Pereda

El lenguaje de Programación C. Fernando J. Pereda <ferdy@gentoo.org> El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por

Más detalles

Objetivos TEMA 8 PROTECCIÓN. Indice. Bibliografía. Estudio de un Sistema Operativo U. D. Sistemas DSIC. "! Matrices de acceso. 1.!

Objetivos TEMA 8 PROTECCIÓN. Indice. Bibliografía. Estudio de un Sistema Operativo U. D. Sistemas DSIC. ! Matrices de acceso. 1.! Objetivos TEMA 8 PROTECCIÓN!! Identificar los requerimientos necesarios para controlar el acceso a los recursos!! Describir las funciones necesarias para gestionar la seguridad de los recursos Estudio

Más detalles

Práctica 3ProgramacionRS232: Programación básica de la RS232

Práctica 3ProgramacionRS232: Programación básica de la RS232 Práctica 3ProgramacionRS232: Programación básica de la RS232 1 Objetivos El objetivo de esta práctica es la iniciación del alumno en la programación de las comunicaciones en un entorno de desarrollo basado

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por

Más detalles

GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C

GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C CARRERA: 441402 INGENIERÍA DE EJECUCIÓN EN ELECTRICIDAD Y ELECTRÓNICA 444803 TÉCNICO EN ELECTRICIDAD Y ELECTRÓNICA ASIGNATURA: PCS2201

Más detalles

Práctica: Creación de un programa C# sencillo

Práctica: Creación de un programa C# sencillo Introducción a C# 1 Práctica: Creación de un programa C# sencillo Objetivos Al final de esta práctica, usted será capaz de: Crear un programa C#. Compilar y ejecutar un programa C#. Usar el Visual Studio

Más detalles

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria. Punteros Definición Un puntero es un dato que contiene una dirección de memoria. NOTA: Existe una dirección especial que se representa por medio de la constante NULL (definida en ) y se emplea

Más detalles

Tema 5 Sentencias de control de flujo. Fundamentos de Informática

Tema 5 Sentencias de control de flujo. Fundamentos de Informática Tema 5 Fundamentos de Informática Sentencias de Control Tipos de sentencias de control: Comprobación lógica para bifurcar el flujo de un programa. Sentencias de control condicional o alternativo Comprobación

Más detalles

Repaso de las características más importantes de la programación Java y su adaptación a Android

Repaso de las características más importantes de la programación Java y su adaptación a Android Repaso de las características más importantes de la programación Java y su adaptación a Android 1. Entorno de programación en java 2. Variables y tipos de datos 3. Operaciones y operadores 4. Clases y

Más detalles

Apellidos Nombre DNI

Apellidos Nombre DNI A continuación se muestra el listado de un programa cuyo objetivo es encontrar una palabra dentro de una cadena de caracteres de la sección de datos y copiar dicha palabra en otra zona de la sección de

Más detalles

Tema 2. El lenguaje de programación Java (Parte 1)

Tema 2. El lenguaje de programación Java (Parte 1) Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de

Más detalles

Figura1. La IDE de MVS Express 2012

Figura1. La IDE de MVS Express 2012 UNIVERSIDAD DEL ISTMO Ingeniería en computación Compiladores PROFESOR M. en C. J. Jesús Arellano Pimentel NÚMERO DE PRÁCTICA 1 NOMBRE DE LA PRÁCTICA OBJETIVO GENERAL OBJETIVOS ESPECÍFICOS EQUIPO REQUERIDO

Más detalles

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; TEMA 5. CONTROL DE FLUJO DEL PROGRAMA 5.1 Sentencias Una sentencia es una expresión seguida de un punto y coma. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ; El ; es obligatorio

Más detalles

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) APRENDERAPROGRAMAR.COM GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I

Más detalles

Preliminares. Tipos de variables y Expresiones

Preliminares. Tipos de variables y Expresiones Preliminares. Tipos de variables y Expresiones Felipe Osorio Instituto de Estadística Pontificia Universidad Católica de Valparaíso Marzo 5, 2015 1 / 20 Preliminares Computadoras desarrollan tareas a un

Más detalles

Esquema de un programa en C: bloques básicos

Esquema de un programa en C: bloques básicos Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,

Más detalles

Mi primer proyecto en Dev-C++

Mi primer proyecto en Dev-C++ Mi primer proyecto en Dev-C++ Para realizar esta actividad deberás disponer de un ordenador en el que esté instalado el Dev-C++. Debes ir realizando cada uno de los pasos indicados, en el mismo orden en

Más detalles

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK. Introducción Java surgió en 1991 dentro de la empresa Sun Microsystems como un lenguaje de programación sencillo y universal destinado a electrodomésticos. La reducida potencia de cálculo y memoria de

Más detalles

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA UNED Centro Asociado de Cádiz RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA 1. OBJETOS Cualquier elemento del programa es un objeto. Un programa es un conjunto de objetos que se comunican entre sí

Más detalles

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases Programación Avanzada para Sistemas de Telecomunicación Objetos y clases Juan Carlos Cruellas cruellas@ac.upc.es Objetos y clases Concepto de objeto. Concepto de clase. Clases, objetos y programas. Clases

Más detalles

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008 INDICE

Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008 INDICE Pasos para Realizar un Programa de lenguaje C en modo Consola en Visual Studio 2008 Ignacio Alvarez García Septiembre 2012 INDICE 1. Preparar el proyecto para el programa... 1 1.1. Abrir Visual Studio

Más detalles

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012 Prácticas: Introducción a la programación en Java Informática (1º Ingeniería Civil) Índice Introducción a Java y al entorno de desarrollo NetBeans Estructura de un programa Tipos de datos Operadores Sentencias

Más detalles

Objetivo de aprendizaje del tema

Objetivo de aprendizaje del tema Computación II Tema 3. Identificadores, palabras clave y tipos de datos Objetivo de aprendizaje del tema Al finalizar el tema serás capaz de: Distinguir i entre modificadores d válidos y no válidos. Enumerar

Más detalles

Taller de Sistemas Operativos Introducción

Taller de Sistemas Operativos Introducción Taller de Sistemas Operativos Introducción Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http:// Conceptos generales 2 Proceso stdin Descriptor Flujo (FILE*) 0 stdout 1 Proceso

Más detalles

Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1.

Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1. Paso de Borland Turbo C (bajo DOS) a Anjuta (Linux) 1. Anjuta es un entorno de desarrollo de C que podemos encontrar en cualquier distribución de GNU/Linux. Si nuestra distribución no dispone de ella,

Más detalles

Sistemas Operativos I Manual de prácticas

Sistemas Operativos I Manual de prácticas Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...

Más detalles

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8 TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 1.1 VECTORES O ARRAYS UNIDIMENSIONALES 2 1.2 ARRAYS MULTIDIMENSIONALES 3 1.3 INICIALIZACIÓN DE ARRAYS 4 1.3.1 INICIALIZACIÓN DE ARRAYS SIN

Más detalles

Elementos léxicos del lenguaje de programación Java

Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores

Más detalles

Uso de archivos en C++

Uso de archivos en C++ CICLO 02-2013 UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLOGICOS ESCUELA DE COMPUTACION GUIA DE LABORATORIO Nº 11 Nombre de la práctica: Uso de archivos en C++ Lugar de ejecución: Laboratorio de Informática

Más detalles

Herramientas Visuales de Programación

Herramientas Visuales de Programación Pág. 1 07/04/2013 Para la compilación y ejecución del código que se realizará a lo largo de este curso vamos a utilizar el entorno de programación de la Herramienta Visual Studio 2010. El entorno de programación

Más detalles

ALGORITMICA Y PROGRAMACION POR OBJETOS I

ALGORITMICA Y PROGRAMACION POR OBJETOS I ALGORITMICA Y PROGRAMACION POR OBJETOS I Nivel 2 Definiendo situaciones y manejando casos Marcela Hernández Hoyos Qué vamos a aprender en este nivel: Diferencia entre clase y objeto Modelar características

Más detalles

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Lenguaje C. Tipos de Datos Simples y Estructuras de Control Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje

Más detalles

Tema 1. Introducción a los TAD

Tema 1. Introducción a los TAD Tema 1. Introducción a los TAD Objetivos En este tema nos ocupamos inicialmente del concepto de abstracción, dedicando la mayor atención a la abstracción de datos, estudiando aspectos relacionados con

Más detalles

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

TEMA 3: EL LENGUAJE C: PRESENTACIÓN TEMA 3: EL LENGUAJE C: PRESENTACIÓN Historia del lenguaje C Características del lenguaje C Estructura de un programa en C El editor de textos: elementos Funciones: de usuario y de librería Librerías de

Más detalles

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones

Contenidos. Funciones (suplemento) Funciones. Justificación del uso de Funciones Contenidos 1. Justificación del uso de funciones. 2. Declaración de funciones: prototipos. 3. Prototipos y ficheros de cabecera. 4. Polimorfismo (sobrecarga de funciones). 5. Argumentos formales y actuales.

Más detalles

Uso de excepciones en Java

Uso de excepciones en Java Uso de excepciones en Java En Java, cuando se produce un error en un método, se lanza un objeto Throwable. Cualquier método que haya llamado al método puede capturar la excepción y tomar las medidas que

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Tema 2 : entorno programación linux Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Programación

Más detalles

Contenido. Capítulo 1. Introducción a lenguaje C 1

Contenido. Capítulo 1. Introducción a lenguaje C 1 Contenido Capítulo 1. Introducción a lenguaje C 1 Introducción... 2 Qué es un lenguaje de programación?... 2 Tipos de lenguajes de programación... 2 Introducción a lenguaje C... 2 Historia de lenguaje

Más detalles

"Binary Diffing" visual en Linux con Radare2 "UNA IMAGEN DICEN MÁS QUE MIL PALABRAS"

Binary Diffing visual en Linux con Radare2 UNA IMAGEN DICEN MÁS QUE MIL PALABRAS "Binary Diffing" visual en Linux con Radare2 Binary Diffing o simplemente Bindiffing es una técnica utilizada para la visualización de código (mayormente en ensamblador) y así detectar patrones de conducta,

Más detalles

1 HILOS (THREADS) EN JAVA

1 HILOS (THREADS) EN JAVA 1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los

Más detalles

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN

TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN TEMA 4. ELEMENTOS BÁSICOS DE PROGRAMACIÓN 4.1 Definiciones y palabras reservadas básicas del C El lenguaje C++ está compuesto por: 32 palabras clave (estándar ANSI), comunes a todos los compiladores de

Más detalles

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

8. Sentencia return y métodos

8. Sentencia return y métodos 92 A. García-Beltrán y J.M. Arranz 8. Sentencia return y métodos Objetivos: a) Describir el funcionamiento de la sentencia return b) Interpretar el resultado de una sentencia return en el código fuente

Más detalles

Arquitectura de Computadores: Exámenes y Controles

Arquitectura de Computadores: Exámenes y Controles 2º curso / 2º cuatr. Grado en Ing. Informática Doble Grado en Ing. Informática y Matemáticas Arquitectura de Computadores: Exámenes y Controles Examen de Prácticas AC 05/07/2013 resuelto Material elaborado

Más detalles

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero.

Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Objetivos de la práctica: - Practicar uso de ficheros: abrir, cerrar y tratamiento de información contenida en el fichero. Uso de Ficheros Todas las estructuras de datos vistas hasta ahora utilizan la

Más detalles

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System. CICLO: 01/2010 Universidad Don Bosco Materia: Lenguaje de Programación III Contenido: 1-Lectura de Datos de entrada. 2-Introduccion a JOPTIONPANE. 3-Estructuras de Control. ->LECTURA DE DATOS DE ENTRADA

Más detalles

Sistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10)

Sistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10) Sistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10) Calendario Comienzo: Lunes 19 de octubre y miércoles 21 de octubre. Entrega: 2 de noviembre y 4 de noviembre,

Más detalles

Arreglos. // Incluir E/S y Librerías Standard #include #include

Arreglos. // Incluir E/S y Librerías Standard #include <stdlib.h> #include <stdio.h> Arreglos Introducción. En los temas anteriores se han estudiado los diferentes tipos de datos simples de C++, usados para representar valores simples como enteros, reales o caracteres. Sin embargo, en

Más detalles

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D.

Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Autor: Jorge A. Díez Pomares Laboratorio de C.A.D. Qué ofrece la programación en AutoCAD? Qué necesito para empezar a programar? Qué es C# y.net? Laboratorio de C.A.D. UMH 1 1.1. INTRODUCCIÓN 1.2. SOFTWARE NECESARIO 1.3. CONFIGURACIÓN DEL PROYECTO EN VS2010

Más detalles

Programación I Funciones

Programación I Funciones 1 Funciones Iván Cantador 2 Funciones: definición, sintaxis, ejemplos (I) Una funciónes un bloque de sentencias identificado con un nombre que se ejecutan de manera secuencial ofreciendo una funcionalidad

Más detalles

6. TARJETA TELEFÓNICA: MARCACIÓN, DETECCIÓN DE PASO A FALTA, TONOS, PULSOS, INTERRUPCIÓN

6. TARJETA TELEFÓNICA: MARCACIÓN, DETECCIÓN DE PASO A FALTA, TONOS, PULSOS, INTERRUPCIÓN 6. TARJETA TELEFÓNICA: MARCACIÓN, DETECCIÓN DE PASO A FALTA, TONOS, PULSOS, INTERRUPCIÓN 6.1 INTRODUCCIÓN En este capítulo se comentan las funciones relacionadas con la tarjeta interfaz de línea telefónica

Más detalles

Programación. Ejercicios Tema 5. Funciones

Programación. Ejercicios Tema 5. Funciones Programación Ejercicios Tema 5 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero Jose A. Iglesias Martínez Jose Luis Mira 1 SOLUCIONES 1. Escriba una función

Más detalles

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS.

PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS. PRÁCTICA 5. SENTENCIAS DE CONTROL REPETITIVAS. 1. Introducción. En esta práctica veremos todos los conceptos explicados en la segunda parte del Tema 5 de teoría: las Sentencias de Control Repetitivas,

Más detalles

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle

Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Tema 3: Herencia en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Tipos de herencia Herencia y niveles de visibilidad Herencia y creación Redefinición de métodos Conversión

Más detalles

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo

Más detalles

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS

TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS TUTORIAL DESARROLLO DE APLICACIONES PARA EVOLUTION CON MS ACCESS 1 Introducción... 3 2 Despliegue de la aplicación de ejemplo... 3 2.1 Requisitos previos... 3 2.2 Despliegue de la aplicación... 3 3 Prueba

Más detalles

Generación de código para funciones. Generación de código para funciones. Generación de código para funciones. Generación de código para funciones

Generación de código para funciones. Generación de código para funciones. Generación de código para funciones. Generación de código para funciones Ejemplo introductorio: escritura de funciones en NASM Ejemplo introductorio: escritura de funciones en NASM En estas transparencias pondremos una subrutina ASPLE y la generación de código equivalente En

Más detalles

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar

Más detalles

Manual del Modelizador. 28 de enero de 2009

Manual del Modelizador. 28 de enero de 2009 Índice de contenidos Introducción... 1 Proceso de ejecución de modelos... 1 Origen de datos... 3 Detalles técnicos... 3 Lenguaje de programación... 3 Estructura de los modelos... 3 Biblioteca de clases...

Más detalles

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */ Principios de Programación El lenguaje C 1. Variables locales y globales 1.1. Variables locales Las funciones permiten al programador modularizar un programa. Todas las variables declaradas en las definiciones

Más detalles

Java: control de excepciones

Java: control de excepciones Introducción Java: control de excepciones Una excepción es un evento que ocurre durante la ejecución de un programa, y que interrumpe su flujo de control normal. Normalmente se encuentran asociadas a errores.

Más detalles

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente

Más detalles

Sesión 2 Manejo básico de la interfaz de programación Win32

Sesión 2 Manejo básico de la interfaz de programación Win32 Sesión 2 Manejo básico de la interfaz de programación Win32 Objetivos Aprender los mecanismos básicos necesarios para utilizar la interfaz de programación Win32 en los programas C. 1 Conocimientos previos

Más detalles

Boletín 5- Señales. Departamento de Lenguajes y Sistemas Informáticos

Boletín 5- Señales. Departamento de Lenguajes y Sistemas Informáticos Boletín 5- Señales Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción 2. Envío de señales desde la shell: kill 3. Llamadas al Sistema kill: envío de señal a un proceso raise: autoenvío

Más detalles

CTSQL Monitor Windows

CTSQL Monitor Windows En este documento se describe el proceso de instalación y configuración básica para monitorizar sesiones CTSQL en máquinas Windows. BASE 100, S.A. www.base100.com Índice 1. INTRODUCCIÓN... 3 2. FICHERO

Más detalles

Tema: PROCEDIMIENTOS ALMACENADOS.

Tema: PROCEDIMIENTOS ALMACENADOS. Base de datos I. Guía 9 1 Facultad: Ingeniería Escuela: Computación Asignatura: Base de datos I Tema: PROCEDIMIENTOS ALMACENADOS. Objetivo Específico Conocer la sintaxis de un procedimiento almacenado

Más detalles

Prueba de Laboratorio Modelo B01 Semáforos y Memoria Compartida

Prueba de Laboratorio Modelo B01 Semáforos y Memoria Compartida Prueba de Laboratorio APELLIDOS: NOMBRE: GRUPO DE LABORATORIO: Indicaciones: No se permiten libros, apuntes ni teléfonos móviles. Cuando tenga una solución al ejercicio muéstrela al profesor (compilación

Más detalles

Departamento de Seguridad en Cómputo UNAM-CERT

Departamento de Seguridad en Cómputo UNAM-CERT Departamento de Seguridad en Cómputo UNAM-CERT Reporte de vulnerabilidad de Excel Resumen En este documento se muestra la explotación de una vulnerabilidad de Excel de ejecución de código arbitrario. Proyecto

Más detalles

1 Estructura básica de un programa C++

1 Estructura básica de un programa C++ Elementos básicos de un lenguaje de alto nivel: C++ CONTENIDOS 1. Estructura básica de un programa C++. 2. Tipos de datos simples. 3. Constantes y variables en C++. Declaración. 4. Operadores y expresiones.

Más detalles

Uso de las herramientas de consulta de Transact-SQL

Uso de las herramientas de consulta de Transact-SQL Uso de las herramientas de consulta de Transact-SQL Contenido Introducción 1 Analizador de consultas SQL 2 Uso de la herramienta Examinador de objetos en el Analizador de consultas SQL 3 Uso de plantillas

Más detalles

Practica 11: Conexión de Java con Bases de datos Access

Practica 11: Conexión de Java con Bases de datos Access Practica 11: Conexión de Java con Bases de datos Access En esta práctica vamos a crear una base de datos Microsoft Access y luego vamos a conectarnos desde una aplicación java haciendo uso del puente JDBC-ODBC

Más detalles

TEMA 5. EXCEPCIONES EN JAVA... 1 5.1 DEFINICIÓN DE EXCEPCIONES EN PROGRAMACIÓN... 2 5.2 TIPOS DE EXCEPCIONES / ERRORES Y CÓMO TRATARLOS... 10 5.

TEMA 5. EXCEPCIONES EN JAVA... 1 5.1 DEFINICIÓN DE EXCEPCIONES EN PROGRAMACIÓN... 2 5.2 TIPOS DE EXCEPCIONES / ERRORES Y CÓMO TRATARLOS... 10 5. TEMA 5. EXCEPCIONES EN JAVA... 1 5.1 DEFINICIÓN DE EXCEPCIONES EN PROGRAMACIÓN... 2 5.2 TIPOS DE EXCEPCIONES / ERRORES Y CÓMO TRATARLOS... 10 5.3 TRABAJANDO CON EXCEPCIONES: DECLARACIÓN, CONSTRUCCIÓN,

Más detalles

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática

Tema 7 Vectores y cadenas de caracteres. Fundamentos de Informática Tema 7 Fundamentos de Informática Índice 1. Qué es un vector? 2. Vectores unidimensionales 3. Cadenas de caracteres 4. Paso de vectores unidimensionales a funciones. 5. Vectores multidimensionales: matrices

Más detalles

SOLUCIÓN CASO CÁLCULO DE GASTOS DE VIAJE

SOLUCIÓN CASO CÁLCULO DE GASTOS DE VIAJE SOLUCIÓN CASO CÁLCULO DE GASTOS DE VIAJE La cumplimentación del parte de dietas requerirá de la introducción de algunos datos como: el nombre del empleado, la fecha de inicio del viaje, la fecha de finalización,

Más detalles

CONCEPTOS BASICOS DEL LENGUAJE JAVA

CONCEPTOS BASICOS DEL LENGUAJE JAVA CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten

Más detalles

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:

PL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle: PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los

Más detalles

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código

Tema 6. Reutilización de código. Programación 2015-2016. Programación - Tema 6: Reutilización de código Tema 6 Reutilización de código Programación 2015-2016 Programación - Tema 6: Reutilización de código 1 Tema 6. Reutilización de código Modularidad. Implementación de métodos. Uso de métodos. Programación

Más detalles

Repaso sobre lectura de datos desde la línea de comandos, manejo de memoria dinámica e introducción a la librería GSL

Repaso sobre lectura de datos desde la línea de comandos, manejo de memoria dinámica e introducción a la librería GSL Clase No. 5: Repaso sobre lectura de datos desde la línea de comandos, manejo de memoria dinámica e introducción a la librería GSL MAT 251 Dr. Alonso Ramírez Manzanares CIMAT, A.C. e-mail: alram@ cimat.mx

Más detalles

Interfaces y Manejadores de Dispositivos

Interfaces y Manejadores de Dispositivos Informática Electrónica Unidad 6 Interfaces y Manejadores de Dispositivos Modalidad y Materiales Dos clases expositivas a cargo del docente responsable (jlsimon@fceia.unr.edu.ar) Una práctica cargo de

Más detalles

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1

www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 www.aprendoencasa.com Curso Introducción JAVA Pág.: 1 Introducción Java es un lenguaje basado en la programación orientada a objetos (POO), este tipo de programación va más allá del tipo de programación

Más detalles

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler

SOLUCION PARCIAL TASK SCHEDULER. Task Scheduler Task Scheduler Se necesita modelar una aplicación que permita definir tareas y ejecutarlas en forma programada. Las tareas pueden ser: La ejecución de programa cualquiera o comando del sistema operativo,

Más detalles

Testing Unitario. Laboratorio de Testing y Aseguramiento de la Calidad del Software

Testing Unitario. Laboratorio de Testing y Aseguramiento de la Calidad del Software Testing Unitario Laboratorio de Testing y Aseguramiento de la Calidad del Software Introducción Testing ad hoc Automatización de testing Testing unitario Unidad y Suite de test GoogleTest Fixture e independencia

Más detalles

Apellidos Nombre DNI

Apellidos Nombre DNI Apellidos Nombre DNI Examen de Arquitectura de Computadores (Telemática) Convocatoria de Junio: 25 5 2 Se dispone de un programa escrito en ensamblador encargado de transformar un número escrito en decimal

Más detalles

Introducción a la programación orientada a objetos

Introducción a la programación orientada a objetos Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación

Más detalles

Práctica 3: Programación con subrutinas

Práctica 3: Programación con subrutinas Práctica 3: Programación con subrutinas 3.1 Objetivos El objetivo de esta práctica es estudiar el soporte del ensamblador del ARM para la gestión de subrutinas, para lo que resulta necesario familiarizarse

Más detalles

Siemens Industry IA/DT/BT Service&Support - Automation Service, Automation Sup...

Siemens Industry IA/DT/BT Service&Support - Automation Service, Automation Sup... Page 1 of 7 Automation Technology > Productos y sistemas para manejo y visualización > Software HMI > Sistema SCADA SIMATIC WinCC > SIMATIC WinCC > Configuración del sistema WinCC -- Creación de la configuración

Más detalles

1. Sistema Operativo Unix

1. Sistema Operativo Unix 1. Sistema Operativo Unix 1.1 Introducción al S.O. Unix y su entorno 1.2 Subsistema de Archivos 1.3 Subsistema de Procesos 1.4 Políticas de Gestión de Memoria Dpto. Lenguajes y Sistemas Informáticos. Universidad

Más detalles

Lenguaje C Bucles, Condicionales, operadores y Algoritmos.

Lenguaje C Bucles, Condicionales, operadores y Algoritmos. Lenguaje C Bucles, Condicionales, operadores y Algoritmos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Operadores Los operadores son aquellos

Más detalles

Introducción al lenguaje de especificación JML

Introducción al lenguaje de especificación JML Introducción al lenguaje de especificación JML Elena Hernández Pereira Óscar Fontenla Romero Tecnología de la Programación Octubre 2006 Departamento de Computación Facultad de Informática Universidad de

Más detalles

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR...

8.1 Un primer bucle FOR... 5 8.2 Varias formas de utilizar el bucle FOR... 5 8.3 Calcular el factorial de un número mediante un bucle FOR... PROGRAMACIÓN EN C++ PRÁCTICA 08 INTRODUCCIÓN A C++ SENTENCIAS DE CONTROL DEL FLUJO DE UN PROGRAMA: Ejercicio 1. Un primer programa en C++....1 Ejercicio 2. Una conversación en C++....2 Ejercicio 3. Una

Más detalles

Examen Principios de Programación Febrero 2012

Examen Principios de Programación Febrero 2012 Por favor siga las siguientes indicaciones: Escriba con lápiz. Escriba su nombre y número de documento en todas las hojas que entregue. Numere las hojas e indique el total de hojas en la primera de ellas.

Más detalles

Reglas básicas de la programación en lenguaje C

Reglas básicas de la programación en lenguaje C 0. Introducción Reglas básicas de la programación en lenguaje C ISO - SO Departament d'arquitectura de Computadors Universitat Politècnica de Catalunya C es un lenguaje de programación de propósito general.

Más detalles

Fundamentos de Informática. Primer Curso de Ingenieros Químicos. Práctica 1. Dev C++ Compilador de C para Windows

Fundamentos de Informática. Primer Curso de Ingenieros Químicos. Práctica 1. Dev C++ Compilador de C para Windows Práctica 1 Dev C++ Compilador de C para Windows 1. Desarrollo de la práctica Posiblemente, el mejor modo de aprender estas nociones, es comenzar con la escritura de un primer programa en Dev-C++, tal como

Más detalles

TEMA 4. EXCEPCIONES Y MANEJO DE EXCEPCIONES.

TEMA 4. EXCEPCIONES Y MANEJO DE EXCEPCIONES. TEMA 4. EXCEPCIONES Y MANEJO DE EXCEPCIONES. 4.1. Introducción. 4.2. Tratamiento de excepciones. 4.2.1. Excepciones en lenguajes tradicionales. 4.2.2. Tratamiento de excepciones moderno. 4.3. Tratamiento

Más detalles

MultiBase Cosmos. Notas a la versión 4.4, release 1. BASE 100, S.A. www.base100.com

MultiBase Cosmos. Notas a la versión 4.4, release 1. BASE 100, S.A. www.base100.com MultiBase Cosmos Notas a la versión 4.4, release 1 BASE 100, S.A. www.base100.com Índice IMPLEMENTACIONES... 3 MÉTODOS DE LA CLASE SIMPLECONTROL... 4 MÉTODOS DE LA CLASE INTEGER... 4 MÉTODOS DE LA CLASE

Más detalles