!! 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante) 1. : La clase Cuenta. Uso de la clase Cuenta 3. Métodos y objetos receptores de mensajes (Importante) 1 Una clase para cuentas de un banco Vamos a modelar con una clase, un nuevo tipo de datos, donde los

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

"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

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

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

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

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

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

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

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

LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS

LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS LLAMADAS AL SISTEMA SISTEMAS OPERATIVOS 26/05/2013 eduar14_cr@hotmail.com cilred_tlapa@hotmail.com LLAMADAS AL SISTEMA Las llamadas al sistema proporcionan la interfaz entre un proceso y el sistema operativo,

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

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

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

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

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

Procesos. Lecturas recomendadas. Ejemplo: gcc. Modelo de procesamiento. Modelo de procesamiento. Jean Bacon Operating Systems (4)

Procesos. Lecturas recomendadas. Ejemplo: gcc. Modelo de procesamiento. Modelo de procesamiento. Jean Bacon Operating Systems (4) Índice Procesos Gustavo Romero 1 Definición 2 Control Arquitectura y Tecnología de Computadores 14 de febrero de 2014 3 Estado 4 IPC Gustavo Romero Procesos (1/50) Gustavo Romero Procesos (2/50) Lecturas

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

Modelo de procesamiento

Modelo de procesamiento Índice Lecturas recomendadas Procesos Gustavo Romero López Arquitectura y Tecnología de Computadores 15 de mayo de 2015 1 Definición 2 Control 3 Estado 4 IPC Jean Bacon Operating Systems (4) Abraham Silberschatz

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

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

Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4

Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 Pág.1 Índice ÍNDICE...1 1. EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.)...1 2. EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4 1. Ejercicio 1: Cálculo Financiero (5 ptos.) Desde un banco se le ha encargado

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

Introducción a Java LSUB. 15 de enero de 2015 GSYC

Introducción a Java LSUB. 15 de enero de 2015 GSYC Introducción a LSUB GSYC 15 de enero de 2015 (cc) 2014 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial - SinObraDerivada

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

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

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

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

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

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

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

Programación de los puertos Seriales sobre WIN32

Programación de los puertos Seriales sobre WIN32 Programación de los puertos Seriales sobre WIN32 Preparado por: J. Huircan Departamento de Ingeniería Eléctrica Universidad de La Frontera Abril 2012 Introducción La programación sobre Win32 es más complicada

Más detalles

Entorno de Programación Visual Studio 6

Entorno de Programación Visual Studio 6 Entorno de Programación Visual Studio 6 Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Programación en C 1 Proceso de Programación Edición

Más detalles

Introducción a la Programación Orientada a Objetos con C++

Introducción a la Programación Orientada a Objetos con C++ Introducción a la Programación Orientada a Objetos con C++ Ignacio Alvarez García Ing. de Sistemas y Automática Universidad de Oviedo Septiembre 2014 Contenido 1. Introducción a la programación orientada

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

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

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4

Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 Introducción al desarrollo de RIA's con Adobe Flex 3.0 Dia 4 by S. Muñoz-Gutiérrez stalinmunoz@yahoo.com, informes@grupolinda.org Grupo LINDA Facultad de Ingeniería UNAM México Octubre-Diciembre 2009 Identificando

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

El lenguaje C: Elementos básicos del lenguaje

El lenguaje C: Elementos básicos del lenguaje Facultad de Ciencias Exactas, Ingeniería y Agrimensura Departamento de Sistemas e Informática Escuela de Electrónica Informática II El lenguaje C: Elementos básicos del lenguaje Este material debe utilizarse

Más detalles

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet 2005-2006. DLSI - Universidad de Alicante 1 Departamento de Lenguajes y Sistemas Informáticos JavaScript Programación en Internet Curso 2005-2006 Contenidos Introducción El lenguaje Validación de formularios DLSI - Universidad de Alicante 1 Introducción

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

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 Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

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

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

Objective C (Desarrollo con Apple)

Objective C (Desarrollo con Apple) 1 Objective C (Desarrollo con Apple) para programación en Iphone SDK: Similitudes y Diferencias entre Objective C con C/C++ y Java Dr. Moisés Alencastre Miranda, malencastre@itesm.mx 2 Introducción al

Más detalles

Sincronización de procesos en C

Sincronización de procesos en C Sincronización de procesos en C 2 En esta unidad aprenderás a: 1 2 3 4 5 Comprender los mecanismos de comunicación basados en señales. Conocer los tipos de señales. Definir gestores de señales en un programa

Más detalles

Un breve resumen del lenguaje Java

Un breve resumen del lenguaje Java Un breve resumen del lenguaje Java 1.1. Órdenes para trabajar con código Java desde una máquina Unix.............. 1 1.2. Comentarios......................................... 2 1.3. Declaración de datos

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

PRÁCTICAS DE SS.OO. Universidad de Murcia. I.I./I.T.I. Sistemas/I.T.I. Gestión

PRÁCTICAS DE SS.OO. Universidad de Murcia. I.I./I.T.I. Sistemas/I.T.I. Gestión Universidad de Murcia Facultad de Informática Departamento de Ingeniería y Tecnología de Computadores Área de Arquitectura y Tecnología de Computadores PRÁCTICAS DE SS.OO. I.I./I.T.I. Sistemas/I.T.I. Gestión

Más detalles

GL-PCS2201-L02M ENTORNO DE DESARROLLO PARA LA CREACIÓN DE PROGRAMAS EN LENGUAJE C

GL-PCS2201-L02M ENTORNO DE DESARROLLO PARA LA CREACIÓN DE PROGRAMAS EN LENGUAJE C GL-PCS2201-L02M ENTORNO DE DESARROLLO PARA LA CREACIÓN DE PROGRAMAS EN LENGUAJE C CARRERA: 441402 INGENIERÍA DE EJECUCIÓN EN ELECTRICIDAD Y ELECTRÓNICA 444803 TÉCNICO EN ELECTRICIDAD Y ELECTRÓNICA ASIGNATURA:

Más detalles

UNIVERSIDAD DEL ISTMO Ingeniería en computación Estructura de datos

UNIVERSIDAD DEL ISTMO Ingeniería en computación Estructura de datos UNIVERSIDAD DEL ISTMO Ingeniería en computación Estructura de datos CICLO ESCOLAR 20092010B PROFESOR M. en C. J. Jesús Arellano Pimentel GRUPO 204 NÚMERO DE PRÁCTICA 1 NOMBRE DE LA PRÁCTICA OBJETIVO GENERAL

Más detalles

Desarrollos CORBA con C++ Builder

Desarrollos CORBA con C++ Builder Desarrollos CORBA con C++ Builder Francisco Charte Ojeda Sumario! Introducción " # $# %$ &'()%$*+ " ),-. $ ) # %) ' ($ ) &/0 ) # ) $ (! $# Inprise VisiBroker para C++ ( &/0 ) 1.&2 3 4/0 ##)#$ /5 6 &)#

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

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

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

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

Dentro del.net los eventos se utilizan para notificar a nuestros objetos que se ha producido algún tipo de hecho al que nos hemos suscrito.

Dentro del.net los eventos se utilizan para notificar a nuestros objetos que se ha producido algún tipo de hecho al que nos hemos suscrito. Eventos ala.net Recientemente ha surgido en los grupos de C# una duda sobre si los eventos que usa el.net son del mismo tipo que los que nosotros podemos crear y usar. La respuesta obvia y evidente es

Más detalles

Estructuras de control

Estructuras de control Estructuras de control Programación estructurada Estructuras condicionales La sentencia if La cláusula else Encadenamiento y anidamiento El operador condicional?: La sentencia switch Estructuras repetitivas/iterativas

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

//Esta función es llamada cuando se produce un evento //de teclado void keycallback (void *userdata, SoEventCallback *eventoteclado) {

//Esta función es llamada cuando se produce un evento //de teclado void keycallback (void *userdata, SoEventCallback *eventoteclado) { Solución 4: /******************************************************** * * Este programa permite visualizar ficheros iv (vrml) * ********************************************************/ //Según el sistema

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

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora

Más detalles

Programación Orientada a Objetos. Java: Excepciones

Programación Orientada a Objetos. Java: Excepciones Programación Orientada a Objetos Java: Excepciones Eduardo Mosqueira Rey LIDIA Laboratorio de Investigación y desarrollo en Inteligencia Artificial Departamento de Computación Universidade da Coruña, España

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

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Dpto. de Ingeniería de Sistemas Telemáticos E.T.S.I. Telecomunicación Universidad Politécnica de Madrid FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005 Normas de examen: Con libros y apuntes Duración: 2 horas

Más detalles

Tabla de contenidos. Introducción a la Programación en C#

Tabla de contenidos. Introducción a la Programación en C# Tabla de contenidos 1. INTRODUCCIÓN A.NET...4 1.1. OBJETIVOS...4 1.1.1. Mapa del Curso...4 1.2. QUE ES.NET...5 1.3. QUE ES C# (SHARP)...6 2. ENTORNO DE DESARROLLO...7 2.1. OBJETIVOS...7 2.1.1. Mapa del

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

Object 1. Threads en Java

Object 1. Threads en Java Object 1 Threads en Java Introducción En este artículo voy a explicar cómo se usan los threads en Java (también traducidos como "hilos de ejecución"). La intención no es solamente explicar cuáles son las

Más detalles

Práctica 0 Introducción a la programación en C

Práctica 0 Introducción a la programación en C DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES OBJETIVO Grado en Ingeniería de Computadores COMPUTACIÓN DE ALTAS PRESTACIONES Práctica 0 Introducción a la programación en C Se pretende

Más detalles