Corrección y Robustez
|
|
- Margarita Ayala Rey
- hace 5 años
- Vistas:
Transcripción
1 Programación Orientada a Objetos TEMA 4 Corrección y Robustez (2ª parte) Facultad de Informática Universidad de Murcia
2 ontenido 1. Introducción 2. Comparativa de asertos 3. Comparativa de mecanismo de excepciones
3 .- Introducción Corrección: Capacidad de los sistemas software de ajustarse a la especificación. Los asertos establecen las condiciones que se deben cumplir. Robustez: Capacidad de los sistemas software de reaccionar ante circunstancias inesperadas. El mecanismo de excepciones proporciona un mecanismo para manejar estas situaciones excepcionales durante la ejecución de un programa.
4 .- Aserciones en Eiffel Una aserción es una expresión que establece una propiedad que debe satisfacer alguna de las entidades de un programa, en algún punto de la ejecución del software. El código define el cómo, las aserciones el qué Tipos de asertos: Precondición Postcondición Invariante
5 enguaje de Aserciones El lenguaje de aserciones de Eiffel es muy simple: Expresiones booleanas con unas pocas extensiones (old, ; ) Una aserción puede incluir funciones. Positivo: n>0; autor = not void not vacia; conta = old conta + 1 saldo = old saldo cantidad
6 jemplo: Pre y Postcondiciones put (elemento: T; key: STRING) is -- Insertar el elemento con clave key require -- precondición not_full: count< capacity not key.empty do... "algoritmo de inserción" ensure -- postcondiciones count <= capacity; item (key) = elemento; count= old count + 1; end put
7 jemplo: Invariante de clase ass STACK [G] ature capacity: Integer; -- tamaño de la pila count: Integer; -- número de elementos ature {None representation: Array[G] variant -- invariante 0<=count; count <=capacity; capacity = representation.capacity; (count>0) implies representation.item(count)=item d
8 Invariante de representación Lista activa Importante basarse en aserciones para expresar las propiedades precisas de un diseño. 0<=index; index <=count --count=nº de elementos before = (index=0); after = (index=count+1); is_first = ((not empty) and (index=1)); is_last = ((not empty) and (index=count)); empty implies (before or after); not (before and after) Invariante es la mejor manera de comprender una clase
9 iffel y el Diseño por Contrato class Stack feature... remove is --quita el elemento de la cima require no_vacio: not empty --es decir count>0 do count:=count-1 ensure no_llena: not full uno_menos: count = old count 1 end end capacity count
10 erencia y Aserciones A) Invariante de clase A {INV A Siempre que espero una instancia de la clase A puedo recibir un objeto de la clase B B {INV B = INV A and restricciones para B B) PRE Y POST Condiciones. Subcontrato La redefinición debe cambiar la implementación de una rutina, no su semántica
11 ...Herencia y aserciones B) PRE Y POST Condiciones. Subcontrato a:a; a.r ó C if a.α then a.r Si a tiene t.d. B? SUBCONTRATO A B r is require α ensure β end r ++ is require γ ensure δ end La nueva versión (r ++ ): acepta todas las llamadas que aceptaba la original (pre igual o más débil) garantiza al menos lo que garantizaba la otra (post igual o más fuerte)
12 ssert de Java Diseño por Contrato En DxC existen distintos tipos de asertos. en Java todos son assert Los asertos en Eiffel forman parte de la interfaz de los métodos El javadoc no genera la información relativa a los asertos El DxC especifica el mecanismo para heredar los asertos en las subclases. en Java los asertos son independientes de la herencia.
13 sertos en C++ Ofrece la macro assert() en <assert.h> assert() evalúa su parámetro y llama a abort() si el resultado es cero (false). Ejemplo: void f(int *p){ assert(p!= 0); //si p==0 abort() //cuerpo de la función Si se define la macro NDEBUG, se desactiva la comprobación de todos los asertos definidos. Antes de abortar assert escribe en la salida el nombre del archivo fuente y la línea donde aparece. Ayuda útil para la depuración.
14 ssert de C++ para pre y postcondiciones funcion (parametros) { assert (precondicion); // Cuerpo de la función assert (postcondicion); Problema: se aborta la ejecución del programa siempre que se produce un fallo en la precondición o postcondición.
15 lternativa a assert en C++ apuntes de AED Ginés García Mateos lass FalloPrecondicion {; lass FalloPostcondicion {; oid precondicion (bool condicion) #ifndef NDEBUG if (!condicion) throw FalloPrecondicion(); #endif oid postcondicion (bool condicion) #ifndef NDEBUG if (!condicion) throw FalloPostcondicion(); #endif
16 sertos en C# Ejemplo 1: // Create an index for an array. protected int index; protected void Method() { // Perform some action that sets the index. // Test that the index value is valid. Trace.Assert(index > -1); Ejemplo 2: public static void MyMethod(Type type, Type basetype){ Trace.Assert(type!=null, "Type parameter is null"); // Perform some processing.
17 .- Tratamiento de excepciones en Eiffel Un fracaso de una rutina (= termina sin cumplir el contrato) causa una excepción en quien la llama. Una excepción es un suceso en tiempo de ejecución que puede causar que una rutina fracase. Una llamada fracasa sii ocurre una excepción durante la ejecución de la rutina y no se puede recuperar Se debe prevenir el fracaso capturando la excepción y tratando de restaurar un estado a partir del cual el cómputo pueda proseguir
18 asos de excepción en Eiffel Una excepción puede ocurrir durante la ejecución de una rutina como consecuencia de alguna de las situaciones siguiente: Intentar hacer la llamada a.f siendo a=void Intentar hacer x:=y siendo x expandido e y=void Ejecutar una operación que produce una condición anormal detectada por el hardware o el sistema operativo Llamada a una rutina que fracasa No cumplimiento de los asertos (pre, post, inv) Ejecutar una instrucción que pida explícitamente que se eleve una excepción
19 ratamiento de excepciones en Eiffel Hay sólo dos respuestas legítimas a una excepción que ocurra durante la ejecución de una rutina: Reintento: hacer que se cumpla el INV y PRE y volver a ejecutar Fracaso o pánico organizado: restaurar INV e informar del error a la rutina que hizo la llamada. rutina is require --precondición local --definición de variables locales do -- cuerpo de la rutina ensure -- postcondición rescue -- clausula de rescate [retry] end
20 xcepciones en Eiffel Podemos saber cuál fue la última excepción? La clase que necesite un ajuste más fino debe heredar de la biblioteca EXCEPTIONS. Cada excepción es un número entero. Una cláusula de rescate puede tratar distintas clases de excepciones. Ej. en una clase que herede de EXCEPTIONS rescue if is_assertion_violation then Procesar la violación de la aserción else if is_signal then Procesar el caso de la señal else end El programador puede lanzar excepciones: trigger(code:integer; message:string)
21 anzamiento de excepciones Eiffel vs. Java. jemplo Eiffel. leerenteroteclado:integer is LOCAL fallos:integer; DO Result:=getInt; RESCUE fallos=fallos+1; IF (fallo<5) THEN END END message( Un entero! ) RETRY Ejecución normal Tratamiento de situación anormal ELSE informar a quien lo invocó
22 anzamiento de excepciones Eiffel vs. Java. jemplo Java. public int LeerEnteroTeclado() throws IOException { ETRY boolean fin= false; int fallos; int enteroleido=-1; for (fallos=0;((fallos<=5) && (fin==false));fallos++){ try{ enteroleido=getint(); fin = true; catch(numberformatexception e){ System.out.println( Un entero!! ); ; if (!fin) throw (new IOException()); else return enteroleido;
23 xcepciones en C++ Una excepción es un objeto de una clase que representa un suceso excepcional Puede ser útil definir una jerarquía de excepciones class ErrorMat{; class Desbordamiento_superior : ErrorMat{; class Desbordamiento_inferior : ErrorMat{; class Division_cero : public ErrorMat{; En realidad se puede lanzar cualquier cosa (un entero, una cadena de texto, )
24 anzar una excepción en C++ double divide (int a, int b) { if (b==0) throw Division_cero(); return double(a)/double(b);
25 anejo de excepciones en C++ oid f() El orden es importante!! try{ //código que puede lanzar una excepción // matemática catch (Division_cero){ //tratar el error de la división por cero catch (ErrorMat){ //tratar cualquier error matemático distinto catch (...){ //tratar el resto de excepciones
26 anejo de excepciones C++ class ErrorMat{ // virtual void imprime_depuracion() const{ cerr<< Error Matemático ; ; void f() { try{ //código que puede lanzar un error matemático catch (ErrorMat &e){ e.imprime_depuracion(); throw; //relanza la excepción que ha ocurrido
27 specificación de excepciones en C++ Especificar el conjunto de excepciones que puede lanzar void f(int a) throw (X2, X3); f puede lanzar sólo X2 y X3 Si no se dice nada puede lanzar cualquier excepción int f(); Puede indicar que no lanzará ninguna excepción int f() throw(); Lista vacía El compilador ignora la especificación de las excepciones. Un método redefinido no puede lanzar más excepciones que las especificadas en el método de la clase base.
28 xcepciones en C# Subclase de System.Exception No admite excepciones comprobadas como en Java El método no tiene que declarar las excepciones que lanza Se pueden crear nuevos tipos de excepciones: lo normal es que no añadan atributos ni métodos se hace para diferenciar una excepciones de otras Por convenio el nombre termina en Exception Lanzar excepción: igual que Java: throw new NombreException(); igual que C++: throw; para relanzar una excepción
29 anejo de excepciones en C# try{ <instrucciones> catch (<excepción1>){ <excepcion> = (TipoException) <tratamiento1> (TipoException nombrevariable) catch (<excepción2>){ <tratamiento2>... catch (...){ <trata cualquier excepción> finally{ <instruccionesfinally>
30 jemplo excepciones en C# static public void G() { try { int c = 0; int d = 2/c; catch (DivideByZeroException) { d=0;
Corrección y Robustez (2ª parte)
Programación Orientada a Objetos TEMA 4 Corrección y Robustez (2ª parte) Facultad de Informática Universidad de Murcia Contenido 1. Introducción 2. Comparativa de asertos 3. Comparativa de mecanismo de
Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle
Tema 4: Corrección y Robustez en C++ Programación Orientada a Objetos Curso 2008/2009 Begoña Moros Valle Contenido Asertos en C++ Mecanismo de excepciones: Declaración de excepciones Lanzar excepciones
Corrección y Robustez
Programación Orientada a Objetos TEMA 4 Corrección y Robustez Facultad de Informática Universidad de Murcia Contenido 1. Introducción Fiabilidad = Corrección y Robustez 2. Asertos y Técnica de diseño por
Tecnología de Programación
Tecnología de Programación Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Contrato implícito En el diseño por contrato, toda rutina debe finalizar
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 3 Contenidos: 1. Funciones y clases genéricas 2. Excepciones 3. Asertos 4. El puntero this 5. Redefinición
Parte I: Programación en un lenguaje orientado a objetos
Parte I: Programación en un lenguaje orientado a objetos 1. Introducción a los lenguajes de programación 2. Datos y expresiones 3. Estructuras algorítmicas 4. Datos compuestos 5. Modularidad 6. Tratamiento
Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores.
MANEJO DE ERRORES 1 Consiste en asumir que el usuario podrá usar de forma incorrecta y por tanto el programador deberá contemplar esos errores. Uno de los puntos más vulnerables son los parámetros que
Excepciones. Excepciones
Excepciones FJP Unidad 12 Excepciones Una excepción es la representación de una condición de error o cualquier situación no esperada en el resultado de un método. Son instancias de subclases de la clase
Tema 5 Corrección y Robustez Excepciones en Java
Tema 5 Corrección y Robustez Excepciones en Java Parte II: Excepciones en Java Programación Orientada a Objetos Curso 2013/2014 Contenido Introducción Excepciones comprobadas Caso de estudio Tratamiento
HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA
Estructura de la Información en Programación I.T.I.G., Matemáticas. Curso 2008/2009 Nombre:... Fecha: / 01 / 2009 HOJA DE EJERCICIOS 5 PROGRAMACIÓN CON EXCEPCIONES EN JAVA Esta hoja de ejercicios nos servirá
Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta Excepciones... 5 Excepciones de uso frecuente... 8 Excepciones no comprobadas... 13 Excepciones comprobadas... 14 La clase Runtime Exception...
Fundamentos de Computadores y Lenguajes
Fundamentos de Computadores y Lenguajes 1. Elementos básicos de los lenguajes 2. Instrucciones de control 3. Tipos de datos 4. Métodos 5. Modularidad y Abstracción 6. Tratamiento de errores 7. Entrada/salida
Examen Teórico Convocatoria de Junio de 2012
Examen Teórico Convocatoria de Junio de 2012 Nombre: DNI: Titulación: 1. Sobre el control de errores en Java: a) El siguiente método contiene un error de compilación debido al uso de excepciones. Explica
Tema 5 Corrección y Robustez Excepciones en Java
Tema 5 Corrección y Robustez Excepciones en Java Parte I: Corrección del código Programación Orientada a Objetos Curso 2013/2014 Contenido Parte I: Corrección del código Introducción Excepciones runtime
Tema 4 Corrección y Robustez. Programación Orientada a Objetos Curso 2010/2011
Tema 4 Corrección y Robustez Programación Orientada a Objetos Curso 2010/2011 Contenido Especificación formal. Asertos. Pruebas unitarias. Excepciones. Diseño por contrato. Curso 2010/2011 Programación
PROGRAMACIÓN ORIENTADA A OBJETOS 1/7/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Sea una aplicación Java donde todas las clases están compiladas y empaquetas en un solo fichero JAR (programa.jar). Qué sería necesario para conseguir ejecutar
Construcciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }
PROGRAMACIÓN EN JAVA { una línea para definir, crear o ejecutar ; } JFC Y API SPECIFICATIONS OBJECT INTERFACE ABSTRACT IMPLEMENTS EXTENDS NEW EXTENDS (Hasta que una clase derivada deje de ser ABSTRACT)
Formato para prácticas de laboratorio
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERÍA (UNIDAD MEXICALI) Formato para prácticas de laboratorio CARRERA PLAN DE ESTUDIO CLAVE DE UNIDAD DE APRENDIZAJE NOMBRE DE LA UNIDAD DE APRENDIZAJE
Manejo de Excepciones
Manejo de Excepciones M. Consuelo Franky Julio Carreño Pontificia Universidad Javeriana 1 Temario Captura de excepciones Excepciones estándares Cómo provocar una excepción Cómo definir nuevas excepciones
Programación Orientada a Objetos en C#.NET CAPÍTULO 8 EXCEPCIONES. Ing. Bruno López Takeyas, M.C.
CAPÍTULO 8 EXCEPCIONES 2 http://www.itnuevolaredo.edu.mx/takeyas 1 Preguntas detonadoras Cómo se controlan los posibles errores que ocurran durante la ejecución de una aplicación? Un programador, puede
CLAVE EXAMEN: a cd. c u r s o r = c u r s o r. g e t S i g u i e n t e ( ) ; p o s i c i o n ++;
Departamento de Lenguajes y Sistemas Informáticos e Ingeniería del Software UPM ETSIINF. Exámen de Programación II. Convocatoria extraordinaria.08-07-2016. Realización: El test se realizará en la hoja
Excepciones. Una excepción es una situación anómala a la que llega la ejecución de un programa
Excepciones Una excepción es una situación anómala a la que llega la ejecución de un programa Excepciones Introducción Una máxima en el desarrollo de software dicta que el 80 % del esfuerzo (en tiempo
Programación orientada a objetos. Capítulo 12 Manejo de errores
Programación orientada a objetos Capítulo 12 Manejo de errores Conceptos Programación a la defensiva Anticiparse a lo que podría ir mal Lanzamiento y tratamiento de excepciones Aserciones Causas de situaciones
TEMA 8. Excepciones en Java. Curso de Java. Manejo de Excepciones
TEMA 8 Excepciones en Java Manejo de Excepciones Cuando un programa Java viola las restricciones semánticas del lenguaje (se produce un error), la máquina virtual Java comunica este hecho al programa mediante
Guía práctica de estudio 10: Excepciones y errores
Página 152/208 Guía práctica de estudio 10: Excepciones y errores Elaborado por: M.C. M. Angélica Nakayama C. Ing. Jorge A. Solano Gálvez Autorizado por: M.C. Alejandro Velázquez Mena 152 Objetivo: Código:
PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:
Examen de Java Nombre: DNI: Titulación: 1. Cómo podemos compilar desde la línea de comandos la clase Java A que utiliza una librería empaquetada bd.jar? 2. Indica si es correcto el siguiente código. Justifica
Tema 3 Herencia en Java Parte 2. Programación Orientada a Objetos Curso 2015/2016
Tema 3 Herencia en Java Parte 2 Programación Orientada a Objetos Contenido Restringir la herencia. Visibilidad protegida. Clases abstractas. Clase Object. Autoboxing. Igualdad de objetos. Copia de objetos.
Lenguaje Java. Sesión 3: Tratamiento de errores. Experto Universitario en Desarrollo de Aplicaciones para Dispositivos Móviles
Lenguaje Java Sesión 3: Tratamiento de errores 2012-2013 Depto. Ciencia de la Computación e IA Índice Excepciones Captura de excepciones Propagación de excepciones Nested exceptions Errores en tiempo de
Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
Java: control de excepciones
Java: control de excepciones Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl Introducción v Una excepción es un evento que ocurre
Tema 4. Excepciones en Java
Programación en Java Tema 4. Excepciones en Java Luis Rodríguez Baena Facultad de Informática Excepciones (I) Permiten la captura de errores en tiempo de ejecución. El control de excepciones permite extraer
Introducción a Java 10/02/2011. Tokens. Juan Manuel Fernández Peña Curso Rev Tokens. Tokens
Introducción a Java Juan Manuel Fernández Peña Curso 2005. Rev 2011 Comentarios: //comentario /* comentario fin de comentario */ /** comentario para javadoc fin */ Palabras reservadas: (como ejemplo) abstract,
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
Solución al Examen de Fundamentos de Computadores y Lenguajes
Solución al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Final. Septiembre 2006 1) Se dispone de la siguiente clase enumerada. Escribir un método,
Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas
Unidad II Fundamentos de programación en Java Ing. José Luis Llamas Cárdenas En java para poder escribir se emplea el objeto System.out, t pero para leer del teclado es necesario emplear System.in Et Este
Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED)
Examen de Ejemplo Programación Orientada a Objetos (Grado en Ingeniería Informática y Grado en Ingeniería en Tecnologías de la Información - UNED) Parte Teórica (2,5 puntos). La respuesta correcta se indica
Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
HERENCIA (2ª parte) En Java todas las clases derivan de otra, aunque no se diga explícitamente.
HERENCIA (2ª parte) Lenguajes de Programación - Orientación a Objetos: Herencia 2ª parte 1 Object En Java todas las clases derivan de otra, aunque no se diga explícitamente. Object: Es el nombre de la
Manejo de excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos Agustín J. González
Manejo de excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Agustín J. González Excepciones (o errores) Los lenguajes orientados a objeto han buscado la forma de facilitar la programación
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
Diseño de tipos Igualdad, representación, código, copia y relación de orden
Práctica 4 Diseño de tipos Igualdad, representación, código, copia y relación de orden Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.1 Índice Gestión de excepciones
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN
Tema 1 INTRODUCCIÓN A LOS LENGUAJES DE PROGRAMACIÓN - Introducción - Sintaxis - Semántica básica - Tipos de datos - Expresiones y enunciados - Procedimientos y ambientes - Tipos abstractos de datos y módulos
Presentación. Programación I. Programación Orientada a Objetos. :: Prof. Yeniffer Peña
Presentación Programación Orientada a Objetos :: Prof. Yeniffer Peña Utiliza las excepciones java. Una excepción es una condición anormal que se produce en una porción de código durante su ejecución. Es
Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Estructuras de Datos Clase 1 - Introducción
Estructuras de Datos Clase 1 - Introducción Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Trivia
PROGRAMACIÓN GENÉRICA
PROGRAMACIÓN GENÉRICA Lenguajes de Programación - Orientación a Objetos: Progr. Genérica 1 Programación genérica Objetivo: escribir algoritmos genéricos, independientes de las clases concretas de los datos
Técnicas Avanzadas de Testing Automatizado
Técnicas Avanzadas de Testing Automatizado Introducción: Testing ad hoc Testing sistemático Testing unitario Unidad y Suite de tests Frameworks xunit Fixtures compartidos e independecia Tests parametrizados
Soluciones al Examen de Fundamentos de Computadores y Lenguajes
Soluciones al Examen de Fundamentos de Computadores y Lenguajes Cuestiones (5 cuestiones, 5 puntos en total) Examen Parcial. Junio 2005 1) Escribir una clase con un atributo privado que sea un array de
Sesión 2: Introducción a Java
Razonamiento Geométrico Diversiones Sesión 2: Introducción a Java Introducción a Java Copyright 2002-2003 Universidad de Alicante 1 Índice Revisión de Java Qué es Java? Clases y objetos La variable CLASSPATH
Diseño por Contratos y Aserciones
UNIVERSIDAD DE CHILE DEPARTAMENTO DE CIENCIAS DE COMPUTACION Diseño por Contratos y Aserciones Bertrand Meyer. Construcción de Software Orientado a Objetos EDUARDO JARA Diseño por Contratos y Aserciones
Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.
Variables Una variable no es más que un nombre simbólico que identifica una dirección de memoria: Suma el contenido de la posición 3001 y la 3002 y lo almacenas en la posición 3003 vs. total = cantidad1
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
Excepciones. Excepciones. Excepciones. Excepciones. Condiciones inesperadas en un programa
Excepciones Condiciones inesperadas en un programa Excepciones Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid
Titulación: Ingeniero Técnico en Informática de Gestión Curso: 2º. Nombre-Apellidos:
Nombre-Apellidos: Nota: 1. Ejercicio (1 punto) Responder a las siguientes preguntas de tipo test, seleccionando sólo una de las respuestas. Se evaluarán sólo las respuestas contestadas con el siguiente
Introducción a Java. Introducción a Java. Programación I
Introducción a Java Introducción a Java Programación I Como Funciona Tipos de Datos TIPO TAMAÑO RANGO byte 8 bits Valores numéricos de 128 a 127 short 16 bits Valores numéricos de 32.768 a 32.767 int 32
Estructuras de Datos Clase 4 Pilas y colas
Estructuras de Datos Clase 4 Pilas y colas Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Tipo
Instituto Tecnológico de Celaya
ELEMENTOS BÁSICOS DE C++: DECLARACIÓN DE VARIABLES A través de operaciones aritméticas (suma, resta, etc.) y lógicas (por ejemplo, comparaciones) los programas manipulan datos tales como números y caracteres.
Introducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
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
Herencia en Eiffel Gerardo Rossel -
Herencia en Eiffel Gerardo Rossel - e-mail: grossel@bigfoot.com La intención del presente trabajo es discutir algunos aspectos de la herencia en el Lenguaje Eiffel. Los aspectos a discutir trataran temas
TEMA 4 GESTIÓN DE ERRORES. Cristina Cachero, Pedro J. Ponce de León. 1 Sesión (1.5 horas) Versión 0.6 POO
TEMA 4 GESTIÓN DE ERRORES Cristina Cachero, Pedro J. Ponce de León 1 Sesión (1.5 horas) Versión 0.6 POO Gestión Errores Objetivos Saber utilizar try, throw y catch para observar, indicar y manejar excepciones,
Examen Teórico. Convocatoria de Febrero de 2015
Examen Teórico Convocatoria de Febrero de 2015 Nombre: DNI: Grupo: 1. Contesta de forma razonada a las siguientes cuestiones relacionadas con los ficheros.jar: a) Para qué se utilizan los ficheros con
UD 4 GESTIÓN DE ERRORES. Pedro J. Ponce de León. Versión
UD 4 GESTIÓN DE ERRORES Pedro J. Ponce de León Versión 20111005 Gestión Errores Objetivos Saber utilizar las sentencias de control de excepciones para observar, indicar y manejar excepciones, respectivamente.
MASTER EN MODELIZACIÓN MATEMÁTICA, ESTADÍSTICA Y COMPUTACIÓN Curso: Bases de datos y programación orientada a objetos Parte POO
MASTER EN MODELIZACIÓN MATEMÁTICA, ESTADÍSTICA Y COMPUTACIÓN 2015-2016 Curso: Bases de datos y programación orientada a objetos Parte POO 3-Control de errores 3 Mecanismo de tratamiento de excepciones
JAVA: Excepciones. Errores
JAVA: Excepciones Lenguajes de Programación - Java: Excepciones 1 Errores Qué ocurre si un programa está usando un archivo en CD y el usuario lo extrae antes de tiempo? Qué ocurre si el usuario de un programa
fundamentos de programación (unidad 7) herencia y relaciones entre clases
fundamentos de programación (unidad 7) herencia y relaciones entre clases Para ver una copia completa de la licencia, acudir a la dirección http://creativecommons.org/licenses/by-nc-sa/2.5/es/legalcode.es
Manejo de Excepciones
Manejo de Excepciones Una excepción en java es un evento que ocurre durante la ejecución de un programa que interrumpe el flujo normal de las instrucciones. Una excepción puede ser causada por fallas de
Java. Introducción a la Programación Orientada a Objetos
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
Tema 6 Corrección y Robustez Excepciones en Java. Programación Orientada a Objetos Curso 2016/2017
Tema 6 Corrección y Robustez Excepciones en Java Programación Orientada a Objetos Curso 2016/2017 Contenido Excepciones. Tratamiento de excepciones: try-catch. Jerarquías de excepciones y compatibilidad.
Comprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.
Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos
Manejo de errores: Excepciones en Java. ELO329: Diseño y Programación Orientados a Objetos
Manejo de errores: Excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Excepciones (o errores) Los lenguajes orientados a objeto han buscado la forma de facilitar la programación de
Tecnología de Programación
Tecnología de Programación Diego C. Martínez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Subclases vs Subtipos Subclases vs Subtipos Subclase Subtipo Subclase Subtipo
2. Indica cuál de las siguientes afirmaciones es cierta:
Nombre:. Indica cuál de las siguientes afirmaciones es cierta: El diseño de un programa procedural está guiado por la división en tareas a realizar, mientras que el diseño orientado a objetos está dirigido
Reutilización con Delegación y Herencia
Reutilización con Delegación y Herencia Carlos Fontela cfontela@fi.uba.ar Temario Delegación Herencia UML: clases, paquetes, secuencias Cuándo usar herencia y cuándo delegación Redefinición Clases abstractas
Ejercicios resueltos de programación
Ejercicios resueltos de programación Mariano Fernández López Escuela Politécnica Superior, Universidad San Pablo CEU 18 de marzo de 2015 Índice general 1. Implementación de un método recursivo 2 1.1. Enunciado.............................
Práctica 2. Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones
Práctica 2 Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos
abril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples
Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial
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
Tecnología de la Programación
Tecnología de la Programación Diseño por contrato David Cabrero Souto Facultad de Informática Universidade da Coruña Curso 2007/2008 Introducción Pruebas de unidad Especificación formal de las propiedades?
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 1 Contenidos: 1. Características generales de C++ 2. Entrada/salida estándar 3. Variables y tipos de datos
FUNDAMENTOS DE PROGRAMACIÓN - Septiembre 2010
Dpto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación, Ciudad Universitaria, 28040 Madrid FUNDAMENTOS DE PROGRAMACIÓN - Septiembre 2010 Normas del examen: Con
JAVA 1. Introducción
Diseño de Interfaces de Usuario JAVA. Introducción. Características Portabilidad Interpretado (bytecodes) Uso de Máquina Virtual Java (JVM) Orientado a Objetos Jerarquía de clases Extensible (packages)
Abstracciones de diseño
Abstracciones de diseño Abstracciones de diseño Abstracción por parametrización Abstracción por especificación Especificación e implementación de TADs Abstracciones genéricos Abstracciones de control Abstracción
Prácticas de Programación
Prácticas de Programación Tema 1. Introducción al análisis y diseño de programas Tema 2. Clases y objetos Tema 3. Herencia y Polimorfismo Tema 5. Aspectos avanzados de los tipos de datos Tema 6. Modularidad
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
Programación Orientada a Objetos. Conceptos Básicos
Programación Orientada a Objetos Conceptos Básicos Programación Orientada a Objetos Paradigma de programación Un programa orientado a objetos está organizado como un conjunto de agentes en interacción
Programación 1 Tema 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema 2 Lenguaje de programación y ejecución de un programa Índice Lenguaje de programación Símbolos Sintaxis Semántica Computador Ejecución de un programa Sistema operativo, entorno de programación
MANEJO DE EXCEPCIONES en C++ Dr. Oldemar Rodríguez R. Escuela de Informática Universidad Nacional
MANEJO DE EXCEPCIONES en C++ Dr. Oldemar Rodríguez R. Escuela de Informática Universidad Nacional C++ posee un mecanismo de gestión de errores incorporado que se denomina manejo de excepciones. La utilización
Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez
Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común
Diseño Basado en Componentes Curso 2008 / 09
Ejemplo de Modelo Diseño Basado en Componentes Construcción de componentes utilizando VB.NET (Parte I) Ingeniería Informática Universidad Carlos III de Madrid Diseño Basado en Componentes Atributos miembro
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
Universidad de Chile
Capítulo 1 Conceptos básicos: clases y objetos Universidad de Chile Departamento de Cs. De la Computación Prof.: Nancy Hitschfeld Kahler Programación orientada a objetos 1-1 1 Contenido Clases y objetos
Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005
24 Noviembre 2005 disponibles de acceso public private protected de tipo static abstract final modificadores más avanzados que no vamos a ver... Clase Sintaxis modificadores class nombreclase{} Tipos primitivos
Estructuras de Datos Clase 1 -Introducción
Estructuras de Datos Clase 1 -Introducción Dr. Sergio A. Gómez http://cs.uns.edu.ar/~sag Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Bahía Blanca, Argentina Trivia
Examen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 31 de agosto de 2012 Disponer sobre la mesa en lugar visible un documento de identificación
Solución al Examen de Prácticas de Programación (Ingeniería Informática)
Solución al Examen de Prácticas de Programación (Ingeniería Informática) Junio 2006 Parte I. Cuestiones (3 puntos=50% nota del examen) 1) Se desea crear un conjunto de clases para representar en un programa