












Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Practica programacion orienta a objetaos en java.
Tipo: Ejercicios
1 / 20
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!













Esta PEC quiere ser un primer contacto con el paradigma de la programación orientada a objetos (POO) y el lenguaje de programación Java. En cuanto a la POO se tratarán los conceptos clave de manera teórica y muy superficialmente, tal y cómo se hace en el módulo 1 de la asignatura. Respecto a Java, nos centraremos, en primer lugar, en la instalación y configuración del compilador de este lenguaje (JDK). Una vez comprendamos el funcionamiento básico de JDK, instalaremos un IDE, concretamente Eclipse. El uso de un IDE nos ayudará en las tareas de organización del código, búsqueda de errores y creación de programas. Finalmente, trabajaremos la sintaxis de Java siguiendo un paradigma estructurado (cómo habéis trabajado en la asignatura anterior).
Los objetivos que se quieren lograr con el desarrollo de esta PEC son: Instalar y configurar el JDK (Java Development Kit) en el equipo de trabajo. Conocer y saber usar un IDE, en este caso, Eclipse. Repasar conceptos básicos de algoritmia (p.ej. bucles, condicionales, etc.) a la vez que se aprende la sintaxis básica de Java. Aprender los conceptos básicos del paradigma de la programación orientada a objetos sabiéndolos identificar en un problema real.
Esta PEC está formada por 4 ejercicios. El valor de cada uno de ellos está indicado junto a cada ejercicio. Esta PEC está diseñada para que los ejercicios se realicen en el orden en que se presentan. En cada ejercicio se hace una pequeña introducción que te pone en contexto a la vez que te intenta guiar para hacer el ejercicio correctamente. Esta parte introductoria está escrita en color gris (como este texto), mientras que el ejercicio en sí (i.e. aquello que se te pide y que tienes que contestar) está escrito en azul. De este modo te será más fácil localizar cada parte dentro de cada ejercicio. Adjunto con este enunciado encontrarás una hoja de respuestas que tienes que rellenar con las respuestas de los diferentes apartados, excepto aquellos en que la respuesta es directamente uno o más ficheros .java y/o .class.
> java Ex Number of arguments is not correct! Write: java Ex1 + > java Ex1 2.5 10 Result: -7. > java Ex1 4 2 1 3 5 Result: 5. > java Ex1 uoc Argument <> must be a double! > java Ex1 8 a 5 Argument <> must be a double! > java Ex1 25 5 c d Argument <> must be a double! Para responder este apartado hay que entregar una captura de pantalla donde se vea la consola de línea de comandos con diferentes ejecuciones del programa (parecido al ejemplo que te damos en formato texto en este apartado). (0.25 puntos) c) Explica qué hace el programa Ex1.java (cuanto más detalle des, mejor). Nota: puedes mirar el código abriendo el fichero con un editor de texto, como por ejemplo Notepad++ (https://notepad-plus-plus.org/). Para hacer este apartado es conveniente haber leído previamente las páginas 7-34 del PDF “El lenguaje de programación Java” que encontrarás en el aula. (0.5 puntos)
Ejercicio 2 – Aprendiendo Java (3 puntos) Para hacer este ejercicio es conveniente haber leído previamente las páginas 7-34 del PDF “El lenguaje de programación Java” que encontrarás en el aula. Este ejercicio se centra en aprender la sintaxis básica del lenguaje Java dejando de lado el paradigma de la programación orientada a objetos. Por lo tanto, intentaremos usar Java siguiendo y simulando una programación estructurada. Debido a que Java está orientado a objetos, los programas en Java están organizados por clases. Cada clase tiene que ir en un fichero que tiene por nombre el mismo que el de la clase. Por una cuestión de convención de nombres, lo más habitual es que la primera letra de cada palabra que compone el nombre de la clase empiece por mayúscula. Además, tiene que haber, como mínimo, una clase en todo nuestro programa que contenga un método especial llamado main que sirve de punto de entrada al programa. Es decir, el programa se iniciará llamando a este método. El método main tiene una firma concreta: public static void main(String[]args){ } Este método no devuelve nada (por eso su tipo de retorno es void) y recibe un array de String (i.e. cadena de caracteres) por parámetros llamado args (el nombre se puede cambiar, pero lo más habitual es denominarlo así). Esta variable args almacena los valores pasados por línea de comandos cuando el programa se ejecuta. Por ejemplo, si el método main se encuentra en la clase Programa, haremos: java Programa Hola 35 En este caso, args tendría dos casillas con los valores “Hola” y “35”, los dos serían texto (i.e. String). El primer valor estaría en args[0] y el segundo a args[1]. Por ahora no haremos caso de la palabra clave static. Su significado lo verás más adelante en la asignatura. Sólo decirte que, para este ejercicio, las firmas de todos los métodos que escribas deben tener la palabra static para que puedas simular el paradigma de la programación estructurada. Por último decirte que los comentarios en Java se pueden hacer de 2 formas: a) //Comentario de una línea b) /* Comentario de múltiples líneas */
atata | Errors: 3 Enter a letter: p patata | Errors: 3 You win!! Para responder este ejercicio es necesario: Coger el fichero Hangman.java (este es el nombre de la clase, del fichero y del programa principal) que encontrarás en la carpeta PAC1_ex2. Este fichero es un esqueleto, es decir, tiene una buena parte del código implementado, pero también tiene una parte que debes implementar tú. Concretamente tienes que implementar el código de tres funciones que contienen un comentario con la palabra TODO (del inglés, “to do = para hacer”). Utiliza el editor Notepad++ para escribir el código, y compila y ejecuta el código mediante los comandos javac y java, respectivamente. Por último, comentarte que tendrás que buscar información en Internet o en los materiales de la asignatura sobre cómo hacer ciertas operaciones en Java: bucles, condicionales, acceder a/declarar arrays, etc. Verás que la sintaxis de muchos de estos conceptos son iguales (o muy parecidos) a otros lenguajes, p.ej. C o PHP. Las tres funciones (o métodos) que debes codificar en Java son las siguientes: createEncryptedWord: recibe la longitud de la palabra introducida como parámetro (wordSize) a la hora de ejecutar el programa y devuelve un array de caracteres de esta longitud donde todas las casillas son un asterisco (). isRevealed: dado el array de caracteres encriptado, devuelve true si no contiene ningún asterisco (i.e. quiere decir que el jugador ha adivinado la palabra). Devuelve false si aún quedan asteriscos. revealAsterisks: devuelve true si la letra (letter) existe en la palabra (word) y no ha estado revelada aún. En caso contrario, devuelve false. Si el retorno debe ser true, entonces debe cambiar en el parámetro encryptedWord los asteriscos por la letra (letter) introducida allá donde corresponda. Hay que tener en cuenta que en Java los arrays y objetos (ya veremos esto con más calma) se pasan por referencia. Por lo tanto, cualquier cambio hecho en la función se ve reflejado allá donde se ha hecho la llamada.
Tendrás que entregar: En el documento que entregues como respuesta de la PEC, copia el código que has escrito en el fichero Hangman.java para los tres métodos/funciones que has tenido que completar y haz una breve explicación de su funcionamiento. Además pon una o varias capturas de pantalla donde se vea la ejecución de tu programa. Nota: Si has hecho una implementación parcial de los métodos/funciones o no los has sabido hacer, coméntalo. Dentro del fichero loginUOC_PEC1.zip que debes entregar, incluye una carpeta llamada PAC1_ex2 que contenga: El fichero Hangman.java completado con comentarios adentro que expliquen qué haces en los pasos más significativos de tu solución. Es esencial (además de una buena práctica), ¡¡documentar el código en el mismo código!! El fichero Hangman.class que hayas obtenido después de compilar el fichero Hangman.java. El reparto de la puntuación de este ejercicio es el siguiente: createdEncrypted: funcionamiento correcto: 0.75 puntos. isRevealed: funcionamiento correcto: 0.75 puntos. revealAsterisks: funcionamiento correcto: 1.5 puntos.
Un proyecto es un espacio (de hecho, una carpeta en nuestro sistema de ficheros del sistema operativo) donde guardamos todos los ficheros relacionados con la aplicación que queremos desarrollar. Dentro de un proyecto podemos definir carpetas (serán subcarpetas dentro de la carpeta del proyecto) y cualquier tipo de archivo. En nuestro caso particular, usaremos los proyectos de tipo JAVA. Gracias al asistente de Eclipse (conocido como Wizard), podemos crear un nuevo proyecto desde cero o a partir de otro proyecto, archivo comprimido o incluso desde un repositorio de código.
Figura 1). Figura 1 – Primer paso para importar un proyecto ya existente.
‘x’ de color rojo porque tiene errores). Esta clase calcula el factorial de un número natural que ha sido pasado por línea de comandos.
Una vez corrijas los errores sintácticos y gramaticales de Factorial.java, ya podrás ejecutar el programa. Para hacerlo manera rápida, utiliza el botón Run (asegúrate de tener seleccionado el proyecto Errors). Figura 8 – Botón Run de Eclipse y error en la pestaña Console tras ejecutar. No obstante, si haces click en el botón Run, te aparecerá un texto de error de formato en la pestaña Console (ver Figura 8). Esto es debido a que el programa espera que se le pase un número como argumento y, obviamente, no lo has hecho.
abrirá una ventana con varias pestañas. La primera de ellas, Main, indica a Eclipse qué proyecto ejecutar y cuál es la clase que contiene el método especial main (un programa suele tener más de una clase o fichero Java e incluso puede que haya más de una clase que tenga el método main). Figura 9 – Ventana de Run Configurations con la pestaña Main activa.
Figura 11 – Código de muestra con breakpoint en la línea 8.
la nueva ventana, ves a la pestaña Arguments e introduce en el campo Program Arguments los valores que deseas introducir como argumentos del programa (ver Figura 12). A continuación clica el botón Debug. Nota: Es posible que al clicar en Debug te salga una ventana preguntándote si quieres que se active la perspectiva Debug. Por el momento te recomendados que digas que “No”, pero siempre puedes probar y volver a la perspectiva Java. Figura 12 – Ventana de Debug Configurations…
Figura 14 – Inspeccionando el valor de la variable messageCircumference del programa de muestra.
Esta PEC se centra en los conceptos estudiados en el “Módulo 1 – Introducción al paradigma de la programación orientada a objetos” de la asignatura. Si tienes dudas de como instalar el JDK, tienes a tu disposición la guía “Instalación JDK” que encontrarás adjuntada con el enunciado de la PEC. Asimismo, para conocer la sintaxis de Java y poder hacer con éxito el Ejercicio 2, debes leer el apartado 1 de la guía “El lenguaje de programación Java” que encontrarás en el aula (pág. 7-34). Es muy normal que surjan dudas cuando programamos, aunque llevemos muchos años con un lenguaje y un paradigma concretos. Es por eso que hay que tener muy consolidada la competencia de buscar información. Hoy en día, el mejor lugar donde encontrar información y de manera rápida es Internet. En el caso de Java, tienes toda la documentación de su API (i.e. librerías con clases ya hechas) en la siguiente web: https://docs.oracle.com/javase/8/docs/api/. También puedes utilizar foros como stackoverflow, tanto la versión inglesa como la española: Inglés: http://stackoverflow.com/questions/tagged/java Español: http://es.stackoverflow.com/questions/tagged/java O utilizar directamente el buscador Google: www.google.com Si quieres ampliar conocimientos, siempre puedes comprar libros sobre POO y Java en alguna librería o pedirlos prestados en cualquier biblioteca (incluyendo la de la UOC, http://biblioteca.uoc.edu). Si a pesar de buscar información, no solucionas tus problemas, puedes hacer preguntas teóricas, pedir aclaraciones de los enunciados o preguntar sobre aspectos técnicos (p.ej. Java) en el foro del aula. No puedes usar los foros ni ningún otro medio para pedir a otro compañero la solución de lo que se pide en los enunciados. Tanto la persona que pide como quien proporciona la solución, serán penalizadas siguiendo la normativa académica de la UOC.
El reparto de los puntos de esta PEC es el siguiente: Ejercicio 1: 1 punto Ejercicio 2: 3 puntos Ejercicio 3: 2 puntos Ejercicio 4: 4 puntos El detalle del reparto de los puntos en cada ejercicio está en el enunciado.
Se tiene que entregar un fichero *.zip, el nombre del cual tiene que seguir este patrón: loginUOC_PEC1.zip. Por ejemplo: dgarciaso_PEC1.zip. Este fichero comprimido tiene que incluir los siguientes elementos: Hoja de respuestas completado en formato PDF. El nombre del fichero tiene que ser: loginUOC_PEC1.pdf. Una carpeta llamada PAC1_ex2 que contenga (1) el fichero Hangman.java y (2) el fichero Hangman.class del Ejercicio 2. Una carpeta llamada Errors que contenga todo el proyecto Errors con el fichero Factorial.java sin errores de ningún tipo. Para ello, copia la carpeta Errors de tu carpeta workspace de Eclipse. El último día para entregar esta PEC es el 10 de marzo de 2019 a las 23:59. Cualquier PEC entregada más tarde será considerada como no presentada.