Beruflich Dokumente
Kultur Dokumente
Puricacin Arenas, Marco Antonio Gmez Martn, Jorge Gmez Sanz, Guillermo Jimnez Daz 2012/2013
Departamento de Ingeniera del Software e Inteligencia Articial Departamento de Sistemas Informticos y Computacin Facultad de Informtica Universidad Complutense de Madrid
Curso:
Profesores:
Puricacin Arenas, Marco Antonio Gmez Martn, Jorge Gmez Sanz, Guillermo Jimnez Daz
Profesores
Departamento de Ingeniera del Software e Inteligencia Articial Departamento de Sistemas Informticos y Computacin Facultad de Informtica Universidad Complutense de Madrid Curso 2012/2013
Normas de entrega
1.
Entrega de prcticas
Las prcticas tendrn una fecha lmite de entrega, indicada en el enunciado. No se admitirn prcticas entregadas fuera de dicho plazo.
Las prcticas se entregarn a travs del campus virtual, utilizando el mecanismo de entrega de prcticas. nicamente un miembro del grupo de prcticas deber realizar el envo. En caso de que ambos componentes efecten el envo de la prctica, el profesor corregir nicamente una de ellas.
Se enviar un nico chero comprimido con formato ZIP , llamado El chero contendr un chero
GrupoNN, siendo NN el nmero del grupo al que pertenece (dos dgitos). alumnos.txt donde se indicar el
nombre de los componentes del grupo.
Las prcticas deben realizarse utilizando la estructura descrita en la prctica 0. A no ser que el enunciado indique lo contrario, se deber enviar nicamente el directorio
src
1 Para comprimir el chero puede utilizar cualquiera de los compresores disponibles en el laboratorio con la condicin de que generen cheros zip. Ten en cuenta que el programa 7-zip puede generar cheros .zip, pero para eso hay que indicar explcitamente que se desea ese formato.
1
Normas de entrega
2.
Normas de correccin
La prctica enviada deber pasar satisfactoriamente el validador proporcionado junto con el enunciado. En caso de no superar la prueba, la prctica se considerar no entregada. Entre otras cosas, el validador:
Comprueba que la prctica compila. Para poder hacerlo, el validador requiere que el JDK est instalado en la mquina y accesible desde el path.
Comprueba que los test de unidad compilan. Ejecuta los test y comprueba que todos pasan satisfactoriamente.
La prctica que no funcione se considerar como no entregada. Los requisitos de funcionalidad estarn descritos en el enunciado de la prctica. El primer da de clase de laboratorio despus del nal del plazo de entrega, se realizar la defensa de la prctica. En la defensa debern estar presentes los dos miembros del grupo, que contestarn a las preguntas que el profesor estime conveniente hacerles sobre la implementacin de la misma. El profesor de prcticas puede decidir no corregir o penalizar en los trminos que estime oportunos a los alumnos que no sigan las indicaciones del formato para la entrega.
3.
Evaluacin
El examen prctico consistir en la modicacin de una o varias prcticas realizadas durante el curso. Para eso, junto con el enunciado del examen se proporcionar la prctica (o prcticas) que se entregaron durante el curso y que se necesitan para la realizacin del examen. Un porcentaje de la nota del examen ser responsabilidad de la prctica base con la que se comienza a hacer el examen. Se evaluar positivamente entre otras cosas:
Comentarios en el cdigo, claridad e indentacin. Uso de estructuras de control y de datos adecuadas al problema. Nombres de variables y constantes acordes a la funcin que desempean en el programa. Eciencia de los algoritmos utilizados. Estructura del cdigo, tanto a nivel de cdigo fuente como a nivel de modularizacin, uso de orientacin a objetos, etc.
3. Evaluacin
Mala estructuracin de los programas: incorrecta descomposicin en clases y mtodos, falta de anidamiento, etc. Uso de variables globales o externas en mtodos. Paso de parmetros innecesarios a mtodos. Uso de estructuras de control o de datos no adecuadas al problema. Violacin de la encapsulacin: acceso a atributos que han de ser privados desde fuera de la clase. Falta de documentacin.
Recuerda que para poderte presentar al examen es obligatorio tener todas las prcticas entregadas en el plazo jado por el enunciado de la prctica. Slo se permitir durante el curso una entrega fuera de plazo, si ste no se excede en ms de una semana.
Fecha de entrega:
No debe entregarse
Material proporcionado:
Fichero Explicacin Proyecto de tests para la cuarta parte de la prctica.
Objetivo:
En esta primera prctica vamos a tomar contacto con el entorno que usaremos para realizar las prcticas de la asignatura Tecnologa de la Programacin. Es una prctica guiada donde el enunciado va describiendo casi uno a uno los pasos a seguir. La mayora de los pasos que se describen sern necesarios tambin para el resto de prcticas, pues se ensea tanto la construccin de la estructura de directorios que utilizaremos como la creacin de los proyectos de Eclipse y el mecanismo de entrega. 5
1.
Estructura de directorios
Antes de comenzar, describiremos brevemente la estructura de directorios
que vamos a utilizar durante todas las prcticas. Utilizar una estructura de directorios clara es importante cuando un proyecto utiliza varios cheros de distintos tipos. Durante la elaboracin de la prctica, manejaremos los siguientes directorios:
src:
sin
.java).
durante las prcticas. Los otros directorios o bien los genera eclipse automticamente, o bien su contenido es proporcionado por el profesor.
bin:
lacin del cdigo fuente anterior. Lo crea el IDE (el entorno de desarrollo, esto es, Eclipse) automticamente.
testProfesor:
prctica.
En prcticas siguientes es posible que se utilicen directorios adicionales. En concreto si la prctica hace uso de bibliotecas externas proporcionadas por el profesor, podra aparecer otro directorio donde se aaden esas libreras. Este directorios no se deber incluir en la entrega.
2.
Hola mundo.
1
Paso 1:
1
Java es sensible a maysculas/minsculas, por lo que es importante mantener las maysculas donde se menciona aqu. Adems, el nombre de la clase debe ser igual al del chero, con extensin java. 2 Todas las prcticas de la asignatura podrn realizarse en cualquier plataforma en la que pueda ejecutarse Eclipse, en esta descripcin asumiremos que se est utilizando Windows.
Paso 2:
Paso 3:
Compilar
HolaMundo.java
mando:
javac HolaMundo.java
Comprobar que no hay errores de compilacin y que se ha creado el chero
HolaMundo.class.
Para poder invocar al compilador (javac.exe), ste debe estar accesible a travs del PATH. En los laboratorios se encuentra en el directorio
con:
Paso 4:
HolaMundo.class. Para eso, se ejecuta el comando java HolaMundo3 . Igual que para compilar el cdigo, para poder ejecutar la aplicacin debe estar disponible java en el PATH. En los laboratorios se puede encontrar en el mismo directorio que el compilador.
la clase
3.
Eclipse. Antes de empezar, debemos aprender el signicado de workspace. 1. Un espacio de trabajo (workspace ) es una carpeta donde estarn las carpetas correspondientes a los proyectos Java creados con Eclipse. 2. Una instancia en ejecucin de Eclipse slo puede trabajar con un workspace. 3. Cambiar el workspace requiere reiniciar eclipse. En lo que sigue asumiremos que el workspace lo ubicaremos en el directorio
c:\hlocal\TP4 .
Un proyecto es una carpeta que se crea en el workspace. Cada prctica ser un proyecto nuevo. Dentro de un proyecto nos encontraremos las siguientes carpetas:
src
Carpeta donde estar el cdigo fuente (source code), es decir, los cheros
.java.
bin
Paso 1: Paso 2:
Switch
Workspace
Es muy desaconsejable el uso de las memorias USB como workspace ya que la vida til de las mismas se reduce drsticamente por la cantidad de operaciones que se hacen sobre ellas. Por otro lado, el uso de la unidad virtual de cada uno como workspace es desaconsejable por la velocidad del mismo y la cantidad de cheros intermedios, no necesarios, que pueden llegar a generarse.
Paso 3:
New
Java Project.
Paso 4:
src y bin.
10
Paso 5:
mos congurar el proyecto para utilizar la codicacin de caracteres UTF-8. Este paso es muy importante para que el proceso de correccin automtica funcione bien. Selecciona el proyecto y pulsa el botn derecho seleccionando la opcin Properties. Elige el men Resource y modica Text File Encoding seleccionando Other e indicando UTF-8. Este paso se deber realizar al crear cada proyecto. Alternativamente es posible congurar Eclipse para que cualquier proyecto del workSpace utilice codicacin UTF-8. Para ello selecciona Window y elige el men General
Preferences
Paso 6:
new Class.
Paso 7:
Comprobar la creacin de
HolaMundo.java
en:
C:\hlocal\TP\Pr0\src\HolaMundo.java
11
Paso 8:
Paso 9a:
Boton Derecho.
Run As.
Java Application.
12
Paso 9b:
Paso 10:
Comprobar la creacin de
HolaMundo.class
en Eclipse:
13
C:\hlocal\TP\Pr0\bin\HolaMundo.class
4.
New
Pr0Main
tp.pr0. tp.pr0. En
main
mos a aadir un mtodo esttico, similar a las funciones procedurales, al que poder llamar desde el mtodo principal. Al ser un mtodo esttico no es necesario que lo llame un objeto instanciado, sino que se calica con el nombre de la clase.
package tp.pr0; class Pr0Main { public void escribeSaludo(String nombre) { System.out.println("Hola, " + nombre); } public static void main(String args[]) { Pr0Main pr0 = new Pr0Main(); pr0.escribeSaludo("Walterio Malatesta"); } }
Notas:
Como convencin, los nombres de los datos y mtodos en una clase se escriben en minsculas. Slo las clases e interfaces van con maysculas. Todas las instrucciones se terminan en ";". Observar las carpetas que Eclipse crea en el directorio ubicacin de
src
para alo-
Pr0Main.java
Pr0Main.class.
14
5.
ciones matemticas simples y que utilizaremos desde el una lista de nmeros combinatorios. Se debe crear la clase
main
para escribir
FuncsMatematicas
en el package
tp.pr0,
que
Tercera parte: (int n) public static int factorial public static int combinatorio (int n, int Clase FuncsMatematicas k)
Crear la clase FuncsMatematicas en el package tp.pr0, que javadoc: contenga dos mtodos estticos descritos por el siguiente documento generado con el comando javadoc: .
27
n k
n! k!(n k)!
El factorial de 0 y 1 es 1, y si nos preguntan por el factorial de un nmero negativo, devolveremos tambin un 0. En el caso de los nmeros combinatorios que devolveremos 0.
0 k n, y en otro caso,
Notas:
Es mejor utilizar como variables locales para guardar los resultados de los
15
factoriales un
long.
guiente en el mtodo
main:
for (int i = 0; i < 6; ++i) { for (int j = 0; j <= i; ++j) System.out.print(FuncsMatematicas.combinatorio(i,j) + " "); System.out.println(); }
Cuya salida debera ser:
1 1 1 1 1 1
1 2 3 4 5
1 3 1 6 4 1 10 10 5 1
6.
to deseado y la documentacin de algunas clases a implementar en formato HTML, daremos tambin una serie de pruebas que el cdigo deber pasar para que sea considerado vlido. Para ver cmo ser el mtodo utilizado durante el curso, para esta prctica proporcionamos los test que comprueban la implementacin de los mtodos
escribeSaludo
y de los de la clase
FuncsMatematicas.
Para pon-
1. Descomprimir el chero
TestsPr0.zip testProfesor.
en el directorio raz de la
src
bin,
un nuevo directorio
2. En eclipse forzar la actualizacin del proyecto para que aparezca el nuevo directorio (F5).
3. Hacer que eclipse considere tambin a ese directorio como cdigo fuente. Pulsar sobre la carpeta cionar la opcin Build Path
derecho y selec-
16
junit-x.xx.jar:
AllTests.java
Si todo ha ido bien, y los mtodos pedidos son correctos, saldr algo de la forma:
17
Nota importante:
test proporcionados.
7.
momento de la entrega. Para entregar la prctica se utilizar el mecanismo de entregas del campus virtual. La fecha lmite de la entrega aparecer en el enunciado, junto con la fecha de la defensa en el laboratorio. Para entregar la prctica se debe comprimir la solucin en un chero
.zip
GrupoNN.zip,
donde
NN
alumnos.txt src
El directorio
.classpath, .project
y directorio
.settings.
.zip
Grupo03.zip.
18
.zip
explicada anteriormente es la
Comprueba que los test de la prctica compilan con la solucin que va a ser enviada.
Si alguno de los pasos anteriores no es correcto informa para que se arreglen antes de enviar la prctica. No se debe enviar un .zip que no haya pasado el validador. Para hacerlo funcionar, se copia el
desde una consola (Smbolo del sistema) que tenga accesible tanto el JRE
valida.bat:
Es importante destacar que para poder ejecutar el validador, se necesita que la consola desde la que se lanza tenga en el path el JRE y el JDK, pues una de las cosas que se harn ser compilar la prctica. El validador ir mostrando el resultado del proceso. Si hay algn error y se quieren obtener ms detalles, se puede utilizar ms detallados. Si el directorio de trabajo donde se descomprime el validador est en la misma unidad que el directorio del usuario de Windows (directorio Mis Documentos), la ejecucin puede hacerse directamente desde el explorador. Basta con arrastrar el
8. Entrega de la prctica
19
8.
Entrega de la prctica
No es necesario que entregues esta prctica. No obstante, si quieres recor-
dar el uso del mecanismo de entregas de Moodle y que el profesor compruebe que la estructura que envas es correcta, puedes hacerlo hasta el 14 de Octubre.