package uniandes.cupi2.traductor.servidor; import java.io.serializable; import java.util.arraylist;

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

Download "package uniandes.cupi2.traductor.servidor; import java.io.serializable; import java.util.arraylist;"

Transcripción

1 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * $Id: Traductor.java,v /01/24 00:10:51 cupi3 Exp $ * Universidad de los Andes (Bogotá - Colombia) * Departamento de Ingeniería de Sistemas y Computación * Licenciado bajo el esquema Academic Free License version 2.1 * * Proyecto Cupi2 ( * Ejercicio: n7_traductor * Autor: Daniel Francisco Romero - 27-jun-2006 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ package uniandes.cupi2.traductor.servidor; import java.io.serializable; import java.util.arraylist; * Traductor de palabras de español, inglés, francés e italiano. <br> * <b>inv: </b> <br> * espanolingles!= null <br> * espanolfrances!= null <br> * espanolitaliano!= null <br> * * En el vector espanolingles no hay palabras repetidas <br> * En el vector espanolfrances no hay palabras repetidas <br> * En el vector espanolitaliano no hay palabras repetidas <br> * * En el vector espanolingles no hay traducciones repetidas <br> * En el vector espanolfrances no hay traducciones repetidas <br> * En el vector espanolitaliano no hay traducciones repetidas public class Traductor implements Serializable // Constantes * private static final long serialversionuid = 1L; 1 / 9

2 * Idioma inglés public final static int INGLES = 0; * Idioma francés public final static int FRANCES = 1; * Idioma italiano public final static int ITALIANO = 2; * Idioma español public final static int ESPANOL = 3; // Atributos * Conjunto de traducciones del español al inglés private ArrayList espanolingles; * Conjunto de traducciones del español al francés private ArrayList espanolfrances; * Conjunto de traducciones del español al italiano private ArrayList espanolitaliano; // Constructores * Crea al traductor con los diccionarios vacíos. <br> * <b> post: </b> Se creó el traductor con los diccionarios vacíos. 2 / 9

3 public Traductor( ) espanolingles = new ArrayList( ); espanolfrances = new ArrayList( ); espanolitaliano = new ArrayList( ); // Verifica el invariante verificarinvariante( ); // Métodos * Agrega al diccionario una traducción de una palabra en español a un idioma dado. <br> * <b> post: </b> La traducción fue adicionada al diccionario del idioma especificado. pal es la palabra - pal!= null y pal!= "" trad es la traducción - trad!= null y trad!= "" iddestino es el idioma destino - iddestino pertenece a FRANCES, INGLES, ITALIANO True si la palabra pudo ser adicionada al diccionario o false en caso contrario. public boolean agregartraduccion( String pal, String trad, int iddestino ) boolean agregada = false; // Busca la palabra en el diccionario del idioma Traduccion latraduccion = traducirdeespanol( pal, iddestino ); // Verifica que la palabra ni la traducción existan if( latraduccion == null &&!existetraduccion( iddestino, trad ) ) // Obtiene el arreglo de las traducciones correspondientes al idioma ArrayList traducciones = obtenerdiccionario( iddestino ); // Agrega la palabra con su traducción al diccionario traducciones.add( new Traduccion( pal, trad ) ); agregada = true; // Verifica el invariante verificarinvariante( ); // Indica si la palabra fue agregada return agregada; * Dada la palabra de búsqueda y el idioma al que se quiere traducir, retorna la traducción 3 / 9

4 correspondiente. <br> palabra es la palabra a buscar - palabra!= null y palabra se encuentra en español idiomatraduccion es el idioma al que se va a traducir la palabra - idiomatraduccion pertenece FRANCES, INGLES, ITALIANO Traducción de la palabra en el idioma solicitado. Si no encuentra la palabra retorna null private Traduccion traducirdeespanol( String palabra, int idiomatraduccion ) // Obtiene el arreglo de traducciones correspondiente al idioma de traducción ArrayList traducciones = obtenerdiccionario( idiomatraduccion ); Traduccion traduccion = null; // Busca la palabra como palabra base en las traducciones for( int i = 0; i < traducciones.size( ) && traduccion == null; i++ ) Traduccion aux = ( Traduccion )traducciones.get( i ); if( aux.darpalabra( ).equalsignorecase( palabra ) ) traduccion = aux; return traduccion; * Según el idioma retorna el diccionario correspondiente. <br> idiomatraduccion es el idioma de la traducción - idiomatraduccion pertenece FRANCES, INGLES, ITALIANO Arreglo con las traducciones del español al idioma dado. Si no se maneja esa traducción retorna null private ArrayList obtenerdiccionario( int idiomatraduccion ) switch( idiomatraduccion ) case INGLES: return espanolingles; case ITALIANO: return espanolitaliano; case FRANCES: return espanolfrances; default: return null; * Indica si la traducción especificada ya existe en el diccionario del idioma dado. <br> 4 / 9

5 * <b> post: </b> Se retornó true si la traducción ya se encuentra asignada o false de lo contrario. idiomatraduccion es el idioma del diccionario - idiomatraduccion pertenece FRANCES, INGLES, ITALIANO traduccion es la traducción a ser buscada en el diccionario - traducion!=null True si la traducción ya se encuentra asignada o false de lo contrario. private boolean existetraduccion( int idiomatraduccion, String traduccion ) boolean existe = false; ArrayList traducciones = obtenerdiccionario( idiomatraduccion ); // Recorre el diccionario buscando si hay palabras con la misma traducción for( int i = 0; i < traducciones.size( ) &&!existe; i++ ) Traduccion t = ( Traduccion )traducciones.get( i ); String palabratraducida = t.dartraduccion( ); if( palabratraducida.equalsignorecase( traduccion ) ) existe = true; return existe; * Dada una palabra, el idioma en el que está y el idioma al que se quiere traducir, este método retorna la traducción correspondiente. Para que la traducción exista entre * dos idiomas diferentes es necesario que la traducción de la palabra exista en los dos idiomas implicados. Así por ejemplos para traducir una palabra de francés a inglés * es necesario que exista la traducción en el diccionario de español-francés y que la traducción de la palabra en español exista el diccionario español-inglés. <br> pal es la palabra - pal!= null idorigen es el idioma de origen - idorigen pertenece a FRANCES, INGLES, ITALIANO, ESPANOL iddestino es el idioma destino - iddestino pertenece a FRANCES, INGLES, ITALIANO, ESPANOL Traducción de la palabra en el idioma destino. Si no existe, retorna null. public Traduccion traducir( String pal, int idorigen, int iddestino ) // Solo se realiza la traducción si los dos idiomas son diferentes if( idorigen!= iddestino ) if( idorigen == ESPANOL ) return traducirdeespanol( pal, iddestino ); else if( iddestino == ESPANOL ) 5 / 9

6 return traduciraespanol( pal, idorigen ); else Traduccion aux = traduciraespanol( pal, idorigen ); if( aux!= null ) return traducirdeespanol( aux.darpalabra( ), iddestino ); return null; * Dada la palabra de búsqueda y el idioma en el que se encuentra, retorna la traducción correspondiente al español. <br> palabra es la palabra a buscar - palabra!= null idiomaorigen es el idioma en el que se encuentra la palabra - idiomaorigen pertenece FRANCES, INGLES, ITALIANO Traducción de la palabra en español - Si no encuentra la traducción retorna null private Traduccion traduciraespanol( String palabra, int idiomaorigen ) // Obtiene el arreglo de traducciones correspondiente al idioma origen ArrayList traducciones = obtenerdiccionario( idiomaorigen ); Traduccion traduccion = null; // Busca la palabra como la traducción en el diccionario for( int i = 0; i < traducciones.size( ) && traduccion == null; i++ ) Traduccion aux = ( Traduccion )traducciones.get( i ); if( aux.dartraduccion( ).equalsignorecase( palabra ) ) traduccion = aux; return traduccion; * Retorna el número de palabras del diccionario de un idioma dado. <br> iddestino es el idioma destino - iddestino pertenece a FRANCES, INGLES, FRANCES Número de palabras en el diccionario public int dartotalpalabrastraducidas( int iddestino ) // Obtiene el arreglo de traducciones correspondiente ArrayList traducciones = obtenerdiccionario( iddestino ); 6 / 9

7 if( traducciones == null ) return 0; else return traducciones.size( ); // Invariante * Indica si hay palabras repetidas en el diccionario del idioma dado. <br> idtrad es el idioma del diccionario - idtrad pertenece a FRANCES, INGLES, ITALIANO True si hay al menos una palabra repetida o false en caso contrario. private boolean haypalabrasrepetidas( int idtrad ) Traduccion traduccion; Traduccion otratraduccion; String palabra; ArrayList traducciones = obtenerdiccionario( idtrad ); // Recorre las traducciones buscando si hay palabras repetidas for( int i = 0; i < traducciones.size( ) - 1; i++ ) traduccion = ( Traduccion )traducciones.get( i ); palabra = traduccion.darpalabra( ); for( int j = i + 1; j < traducciones.size( ); j++ ) otratraduccion = ( Traduccion )traducciones.get( j ); if( palabra.equalsignorecase( otratraduccion.darpalabra( ) ) ) return true; return false; * Indica si hay palabras con la misma traducción en el diccionario del idioma dado. <br> idtrad es el idioma del diccionario - idtrad pertenece a FRANCES, INGLES, ITALIANO True si hay dos palabras con la misma traducción o false en caso contrario. private boolean haytraduccionesrepetidas( int idtrad ) 7 / 9

8 Traduccion traduccion; Traduccion otratraduccion; String palabratraducida; ArrayList traducciones = obtenerdiccionario( idtrad ); // Recorre las traducciones buscando si hay palabras con la misma traducción for( int i = 0; i < traducciones.size( ) - 1; i++ ) traduccion = ( Traduccion )traducciones.get( i ); palabratraducida = traduccion.dartraduccion( ); for( int j = i + 1; j < traducciones.size( ); j++ ) otratraduccion = ( Traduccion )traducciones.get( j ); if( palabratraducida.equalsignorecase( otratraduccion.dartraduccion( ) ) ) return true; return false; // Invariante * Verifica que el invariante de la clase se cumpla. Si algo falla, lanza un AssertError.<br> * <b>inv: </b> <br> * espanolingles!= null <br> * espanolfrances!= null <br> * espanolitaliano!= null <br> * En el diccionario español-inglés no hay palabras repetidas <br> * En el diccionario español-francés no hay palabras repetidas <br> * En el diccionario español-italiano no hay palabras repetidas private void verificarinvariante( ) assert espanolingles!= null : "Diccionario español-ingles sin inicializar"; assert espanolfrances!= null : "Diccionario español-francés sin inicializar"; assert espanolitaliano!= null : "Diccionario español-italiano sin inicializar"; assert!haypalabrasrepetidas( INGLES ) : "Palabras repetidas en el diccionario de inglés"; assert!haypalabrasrepetidas( FRANCES ) : "Palabras repetidas en el diccionario de francés" ; assert!haypalabrasrepetidas( ITALIANO ) : "Palabras repetidas en el diccionario de italiano" ; 8 / 9

9 assert!haytraduccionesrepetidas( INGLES ) : "Traducciones repetidas en el diccionario de inglés" ; assert!haytraduccionesrepetidas( FRANCES ) : "Traducciones repetidas en el diccionario de francés" ; assert!haytraduccionesrepetidas( ITALIANO ) : "Traducciones repetidas en el diccionario de italiano" ; // Puntos de Extensión * Ejecuta el punto de extensión 1 respuesta 1 public String metodo1( ) return "respuesta1"; * Ejecuta el punto de extensión 2 respuesta 2 public String metodo2( ) return "respuesta2"; 9 / 9

Universidad de los Andes Ingeniería de Sistemas y Computación. ISIS1205 Algorítmica y Programación 2. Hoja de trabajo teórica Nivel 7 (N7-EE)

Universidad de los Andes Ingeniería de Sistemas y Computación. ISIS1205 Algorítmica y Programación 2. Hoja de trabajo teórica Nivel 7 (N7-EE) Universidad de los Andes Ingeniería de Sistemas y Computación ISIS1205 Algorítmica y Programación 2 Hoja de trabajo teórica Nivel 7 (N7-EE) Cupi2 Enunciado: Desarrolle las modificaciones al programa exposicióncanina

Más detalles

UNADM. Estructura de datos. Guillermo Duran Garcia AL Actividad 2. Identificación de errores en métodos de ordenación

UNADM. Estructura de datos. Guillermo Duran Garcia AL Actividad 2. Identificación de errores en métodos de ordenación UNADM Estructura de datos Actividad 2. Identificación de errores en métodos de ordenación Guillermo Duran Garcia AL12524075 Actividad 2. Identificación de errores en métodos de ordenación. La siguiente

Más detalles

PROGRAMACIÓN EN JAVA. { una línea para definir, crear o ejecutar ; }

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)

Más detalles

Práctica 11e. Práctica 11e. José M. Ordax

Práctica 11e. Práctica 11e. José M. Ordax Práctica 11e José M. Ordax [email protected] 1 Copyright 2005 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

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

Más detalles

Práctica 11f. Práctica 11f. José M. Ordax

Práctica 11f. Práctica 11f. José M. Ordax Práctica 11f José M. Ordax [email protected] 1 Copyright 2005 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano

Más detalles

Soluciones Kata TDD. Solución requisito 1

Soluciones Kata TDD. Solución requisito 1 Soluciones Kata TDD Este documento recoge las soluciones a los primeros 8 ejercicios de la Kata Test Driven Development (TDD): Example Walkthrough de Viktor Farcic: https://technologyconversations.com/2013/12/20/test-driven-development-tdd-example-walkthrough/

Más detalles

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

Más detalles

Clases abstractas e interfaces en Java

Clases abstractas e interfaces en Java Clases abstractas e interfaces en Java Clases abstractas public abstract class Figura { private String _nombre; public Figura (string nombre) { _nombre = nombre; final public boolean mayor_que (Figura

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS 10/02/2009. Examen de Java. Nombre: DNI: Titulación:

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

Más detalles

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

Más detalles

Introducción a Java. Fernando Cerezal López. 24 Noviembre 2005

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

Más detalles

Estructuras de control selectivas

Estructuras de control selectivas Práctica 3 Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 2.0.2 Concepto de sentencia y estructura de control El cuerpo de los métodos

Más detalles

IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++

IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++ IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++ Fichero nodo.h #ifndef NODO_H #define NODO_H const int cantidad_nodos = 10; class Nodo private: string dato; Nodo* siguiente; public: Nodo(); void setdato(string

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

3.3 Conceptos Básicos del Lenguaje Java

3.3 Conceptos Básicos del Lenguaje Java 3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos

Más detalles

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3 Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Definición de tipo genérico Hablamos de un tipo genérico cuando el tipo en cuestión depende

Más detalles

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Introducción Práctica de Programación Java Antonio Rivero Cuesta Sesión III La Sintaxis de Java II... 6 Estructuras de Control... 7 Estructuras de Selección... 8 Sentencia

Más detalles

Práctica 10a. Práctica 10a. José M. Ordax

Práctica 10a. Práctica 10a. José M. Ordax Práctica 10a José M. Ordax [email protected] 1 Copyright 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano

Más detalles

Programación multimedia y dispositivos móviles. Objetos Parcelables

Programación multimedia y dispositivos móviles. Objetos Parcelables Programación multimedia y dispositivos móviles Objetos Parcelables Recordando Para enviar un ArrayList por medio de un Intent Para enviar un ArrayList por medio de un Intent tenemos dos opciones; o Método

Más detalles

Fundamentos de Programación

Fundamentos de Programación Fundamentos de Programación Colecciones de Objetos José A. Mañas Dpto. de Ingeniería de Sistemas Telemáticos http://www.dit.upm.es/~pepe/doc/fprg/ colecciones Cuando tenemos varios

Más detalles

Práctica 11d. Práctica 11d. José M. Ordax

Práctica 11d. Práctica 11d. José M. Ordax Práctica 11d José M. Ordax [email protected] 1 Copyright 2005 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano

Más detalles

Prueba N o 1. Programación II

Prueba N o 1. Programación II UNIVERSIDAD ANDRÉS BELLO 1 Prueba N o 1 Programación II Profesores: José Luis Allende y Carlos Beyzaga. Fecha: 10 de Septiembre de 2013 Nombre: Nota: Instrucciones: Coloque su nombre a todas las hojas.

Más detalles

Práctica 5c. Práctica 5c. José M. Ordax

Práctica 5c. Práctica 5c. José M. Ordax Práctica 5c José M. Ordax [email protected] 1 Copyright 2004 Arancha Ocaña Díaz-Ufano Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano

Más detalles

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) APRENDERAPROGRAMAR.COM INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C) Sección: Cursos Categoría: Lenguaje de programación Java

Más detalles

PROGRAMACION I Archivos directos

PROGRAMACION I Archivos directos PROGRAMACION I Archivos directos Un archivo relativo (directo) consiste en una colección de registros de longitud fija almacenados uno al lado del otro en un dispositivo de almacenamiento de acceso directo.

Más detalles

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS

NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS 1 NIVEL 15: ESTRUCTURAS RECURSIVAS BINARIAS Árboles Binarios y Árboles Binarios Ordenados 2 Contenido Árboles binarios Iteradores Árboles binarios ordenados 3 Árboles binarios Algunas definiciones para

Más detalles

Estructuras de Datos Clase 4 Pilas y colas

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

Más detalles

Estructuras de Datos Clase 6 Listas e Iteradores (primera parte)

Estructuras de Datos Clase 6 Listas e Iteradores (primera parte) Estructuras de Datos Clase 6 Listas e Iteradores (primera parte) 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

Más detalles

Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte)

Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte) Estructuras de Datos Clase 7 Listas e Iteradores (segunda parte) 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

Más detalles

Introducción a Java LSUB. 30 de enero de 2013 GSYC

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

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

Estructuras de Datos Clase 14 Árboles binarios de búsqueda

Estructuras de Datos Clase 14 Árboles binarios de búsqueda Estructuras de Datos Clase 14 Árboles binarios de búsqueda 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,

Más detalles

Tema 15: Aserciones 0

Tema 15: Aserciones 0 Tema 15: Aserciones 0 Aserciones Definición Una aserción es una condición lógica insertada en el código Java, de ideas o condiciones que se asumen son ciertas. El sistema se encarga de comprobarlas y avisar

Más detalles

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE 1 Estructura de Datos 1. Logica de Programación 2. Uso de Algoritmos usando Lenguaje Java 3. Ingreso de datos 4. Sentencias de Control 1.

Más detalles

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

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

Más detalles

Tema 4- Representación Enlazada

Tema 4- Representación Enlazada Tema 4- Representación Enlazada Tema 4: Representación Enlazada Índice general: 1. Representación Enlazada: Variables referencia Java como enlaces. 2. Listas Enlazadas Genéricas. Operaciones y costes.

Más detalles

Construcciones del Lenguaje Java

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.

Más detalles

Apellidos: Nombre: Matrícula: UNIVERSIDAD POLITÉCNICA DE MADRID

Apellidos: Nombre: Matrícula: UNIVERSIDAD POLITÉCNICA DE MADRID Apellidos: Nombre: Matrícula: Concurrencia (parte 2)/clave: a Curso 2014/2015-2 o semestre (junio 2015) Grado en Ingeniería Informática / Grado en Matemáticas e Informática UNIVERSIDAD POLITÉCNICA DE MADRID

Más detalles

Sacándole Partido a JUnit Módulo 1. Introducción a las Pruebas

Sacándole Partido a JUnit Módulo 1. Introducción a las Pruebas Sacándole Partido a JUnit Módulo 1. Introducción a las Pruebas Ejercicios Resueltos Ejercicio 03. El siguiente código muestra para calcular la potencia de dos de cualquier número con cualquier cantidad

Más detalles

Programación II Arboles Binarios(AB)

Programación II Arboles Binarios(AB) Programación II Arboles Binarios(AB) Definición Un árbol consta de un conjunto finito de elementos, denominados nodos, y un conjunto finito de líneas dirigidas, denominadas enlaces, que conectan los nodos.

Más detalles

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7 Programación IV. Guía 7 1 Tema: Grafos en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Objetivos Específicos Definir el concepto de Grafo. A partir de una clase agregar la

Más detalles

Examen Teórico Convocatoria de Junio de 2012

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

Más detalles

Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java

Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Unidad II Tema 3: Tratamiento de arreglos y cadenas en Java Profesor: Jorge Escalona / Tobías Bolívar Email: [email protected] / [email protected] Web: http://estructuradatos.tripod.com 1 Qué

Más detalles

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07

PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 PROGRAMACION ORIENTADA A OBJETOS Ingenieria Informática Final Febrero 2006/07 Ejercicio 1. Un indice de referencias cruzadas de las palabras que aparecen en un texto es una tabla por palabras y, por cada

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

1. (1 punto) Dado el siguiente fragmento en Java:

1. (1 punto) Dado el siguiente fragmento en Java: PROGRAMACIÓN I 9-septiembre-2004 1. (1 punto) Dado el siguiente fragmento en Java: class Pares public static void main (String [] argumentos) String numero = argumentos[0]; Completar el programa con las

Más detalles

Tabla: producto Campo: codigo varchar(13) Campo: nombre varchar(40) Campo: precio int Campo: unidades int PRIMARY KEY: codigo

Tabla: producto Campo: codigo varchar(13) Campo: nombre varchar(40) Campo: precio int Campo: unidades int PRIMARY KEY: codigo Universidad de los Andes Ingeniería de Sistemas y Computación ISIS 1205 - Algorítmica y Programación 2 Taller teórico nivel 12 Cupi2. En la base de datos del almacén se definió la tabla producto que tiene

Más detalles

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez Sintaxis de Java Sintaxis Define las reglas que determinar el uso de palabras clave, operadores y variables para construir y evaluar expresiones.

Más detalles

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos 1! 1. Algoritmos recursivos " 1.1 Algoritmos recursivos. Recursión simple " 1.2 Algoritmos con vuelta atrás y ejemplos! 2. Complejidad de

Más detalles

Programación de sistemas Listas enlazadas

Programación de sistemas Listas enlazadas Programación de sistemas Listas enlazadas Departamento de Ingeniería Telemática 1 Contenidos *** Introducción a los genéricos Estructuras de datos Listas enlazadas La clase Node La clase LinkedList Ventajas

Más detalles

Apellidos: Nombre: Matrícula:

Apellidos: Nombre: Matrícula: Apellidos: Nombre: Matrícula: Concurrencia (parte 2)/clave: a Curso 2016 2017 - Convocatoria Extraordinaria (Julio 2017) Grado en Ingeniería Informática / Grado en Matemáticas e Informática UNIVERSIDAD

Más detalles

Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011

Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011 Depto. Ingeniería de Sistemas Telemáticos Universidad Politécnica de Madrid ETSI Telecomunicación Fundamentos de Programación 15 de diciembre de 2011 Ejercicio 1 (2 puntos) SOLUCIONES class TarjetaDeCredito

Más detalles

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Tema 7.- Fundamentos de la Programación Orientada a Objetos Tema 7.- Fundamentos de la Programación Orientada a Objetos 7 de enero de 2014 Objetivos Saber definir clases propias. Saber crear objetos de una clase determinada e interactuar con ellos (Problema 1).

Más detalles

Soluciones Ejercicios Tema 7. Cambio de Signo Pila (3/3) if (!p.esvacia()) { d i l cambiasignopila(p); this.apilar(new Integer(-dato));

Soluciones Ejercicios Tema 7. Cambio de Signo Pila (3/3) if (!p.esvacia()) { d i l cambiasignopila(p); this.apilar(new Integer(-dato)); Cambio de Signo Pila (1/3) Soluciones Ejercicios Tema 7 Germán Moltó Martínez [email protected] Estructuras de Datos y Algoritmos Escuela Técnica Superior de Ingeniería Informática Universidad Politécnica

Más detalles

Ejercicios de Programación Tema 7. Programación Orientada a Objetos

Ejercicios de Programación Tema 7. Programación Orientada a Objetos Ejercicios de Programación Tema 7. Programación Orientada a Objetos 22 de diciembre de 2013 1. Haz una clase llamada Agenda para manejar una agenda de teléfonos. Los objetos instanciados a partir de esa

Más detalles

Práctica 11c. Práctica 11c. José M. Ordax

Práctica 11c. Práctica 11c. José M. Ordax Práctica 11c José M. Ordax [email protected] 1 Copyright 2004 José M. Ordax Este documento puede ser distribuido solo bajo los términos y condiciones de la Licencia de Documentación de javahispano

Más detalles

2) Cual modificador limita el acceso a un método de una clase pública a los miembros de la misma clase?

2) Cual modificador limita el acceso a un método de una clase pública a los miembros de la misma clase? PRTIIPNT: MPRS: H: xamen de iagnóstico Programador Java Instrucciones: Lea cada pregunta cuidadosamente y marque la(s) respuesta(s) que sean correctas. 1) ada la siguiente clase: 1. class rrayopy3{ 2.

Más detalles

Práctica #2. Patrón de diseño Factory Method. 2.1 Objetivos. 2.2 Práctica a realizar

Práctica #2. Patrón de diseño Factory Method. 2.1 Objetivos. 2.2 Práctica a realizar Práctica #2 Patrón de diseño Factory Method 2.1 Objetivos El objetivo de esta práctica es consolidar los conceptos vistos en teoría sobre el PD Factory Method. Para ello es aconsejable que haya asistido

Más detalles

Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez

Algoritmos y Estructuras de Datos Iteradores. Guillermo Román Díez Algoritmos y Estructuras de Datos Iteradores Guillermo Román Díez [email protected] Universidad Politécnica de Madrid Curso 2015-2016 Guillermo Román, UPM AED: Introducción 1/26 Iteradores Es muy común

Más detalles

Soluciones al Examen de Fundamentos de Computadores y Lenguajes

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

Más detalles

1. Cuántas sentencias hay en la secuencia principal del siguiente programa?

1. Cuántas sentencias hay en la secuencia principal del siguiente programa? 1. Cuántas sentencias hay en la secuencia principal del siguiente programa? public class PruebaSwitch { System.out.print ("Opcion: "); case 3: System.out.println ("miércoles "); A. 1. B. 4. C. Más de 10.

Más detalles

Curso Informática Lección 4. Instrucciones de control

Curso Informática Lección 4. Instrucciones de control Fundamentos de Informática Lección 4. Instrucciones de control Curso 2010-2011 Pedro Álvarez y José Ángel Bañares 24/09/2010. Dpto. Informática e Ingeniería de Sistemas. Índice de contenidos Introducción

Más detalles

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 + +.

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

Más detalles

Uso de Java Generics (I)

Uso de Java Generics (I) Uno de los temas que mas quebraderos de cabeza da a los desarrolladores es la construcción Java Generics o simplemente clases Genéricas.Vamos a escribir algunos artículos hablando de este tema.para empezar

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

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays

Más detalles

package com.example.dialogov1;

package com.example.dialogov1; package com.example.dialogov1; import android.app.alertdialog; import android.app.alertdialog.builder; import android.app.dialog; import android.app.dialogfragment; import android.app.progressdialog; import

Más detalles

Examen escrito de Programación 1

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

Más detalles

Solución al Examen de Fundamentos de Computadores y Lenguajes

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,

Más detalles

PRIMER EXAMEN PARCIAL. 5 de febrero de SOLUCIONES

PRIMER EXAMEN PARCIAL. 5 de febrero de SOLUCIONES FUNDAMENTOS DE PROGRAMACIÓN Curso: 2012/13 PRIMER EXAMEN PARCIAL. 5 de febrero de 2013. SOLUCIONES Versión:1.0.7 EJERCICIO 1: El tipo Beca a) 0,25 puntos public enum TipoBeca { ORDINARIA, MOVILIDAD, EMPRESA

Más detalles

Identidad, igualdad y equivalencia

Identidad, igualdad y equivalencia Identidad, igualdad y equivalencia Introducción a la Programación Orientada a objetos 2018 Clases como tipos Cuando el analista o el diseñador de un sistema orientado a objetos especifica una clase, establece

Más detalles

Colas. 5.1 Implementación

Colas. 5.1 Implementación Capítulo 5 Colas Las colas al igual que las pilas son un tipo especial de listas en las cuales los elementos se insertan por un lado y se eliminan por el otro. Es decir se sacan en el mismo orden en que

Más detalles

CURSO : Programacion Java DOCENTE : ING. JUAN ZEVALLOS VALLE

CURSO : Programacion Java DOCENTE : ING. JUAN ZEVALLOS VALLE CURSO : Programacion Java DOCENTE : ING. JUAN ZEVALLOS VALLE 1 Estructura de Datos AGENDA : 1. Logica de Programación 2. Uso de Algoritmos usando Lenguaje Java 3. Sentencias de Control 1. Condicionales

Más detalles

Instrucción de selección múltiple switch.

Instrucción de selección múltiple switch. Instrucción de selección múltiple switch. Java cuenta con la instrucción switch de selección múltiple para realizar distintas acciones, con base en os posibles valores de una variable o expresión entera.

Más detalles

Entiendo los métodos de Java equals y hashcode

Entiendo los métodos de Java equals y hashcode Todos los días cuando programamos usamos objetos y en muchas ocasiones necesitamos comparar unos con otros. Para ello en muchas ocasiones usamos los métodos de de Java equals y hashcode. Estos métodos

Más detalles

Código fuente del Trabajo Fin de Máster realizado por. Sonia Madero García. para la obtención del título de

Código fuente del Trabajo Fin de Máster realizado por. Sonia Madero García. para la obtención del título de Código fuente del Trabajo Fin de Máster realizado por Sonia Madero García para la obtención del título de Máster en Ingeniería de Automatización e Informática Industrial DESARROLLO DE UNA APLICACIÓN SOFTWARE

Más detalles

Herencia Java y Servicios Web I Master en Ingeniería Matemática

Herencia Java y Servicios Web I Master en Ingeniería Matemática Herencia Java y Servicios Web I Master en Ingeniería Matemática Manuel Montenegro Dpto. Sistemas Informáticos y Computación Desp. 467 (Mat) [email protected] Contenidos Extensión mediante herencia.

Más detalles