Vous êtes sur la page 1sur 14

FUNDAMENTOS DE

INFORMTICA
PRCTICA
CURSO 2009/2010

Contenido
1 Introduccin ..........................................................................................................................4
2 Descripcin de la Prctica......................................................................................................4
3 ETAPA 1.................................................................................................................................5
3.1 ETAPA 1.1: Orientacin a Objetos....................................................................................5
3.1.1 Objetivos..................................................................................................................5
3.1.2 Requisitos previos....................................................................................................5
3.1.3 Enunciado: Creacin de una clase Persona..............................................................5
3.2 ETAPA 1.2: Ejecucin de Aplicaciones.............................................................................6
3.2.1 Objetivos..................................................................................................................6
3.2.2 Requisitos Previos....................................................................................................7
3.2.3 Enunciado: Java, Bluej y el mtodo main.................................................................7
4 ETAPA 2.................................................................................................................................8
4.1 ETAPA 2.1: Composicin y Herencia................................................................................8
4.1.1 Objetivos..................................................................................................................8
4.1.2 Requisitos Previos....................................................................................................8
4.1.3 Enunciado: Creacin de un Gestor de Clientes........................................................9
4.2 ETAPA 2.2: Los clientes son simplemente personas?.....................................................9
4.2.1 Objetivos..................................................................................................................9
4.2.2 Requisitos Previos....................................................................................................9
4.2.3 Enunciado: Extensin de la clase Persona.............................................................10
5 ETAPA 3...............................................................................................................................11
5.1 ETAPA 3.1: Polimorfismo..............................................................................................11
5.1.1 Objetivos................................................................................................................11
5.1.2 Requisitos Previos..................................................................................................11
5.1.3 Enunciado: Aadiendo clientes VIP........................................................................11
5.2 ETAPA 3.2: Completando el sistema.............................................................................12
5.2.1 Objetivos................................................................................................................12
5.2.2 Requisitos Previos..................................................................................................12
5.2.3 Enunciado: Gestor de Clientes Avanzado...............................................................12
2

6 Fechas y Normas de Entrega...............................................................................................13


6.1 Fechas...........................................................................................................................13
7 Normas de Entrega..............................................................................................................13
7.1 Evaluacin de la prctica..............................................................................................14
7.2 Preguntas al Equipo Docente........................................................................................14

INTRODUCCIN

Esta prctica la realizaremos en Java, un lenguaje orientado a objetos. El primer concepto que
se debe conocer para programar utilizando el paradigma orientado a objetos es el de 'objeto'.
En este paradigma, todo est basado en los objetos, que tienen vida cuando nuestro programa
est en ejecucin. Por tanto, un programa Java se organizar en objetos, que adems podrn
relacionarse entre si de diversas maneras.
Estas relaciones proporcionan al programador las funcionalidades necesarias para resolver una
amplia gama de problemas. La definicin de un objeto viene dada por lo que llamamos 'clase'.
La clase es lo que programaremos, aquello que escribiremos definiendo campos y mtodos.
Los campos y los mtodos nos permitirn aadir funcionalidad a la clase. Una vez definida, a
partir de la clase podremos crear objetos, que son los que existirn cuando nuestro programa
ejecute.
Por tanto, podemos ver los objetos como los componentes que nos servirn para disear
nuestro programa, y las clases como las definiciones de dichos objetos. Una misma clase
puede por tanto dar lugar a muchos objetos diferentes, cada uno con caractersticas diferentes
que vendrn dadas por los valores de sus campos.

DESCRIPCIN DE LA PRCTICA

La idea fundamental de la prctica es que el alumno sea capaz de construir un sistema bsico
de gestin de clientes, que adems de los datos bsicos de estos, incluir una aproximacin a
un sistema sencillo de fidelizacin de clientes basado en puntos (una simplificacin de los
programas de puntos que ofrecen algunas cadenas de hostelera, compaas areas o
hipermercados).
La forma de desarrollarlo ser partiendo del enfoque ms bsico, construyndolo de forma
iterativa. En cada etapa se partir del diseo y desarrollo de la etapa inmediatamente anterior
para aadir nuevas caractersticas y funcionalidades.
El sistema adems de almacenar los datos de los clientes, entre los que se incluirn los puntos
que un cliente tiene acumulados, ser capaz de realizar una serie de acciones sobre los
mismos. El incremento de los puntos como consecuencia de determinadas acciones de un
cliente no se incluye en la prctica. Lo que soportar la aplicacin que construiremos es la
modificacin directa y consulta de los puntos de un cliente.

ETAPA 1
3.1

ETAPA 1.1: ORIENTACIN A OBJETOS

3.1.1

OBJETIVOS

En la primera etapa de la prctica se van a afianzar los conceptos bsicos de la programacin


en Java. Trabajaremos con las caractersticas fundamentales de clase, atributos y mtodos
(constructores, mtodos que ayudan a la encapsulacin de la clase y mtodos de
visualizacin).
En cuanto a los atributos, aparte de los tipos primitivos, haremos uso de tipos enumerados
para definir el conjunto de valores que pueden ser asignados a un atributo.
Vemoslo con un ejemplo que nos permita comenzar esta primera etapa de la prctica.
En la prctica que queremos resolver este ao vamos a necesitar almacenar informacin de
personas diferentes. En otras palabras, cada persona ser un objeto. Las personas tendrn
unas caractersticas comunes, pero cada una ser diferente porque los valores de dichas
caractersticas sern diferentes.

3.1.2

REQUISITOS PREVIOS

Para la realizacin de esta primera etapa requiere haber estudiado los temas 4, 5 y 6 del
temario detallado de la asignatura, correspondientes a los captulos 1, 2 y 3, as como los
apndices B, C, D y G del libro de referencia de la Unidad Didctica II.

3.1.3

ENUNCIADO: CREACIN DE UNA CLASE PERSONA

Se desea disear un sistema informtico cuyo fin sea la gestin de clientes. Dentro de esta
primera parte se realizar una aproximacin bsica al modelado inicial de algunos de los
componentes del sistema. Los componentes bsicos de nuestro sistema en este punto del
desarrollo sern personas. Si las personas son objetos, para definir una persona necesitaremos
crear una clase.
Para ello, tenga en cuenta que una persona tendr las siguientes caractersticas (campos):

Nombre

Apellidos

NIF

Sexo

Ao de nacimiento

Adems, un objeto persona debe permitir consultar y modificar estos campos y calcular la edad
de una persona en base a su ao de nacimiento (por simplicidad puede suponerse que el
mtodo puede recibir como parmetro el ao actual) a travs de una serie de mtodos creados
a tal efecto.
Jugar con BlueJ creando personas, modificando sus datos, calculando su edad, etc. Cuntas
personas puedes crear? Cmo puedes acceder a ellas en BlueJ?

3.2
3.2.1

ETAPA 1.2: EJECUCIN DE APLICACIONES


OBJETIVOS

Es importante comprender que Java y BlueJ son cosas diferentes. Java es un lenguaje de
programacin, mientras que BlueJ es un entorno de programacin que nos permite programar
en Java. BlueJ est pensado para el aprendizaje de Java, y proporciona distintas herramientas
que permiten inspeccionar las partes de un programa, tanto en la parte de diseo (cuando
estamos escribiendo el cdigo) como en la de ejecucin (cuando el cdigo se ejecuta, se crean
los objetos en memoria, etc.)
Una de las herramientas de BlueJ que pueden resultar ms tiles, pero a la vez pueden
despistar ms, es el banco de objetos u object bench (captulo 1 del libro). En conjunto con
otras herramientas como el inspector de objetos, resulta muy interesante para jugar con los
objetos en tiempo de ejecucin de forma interactiva. BlueJ nos permite ejecutar nuestras
aplicaciones mediante la invocacin de los mtodos de sus objetos, pero no es sta la nica
manera de hacerlo.

Ilustracin 1: Banco de objetos (recuadrado en verde)


en BlueJ

A estas alturas sabemos que cada clase dispone de una serie de mtodos y campos, que son
propios de los objetos que creamos a partir de dicha clase, es decir, que para poderlos utilizar
necesitamos crear primero un objeto. Por ejemplo, la clase persona que hemos creado tiene un
mtodo para calcular la edad, que slo podr ser invocado una vez tengamos algn objeto de
esta clase. Pues bien, existe otro tipo de mtodos que no son propios de los objetos, sino de las
clases. De esta forma, no necesitamos una instancia particular de la clase (objeto) para
invocarlos.
Java, ms all de BlueJ, nos permite ejecutar los programas que creamos de forma
independiente. La ejecucin fuera de BlueJ comienza sin que exista ningn objeto (en BlueJ
primero se creaban objetos que se almacenan en el banco de objetos para posteriormente
invocar sus mtodos). Antes de tener objetos, lo nico que tenemos son las clases que los
definen, por lo que deberemos usar un mtodo de clase (de los que hablbamos en el prrafo
anterior) para poder iniciar la ejecucin.

Un caso particular de estos mtodos de clase es el mtodo main, que es el que se utiliza como
punto de partida para iniciar la ejecucin de un programa en Java (vase el apartado 3.2.2 ).
Al final de este apartado debera entender la diferencia entre ejecutar un programa en BlueJ y
hacerlo de forma independiente, esto es, por ejemplo, ejecutarlo desde la lnea de comandos
(smbolo de sistema en Windows).
La presente prctica debe poderse ejecutar independientemente de BlueJ de cara a
su entrega y correccin.

3.2.2

REQUISITOS PREVIOS

Adems de los expuestos en la seccin 3.1.2 , debe consultarse el libro de texto, captulo 7.15,
sobre mtodos de clase. Adems, en el apndice E del libro de texto puede encontrar ms
informacin sobre el mtodo main, en concreto en el apartado E1. Puede consultar tambin el
captulo 3.9 (Objetos que crean objetos) del libro de texto si necesita ms informacin acerca
de la creacin de objetos desde el cdigo.

3.2.3

ENUNCIADO: JAVA, BLUEJ Y EL MTODO MAIN

Aada un mtodo main, de momento puede incluirlo en la clase Persona o en una nueva clase
creada a tal efecto. Dentro de l pruebe a crear varios objetos Persona con diferentes
caractersticas y a acceder a las mismas mediante los mtodos pertinentes. Puede hacer uso
del mtodo System.out.println sobre el cul puede encontrar informacin en el captulo 2.8 del
libro de texto. Ejecute el programa desde BlueJ y desde la lnea de comandos (consola o
smbolo de sistema, segn el sistema operativo que utilice).

ETAPA 2
4.1

ETAPA 2.1: COMPOSICIN Y HERENCIA

4.1.1

OBJETIVOS

Los objetos pueden contener otros objetos y utilizarlos para realizar distintas tareas. De esta
forma, cuando un objeto contiene otros, hablamos de Composicin. En Java existen adems
estructuras de datos que nos permiten almacenar conjuntos de objetos, como es el caso de las
listas, los conjuntos o los mapas. De esta forma si quisiramos representar una Universidad
con estudiantes y profesores, podramos, por ejemplo, crear una clase Universidad que tuviera
un campo de tipo de lista de objetos de la clase Persona, que creamos en el apartado 3.1.3 .
Tendramos as que una Universidad se compone de personas.

Ilustracin 2: Diagrama de clases


correspondiente al ejemplo de la Universidad

Por otra parte, a medida que la aplicacin que estamos construyendo se hace ms grande y
compleja, conviene ir documentando las clases que hemos creado, no slo para que terceras
personas puedan comprender su funcionalidad sin tener que leer minuciosamente el cdigo,
sino para que nosotros mismos podamos en el futuro reutilizarlas de una forma sencilla. Para la
generacin de documentacin en Java disponemos de la herramienta Javadoc, que por medio
de determinado tipo de comentarios que podemos incluir en nuestro cdigo, permite la
generacin posterior de documentacin a partir del mismo.

4.1.2

REQUISITOS PREVIOS

Esta etapa requiere haber estudiado los temas 7, 8 y 9 del temario detallado de la asignatura.
Encontrar informacin ms detallada sobre el mecanismo de composicin y la generacin de
documentacin en el libro de texto de la asignatura en los captulos 4 y 5. Las lectura de las
secciones de 7.3 a 7.6 sobre buenas prcticas en el diseo de aplicaciones es tambin
recomendable.

4.1.3

ENUNCIADO: CREACIN DE UN GESTOR DE CLIENTES

Siguiendo el modelo de la Universidad, se debe crear un Gestor de Clientes que:


1. Almacene un listado de clientes. Cada cliente ser una Persona.
2. Se han de poder aadir y eliminar clientes del gestor. Para eliminar un cliente se puede
tomar el NIF como parmetro identificativo del cliente.
3. El gestor debe ser capaz de presentar por pantalla un listado de los clientes, incluyendo
la informacin de la que dispone de cada uno de ellos (Nombre, Apellidos, NIF, Sexo,
Edad).
4. Adems debe disponer de otro mtodo que dado un nombre de cliente, devuelva por
pantalla todos los datos de los clientes cuyos nombres coincidan con el indicado.
5. Desarrollar mtodos similares al descrito en 4, pero ahora para el resto de los datos de
una persona (Apellidos, NIF, Sexo, Edad, Ao de Nacimiento)
6. Documente las clases que ha creado hasta ahora. En el apartado 5.10.2 del libro de
texto se detalla la mnima documentacin que se debera incluir.
7. Implemente un mtodo main que permita lanzar la aplicacin de forma independiente y
que contenga el cdigo necesario para crear un gestor, aadir varias personas, eliminar
alguna de ellas y listarlas (listado de todos los clientes y listados por cada uno de los
parmetros por los que el gestor permite la bsqueda).
8. Tratamiento de errores. La aplicacin ha de contemplar casos cmo que un nombre o
un NIF no exista y debe gestionar este tipo de situaciones informando de la situacin.

4.2

ETAPA 2.2: LOS CLIENTES SON SIMPLEMENTE PERSONAS?

4.2.1

OBJETIVOS

El siguiente paso es preguntarnos si la clase Persona representa de forma precisa un cliente.


Los datos de una persona son necesarios para un cliente, pero ste debe tener adems otra
informacin que la clase persona no est preparada para almacenar. Por tanto, lo deseable
sera aadir ms informacin a la clase Persona, pero por otra parte, si se la aadimos
modificando la clase, obtendramos una clase que ya no representara a una persona, sino a un
cliente. Por otro lado, no queremos escribir una clase Cliente nueva que nos obligue a escribir
de nuevo todo el cdigo que ya tenemos en la clase Persona.
Para este tipo de situaciones, los lenguajes orientados a objetos, como Java, disponen de un
mecanismo llamado Herencia. La herencia permite construir una nueva clase que herede las
caractersticas de una clase existente. Por tanto, esta clase heredera o hija tiene toda la
funcionalidad de la clase de la que hereda (clase padre, siguiendo con la analoga),
permitiendo adems la inclusin de nuevos mtodos y campos para extender dicha
funcionalidad. As la clase resultante ser un extensin de la clase que ya tenamos, que
aportar las nuevas funcionalidades que la clase extendida no tena.

4.2.2

REQUISITOS PREVIOS

Esta etapa requiere haber estudiado los aparatados del 1 al 4 del tema 10 del temario
detallado de la asignatura, ambos incluidos. En los captulos 7 y 8 del libro de texto encontrar
informacin detallada sobre el diseo de clases y la herencia.

4.2.3

ENUNCIADO: EXTENSIN DE LA CLASE PERSONA

Ahora que sabemos como extender clases, podemos mejorar nuestro Gestor de clientes. Para
ello, cree una nueva clase Cliente que adems de los campos y mtodos que tiene una
Persona, tenga:

Un nmero de cliente.

El ao en que se le dio de alta como cliente.

Los puntos de los que dispone como cliente (podemos suponer que este sistema de
gestin cuenta con el tpico sistema de descuentos basado en puntos que se van
acumulando en base a la fidelidad). Estos puntos slo se podrn consultar mediante el
mtodo que se describe a continuacin.

Un mtodo que devuelva los puntos que acumula el cliente, sumndole, a los que tiene
acumulados, un 10% por cada ao de antigedad. El clculo se realiza tomando todos
los puntos acumulados por el cliente y sumndole un 10% de los mismos.

Cada uno de los nuevos campos debe poder consultarse y modificarse, con la excepcin
hecha en el caso de los puntos acumulados, que slo se podrn consultar con el mtodo
descrito anteriormente, es decir, no se podrn consultar los puntos acumulados sin
aplicarles el incremento del 10% por antigedad. Asimismo para modificar dichos
puntos acumulados, se deben facilitar mtodos especficos que permitan aadir 10, 20
y 30 puntos respectivamente.

Se pide adems la modificacin del Gestor de clientes (sin extender la clase en este caso,
modificando la existente):

Ahora funcionar con objetos de la clase Cliente, en lugar de objetos de la clase


Persona.

Aadir los nuevos campos a los listados que se presentaban por pantalla (incluidos los
puntos acumulados) as como los mtodos necesarios para poder realizar bsquedas de
clientes en base a los mismos. En el caso de los puntos, se ha de permitir la bsqueda
de todos aquellos clientes que acumulen ms de un nmero determinado de puntos.

Modificar apropiadamente el mtodo main del gestor para que funcione con las
modificaciones realizadas y aadir las lineas necesarias para que se impriman listados
utilizando los nuevos campos como parmetros de bsqueda.

10

ETAPA 3
5.1

ETAPA 3.1: POLIMORFISMO

5.1.1

OBJETIVOS

En orientacin a objetos el polimorfismo aparece en distintos contextos. Como la propia


palabra indica, polimorfismo se refiere a que un elemento concreto puede tener varias formas.
En el caso de las variables, el polimorfismo permite que una variable pueda contener objetos
de diferentes tipos o clases, ya sea el tipo declarado o cualquier subtipo de ste. Por ejemplo,
en esta prctica, una variable declarada de la forma:
Personap;
puede contener objetos no slo de la clase Persona, sino tambin objetos de la clase Cliente,
que en nuestra jerarqua es una clase hija (subclase o subtipo) de Persona.
Los mtodos en Java tambin pueden ser polimrficos, de tal forma que una llamada a un
mtodo en java puede invocar diferentes mtodos dependiendo, como en el caso anterior, del
contexto. El mtodo invocado depender del tipo dinmico de la variable usada para hacer la
invocacin.
En esta parte de la etapa nos vamos a centrar en extender la funcionalidad de la aplicacin sin
necesidad de modificar las clases que habamos creado anteriormente.

5.1.2

REQUISITOS PREVIOS

Esta etapa requiere haber estudiado los captulos del libro base de las etapas anteriores, as
como los temas 10, 11 y 12 del temario detallado de la asignatura, correspondientes a las
Secciones de la 7.3 a la 7.6 ,y los Captulos 6, 8 y 9 del libro base para la Unidad Didctica II.
En concreto la seccin 8.7.4 y relacionadas; y el captulo 9; particularmente el apartado 9.6 y
relacionados, resultarn tiles en la resolucin de esta etapa.

5.1.3

ENUNCIADO: AADIENDO CLIENTES VIP

En nuestro sistema hasta ahora slo tiene cabida un tipo de clientes. Se desea incluir un nuevo
tipo de Cliente, que llamaremos Cliente VIP. Estos clientes tienen todas las caractersticas de
los clientes normales, con una diferencia:

El mtodo que devuelve los puntos que acumula el cliente VIP debe sumar un 20% en
lugar de un 10% por ao de antigedad.

No se han de modificar las clases que ya tenamos para incluir este nuevo tipo de cliente
en el sistema. Se pide adems incluir en el mtodo main que lanza la aplicacin:

El cdigo para aadir algunos clientes VIP al gestor.

El cdigo necesario para imprimir un listado de clientes completo y comprobar que


efectivamente aparecen los clientes VIP y que sus puntos acumulados se muestran
correctamente (ya que se calculan de forma diferente a los puntos que acumula el resto
de clientes).
NOTA: No debera haber ninguna diferencia en el listado entre los distintos tipos de
clientes, debido a que el gestor no ha sido modificado y tal y como de ha diseado la
aplicacin el tipo de cliente debe ser transparente para el gestor gracias a la herencia y
al polimorfismo.
11

5.2

ETAPA 3.2: COMPLETANDO EL SISTEMA

5.2.1

OBJETIVOS

Hasta llegar a esta ltima etapa hemos hecho un recorrido por los aspectos ms importantes
de la programacin orientada a objetos en Java. Para finalizar el diseo e implementacin de la
aplicacin que tenemos entre manos, vamos a refinar su funcionalidad poniendo en prctica
todo lo aprendido.

5.2.2

REQUISITOS PREVIOS

Para la realizacin de esta parte es necesario haber estudiado y tener claro todo lo que se ha
ido estudiando a lo largo de la presente prctica.

5.2.3

ENUNCIADO: GESTOR DE CLIENTES AVANZADO

Sin modificar las clases existentes, se desea contar con un gestor de clientes avanzado que
aada las siguientes funcionalidades:

Eliminacin de clientes dado un nmero de cliente.

Eliminacin de clientes que se dieron de alta en el sistema antes de un ao


determinado.

Dado un NIF o un nmero de cliente (pero no ambos a la vez), transformar dicho cliente
en cliente VIP.

Dado un NIF o un nmero de cliente (pero no ambos a la vez), transformar dicho cliente
VIP en cliente normal.

Para los dos ltimos casos, responda a las siguientes preguntas:

Ha tenido en cuenta el tipo de cliente del que se trataba para transformarlo?

En caso afirmativo, Cmo ha abordado este problema?

Describa brevemente el proceso que ha seguido para convertir un cliente normal en


uno VIP, indicando cualquier detalle que considere relevante, as como los
mecanismos propios del paradigma orientado a objetos que haya utilizado.

Ha seguido un proceso muy diferente para transformar clientes VIP en clientes


normales?

12

FECHAS Y NORMAS DE ENTREGA


6.1

FECHAS

La realizacin de la prctica se llevar a cabo en los centros asociados, siendo las sesiones
organizadas y supervisadas por el tutor de la asignatura. Habr como mnimo tres sesiones
presenciales de obligatoria asistencia. En cada sesin se abordar cada una de las partes de
las que consta la prctica. Los alumnos debern ponerse en contacto con su centro asociado
para informarse acerca de cundo tendrn que asistir a las sesiones. Las fechas orientativas
para la realizacin de cada una de las etapas sern:

Finales de Marzo. Realizacin de la primera parte de la prctica.

Finales de Abril. Realizacin de la segunda parte de la prctica.

Mediados de Mayo. Realizacin de la tercera parte de la prctica.

NORMAS DE ENTREGA

La entrega de la prctica tiene que constar de dos partes:

Una memoria de no ms de 6 hojas donde se explique la especificacin y el diseo


realizados en cada parte de la prctica.

Para cada parte de la prctica se deben entregar tanto los ficheros fuente como un
fichero jar que permita la ejecucin de cada una de estas partes.

Los tutores de la asignatura debern mandar un informe (*) y una calificacin orientativa de
cada alumno antes del da 21 de Mayo de 2010. Debern subir al curso virtual (**) un
archivo comprimido con los cdigos de todas las prcticas de los alumnos de su centro
asociado, de modo que el equipo docente pueda revisarlas.
(*) Los informes se mandarn al equipo docente a travs de una herramienta Web que estar
disponible a partir de Mayo.
(**) Los cdigos comprimidos debern subirse por medio de un mensaje en foro de tutores del
entorno virtual.

NOTA IMPORTANTE: Los tutores tienen que cumplir una serie de requisitos ante los alumnos
debido a que la prctica cuenta para la calificacin de la asignatura. Por tanto antes de
entregar las calificaciones al equipo docente debern:
1. Publicar la nota de las prcticas en un lugar accesible para los alumnos (ya sea va web
o mandar un fax al centro asociado).
2. Establecer un da de revisin de prcticas (previo al periodo de entrega de las
calificaciones al equipo docente), dado que stas forman parte de la evaluacin del
alumno.

13

7.1

EVALUACIN DE LA PRCTICA

Los alumnos que quieran realizar el examen previamente tienen que haberse
presentado a las prcticas y tener un aprobado en stas. El informe del tutor se
considera a efectos de subir nota.
Las prcticas no se guardan de un curso para otro.

7.2

PREGUNTAS AL EQUIPO DOCENTE

El equipo docente atender preguntas de carcter metodolgico y de diseo. Las preguntas


relativas a la instalacin del entorno de desarrollo, puesta en funcionamiento y
errores de compilacin deben ser remitidas a los tutores de los centros asociados.
Felisa Verdejo Maillo, Catedrtica
Tutoras: Jueves de 16:00 a 20:00
Telfono: 91.398.64.84
Mail: felisa@lsi.uned.es

Enrique Amig Cabrera, Profesor Ayudante Doctor


Tutoras: Jueves de 16:00 a 20:00
Telfono: 91.398.86.51
Mail: enrique@lsi.uned.es

Vctor Fresno Fernndez, Profesor Ayudante Doctor


Tutoras: Jueves de 16:00 a 20:00
Telfono: 91.398.82.17
Mail: vfresno@lsi.uned.es

Alberto Prez Garca-Plaza, Profesor Ayudante


Tutoras: Jueves de 16:00 a 20:00
Telfono: 91.398.79.57
Mail: alpgarcia@lsi.uned.es

14

Vous aimerez peut-être aussi