Prueba objetiva - Universidad de Oviedo

Anuncio
Universidad de Oviedo
Licenciatura de Matemáticas
11/02/2002
Primer examen parcial
Algorítmica y Lenguajes de Programación
Apellidos:
Nombre:
D.N.I:
Notas:
1.
El examen consta de dos partes:
•
Una prueba objetiva con 15 preguntas.
•
Dos ejercicios (reverso de esta hoja).
2.
Los ejercicios se puntuarán de la siguiente forma:
•
Prueba objetiva: 3 puntos (acierto: 1/5, blanco: 0, fallo: -1/15. ¡Atención! Se penaliza el azar como método de respuesta)
•
Ejercicios 1 y 2: 3,5 puntos.
3.
En la solución de los ejercicios debe esbozarse, OBLIGATORIAMENTE, el análisis y diseño del algoritmo que resuelva el problema.
4.
El lenguaje de programación a utilizar es FORTRAN 90.
Prueba objetiva
1)
Un algoritmo es un
a) borrador de un programa de ordenador.
b) conjunto de instrucciones combinadas adecuadamente para
resolver un problema.
c) conjunto de instrucciones combinadas de forma adecuada.
d) conjunto de instrucciones que resuelve un problema.
2)
El análisis
a) es una fase en el proceso del desarrollo de un algoritmo.
b) es una fase en la que se define de forma precisa y no
ambigua el problema a resolver.
c) es una fase en la que se determina la forma de resolver el
problema.
d) no es necesario si se emplea una notación algorítmica.
11) En el lenguaje de programación FORTRAN la palabra
reservada RETURN
a) es análoga a BREAK pues detiene la ejecución del
subprograma.
b) es análoga a RESULT sólo que específica de las subrutinas.
c) es totalmente equivalente a RESULT solo que se emplea
tradicionalmente con subrutinas.
d) sirve para que las subrutinas retornen su resultado.
3)
La arquitectura Von Neumann (utilizada por los ordenadores
modernos) consta, al menos, de
a) Memoria, Dispositivos de E/S y Microprocesador.
b) Torre, Monitor y Teclado.
c) Unidad Aritmética, Unidad de Control y Dispositivos de E/S.
d) Unidad de Control, Dispostivos de E/S y Discos.
12) Es aconsejable implementar un subprograma como función
en lugar de como subrutina
a) si el subprograma modifica los argumentos.
b) si el subprograma no retorna un único valor.
c) si el subprograma no tiene argumentos.
d) si el subprograma retorna un único valor.
4)
La unidad mínima de información manejada por un
ordenador es
a) bit.
b) byte.
c) mega.
d) píxel.
13) Un problema definible en función de sus propios términos
a) es iterativo.
b) es recursivo.
c) no es ni recursivo ni iterativo.
d) no es recursivo.
5)
En código binario es posible representar
a) finitos números reales de precisión ilimitada.
b) finitos números reales de precisión limitada.
c) infinitos números reales de precisión ilimitada.
d) infinitos números reales de precisión limitada.
6)
La declaración implícita de variables en FORTRAN
a) debe utilizarse con precaución.
b) es imposible.
c) no debe utilizarse nunca.
d) no se utiliza en FORTRAN 90.
7)
La estructuras de control pueden ser
a) desde..hasta, mientras y repetir..hasta
b) do, do..while e if..then..else
c) secuencial, alternativa y repetitiva.
d) simples, dobles o multialternativas.
8)
Las estructuras de control
a) no pueden anidarse si son idénticas.
b) no pueden anidarse.
c) pueden anidarse si son idénticas.
d) pueden anidarse.
9)
10) Una invocación a función nunca
a) constituye una expresión.
b) puede aparecer a la izquierda de una asignación.
c) puede ser un argumento de un subprograma.
d) recibe varios argumentos.
14) La siguiente función recursiva
a) está bien definida aunque no finaliza.
b) está bien definida y finaliza.
c) está mal definida aunque finaliza.
d) está mal definida.
integer recursive function serendipity (a,b) result (r)
implicit none
integer a,b
if (a==b) then
r=serendipity(a+b,b-1)
else
if (a>b) then
r=serendipity(a-1,b/2)
else
r=serendipity(b,a-1)
end if
end if
end function
Las estructuras de control mientras y repetir..hasta
a) mientras se ejecuta 0 o más veces y repetir al menos 1
vez.
b) mientras se ejecuta al menos 1 vez y repetir 0 o más
veces.
c) se ejecutan 0 o más veces.
d) se ejecutan al menos 1 vez.
15) Un fichero
a) es un conjunto de registros.
b) es un documento de texto o un programa de ordenador.
c) es un fragmento de disco con un identificador único.
d) es una estructura que almacena información del mismo tipo
en disco.
Tabla de respuestas (Sólo serán válidas las respuestas que aparezcan en esta tabla)
1
A
B
C
D
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Ejercicio 1.
Desarrollar el algoritmo de un programa que calcule la superficie de un polígono de N lados en base a la fórmula que se
indica. En dicha fórmula (xi, yi) son los vértices del polígono donde el vértice n+1 coincide con el primero. Una vez
desarrollado el algoritmo, traducirlo a FORTRAN 90.
y
(x4,y4)
n +1
S=
∑ (x · y
i =1
i
(x5,y5)
− xi −1 · yi )
i −1
(x3,y3)
(x6,y6)
S
2
(x2,y2)
x
(x1,y1)
Por ejemplo, supongamos que se desea calcular la superficie del cuadrado
y
(x,y)
44
(x,y)
33
1
S
(x,y)
22
0
(x,y)
11
0
1
x
En este caso tenemos las coordenadas:
(x1,y1) = (0,0)
(x2,y2) = (1,0)
(x3,y3) = (1,1)
(x4,y4) = (0,1)
Se toma como punto (x5,y5) al (x1,y1), esto es, al (0,0). Por tanto la superficie del cuadrado será:
S=
( x2 · y1 − x1 · y2 ) + ( x3 · y2 − x2 · y3 ) + ( x4 · y3 − x3 · y4 ) + ( x5 · y4 − x4 · y5 )
=
2
=
( x2 · y1 − x1 · y 2 ) + ( x3 · y2 − x2 · y3 ) + ( x4 · y3 − x3 · y4 ) + ( x1 · y 4 − x4 · y1 )
=
2
=
(1·0 − 0·0) + (1·0 − 1·1) + (0·1 − 1·1) + (0·1 − 0·0)
=
2
=
(0 − 0) + (0 − 1) + (0 − 1) + (0 − 0)
=
2
=
0 −1−1+ 0 − 2
=
=1
2
2
Ejercicio 2.
Desarrollar el algoritmo de un subprograma que permita multiplicar matrices cuadradas (de dimensiones máximas 10x10).
Una vez hecho traducirlo a FORTRAN 90.
Descargar