Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Bloque
5 puntos
I.
Preguntas
cortas
LPOO
no vlida); }
ALGORITMO II
//fichero.cpp
void D::met(){
++at;
}
R) No existe una jerarqua; primero declaramos la clase A publica y las dems clases
heredaran de la clase madre que es A.
ALGORITMO II
R) El constructor es estado.
B
void g(); //version
C
void f(); //versin
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
ALGORITMO II
MessageBox.Show("Saldo pesetas: "+ m.Pesetas);
}
}
class Monedero{
private double soles;
//Completar
Previo a las preguntas 9-12: En C#, sea una clase genrica Bascula con un tipo genrico
T que declara un atributo con nombre elementos de tipo array de T:
9- En qu casos sera correcto el siguiente cdigo? Justifica la respuesta.
for (int i = 0; i < 10; i++)
ALGORITMO II
11- Supongamos que los elementos que almacena la clase genrica tienen un peso y
queremos aadir un mtodo que calcula el peso de los elementos. Cmo podramos
conseguir implementar esta funcionalidad?
12-La clase genrica incluye el siguiente mtodo que devuelve un iterador de los elementos
que superan un determinado peso. Indica el cdigo que hay que aadir al mtodo:
IEnumerable<T> FiltroPeso(int umbral) {
foreach (T elemento in elementos)
// Completar
13-Sean las interfaces Reseteable y Crono que se definen del siguiente modo:
interface Reseteable {
void Reset();
}
interface Crono {
void Start();
double Stop();
void Reset();
}
ALGORITMO II
R) no existen problemas; son dos mtodos diferentes que se le implementa con cada
una de sus funciones.
15-Escribe el cdigo C# equivalente al del ejercicio 14, incluyendo la declaracin del mtodo
Transformar y la llamada a dicho mtodo.
C#
Punto[] pentagono = new Punto[5];
ALGORITMO II
Bloque
5 puntos
II.
Ejercicios
FECHA: 10 /12/14
Se debe tener un mnimo del 40% de la puntuacin de este bloque para poder
aprobar el examen.
En este apartado se proponen ejercicios de programacin que deben ser resueltos
utilizando el lenguaje de programacin C#. Se valorar que los ejercicios cumplan la
funcionalidad requerida y que el cdigo cumpla los criterios de calidad expresados en el
tema 1 de la asignatura: extensibilidad, reutilizacin, principios de diseo modular, etc.
Para los ejercicios que solicitan expresar grficamente el cdigo de la aplicacin debe
utilizarse la siguiente notacin. Las clases y mtodos abstractos se marcarn con *. Un
mtodo redefinido se marcar con +.
Cuenta
int codigo
double saldo
void ingreso(double)
void reintegro(double)
double getSaldo()
itular
Persona
String nombre
String nif
String getNombre()
String getNif()
CuentaRemunerada *
double interes
double getIntereses()
double getBeneficio*()
double getSaldo+()
r ecibos
L ist
Domiciliacion
String empresa
String getEmpresa()
Clientela
Herencia
ALGORITMO II
Supongamos que un cliente realiza una compra que consiste en 3 cartones de leche (1,2
soles la unidad) y 5 botellas de agua (0,5 soles la unidad). El detalle de la compra sera:
3 x Cartn de Leche 1,2 3,6 soles
5 x Botella de Agua 0,5 2,5 soles o
Total Compra: 6,1 soles.
Algunos productos de la tienda pueden estar en promocin. A los productos en promocin
se les podr aplicar descuentos en la compra. Adems, en la tienda tenemos productos de
marcas blancas (productos blancos) que permiten obtener puntos. Cada producto
blanco proporciona una cantidad de puntos. Si un producto blanco est en promocin su
precio de venta siempre ser un 10% ms barato.
a) (05 ptos) Representa grficamente las clases que implementan la funcionalidad de la
aplicacin siguiendo la notacin propuesta.
b) (05 ptos) Escribe el cdigo del mtodo getPuntos() de la clase Compra. Los puntos
de la compra corresponden a los puntos asociados a los productos blancos.
c) (05 ptos) Escribe el cdigo de la clase ProductoBlanco.
La tienda aplica peridicamente descuentos a las compras. Los descuentos slo son
aplicables a los productos que estn en promocin. Actualmente se aplican dos tipos de
descuentos: 3x2 y segunda unidad a mitad de precio. El descuento 3x2 consiste en pagar
dos unidades cuando se compran 3 de un mismo producto. Por ejemplo, si en una lnea
de compra se adquieren 4 productos, 1 de ellos es gratuito, y si se adquieren 6, 2 son
gratuitos.
A continuacin se muestra el resultado de la compra aplicando el descuento 3x2 (los dos
productos estn en promocin). En la primera lnea de compra una unidad sale gratis y en
la segunda tambin:
d) (075 ptos) Escribe el cdigo de un mtodo en la clase Compra que calcule el total de una
compra aplicando un descuento. Ntese que los descuentos son aplicados a las lneas de
compra. Adems, la solucin debe ser vlida para cualquier tipo de descuento que se
introduzca ms adelante en la aplicacin. Ilustra la solucin implementando un descuento
3x2.
e) (025 ptos) Supongamos que tenemos un objeto compra. Escribe el cdigo que calcula el
total de la compra aplicando el descuento 3x2.
Ejercicio 2. Queremos implementar un Planificador de tareas de ejecucin de cdigo
que d prioridad a aquellas que se ejecutan ms rpido y penalice las tareas ms lentas.
Una Tarea se caracteriza por aplicar un algoritmo cuando se invoca el mtodo
ejecutar. Adems, este mtodo se encarga de calcular el tiempo en milisegundos
consumido en la ejecucin del algoritmo. Ejemplos de tareas: poner a un valor
determinado los elementos de una lista de enteros, compactar un array de cadenas,
multiplicar dos matrices, etc.
ALGORITMO II
Explica qu cambios habra que introducir en la clase Tarea del apartado a) para la
gestin de los errores de ejecucin.