mañanas

Anuncio
PROGRAMACIÓN 2. Curso 2015-16. 1a prueba voluntaria de evaluación
Esta es la primera prueba de evaluación voluntaria que se plantea en la asignatura Programación
2 a los alumnos matriculados en el grupo de mañana. Tiene un valor de 10 puntos. Debe ser
resuelta individualmente y deberá ser presentada antes de las 23 horas del 3 de abril
de 2016 a través de la plataforma Moodle2.
Considérese el esquema de fuente que se muestra más abajo. Se pide desarrollar el procedimiento
matPorVect y la función vectPorVect, sin utilizar bucles. Si el desarrollo requiere el uso de
funciones/procedimientos auxiliares, estos deberán estar correctamente especificadas, y tampoco pueden
usar bucles. De manera optativa, se puede desarrollar el procedimiento showVect.
...
using namespace std;
const int DIM = 5;
// Pre: true
// Post : vectXVect (v1,v2)=SUM a IN [0,DIM−1].v1[a]∗v2[a]
double vectXVect(const double v1[DIM], const double v2[DIM]){
// código a desarrollar
}
// Pre: true
// Post : PT a IN [0, DIM−1].res[a]=SUM b IN [0,DIM−1].M[a][b]∗v[b]
void matXVect(const double M[DIM][DIM], const double v[DIM], double res[DIM]){
// código a desarrollar
}
// Pre: true
// Post : Envı́a a stdout ( salida estándar ) las componentes del vector ”name”,
//
una por lı́nea . Formato: <name>[0]=<v[0]> ...
void showVect(const char name[], const double v[DIM]){
// este procedimiento es optativo
}
int main () {
double v[DIM] = {1.0, 2.0, 3.0, 4.0, 5.0};
double w[DIM];
double M[DIM][DIM] = {{11.0, 12.0, 13.0, 14.0,
{21.0, 22.0, 23.0, 24.0,
{31.0, 32.0, 33.0, 34.0,
{41.0, 42.0, 43.0, 44.0,
{51.0, 52.0, 53.0, 54.0,
15.0},
25.0},
35.0},
45.0},
55.0}};
matXVect(M, v, w);
showVect(”w”, w);
return 0;
}
Se entregará, a través de la plataforma Moodle2, un único fichero que contenga el código de las
funciones anteriores, precedido por el código de las funciones auxiliares que completen el diseño. Se
recomienda realizar las pruebas que sean necesarias para comprobar el buen funcionamiento.
En esta prueba es condición necesaria que los diseños presentados funcionen correctamente. En tal
caso, de cada uno de los diseños se valorará, esencialmente, la claridad y precisión de las especificaciones
de las funciones auxiliares, ası́ como la coherencia entre la especificación y el código de cada una de las
funciones desarrolladas.
No se admitirán trabajos que no se presenten a través de la plataforma Moodle2, ni trabajos
presentados fuera de plazo, ni trabajos plagiados total o parcialmente.
2
Descargar