CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

109
Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1 er curso Grado Ingeniería Aeroespacial. 27 de enero de 2011 APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI. Tiempo de examen 3:00 Horas. Hoja 1/3 CUESTIÓN 1 (2 Puntos) El siguiente programa esta codificado en lenguaje LS2 para la computadora CESIUS. Escriba en el recuadro adjunto el número, en decimal (no en binario), que sale por pantalla tras la ejecución completa del programa. NOTAS: Códigos de Operación: CAR (0010), ALM (0001), RES (0110), MOD (1001), ESC (0011), SAL (1010), ALT (0000). MOD: resto de división entera entre el acumulador y la memoria, con el resultado en el acumulador. CUESTIÓN 2 (1 Punto) Diseñe un circuito con puertas lógicas que calcule la parte entera de un número binario A0. El número A es un número de 3 bits con 0 bit en la parte fraccionaria (véase figura al margen). CUESTIÓN 3 (1 Punto) Escriba en los recuadros adjuntos el número 16.7 en binario codificado en: a) Punto fijo con 3 posiciones fraccionarias. b) Punto flotante según el estandar IEEE-754 de simple precisión. Pseudo / Instrucción ORG 1 SAL INI DV: DRE NUM NUM: CTE -9 PUN: ESP 1 UNO: CTE 1 DOS: CTE 2 INI: CAR DV SUM UNO ALM I DOS MOD DOS RES NUM ALM PUN ESC I PUN ALT FIN A2 A1 A0 A0 A1 A2

Transcript of CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Page 1: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 27 de enero de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 1/3

CUESTIÓN 1 (2 Puntos) El siguiente programa esta codificado en lenguaje LS2 para la computadora CESIUS. Escriba en el recuadro adjunto el número, en decimal (no en binario), que sale por pantalla tras la ejecución completa del programa.

NOTAS: Códigos de Operación: CAR (0010), ALM (0001), RES (0110), MOD (1001), ESC (0011), SAL (1010), ALT (0000). MOD: resto de división entera entre el acumulador y la memoria, con el resultado en el acumulador. CUESTIÓN 2 (1 Punto) Diseñe un circuito con puertas lógicas que calcule la parte entera de un número binario A≥0. El número A es un número de 3 bits con 0 bit en la parte fraccionaria (véase figura al margen).

CUESTIÓN 3 (1 Punto) Escriba en los recuadros adjuntos el número 16.7 en binario codificado en:

a) Punto fijo con 3 posiciones fraccionarias.

b) Punto flotante según el estandar IEEE-754 de simple precisión.

Pseudo / Instrucción ORG 1 SAL INI DV: DRE NUM NUM: CTE -9 PUN: ESP 1 UNO: CTE 1 DOS: CTE 2 INI: CAR DV SUM UNO ALM I DOS MOD DOS RES NUM ALM PUN ESC I PUN ALT FIN

A2 A1 A0

A0 A1 A2

Page 2: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 27 de enero de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 2/3

a b

c

d

NOMBRE TIPO DESCRIPCIÓN DEL OBJETO

A Matriz de

constantes enteras

Matriz del grafo

N Constante entera Dimensión de la matriz

f Vector de enteros

Vector de dimensión N de ceros

c Vector de enteros

Vector de dimensión N de ceros

i Constante Subíndice matriz o vector

j Constante Subíndice matriz o vector

k Constante Subíndice matriz o vector

CUESTIÓN 3 (3 puntos) A todo grafo orientado de N vértices se le puede asociar una matriz booleana A cuadrada de dimensión N, de modo que cada elemento aij de la matriz toma el valor 1 si existe arco entre los vértices (i,j), y 0 en caso contrario. Por ejemplo para un grafo con 4 vértices, vértices 1,2,3 y 4 denominados a, b, c, y d en la figura, la matriz será:

a b c d[ ]

A =

0 1 1 00 0 1 10 0 0 10 0 0 0

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

abcd

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

El grado de salida (entrada) de un vértice viene dado por la suma aritmética de los elementos de su fila (columna). Así, si el grado de salida de un vértice es 0 es un vértice de salida del grafo, es decir no hay ningún arco saliendo del vértice. De forma análoga si el grado de entrada de un vértice es 0, entonces es un vértice de entrada al grafo. Ejemplos: en la figura el grado de salida de los vértices a y b es 2; el grado de entrada de los vértices c y d es 2; el grado de entrada de los vértices b y c es 1; el grado de entrada del vértice a y el de salida del vértice d son ambos 0.

Realice un diagrama de flujo tal que dada una matriz cuadrada A, de dimensión N y escriba los vértices de entrada y salida del grafo, en ese orden. Para simplificar se supone que sólo hay un vértice de entrada y uno de salida. Sólo puede utilizar las variables proporcionadas en la tabla.

NOTA: Para hacer el diagrama de flujo utilice sólo las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥ , =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

INICIO

FIN

Page 3: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 27 de enero de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 3/3

CUESTIÓN 4 (3 puntos)

NOMBRE TIPO DESCRIPCIÓN DEL OBJETO

a Constante entera Dato

b Constante entera Dato

X Variable entera Dato para resto

Y Variable entera Dato para resto

R Variable entera Resto de la división

Euclides (1570) elaboró un algoritmo para calcular el máximo comun divisor entre dos números a y b, con a≥b. Dicho algoritmo se describe a continuación. Suponga que se desea calcular el máximo común divisor entre los números 77 y 42. Según dicho algoritmo se realizan las siguientes iteraciones:

I. 77 / 42 = 1, resto 35

II. 42 / 35 = 1, resto 7

III. 35 / 7 = 5, resto 0,

y finalmente el máximo común divisor es el número 7.

Se pide:

a) Hacer el diagrama de flujo del módulo RESTO, y que calcule el resto de la división de dos variables enteras X e Y. El módulo debe devolver el resto en una variable R (véase NOTA abajo).

b) Dados los números enteros a y b, hacer el diagrama de flujo del módulo MCD, y que escriba el máximo común divisor entre dos números enteros a y b, con a≥b. Debe utilizar el módulo RESTO del apartado anterior obligatoriamente.

NOTA: Para hacer los diagramas de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro. TODAS las operaciones son sólo sobre números enteros.

INICIO RESTO (apartado a)

FIN RESTO (apartado a)

FIN MCD (apartado b)

INICIO MCD (apartado b)

Page 4: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 4 de julio de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 1/3

CUESTIÓN 1 (2 puntos) Se desea hacer un programa en la computadora CESIUS para calcular una aproximación de la

N de un número entero N>1 dado. El método a utilizar para la aproximación será el método de la bisección sucesiva. Se pide, codificar en el lenguaje LS2, de la computadora CESIUS, un programa que lea del teclado el número N, y escriba en la pantalla la aproximación de la

N . NOTA: • Teniendo en cuenta las limitaciones de la

computadora CESIUS y por sencillez se fija la precisión requerida H a 1.

• Complete el resto del programa en la tabla adjunta, no pudiéndose reservar más espacio en la memoria para constantes y/o variables adicionales.

• Se recomienda el uso del diagrama de flujo

correspondiente. Se tendrá en cuenta positivamente la síntesis y eficiencia del programa. Una solución compacta y eficiente se obtiene en 32 líneas de código adicionales en la tabla.

ETIQ INSTR DIR COMENTARIO

ETIQ INSTR DIR COMENTARIO ORG 0 SAL INI N : ESP 1 ‘NUMERO H : CTE 1 ‘PRECISION UNO: CTE 1 DOS: CTE 2 A : ESP 1 ‘LIMITE B : ESP 1 ‘LIMITE XM : ESP 1 ‘PTO MEDIO AUX: ESP 1 ‘AUXILIAR INI:

Page 5: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 4 de julio de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 2/3

CUESTIÓN 2 (3 puntos) A todo grafo orientado de N vértices se le puede asociar una matriz booleana A cuadrada de dimensión N, de modo que cada elemento aij de la matriz toma el valor 1 si existe arco entre los vértices (i,j), y 0 en caso contrario. Por ejemplo para un grafo con 4 vértices, vértices 1,2,3 y 4 denominados a,b,c, y d en la figura, la matriz asociada será:

a b c d[ ]

A =

0 1 0 00 0 1 11 0 0 00 0 1 0

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

abcd

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

La matriz A indica los caminos de longitud 1 entre los vértices (i,j). Hallando: A2 = A·A, cada elemento de la matriz indica el número de caminos de longitud 2 entre los vértices (i,j); A3, cada elemento de la matriz indica el número de caminos de longitud 3 entre los vértices (i,j); y así sucesivamente. Se pueden detectar si existen circuitos en el grafo hallando las potencias sucesivas de A. Si no existen circuitos habrá un número k ≤ N, tal que Ak es nula a partir de la potencia k y además todas las sucesivas potencias deben tener su diagonal principal nula. Si existe un circuito de longitud k entonces Ak tendrá elementos no nulos en la diagonal principal. En el ejemplo de la figura hay un circuito de longitud 3 (abc) y uno de longitud 4 (abdc). Se pide realizar el diagrama de flujo de la función Circuitos que recibe como argumentos la matriz A y su dimensión N, y devuelve un vector v de dimensión N, tal que la componente k tenga valor 1 si un hay circuito de longitud k y valor 0 en caso contrario. Si se detecta que no hay ningún circuito la función debe finalizar la ejecución del programa. En el ejemplo de la figura las componentes del vector serán v = [0, 0, 1, 1]. Se dispone de los módulos y las funciones que se describen a continuación y que se deberán utilizar obligatoriamente en el diagrama de flujo de la solución:

a) La función Mul que recibe como argumento dos matrices cuadradas y su dimensión, y devuelve la matriz producto de ambas.

b) La función Copy que recibe como argumento una matriz cuadrada y su dimensión, y devuelve una matriz copia de la anterior.

c) El módulo Cero tal que dada una matriz B asigna a una variable r el valor 1 si todos los elementos de la matriz son cero, y el valor 0 en caso contrario.

NOTA: Para hacer los diagramas de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥ , =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

Pueden utilizarse sólo y exclusivamente los objetos proporcionados en la tabla al margen.

a b

c

d

NOMBRE TIPO DESCRIPCIÓN DEL OBJETO

A Matriz de

constantes enteras

Matriz del grafo

N Constante entera Dimensión de la matriz

i Constante entera

Subíndice para vector o matriz

j Constante entera

Subíndice para vector o matriz

k Constante entera Potencia de la matriz

Mul Función Función que multiplica dos matrices

Copy Función Función que devuelve una copia

B Matriz de

constantes enteras

Matriz para módulo Cero

Cero Modulo Módulo que comprueba si la matriz B es cero

r Constante entera

Variable para módulo Cero

v Vector de enteros

Vector de dimensión N de ceros

Page 6: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Civil. 21 de enero de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 3/3

FIN

INICIO

Page 7: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 2ª Conv. Ordinaria - 5 de septiembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 1/6

CUESTIÓN 1 (1 Punto) El siguiente programa esta codificado en lenguaje LS2 para la computadora CESIUS. Escriba en el recuadro adjunto el número, en decimal (no en binario), que sale por pantalla tras la ejecución completa del programa.

NOTAS: Códigos de Operación: CAR (0010), ALM (0001), RES (0110), MOD (1001), ESC (0011), SAL (1010), ALT (0000). MOD: resto de división entera entre el acumulador y la memoria, con el resultado en el acumulador. CUESTIÓN 2 (1 punto) Un sistema de comunicaciones utiliza 2 computadoras CESIUS, una como emisor (E) y otra como receptor (R). Para que funcione correctamente se necesita sincronizar la ejecución de los programas de ambas computadoras. Dado que el número de instrucciones de los programas de las computadoras son diferentes, se modifica el periodo del reloj de las Unidades de Control, para que así ambos programas se ejecuten en el mismo tiempo. Se pide calcular el ciclo por instrucción medio de cada computadora, detallando el cálculo en el recuadro adjunto. NOTA: Los datos de la computadora CESIUS y de los programas son:

• Las instrucciones directas se ejecutan en 1 ciclo del reloj y las indirectas en 2 ciclos del reloj. • Emisor: 80% instrucciones directas, 20% indirectas y número total de instrucciones 140. • Receptor: 60% instrucciones directas, 40% indirectas y número total de instrucciones 60.

Pseudo / Instrucción ORG 1 SAL INI DV: DRE NUM NUM: CTE -9 PUN: ESP 1 DOS: CTE 2 UNO: CTE 1 INI: CAR DV SUM UNO ALM I DOS MOD UNO RES NUM ALM PUN ESC I PUN ALT FIN

Page 8: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 2ª Conv. Ordinaria - 5 de septiembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 2/6

CUESTIÓN 3 (3 puntos) Entre las numerosas aportaciones de von Neumann están las serie convergente que se explica a continuación. Dada una matriz A cuadrada de dimensión N se define la serie convergente de von Neumann como

donde

IN es una matriz identidad de dimensión N, es decir formada por unos en los elementos de la diagonal principal y ceros en el resto. Por ejemplo, si N=2 la serie viene dada por

S =1 00 1⎛

⎝ ⎜

⎠ ⎟ −

a11 a12

a21 a22

⎝ ⎜

⎠ ⎟

⎣ ⎢

⎦ ⎥

−1

= 1 00 1⎛

⎝ ⎜

⎠ ⎟ +

a11 a12

a21 a22

⎝ ⎜

⎠ ⎟

1

+a11 a12

a21 a22

⎝ ⎜

⎠ ⎟

2

+a11 a12

a21 a22

⎝ ⎜

⎠ ⎟

3

++a11 a12

a21 a22

⎝ ⎜

⎠ ⎟

.

Se desea hacer un programa que calcule una aproximación de la serie de orden p, es decir que el índice k varíe desde 0 hasta un valor entero predeterminado p, y no hasta infinito. Se pide:

a) Realice el diagrama de flujo de la función Pot que reciba como argumento una matriz cuadrada A, su dimensión N y la potencia a la que se quiere elevar dicha matriz k, k≥1. La función debe devolver la matriz elevada a la potencia k, es decir

Ak .

b) Realice el diagrama de flujo de la función NmnS que reciba como argumentos la matriz A, su dimensión N y el orden p, y que devuelva la matriz aproximada de la serie S. Para resolver este apartado debe utilizar obligatoriamente la función del apartado anterior.

Además, se dispone de las siguientes funciones, que también deberá utilizar obligatoriamente en la resolución de los apartados anteriores:

• La función Mul que recibe como argumento dos matrices cuadradas y su dimensión, y devuelve la matriz producto de ambas.

• La función Sum que recibe como argumento

dos matrices cuadradas y su dimensión, y que devuelva la matriz suma de ambas.

• La función Id que genera una matriz

identidad de dimensión N. Recibe como argumento la dimensión N y devuelve la matriz identidad.

NOTA: Para hacer los diagramas de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

NOMBRE TIPO DESCRIPCIÓN DEL OBJETO

A Matriz de

constantes enteras

Matriz para la serie

N Constante

entera Dimensión de la matriz

i Constante

entera Subíndice para matriz

j Constante

entera Subíndice para matriz

k Constante

entera Potencia de la matriz

Pot Devuelve una matriz

Función que calcula la potencia de la matriz

Sum Devuelve una matriz

Función que suma dos matrices

Mul Devuelve una matriz

Función que multiplica dos matrices

NmnS Devuelve una matriz

Función que calcula la matriz de la serie

Id Devuelve una matriz

Función que genera una matriz identidad

Page 9: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 2ª Conv. Ordinaria - 5 de septiembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 3/6

Apartado a) Apartado b)

FIN

INICIO

FIN

INICIO

Page 10: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 2ª Conv. Ordinaria - 5 de septiembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 4/6

CUESTIÓN 4 (5 Puntos) Conecta-4 es un juego en el que dos jugadores colocan fichas alternativamente, cada uno de un color, sobre un tablero vertical de 7 columnas y 6 filas. Gana el juego aquel jugador que consiga colocar 4 fichas de su color alineadas consecutivamente bien en horizontal, en vertical o en diagonal. Cada vez que un jugador realiza una jugada, éste elige una columna del tablero (de 1 a 7) e introduce la ficha por la parte superior, dejándola caer por gravedad hasta depositarse sobre la última ficha introducida en esa columna, si la hubiese. Por ejemplo, en el tablero de la derecha, si se elige jugar con la columna número 2, la ficha introducida terminaría colocada en la fila número 5, encima de la única ficha de esa columna. Se desea realizar un programa en MATLAB que permita a un ordenador jugar a este juego contra un jugador humano. Para ello se propone representar el tablero del juego como una matriz de 6 filas y 7 columnas, de modo que una casilla vacía estará representada por un 0, un 1 corresponderá a una ficha jugada por la máquina y un 2 a una ficha jugada por el jugador humano. Plantear un algoritmo eficaz para jugar a este juego sería largo de explicar y más aún de programar. Por este motivo, puede suponer ya programada una función llamada

[r] = evalua_jugada(M, col, color_jugador) que devuelve un valor numérico, r , que indica si es buena o mala jugada que el jugador dado por el parámetro color_jugador (1=ordenador, 2=humano), coloque su ficha en la columna col, suponiendo que el tablero se encuentra en la situación indicada por la matriz M. La mejor jugada será aquella columna que haga máximo el valor de r según la función anterior. Para completar el programa se pide que escriba las funciones que se detallan a continuación: 1. (1 Punto) Diseñar la función actualiza_tablero que devuelve la matriz del tablero una vez se ha introducido

una nueva ficha. La función recibe como parámetros la matriz del tablero antes de introducir la ficha, la columna en la que se introducirá la ficha, y el color de la ficha (1=ordenador, 2=humano). La función debe devolver dos datos: La matriz del tablero actualizada y un valor numérico que valdrá 1 si se logró colocar la ficha con éxito, y 0 en caso contrario (si la columna ya estaba llena de fichas).

1 2 3 4 5 6 7

1

2

3

4

5

6

Function [______________]=actualiza_tablero(_____________________________)

Page 11: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 2ª Conv. Ordinaria - 5 de septiembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 5/6

2. (2.5 Puntos) Diseñar la función max_alineadas que determinará el tamaño del mayor grupo de fichas de un

determinado color que están alineadas, bien en horizontal, vertical o diagonal. La función recibe como parámetros la matriz del tablero y el color de las fichas de las que se quiere buscar la alineación (1=ordenador, 2=humano). La función devolverá el valor entero del mayor número de fichas alineadas del tablero.

function [_________]=max_alineadas(_______________________________________)

Page 12: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 2ª Conv. Ordinaria - 5 de septiembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 6/6

3. (1.5 Puntos) Diseñar la función juega_conecta_4 que, llamando obligatoriamente y convenientemente a

las funciones anteriores articule el programa principal del juego. Para ello la función deberá por este orden: • Preguntar por teclado qué jugador comenzará a jugar el juego (1=ordenador, 2=jugador humano) • Dar paso alternativamente a cada jugador, ordenador y humano, para que efectúen sus jugadas. En el

caso del jugador humano, se pedirá por teclado el número de la columna que juega. Si el jugador humano selecciona una jugada imposible (número de columna no existente o intenta colocar una ficha en una columna ya completa), deberá indicarse con un mensaje y permitir que el jugador introduzca otra columna.

• Tras cada jugada, se actualizará el tablero mostrándolo por pantalla (basta con mostrar la matriz que representa el tablero).

• En caso de que un jugador gane, deberá mostrarse un mensaje indicando quién ha ganado. Si se produce empate (se completa el tablero sin que ningún jugador alinee 4 fichas de su color), se mostrará también un mensaje.

function juega_conecta_4

Page 13: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ingeniería de Sistemas y Automática. Universidad de Sevilla Informática. 1º Ing. Aero. 2 de diciembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo de examen 2h Hoja 1/4

CUESTIÓN 1 (5 Puntos)

a) Se dispone de un conjunto de N pares desordenados de abscisas X = {xk} y ordenadas Y = {f(xk)} de una función f ∈ R desconocida. Realice el diagrama de flujo de la función Ordena que recibe como argumentos los vectores X e Y y su dimensión N, y devuelve los vectores X e Y, ordenando el vector X de menor a mayor. Para su realización utilice la estructura proporcionada y no use vectores adicionales.

NOTA: Para hacer el diagrama de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

NO

NO

SI

NO

SI

SI

Page 14: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ingeniería de Sistemas y Automática. Universidad de Sevilla Informática. 1º Ing. Aero. 2 de diciembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo de examen 2h Hoja 2/4

b) Utilizando la función Ordena descrita en el apartado anterior obtenga un algoritmo que lea un valor x* y

calcule y escriba la correspondiente ordenada y* mediante interpolación lineal. Suponga x1 ≤ x* ≤ xN.

NOTA: Para hacer el diagrama de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama ha de estar estructurado, ser claro, legible y ocupar sólo el espacio interior del recuadro.

NOMBRE TIPO DESCRIPCIÓN DEL OBJETO

N Constante entera Dimensión vectores

X Vector real Vector de abscisas

Y Vector real Vector de ordenadas

x* Variable real Dato de entrada y* Variable real Valor interpolado

Page 15: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ingeniería de Sistemas y Automática. Universidad de Sevilla Informática. 1º Ing. Aero. 2 de diciembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo de examen 2h Hoja 3/4

CUESTIÓN 2 (2 Puntos) Un número perfecto es un número natural que es igual a la suma de sus divisores propios positivos, sin incluirse él mismo. Por ejemplo, el 6 es un número perfecto, porque sus divisores propios son 1, 2 y 3; y 6 = 1 + 2 + 3. El siguiente número perfecto es 28 = 1 + 2 + 4 + 7 + 14.

Se pide:

a) Programe en MATLAB la función esperfecto, que reciba como argumento un número natural, y devuelva un valor 1 si el número es perfecto, y 0 en caso contrario.

b) Desarrolle la función principal en MATLAB que pida por teclado el número de números perfectos a calcular y, llamando a la función anterior, los calcule y los muestre por pantalla.

function ________ = esperfecto(____________________________________)

function ________ = principal()

Page 16: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ingeniería de Sistemas y Automática. Universidad de Sevilla Informática. 1º Ing. Aero. 2 de diciembre de 2011

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo de examen 2h Hoja 4/4

CUESTIÓN 3 (3 puntos) Se dispone de una matriz M en MATLAB de dimensiones FIL x COL elementos. El contenido de la matriz consiste en valores enteros 0 y 1, de modo que puede interpretarse como una imagen donde el valor 1 corresponde al color negro y el 0 al blanco (ver figura). IMPORTANTE: No se conoce el número de segmentos, ni su longitud ni colocación. Se pide programar la función busca_cortes que recibe como parámetros la matriz de la imagen y devuelve dos vectores con las filas y columnas de los cortes de los segmentos.

La matriz, interpretada como una imagen, contiene varias líneas verticales y horizontales (segmentos) que se cortan entre sí en ciertos puntos. Se pretende diseñar un programa que, a partir de la matriz, calcule las coordenadas de los cortes de los segmentos (La figura del ejemplo contiene tres puntos de corte). Tenga en cuenta que no se conoce la longitud de los segmentos, ni su colocación.

function __________ = busca_cortes(_______________________________)

Page 17: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Grado de Ingeniería Aeroespacial. 1ª Conv. Ordinaria - 28 de junio de 2012

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 1.5 h Hoja 1/2

Q =

P =

CUESTIÓN 1 (1 punto)

a) Deduzca el valor de la base N en la siguiente identidad:

b) Resuelva el siguiente sistema de ecuaciones para x e y, dando la solución en base hexadecimal.

c) Calcule el error relativo cometido al codificar el número 10.4 en punto fijo en un registro de 1 byte y 4 posiciones fraccionarias.

d) Escriba en el recuadro adjunto la expresión de las funciones lógicas de Q y P en función de las variables de

entrada del circuito de la figura formado por puertas AND, NAND y NOR.

CUESTIÓN 2 (1 punto) Para detectar posibles averías en una computadora CESIUS se carga en memoria el programa que aparece al margen derecho. Dicho programa ejecuta varias operaciones y el escribe el resultado final en la pantalla. Se pide, escribir en el recuadro de abajo: a) ¿qué escribe en la pantalla?; y b) ¿qué hay en la dirección 3 en decimal?

NOTA: Los códigos de operación ordenados de menor a mayor son: ALT, ALM, CAR, ESC, LEE, SUM, RES, MUL, DIV, MOD, SAL, SAN, SAC, SAP, ECA y LCA. CUESTIÓN 3 (3 puntos) Se desea simular en una computadora el juego de la vida, que consiste en simular la evolución de una colonia de células distribuidas aleatoriamente en una cuadrícula siguiendo ciertas reglas. Para ello, dada la disposición de la cuadrícula en un tiempo T se calcula la evolución en un tiempo posterior T+1 siguiendo las reglas siguientes: • Una célula sola (sin vecinas) en T muere por aislamiento en T+1. • Cada célula con dos células vecinas en T sobrevive en T+1. • En una casilla vacía con exactamente 3 células vecinas en T,

nace una nueva célula en T+1. • En una casilla con una célula que tiene 3 o más células vecinas

en T, muere por asfixia en T+1.

Como ejemplo véase la cuadrícula de 8x8 casillas al margen con cierta distribución de células ⚇ en un tiempo T (casillas negras con células). La evolución en el tiempo T+1, se calcula según las reglas, dando células que nacen ☺ y otras que mueren ☹. Nótese que la matriz se mantiene constante para el cálculo en el tiempo T+1.

DIR Instrucción 0 1010 0 000 0000 0100 1 0100 0 000 0000 0000 2 0000 0 000 0000 0001 3 1111 1 111 1111 1111 4 0010 0 000 0000 0001 5 0111 0 000 0000 0011 6 0101 0 000 0000 0001 7 0001 1 000 0000 0010 8 0011 0 000 0000 0001 9 0000 0 000 0000 0000

⚇ ⚇ ☹

☺ ⚇ ⚇

⚇ ☺

☺ ⚇ ☺

⚇ ⚇ ☹ ☺

⚇ ⚇

N =

x = y =

a) b)

Page 18: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Grado de Ingeniería Aeroespacial. 1ª Conv. Ordinaria - 28 de junio de 2012

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 1.5 h Hoja 2/2

Para hacer la simulación se considera que la cuadrícula de células está representada por una matriz cuadrada binaria A de dimensión N, donde cada elemento (i,j) es igual a uno si hay una célula y cero en caso contrario. Para simplificar considere los elementos de las filas y columnas de los extremos son cero (véase el ejemplo). Se pide hacer el diagrama de flujo de la función Evolucion que recibe como argumentos la matriz A, su dimensión N y el número máximo de periodos a simular P, y que devuelva la matriz resultante después de la evolución de la población de células en P periodos de tiempo. Se dispone de las siguientes funciones que deberá usar obligatoriamente en el diagrama de flujo: a) Función Vecinas, que recibe como

argumentos una matriz cuadrada, su dimensión y dos índices de un elemento genérico (i,j) de dicha matriz, y devuelve el número de células vecinas que dicho elemento tiene a su alrededor.

b) Función Copia, que recibe como argumentos una matriz y su dimensión, y devuelve una matriz copia de la misma.

NOTA: Para hacer los diagramas de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

NOMBRE TIPO DESCRIPCIÓN DEL OBJETO

A Constante Matriz binaria

N Constante Dimensión de la matriz

i Constante Subíndice

j Constante Subíndice

P Constante Número de periodos

Vecinas Función Número de vecinas

Copia Función Copia de matriz

INICIO

FIN

Page 19: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Grado de Ingeniería Aeroespacial. 1ª Conv. Ordinaria - 28 de junio de 2012

APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas únicamente en los recuadros indicados. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI

Tiempo 1.5h Hoja 1/3

CUESTIÓN 4 (2.5 Puntos) Se pretende realizar un programa en MATLAB que permita encontrar el camino de salida de un laberinto como el que se muestra en la figura, donde las casillas negras representan las paredes del laberinto, y las casillas blancas representan espacio libre por el que se puede circular. El laberinto se codificará como una matriz de dimensiones MxN en la que la celda (i,j) es 0 si, y solo si, en dicha posición del laberinto hay un obstáculo, y 1 en caso contrario. Por ejemplo, el laberinto de la figura se codificaría mediante la matriz 5x5 adjunta:

E 1 2 3 4 5 1 1 0 1 1 1 2 1 0 1 0 1 3 1 1 1 0 1 4 0 0 0 0 1 5 1 1 0 1 1

S Supóngase que conocemos la fila y columna de la entrada en el laberinto (fil_e, col_e) y la fila y columna de salida (fil_s, col_s), y que solo hay un camino entre las mismas, sin bifurcaciones o ramas sin salida (asumimos que esto es cierto sin necesidad de comprobarlo). Este es el caso del ejemplo anterior, con la entrada en (1,1) y la salida en (5,4). Diseñar una función que tome como parámetros la matriz que describe el laberinto y las coordenadas de la entrada y de la salida, y que devuelva una matriz de dimensiones Lx2, donde cada fila de la matriz son las coordenadas fila y columna de las sucesivos casillas de la matriz que componen el camino (L representa la longitud del camino). Solo podemos movernos hacia arriba, abajo, izquierda y derecha (nunca en diagonal). Por ejemplo para el laberinto propuesto donde la solución es la secuencia de casillas (1,1) (2,1) (3,1) (3,2) (3,3) (2,3) (1,3) (1,4) (1,5) (2,5) (3,5) (4,5) (5,5) (5,4), la matriz resultado sería aquella cuyas filas fuesen la secuencia de casillas anteriores (En el ejemplo, L sería 14, la longitud del camino).

function ____________ = laberinto (__________________________________________________)

Page 20: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Grado de Ingeniería Aeroespacial. 1ª Conv. Ordinaria - 28 de junio de 2012

APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas únicamente en los recuadros indicados. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI

Tiempo 1.5h Hoja 2/3

CUESTIÓN 5 (2.5 Puntos) Se desea realizar un programa para gestionar las entradas y salidas de vehículos de un aparcamiento. La información sobre las entradas y salidas de vehículos se encuentran codificadas en una matriz de operaciones con 4 columnas y tantas filas como entradas o salidas de vehículos haya registradas. De este modo, la primera columna representa la matrícula del vehículo (supondremos un número sin letras por simplicidad), la segunda columna la hora de entrada/salida (de 0 a 23), la tercera el minuto de entrada/salida (de 0 a 59), y la cuarta vale -1 si la operación es de salida y 1 si es de entrada. Así, por ejemplo si una fila de la matriz tiene los valores [3425 16 44 1] se interpretará como que el vehículo de matrícula 3425 entró en el aparcamiento a las 16:44. Ver matriz A del apartado b para un ejemplo de matriz de operaciones. Se pide realizar las siguientes funciones:

a) Función vehiculo_dentro cuyo propósito es determinar si un vehículo cuya matrícula se pasa como parámetro se encuentra dentro del aparcamiento, es decir, ha entrado pero no ha salido. La función recibe además la matriz de operaciones del aparcamiento y devolverá un vector con la hora y minuto de la última entrada del vehículo en el aparcamiento. Por ejemplo las 14:15 se representan como el vector [14 15]. Si no se encontrase el vehículo en el aparcamiento, se devolverá el vector [-1 -1]. Nota: Tenga en cuenta que un mismo vehículo puede entrar y salir varias veces y por tanto aparecer varias veces en la matriz de operaciones. La matriz de operaciones se supone bien construida y coherente.

b) Función lista_vehiculos cuyo propósito es determinar cuántos vehículos distintos han ocupado

el aparcamiento y el tiempo total de estacionamiento de cada uno de ellos. Así la función recibe como parámetros la matriz de operaciones del aparcamiento y un vector de 2 componentes conteniendo la hora y minutos del instante actual. La función deberá devolver una matriz con 3 columnas y tantas filas como vehículos distintos haya habido en el aparcamiento. De este modo, la primera columna será la matrícula del vehículo y la segunda y tercera columnas el número de horas y minutos respectivamente que ha estado estacionado el vehículo en total. Si un vehículo aun no ha salido del aparcamiento se calculará la duración de su estancia como la diferencia entre la hora de entrada y la hora actual.

function ____________ = vehiculo_dentro (________________________________________)

Page 21: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Grado de Ingeniería Aeroespacial. 1ª Conv. Ordinaria - 28 de junio de 2012

APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas únicamente en los recuadros indicados. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI

Tiempo 1.5h Hoja 3/3

Por ejemplo, si la matriz de operaciones es A, y la hora actual es [12 00] (las 12:00) el resultado sería la matriz R

⎟⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜⎜

−=

13011222210113333130101111

11510222210101111

A ⎟⎟⎟

⎜⎜⎜

⎛=

01333315122223001111

R

function ____________ = lista_vehiculos (________________________________________)

Page 22: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Ingeniería Aeroespacial y Aeronáutica. 11 de septiembre de 2012

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 2.5 h Hoja 1/2

CUESTIÓN 1 (1 punto) Dibuje en el recuadro adjunto el cronograma de las señales R, S’ y Q, sabiendo que todas las puertas lógicas tardan en dar el dato en sus respectivas salidas un ciclo del reloj definido. Considere el nivel alto como el “1” lógico y el nivel bajo como el “0” lógico.

CUESTIÓN 2 (1.5 puntos)

a) Codifique el diagrama de flujo de la figura en el lenguaje LS2 para la computadora CESIUS. DATOS: “Carácter” / Código ASCII en decimal : “.” / 46; “a” / 97; “z” / 122.

b) ¿Cuál es la estructura de programación equivalente para el bucle en MATLAB ?

Pseudo / Instrucción

Pseudo / Instrucción

Inicio

Fin

¿c ’.’?

Leer c

S N

0 k

1 k k

S

N

Escribir k

¿ c es una

letra

minúscula?

S’

CLK

R

S’

Q

Page 23: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Ingeniería Aeroespacial y Aeronáutica. 11 de septiembre de 2012

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 2.5 h Hoja 2/2

CUESTIÓN 3 (0.5 puntos) Su jefe lo considera un experto en computadoras y le exige bajar el tiempo de ejecución de uno de sus programas favoritos, el cual es de 25 segundos. Usted reescribe el código y reduce el número de instrucciones en un 25%. a) ¿Cuál es el nuevo tiempo de ejecución

del programa? Detalle el cálculo. b) Pero a su jefe no le parece suficiente aún y le exige más reducción.

Como no puede optimizar más el código, decide engañarlo duplicando la frecuencia del reloj. ¿Cuánto ha mejorado ahora?

CUESTIÓN 4 (2 puntos) Una mejora del método de Euler para el cálculo de integrales definidas es el método de los trapecios. En dicho método se aproxima el diferencial área por un trapecio en vez de por un rectángulo, como se muestra en la figura.

Realizar el diagrama de flujo de la función TRAPECIO, que reciba como argumentos los límites de integración a y b, y el paso de integración h. La función debe devolver la integral de una función genérica f(x). NOTA: Para hacer los diagramas de flujo utilice únicamente las operaciones +,-, ·, /, asignación

( ), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

NOMBRE TIPO DESCRIPCIÓN DEL

OBJETO

a Constante Límite inferior

b Constante Límite superior

h Constante Paso de integración

f(x) Función Devuelve el valor de f en x

INICIO

FIN

f(xk)

f(xk+1)

xk xk+1

Page 24: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Ingeniería Aeroespacial y Aeronáutica. 11 de septiembre de 2012

APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 2.5 h Hoja 1/3

CUESTIÓN 5 (5 puntos) Se pretende realizar un programa en MATLAB que permita optimizar perfiles de corte para piezas empleadas en la industria aeroespacial. Las piezas se obtienen a partir de planchas de metal rectangulares, y la geometría de cada pieza es un dato conocido. Por ejemplo, en la figura, se representa una de estas planchas rectangulares como una matriz de dimensiones MxN: A la izquierda se representa la plancha de metal con la posición de la que se extraerán las piezas 1 y 2. Si deseáramos añadir un corte más para la pieza 3, hay evidentemente muchas posiciones posibles para obtener dicho corte. Se entiende sin embargo que el corte es óptimo si se minimiza la superficie total de metal empleado entre todos los cortes. En este caso, la solución óptima consiste en girar la pieza 3, 90º en sentido antihorario y colocarla tal como indica la figura de la derecha. Esta posición es óptima porque todos los cortes podrían obtenerse de una plancha de dimensiones 3x3=9 casillas, el valor más pequeño posible en este caso.

M

1 1 2 1 1 3 3 1 1 2

1 2 1 3 1 3 2

1 N 1 1 3 3

2

2

Tanto las piezas como las planchas se representarán como matrices rectangulares de dimensiones apropiadas, donde una casilla con valor 0 indicará espacio vacío, y un valor distinto de 0 representa un espacio ocupado por la pieza correspondiente. Para ayudarle a resolver el problema, se pide que resuelva las siguientes funciones:

a) Función gira_pieza, cuyo propósito es obtener una pieza girada 90º en el sentido de las

agujas del reloj (ver ejemplo). La función recibirá la pieza a girar como una matriz MxN y devolverá la pieza girada como una matriz de dimensiones NxM. Puede emplear la función size para determinar el tamaño de la pieza.

1 1

1 0 1 1 1

1 0 0 0 1

Pieza 3

Plancha con posición optima de corte

pieza 3

function pza_girada = gira_pieza (pza)

[M,N]=size(pza); % Calculamos las dimensiones de la pieza, M y N

Pieza 2

Pieza 1

Plancha antes de corte pieza 3

Pieza antes

de girar Pieza girada

Page 25: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Ingeniería Aeroespacial y Aeronáutica. 11 de septiembre de 2012

APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 2.5 h Hoja 2/3

b) Función pos_valida, cuyo propósito es determinar si es posible cortar una pieza de la

plancha en una determinada posición. La función recibe las matrices de la plancha y de la pieza a cortar, así como la fila y columna de donde se desea cortar la pieza. La función devolverá 1 si es posible cortar la pieza de la plancha, colocando la casilla superior izquierda de la pieza sobre la plancha en la posición (fila,col), y 0 en caso contrario. Ej: en la figura de la izquierda, la pieza 3 aparece colocada en la fila 1 y columna 1 en una posición compatible con el corte (no hay solapamiento). Si colocásemos la pieza 3, por ejemplo, en la fila 3 y columna 1, la posición no permitiría el corte ya que se solaparía con la pieza 1 que ya está colocada.

M

1 1 2 1 1 2

1 3 2 1 2

1 3 3 N 1

3 3

function res = pos_valida (plancha, pza, fil, col)

[M,N]=size(plancha); % Calculamos las dimensiones de la plancha, M y N

[Mp,Np]=size(pza); % Calculamos las dimensiones de la pieza, Mp y Np

Pieza en

posición

fil=1,col=1

Solape en

posición

fil=3,col=1

Page 26: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Ingeniería Aeroespacial y Aeronáutica. 11 de septiembre de 2012

APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 2.5 h Hoja 3/3

c) Función busca_pos_optima, cuyo propósito es determinar la mejor posición para cortar una

pieza de una plancha determinada. La función recibe las matrices de la plancha y de la pieza cuyo corte se quiere añadir a la plancha, y devolverá la posición óptima, fila y columna, donde se debe cortar la pieza. La función devolverá también el giro óptimo que se debe dar a la pieza, valor que será 0 si no es necesario girar la pieza, 1 si es necesario girarla 90º, 2 si el giro es de 180º y 3 si el giro es de 270º. Se entiende que una posición y giro son óptimos, si esa posición y giro son compatibles con el corte, y además hace que todos los cortes se puedan obtener de la plancha rectangular más pequeña de todas las posibles. Ej: La pieza 3 puede cortarse como en la figura de la izquierda colocándola en la posición

fil=1,col=1,orient=3, o en como en la figura de la derecha, en fil=3,col=2,orient=1. La primera

opción es mejor porque puede obtenerse una plancha de tamaño 3x3=9, más pequeña que la

plancha 4x3=12 necesaria en la segunda opción.

M

1 1 2 1 1 2

1 3 2 1 2

1 3 3 N 1 3 3

3

Suponga que dispone de la función plancha_menor que, recibiendo la matriz

correspondiente a una plancha, devuelve el tamaño de la plancha más pequeña de la que se

pueden extraer todos los cortes. Es decir, para el ejemplo anterior de la izquierda, devolvería 9,

y para el ejemplo de la derecha, 12.

IMPORTANTE: Esta función deberá llamar apropiadamente a las funciones de los

apartados a y b, así como a la función plancha_menor.

function [fil, col, giro] = busca_pos_optima (plancha, pza)

[M,N]=size(plancha); % Calculamos las dimensiones de la plancha, M y N

[Mp,Np]=size(pza); % Calculamos las dimensiones de la pieza, Mp y Np

CONTINÚE POR DETRÁS

Posición y

orientación

óptima para

la pieza 3

Posición y

orientación no

óptima.

Page 27: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Examen 1ª Convocatoria, Primer Cuatrimestre. Informática. 1er curso Grado en Ingeniería Aeroespacial

26 de Junio de 2013 APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas en los recuadros indicados. Entregue todas las hojas con su nombre y apellidos.

1/3

CUESTIÓN 1 (5 PUNTOS) Responda adecuadamente a las siguientes cuestiones. 1) Escriba el número en base decimal 61 en binario, octal y hexadecimal. Justifique su respuesta con los cálculos oportunos. Binario:

Octal:

Hexadecimal:

2) ¿Cuál es el mínimo tamaño en bits del registro de direcciones necesario para direccionar 34500 palabras de memoria? Justifique su respuesta con los cálculos oportunos.

3) Suponga una máquina como CESIUS, si el tamaño de palabra de memoria es de 16 bits y el registro de direcciones utiliza 12 bits, ¿cuántas instrucciones diferentes podrá utilizar? Justifique su respuesta.

4) Dibuje el diagrama de bloques de la arquitectura de computador propuesta por Von Neumann.

Page 28: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Examen 1ª Convocatoria, Primer Cuatrimestre. Informática. 1er curso Grado en Ingeniería Aeroespacial

26 de Junio de 2013 APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas en los recuadros indicados. Entregue todas las hojas con su nombre y apellidos.

2/3

5) Construya la tabla de verdad de la siguiente función booleana ab + ab + cc . Dibuje un circuito que la implemente.

6) Se tiene una fotografía de 1920x1080 píxeles en blanco y negro. Si cada píxel puede representar 256 valores diferentes entre el blanco y el negro, ¿cuántos megabytes serán necesarios para almacenar la fotografía en un disco duro?

7) Indique las diferencias existentes entre la codificación en punto flotante y en punto decimal. ¿Cuál de las dos permite representar un mayor rango de números?

8) Indique y describa brevemente al menos tres características que puedan ser utilizadas para describir y comparar diferentes tipos de memoria.

Page 29: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Examen 1ª Convocatoria, Primer Cuatrimestre. Informática. 1er curso Grado en Ingeniería Aeroespacial

26 de Junio de 2013 APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas en los recuadros indicados. Entregue todas las hojas con su nombre y apellidos.

3/3

CUESTIÓN 2 (5 PUNTOS)

Se desea generar un patrón para fabricar una pieza según el dibujo de la figura. Realice el diagrama de flujo del algoritmo correspondiente y codifique posteriormente dicho algoritmo en LS2. Nota: Los códigos ASCII del espacio (ESP), nueva línea (NL) y la letra ´X´ son el 32, el 10 y el 88 respectivamente. En el algoritmo sólo se permitirá el uso de 2 bucles..

Nombre Valor Tipo dato Objeto        

       

       

       

NOTA: Para hacer el DF utilice sólo las operaciones +,-, ·, /,resto división entera (%), asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible.

Inicio

Fin

Page 30: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Examen 1ª Convocatoria, Segundo Cuatrimestre. Informática. 1er curso Grado en Ingeniería Aeroespacial

26 de Junio de 2013 APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas en los recuadros indicados. Entregue todas las hojas con su nombre y apellidos.

Hoja 1/3

CUESTIÓN 1 (5 Puntos) CUESTIONES CORTAS

a) Escriba el código necesario en MATLAB que permita invertir una cadena de texto almacenada en cad. El resultado debe quedar almacenado en la misma cadena cad sin usar ninguna otra cadena auxiliar.

b) Escriba una función en MATLAB que permita generar la serie numérica: 1, -2, 3, -4, 5, -6, ….

La función no deberá recibir ningún parámetro formal y se diseñará de modo que cada nueva llamada a la misma devuelva un término de la sucesión, comenzando por 1.

c) Complete el siguiente código para, empleando el método de interpolación lineal, calcular el valor de

la función y(t) en tast, suponiendo conocidos los valores de ésta para los instantes de tiempo dados por el vector t. Si tast excede los límites de t, se mostrará mensaje de advertencia.

cad=input(‘Introduzca texto’,’s’); L=length(cad);

function [termino] = serie()

t=[0, 0.5, 1, 1.5, 2, 3, 4, 5]; y=[0, 1, 2, 3, 2, 1, 0, 0]; tast=input(‘Introduzca valor de t*: ’);

Page 31: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Examen 1ª Convocatoria, Segundo Cuatrimestre. Informática. 1er curso Grado en Ingeniería Aeroespacial

26 de Junio de 2013 APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas en los recuadros indicados. Entregue todas las hojas con su nombre y apellidos.

Hoja 2/3

CUESTIÓN 2 (5 Puntos)

Una administración de loterías desea realizar un programa informático para permitir a sus clientes comprobar si los billetes que han adquirido están o no premiados. Supondremos que un billete de lotería se compone de un número de 5 cifras (de 00000 a 99999) y una serie de 2 cifras (de 00 a 99). Por simplicidad, que los premios se calculan con el siguiente procedimiento:

1. Con independencia de la serie, si coindice la cifra de las unidades del número con la del billete premiado, recibe 10€ de premio. Si coinciden unidades y decenas, 100 €. El premio se multiplica por 10 con cada cifra coincidente hasta un máximo de 100.000€ si coinciden las 5 cifras. Importante: es necesario que coincidan todas las cifras consecutivamente a partir de las unidades. Por ejemplo, si el número premiado es 12345 y estamos comprobando los billetes b1=12355 y b2=44445, el billete b1 recibiría 10€ al coincidir las unidades, pero no las decenas (la coincidencia en centenas, millares, etc no se tiene en cuenta en este caso). El billete b2 recibiría 100€ de premio al coincidir unidades y decenas.

2. Los premios anteriores se duplican si además coincide la serie. Se pide:

a) Realizar la función calcula_premio que recibe como argumentos el número y serie del billete premiado y del billete del cliente que se quiere comprobar. La función devolverá la cuantía del premio que corresponda, o cero si el billete no tiene premio. NOTA: Puede crear funciones auxiliares si lo requiere.

function premio=calcula_premio(nro_premiado,serie_premiada,nro_cliente,serie_cliente)

Page 32: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Examen 1ª Convocatoria, Segundo Cuatrimestre. Informática. 1er curso Grado en Ingeniería Aeroespacial

26 de Junio de 2013 APELLIDOS: NOMBRE: Nº MATRÍCULA/D.N.I.:

Escriba las respuestas en los recuadros indicados. Entregue todas las hojas con su nombre y apellidos.

Hoja 3/3

b) Realizar la función listado_premios que, recibiendo el número y serie del billete premiado, calcule los premios que corresponden a los billetes de un conjunto de clientes cuyos datos se encuentran en un fichero de texto de nombre clientes.txt. Dicho fichero contiene un número indeterminado de filas consistentes en una cadena de caracteres (el nombre del cliente como una sola palabra sin espacios), seguido de dos enteros (el número y serie del billete de lotería que juega el cliente). La función deberá generar otro fichero de texto de nombre premios.txt que añada a cada fila del fichero clientes.txt el premio asociado. Ejemplo: Si el número premiado es 34574, serie 86

NOTA: Use la función del apartado a para resolver esta cuestión.

Antonio_Perez 33474 23 Manuel_Lopez 34524 86 Alicia_Ruiz 18574 01 Maria_Gomez 34578 45

clientes.txt

Antonio_Perez 33474 23 100 Eur Manuel_Lopez 34524 86 20 Eur Alicia_Ruiz 18574 01 1000 Eur Maria_Gomez 34578 45 0 Eur

premios.txt

function listado_premios(nro_premiado, serie_premiada)

Page 33: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen de la Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. CUESTIÓN 1 (2.5 PUNTOS) Lea atentamente las siguientes indicaciones antes de proceder a resolver el ejercicio:

- Cada pregunta bien contestada supone 0.25 puntos.

- Tenga en cuenta que cada pregunta puede tener más de una respuesta correcta.

- Si una pregunta tiene varias respuestas correctas y usted no las selecciona todas, recibirá únicamente la parte proporcional de la nota de la pregunta. Por ejemplo, si una pregunta tiene dos respuestas correctas y selecciona solo una de ellas, su nota en la pregunta será 0.125.

- Una sola respuesta errónea en la pregunta implica que la pregunta se considere como mal contestada.

- Cada pregunta mal contestada resta la mitad de una pregunta bien contestada, es decir, 0.125 puntos.

- IMPORTANTE: solamente serán tenidas en cuenta las respuestas que se encuentren en la plantilla final que acompaña el ejercicio.

Responda adecuadamente a las siguientes preguntas de tipo test. 1) El número binario 1110000 se corresponde con: a) El número 112 en base decimal. b) El número 230 en base octal. c) El número 70 en hexadecimal. d) El número 1310 en base 4. 2) Si se dispone únicamente de dos bits para codificar números en complemento a 2, puede afirmarse que: a) El rango de números enteros que se puede codificar es [-1,1]. b) El rango de números enteros que se puede codificar es [-2,1]. c) El rango de números enteros que se puede codificar es [-1,2]. d) El rango de números enteros que se puede codificar es [-2,2]. 3) El mínimo tamaño en bits del registro de direcciones necesario para direccionar 10000 palabras de memoria es: a) 14 bits. b) 15 bits. c) 16 bits. d) 17 bits. 4) Si el tamaño de palabra de memoria en un ordenador como CESIUS es de 16 bits y el registro de direcciones utiliza 10 bits, ¿cuántas instrucciones diferentes podrá utilizar? a) 4 instrucciones. b) 8 instrucciones. c) 16 instrucciones. d) 32 instrucciones.

Page 34: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen de la Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. 5) Un biestable de tipo RS: a) Es asíncrono si las entradas R y S no cambian a la vez. b) Puede ser utilizado en combinación con otros biestables RS síncronos para la realización de un registro. c) Es un circuito secuencial porque su salida depende únicamente de la entrada. d) Es el único tipo de biestable que existe. 6) La función booleana a ab c+ + : a) Siempre es verdadera. b) Siempre es falsa. c) Con respecto a las entradas a y b se comporta como un XOR negado. d) Las respuestas a), b) y c) son incorrectas. 7) En una imagen a color, cada píxel se describe mediante la combinación de los colores rojo, azul y verde. Si se sabe que cada uno de estos colores puede tener 16 intensidades diferentes y se conoce que la imagen tiene 100x100 píxeles, ¿cuántos kilobytes serán necesarios como mínimo para almacenar la fotografía en un disco duro? a) 20 kB. b) 15 kB. c) 10 kB. d) 5 kB. 8) Los componentes principales de la arquitectura de Von Neumann: a) Son la memoria, la unidad de control, la unidad aritmético-lógica, los dispositivos de entrada y salida con su correspondiente interfaz de conexión y los buses de datos, direcciones y control. b) Son la memoria, la unidad de control, la unidad aritmético-lógica, la unidad neumática, los dispositivos de entrada y salida con su correspondiente interfaz de conexión y los buses de datos, direcciones y control. c) Ya no se fabrican, ya que su diseño data de mediados del siglo pasado y sus componentes están desfasados. d) Pueden ser fabricados con diferentes tipos de tecnologías. 9) La instrucción de LS2 SAL: a) Debe utilizarse al menos tres veces en un programa. b) Es característica de la programación estructurada. c) Actualiza el valor del registro acumulador. d) Las opciones a), b) y c) son incorrectas. 10) Un semáforo está compuesto por tres luces de diferente color cuyo estado puede ser: encendido, apagado o parpadeo. Indique cuáles de las siguientes afirmaciones son ciertas. a) Con tres luces y tres estados, el semáforo podría señalizar hasta 3 situaciones diferentes. b) Con tres luces y tres estados, el semáforo podría señalizar hasta 9 situaciones diferentes. c) Con tres luces y tres estados, el semáforo podría señalizar hasta 27 situaciones diferentes. d) Las respuestas a), b) y c) son incorrectas.

Page 35: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen de la Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. CUESTIÓN 1 (2.5 PUNTOS) Lea atentamente las siguientes indicaciones antes de proceder a resolver el ejercicio:

- Cada pregunta bien contestada supone 0.25 puntos.

- Tenga en cuenta que cada pregunta puede tener más de una respuesta correcta.

- Si una pregunta tiene varias respuestas correctas y usted no las selecciona todas, recibirá únicamente la parte proporcional de la nota de la pregunta. Por ejemplo, si una pregunta tiene dos respuestas correctas y selecciona solo una de ellas, su nota en la pregunta será 0.125.

- Una sola respuesta errónea en la pregunta implica que la pregunta se considere como mal contestada.

- Cada pregunta mal contestada resta la mitad de una pregunta bien contestada, es decir, 0.125 puntos.

- IMPORTANTE: solamente serán tenidas en cuenta las respuestas que se encuentren en la plantilla final que acompaña el ejercicio.

Responda adecuadamente a las siguientes preguntas de tipo test. 1) El número binario 1110001 se corresponde con: a) El número 113 en base decimal. b) El número 231 en base octal. c) El número 70 en hexadecimal. d) El número 1310 en base 4. 2) Si se dispone únicamente de dos bits para codificar números en complemento a 1, puede afirmarse que: a) El rango de números enteros que se puede codificar es [-1,1]. b) El rango de números enteros que se puede codificar es [-2,1]. c) El rango de números enteros que se puede codificar es [-1,2]. d) El rango de números enteros que se puede codificar es [-2,2]. 3) El mínimo tamaño en bits del registro de direcciones necesario para direccionar 20000 palabras de memoria es: a) 14 bits. b) 15 bits. c) 16 bits. d) 17 bits. 4) Si el tamaño de palabra de memoria en un ordenador como CESIUS es de 16 bits y el registro de direcciones utiliza 10 bits, ¿cuántas instrucciones diferentes podrá utilizar? a) 4 instrucciones. b) 8 instrucciones. c) 16 instrucciones. d) 32 instrucciones.

Page 36: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen de la Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. 5) Un biestable de tipo RS: a) Es asíncrono si las entradas R y S no cambian a la vez. b) Puede ser utilizado en combinación con otros biestables RS síncronos para la realización de un registro. c) Es un circuito secuencial porque su salida depende únicamente de la entrada. d) Es el único tipo de biestable que existe. 6) La función booleana ab + ab+ ab + ab : a) Siempre es verdadera. b) Siempre es falsa. c) Con respecto a las entradas a y b se comporta como un XOR negado. d) Las respuestas a), b) y c) son incorrectas. 7) En una imagen a color, cada píxel se describe mediante la combinación de los colores rojo, azul y verde. Si se sabe que cada uno de estos colores puede tener 16 intensidades diferentes y se conoce que la imagen tiene 100x100 píxeles, ¿cuántos kilobytes serán necesarios como mínimo para almacenar la fotografía en un disco duro? a) 20 kB. b) 15 kB. c) 10 kB. d) 5 kB. 8) Los componentes principales de la arquitectura de Von Neumann: a) Son la memoria, la unidad de control, la unidad aritmético-lógica, los dispositivos de entrada y salida con su correspondiente interfaz de conexión y los buses de datos, direcciones y control. b) Son la memoria, la unidad de control, la unidad aritmético-lógica, la unidad neumática, los dispositivos de entrada y salida con su correspondiente interfaz de conexión y los buses de datos, direcciones y control. c) Ya no se fabrican, ya que su diseño data de mediados del siglo pasado y sus componentes están desfasados. d) Pueden ser fabricados con diferentes tipos de tecnologías. 9) La instrucción de LS2 SAL: a) Se utiliza para sumar el contenido del registro Acumulador con el registro Logarítmico. b) Debe evitarse en la medida de lo posible ya que conduce a programas no estructurados. c) Actualiza el valor del registro acumulador. d) Las opciones a), b) y c) son incorrectas. 10) Un semáforo está compuesto por tres luces de diferente color cuyo estado puede ser: encendido, apagado o parpadeo. Indique cuáles de las siguientes afirmaciones son ciertas. a) Con tres luces y tres estados, el semáforo podría señalizar hasta 3 situaciones diferentes. b) Con tres luces y tres estados, el semáforo podría señalizar hasta 9 situaciones diferentes. c) Con tres luces y tres estados, el semáforo podría señalizar hasta 27 situaciones diferentes. d) Las respuestas a), b) y c) son incorrectas.

Page 37: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen Primera Convocatoria.

Apellidos: Calificación ¤

nnnn

Nombre: nnnnnnn ¤ Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI.

Importante: - Para corregir fácilmente los errores, puede rellenar la plantilla a lápiz. - Rellene su DNI en el siguiente recuadro antes de realizar el ejercicio. - Rellene completamente un cuadro para elegir la respuesta: Incorrecto: ý þ Correcto: n

Nota  para  la  realización  de  esta  cuestión:    -­‐ Para hacer los DF utilice sólo las operaciones +,-, ·, /,resto división entera (%), asignación (←),

comparaciones <, >, ≤, ≥, =, ≠, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

¤ 0 1 2 3 4 5 6 7 8 9 ¤ 1er dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ n 2do dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ n 3er dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ n 4to dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ n 5to dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ n 6to dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ n 7mo dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ n 8vo dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ n n n n n n n n n n n ¤

Page 38: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI.

2/4

CUESTIÓN 2 (2.5 PUNTOS) La sucesión bicicleta es una sucesión periódica cuyos términos están definidos de la siguiente manera:

bn =bn!1 +1bn!2

Donde bn es el término n-ésimo de la sucesión y bn-1 y bn-2 son los dos términos que lo preceden. a) Realice el diagrama de flujo y la tabla de objetos de un programa que pida al usuario los dos términos iniciales de la sucesión y un índice n, de modo que se imprima por pantalla el valor bn calculado conforme a la sucesión anterior.

Nombre Valor Tipo dato Objeto

       

       

       

Page 39: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI.

3/4

b) Realice un programa en LS2 que pida al usuario los dos términos iniciales de la sucesión y que calcule si hay un valor de n <100 para el que se cumple que bn=b1, donde b1 es el primer término de la sucesión. En caso afirmativo, se imprimirá el valor n por pantalla. Por ejemplo, si b1=2 y b2=3, podrá comprobar fácilmente que b3=2, por lo que debería imprimirse el número 3 por pantalla.

       

       

       

       

       

       

Page 40: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI.

4/4

       

       

       

       

       

       

Page 41: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 25 de Junio de 2014. Examen de 1ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

1/3

CUESTIÓN 3 (2.5 puntos) Un programador ha diseñado un procedimiento para codificar un texto empleando una secuencia de números. En este procedimiento cada letra del texto se codifica como un número de dos cifras, donde las cifras de las decenas y unidades representan respectivamente, la fila y columna de una matriz de letras que contiene todas las letras del abecedario de la A a la Z (Considere sólo letras mayúsculas por simplicidad). Por ejemplo, si queremos codificar la palabra HOLA, buscaremos las letras que la componen en la tabla: La letra H está en la casilla (1,8), de modo que le corresponde el número 18, la letra O está en la casilla (2,7), y le corresponde el número 27, y así sucesivamente. La palabra completa se corresponde por tanto con la secuencia numérica 17, 27, 24, 11. Conteste a las siguientes preguntas:

a) Desarrolle la función crea_matriz que genere una matriz de letras como la del ejemplo, recibiendo como parámetro el número de filas de la matriz, FIL. El número de columnas se calculará como el mínimo valor necesario para que la matriz contenga todas las letras del abecedario (En el ejemplo, con 4 filas son necesarias un mínimo de 8 columnas ya que 8*4>=26, que es el número de letras del abecedario). Las posiciones de la matriz que excedan a la letra Z, se rellenarán con el símbolo ‘-‘ como en el ejemplo.

b) Desarrolle la función codifica_texto que guarde en un fichero de texto el resultado de

codificar una cadena de texto que se pasa como argumento, cad. La función recibe además el nombre del fichero de texto, nombre_fichero, y el número de filas de la matriz que se usará para la codificación, FIL. El primer valor numérico del fichero deberá ser el número de filas de la matriz de codificación, y a continuación el resto de valores numéricos que codifican las letras. Puede usar la función del apartado a si lo requiere. Por ejemplo, si la función recibe la cadena HOLA y la codificación se hace con una matriz de 4 filas, como en el ejemplo, el fichero contendrá los números 4, 17, 27, 24, 11.

function mat = crea_matriz (FIL)

1 2 3 4 5 6 7 8 1 A B C D E F G H 2 I J K L M N O P 3 Q R S T U V W X 4 Y Z - - - - - -

Page 42: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 25 de Junio de 2014. Examen de 1ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

2/3

CUESTIÓN 4 (2.5 puntos) El establecimiento caffe pour la minori se enorgullece de servir el mejor café del mundo. El secreto reside en el modo de preparación del café, una vez hecho el café en una cafetera especial, se ha de dejar reposar exactamente 1 minuto, aportándole una cantidad constante de calor Q de forma que al final de dicho minuto la temperatura del mismo sea de 40º. La ecuación diferencial que gobierna la evolución de la temperatura es:

!"(!)!"

= −! ! ! − !! + ! Donde:

• K es una constante de valor conocido. • T(t) es la temperatura del café, inicialmente To; • Ta es la temperatura ambiente, conocida, pero puede variar de un día para otro. • Q es la cantidad de calor que se ha de aportar.

Se pide:

function codifica_texto(cad, nombre_fichero, FIL)

Page 43: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 25 de Junio de 2014. Examen de 1ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

3/3

a) Empleando el método de integración de EDO’s de Euler, programar la función caffe que calcule y devuelva la temperatura final del café tras un minuto de reposo. Emplear un paso de integración delta=0.1 seg.

b) Programar la función calcula_Q, que empleando el método de bisección, determine el valor de Q necesario para preparar el café perfecto, es decir, el valor que Q que hace que la temperatura del café al final del minuto de reposo sea 40ºC con un margen de error de 1ºC como máximo. Observe que el cálculo de Q se reduce a aplicar el método de bisección a la función: f(Q) =caffe (K,To,Ta,Q)-40 (K, To y Ta son contantes conocidas) Nota: Se puede razonar que la función f(Q) tiene una solución entre los valores Q=0 y Q=K*Ta.

function T1min = caffe (K,To,Ta,Q)

function Q = calcula_Q (K,To,Ta)

Page 44: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 3 de Septiembre de 2014. Examen de 2ª Convocatoria1er curso

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. CUESTIÓN 1 (2.5 PUNTOS) Lea atentamente las siguientes indicaciones antes de proceder a resolver el ejercicio:

- Cada pregunta bien contestada supone 0.25 puntos.

- Tenga en cuenta que cada pregunta puede tener más de una respuesta correcta.

- Si una pregunta tiene varias respuestas correctas y usted no las selecciona todas, recibirá únicamente la parte proporcional de la nota de la pregunta. Por ejemplo, si una pregunta tiene dos respuestas correctas y selecciona solo una de ellas, su nota en la pregunta será 0.125.

- Una sola respuesta errónea en la pregunta implica que la pregunta se considere como mal contestada.

- Cada pregunta mal contestada resta la mitad de una pregunta bien contestada, es decir, 0.125 puntos.

- IMPORTANTE: solamente serán tenidas en cuenta las respuestas que se encuentren en la plantilla final que acompaña el ejercicio.

Responda adecuadamente a las siguientes preguntas de tipo test. 1) El número binario 00101010 se corresponde con: a) El número 42 en base decimal. b) El número 52 en base octal. c) El número 2A en hexadecimal. d) El número 2222 en base 4. 2) Un semisumador es un circuito que tiene dos entradas (a y b) y dos salidas (s y c, donde s es la suma binaria de las dos entradas y c el acarreo, es decir, la que me llevo). Indique qué afirmaciones son correctas: a) La función lógicas de las salidas son s=a*b y c=a+b b) La función lógicas de las salidas son s=neg(xor(a,b)) y c=a*b c) La función lógicas de las salidas son s=xor(a,b) y c=a+b d) La función lógicas de las salidas son s=xor(a,b) y c=a*b. 3) Un registro de direcciones con un tamaño de 15 bits puede direccionar: a) 5000 palabras. b) 15000 palabras. c) 150000 palabras. d) 1500000 palabras. 4) El registro de direcciones de un ordenador tiene menos bits de los que necesitaría para direccionar el número total de palabras que hay en la memoria. Indique si son verdaderas o falsas las siguientes afirmaciones: a) La parte de memoria no direccionable puede ser utilizada en cualquier caso. b) La parte de memoria no direccionable puede ser utilizada poniendo a 1 el bit de extensión de memoria. c) Si la parte de memoria no direccionable contiene instrucciones de un programa no podrán ser ejecutadas. d) El resto de opciones son incorrectas.

Page 45: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 3 de Septiembre de 2014. Examen de 2ª Convocatoria1er curso

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. 5) En binario, la operación de dividir entre dos puede realizarse: a) Desplazando todos los bits de un número una posición hacia la derecha. b) Desplazando todos los bits de un número una posición hacia la izquierda. c) La división no está definida entre los números binarios. d) Ninguna de las respuestas restantes es correcta. 6) La función booleana (a + b )(a + b) : a) Siempre es verdadera. b) Siempre es falsa. c) Con respecto a las entradas a y b se comporta como un XOR. d) Ninguna de las opciones restantes es correcta. 7) Se tiene una imagen monocroma de 10x10 pixeles. Si cada píxel puede representar 1024 valores diferentes entre el blanco y el negro, ¿cuántos kilobits serán necesarios para almacenar la imagen en un disco duro? a) 1 kb. b) 10 kb. c) 100 kb. d) 1000 kb. 8) En la arquitectura de Von Neumann, la misión de la memoria principal es: a) Proporcionar un soporte para el almacenamiento de datos. b) Proporcionar un soporte para el almacenamiento de la secuencia de instrucciones que debe llevar a cabo la CPU. c) Proporcionar un soporte para el almacenamiento del contador del programa. d) Ninguna de las respuestas restantes es correcta. 9) La programación estructurada: a) Garantiza la inexistencia de bucles infinitos en un programa. b) Constituye la filosofía de programación de lenguajes como C. c) Se basa en la utilización de estructuras secuenciales, o condicionales, iterativas. d) El resto de opciones son falsas. 10) Un biestable: ! Almacena dos bits de información, uno por cada uno de sus posibles estados. ! Si es de tipo RS tiene dos entradas, R (Reset) y S (Set). ! Puede ser de muchos tipos, RS-NOR, RS-NAND, D, JK. ! En un registro, tiene la misma señal de reloj que el resto de biestables del registro.

Page 46: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 3 de Septiembre de 2014. Examen de 2ª Convocatoria1er curso

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. CUESTIÓN 1 (2.5 PUNTOS) Lea atentamente las siguientes indicaciones antes de proceder a resolver el ejercicio:

- Cada pregunta bien contestada supone 0.25 puntos.

- Tenga en cuenta que cada pregunta puede tener más de una respuesta correcta.

- Si una pregunta tiene varias respuestas correctas y usted no las selecciona todas, recibirá únicamente la parte proporcional de la nota de la pregunta. Por ejemplo, si una pregunta tiene dos respuestas correctas y selecciona solo una de ellas, su nota en la pregunta será 0.125.

- Una sola respuesta errónea en la pregunta implica que la pregunta se considere como mal contestada.

- Cada pregunta mal contestada resta la mitad de una pregunta bien contestada, es decir, 0.125 puntos.

- IMPORTANTE: solamente serán tenidas en cuenta las respuestas que se encuentren en la plantilla final que acompaña el ejercicio.

Responda adecuadamente a las siguientes preguntas de tipo test. 1) Un semisumador es un circuito que tiene dos entradas (a y b) y dos salidas (s y c, donde s es la suma binaria de las dos entradas y c el acarreo, es decir, la que me llevo). Indique qué afirmaciones son correctas: a) La función lógicas de las salidas son s=a*b y c=a+b b) La función lógicas de las salidas son s=neg(xor(a,b)) y c=a*b c) La función lógicas de las salidas son s=xor(a,b) y c=a+b d) La función lógicas de las salidas son s=xor(a,b) y c=a*b. 2) El mínimo tamaño en bits del registro de direcciones necesario para direccionar 31000 palabras de memoria es: a) 14 bits. b) 15 bits. c) 16 bits. d) 17 bits. 3) El número binario 00101011 se corresponde con: a) El número 42 en base decimal. b) El número 52 en base octal. c) El número 2B en hexadecimal. d) El número 2222 en base 4. 4) El registro de direcciones de un ordenador tiene menos bits de los que necesitaría para direccionar el número total de palabras que hay en la memoria. Indique si son verdaderas o falsas las siguientes afirmaciones: a) La parte de memoria no direccionable puede ser utilizada en cualquier caso. b) La parte de memoria no direccionable puede ser utilizada poniendo a 1 el bit de extensión de memoria. c) Si la parte de memoria no direccionable contiene instrucciones de un programa no podrán ser ejecutadas. d) El resto de opciones son incorrectas.

Page 47: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 3 de Septiembre de 2014. Examen de 2ª Convocatoria1er curso

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. 5) En binario, la operación de dividir entre dos puede realizarse: a) Desplazando todos los bits de un número una posición hacia la derecha. b) Desplazando todos los bits de un número una posición hacia la izquierda. c) La división no está definida entre los números binarios. d) Ninguna de las respuestas restantes es correcta. 6) La función booleana (a + b )(a + b) : a) Siempre es verdadera. b) Siempre es falsa. c) Con respecto a las entradas a y b se comporta como un XOR. d) Ninguna de las opciones restantes es correcta. 7) Se tiene una imagen monocroma de 10x10 pixeles. Si cada píxel puede representar 1024 valores diferentes entre el blanco y el negro, ¿cuántos kilobits serán necesarios para almacenar la imagen en un disco duro? a) 1 kb. b) 10 kb. c) 100 kb. d) 1000 kb. 8) En la arquitectura de Von Neumann, la misión de la memoria principal es: a) Proporcionar un soporte para el almacenamiento de datos. b) Proporcionar un soporte para el almacenamiento de la secuencia de instrucciones que debe llevar a cabo la CPU. c) Proporcionar un soporte para el almacenamiento del contador del programa. d) Ninguna de las respuestas restantes es correcta. 9) La programación estructurada: a) Garantiza la inexistencia de bucles infinitos en un programa. b) Constituye la filosofía de programación de lenguajes como C. c) Se basa en la utilización de estructuras secuenciales, o condicionales, iterativas. d) El resto de opciones son falsas. 10) El biestable de la figura: ! Es síncrono. ! Seguiría funcionando correctamente si CLK valiera 0 todo el tiempo. ! Está mal dibujado. ! No modifica el valor de la señal Q si las señal S vale 0.

Page 48: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 3 de Septiembre de 2014. Examen de 2ª Convocatoria1er curso

Apellidos: Calificación !

""""

Nombre: """"""" ! Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. Importante:

- Para corregir fácilmente los errores, puede rellenar la plantilla a lápiz. - Rellene su DNI en el siguiente recuadro antes de realizar el ejercicio. - Rellene completamente un cuadro para elegir la respuesta: Incorrecto: # $ Correcto: "

Nota  para  la  realización  de  esta  cuestión:    -­‐ Para hacer los DF utilice sólo las operaciones +,-, ·, /,resto división entera (%), asignación (←),

comparaciones <, >, ≤, ≥, =, ≠, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

! 0 1 2 3 4 5 6 7 8 9 ! 1er dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ " 2do dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ " 3er dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ " 4to dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ " 5to dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ " 6to dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ " 7mo dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ " 8vo dígito DNI ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ ☐ " " " " " " " " " " " !

Page 49: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI.

2/4

CUESTIÓN 2 (2.5 PUNTOS) La criptografía es el arte de escribir con una clave secreta, de modo que un mensaje encriptado solo pueda ser descifrado por aquellas personas que conocen la clave. Uno de los métodos de cifrado más famosos es el cifrado por desplazamiento o César, en honor a Julio César, que lo utilizaba para comunicarse con sus generales. Se trata de un cifrado por sustitución en el que una letra en el texto original es reemplazada por otra letra que se encuentra en una posición que está un número de caracteres más adelante en el alfabeto. Por simplicidad, se asumirá que todos los caracteres están en mayúscula y que se utiliza el alfabeto ASCII, es decir, el alfabeto utilizado es: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Por tanto, si se tiene el siguiente mensaje a cifrar: ME GUSTA LA INFORMATICA El criptograma (o mensaje cifrado) para un desplazamiento de 3 posiciones sería: PH JXVWD OD LQIRUPDWLFD Nótese que en caso de que el cifrado requiera una letra posterior a la ‘Z’, se sigue contando a partir del inicio el alfabeto, es decir, se continúa a partir de la ‘A’. Realice el diagrama de flujo y la codificación en LS2 de un programa que pida al usuario un desplazamiento y un mensaje de hasta 100 caracteres, que deberá ser cifrado y mostrado en pantalla. Si la longitud del mensaje es inferior a 100 caracteres, el usuario introducirá el carácter punto (‘.’) para indicar que ha terminado.

Page 50: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI.

3/4

Diagrama de Flujo:

Page 51: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeronáutica. 25 de Junio de 2014. Examen Primera Convocatoria.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI.

4/4

LS2:

       

       

       

       

       

       

Page 52: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 3 de Septiembre de 2014. Examen de 2ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

1/4

CUESTIÓN 3 (1.5 Puntos) CUESTIONES CORTAS

a) Desarrolle el código necesario para construir la matriz m con la estructura del recuadro. Observe que la matriz sólo contiene valores distintos de 0 en la diagonal secundaria y debajo de ésta. Los números de la matriz, leidos de izquierda a derecha y de arriba abajo, son correlativos. Se muestra un ejemplo para un número de filas/columnas TAM=5 pero el algoritmo debe funcionar para cualquier valor de TAM.

b) Escriba el código necesario para en MATLAB para determinar cuál es la letra (o símbolo) que más se repite en una cadena de texto dada. Por ejemplo, si la cadena fuese cad=‘esto es una prueba’ el símbolo más repetido sería la letra ‘e’. Los espacios en blanco no cuentan como símbolos para el cálculo. Se consideran letras mayúsculas y minúsculas como símbolos distintos.

TAM=input(‘Introduzca dimensiones de la matriz’);

cad = input(‘Introduzca cadena: ’,’s’);

0 0 0 0 10 0 0 2 30 0 4 5 60 7 8 9 1011 12 13 14 15

Page 53: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 3 de Septiembre de 2014. Examen de 2ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

2/4

CUESTIÓN 4: (2 puntos) Se denominan números de Hardy-Ramanujan a aquellos que pueden expresarse como la suma de dos cubos positivos, al menos en dos formas diferentes. El más pequeño de estos números es 1729 que puede expresarse como 13+123 y también como 93+103.

Conteste a las siguientes cuestiones:

a) Desarrolle la función suma_cubos, que recibiendo como argumento un número entero positivo, n, calcule una matriz que contenga todas las posibles descomposiciones del número como suma de dos cubos. Cada fila de la matriz contendrá una pareja. Para el ejemplo anterior, n=1729, la matriz será m=[1,12; 9,10]. No deberán repetirse parejas, es decir, 1,12 se considera igual que 12,1. Si no se encuentra una descomposición del número, la matriz estará vacía.

La función devolverá la matriz de parejas así como el número de parejas encontradas.

NOTA: Se valorará la eficiencia del algoritmo propuesto.

function [_______________]= suma_cubos(__________________________)

Page 54: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 3 de Septiembre de 2014. Examen de 2ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

3/4

b) Desarrolle la función es_HR, que muestre por pantalla todos los números de Hardy-Ramanujan entre

1 y 106. La función debe contener obligatoriamente una llamada a la función del apartado a.

CUESTIÓN 5 (1.5 puntos) Se desea determinar las propiedades como aislante del calor (valor de K) de un nuevo material que su departamento de ingeniería está desarrollando. Para ello diseña un experimento consistente en lo siguiente: Construye una caja de dicho material, completamente cerrada y coloca en su interior un sensor de temperatura que le proporciona una medida Ti del interior de la caja. A continuación, introduce la caja en un horno con temperatura controlada de Th = 80 ºC durante exactamente 10 minutos. La ecuación diferencial que gobierna la evolución de la temperatura medida por la sonda es:

Con este experimento, conocidos los valores Ti0 y Tif, temperaturas del interior de la caja en los instantes t=0 y t=10min respectivamente, puede determinar el valor K desconocido. Para ello desarrolle las funciones que se indican a continuación. a) Desarrolle la función temp10min que calcule la temperatura final de la sonda, Tif, cuando han

transcurrido los 10 minutos para un valor de K de prueba genérico. Para ello la función empleará el método de integración de EDOs de Euler con un paso de integración delta=0.1 seg. La función recibe como argumentos el valor de prueba de la constante K y la temperatura inicial de la sonda, Ti0, y devuelve el valor de Tif.

Nota: La función integra la ecuación para un valor genérico de K que se pasa como argumento, la función del apartado b, resuelve el objetivo del problema y calcula K exacto

function [_______________]= es_HR(_______________________________)

Page 55: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 3 de Septiembre de 2014. Examen de 2ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

4/4

a) Programar la función calcula_K, determine el valor de K del material que se desea calcular. La función aplicará el método de bisección a la función

f(K) = Tif_medida - temp10min(K,Ti0_medida) donde Ti0_medida y Tif_medida son datos conocidos que se corresponden con el valor de las temperaturas reales medidas por la sonda al inicio y final del experimento respectivamente. Se desea calcular el valor de K con una precisión inferior o igual a 0.1, Se sabe además que el valor de K buscado se encuentra comprendido entre 0.1 y 1000.

function Tif = temp10min (K,Ti0)

function K = calcula_K (Ti0_medida, Tif_medida)

Page 56: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 1er parcial. 19 de enero de 2015

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede emplear lápiz.

Tiempo de examen 3:00 Horas. Hoja 1/3

CUESTIÓN 3 (2 Puntos) El señor Meyer desea convertir su vieja computadora CESIUS en una calculadora científica. Para ello conecta al registro E un procesador con capacidad para cálculos de funciones complejas como raíces, potencias, exponenciales, etc. A este tipo de dispositivo que complementa a la unidad de control (UC) se le denomina coprocesador matemático (CM). Para poder acceder a dichas funciones reprograma la UC del siguiente modo: • Las funciones del CM están dispuestas como el

alfabeto A, B, C, …, Z, de modo que si se desea acceder a la función correspondiente a la letra C el usuario introduce dicho carácter. El CM no trabaja con caracteres y por tanto el programa tiene que escribir en E el número 3 correspondiente a la tercera función. De forma automática el CM lo reconoce y selecciona la función 3.

• Para activar el cálculo en el CM, se reprograma la instrucción MOD de la UC, es decir MOD ya no ejecuta el resto de división entera, sino que se le indica al CM que ejecute el cálculo como MOD DIR, donde DIR es la dirección de memoria donde se encuentra el dato. El CM devuelve el resultado a través del registro E.

Se pide: a) Complete el programa en LS2 de la tabla al margen,

que solicita un dato (X) al usuario y posteriormente una función a realizar (OP). El programa debe calcular el resultado y escribirlo en pantalla. Para ello suponga que el ciclo de instrucción del CM es mucho más rápido que el de la UC, de modo que el CM proporciona el resultado antes de que la UC ejecute la siguiente instrucción.

b) Calcule el tamaño del programa desarrollado en el

apartado a) en porcentaje respecto a la capacidad total de la memoria de la computadora CESIUS.

NOTA: Códigos de caracteres ASCII en decimal ‘A’:65; ‘Z’:90.

E 0 … 0 0 0 0

Pseudo / Instrucción ORG 0 SAL INI

X: ESP 1 OP: ESP 1 A: CTE 65 ‘A Z: CTE 90 ‘Z

FUN: CTE 1 ‘Fun A CTE 2 ‘Fun B … … CTE 26 ‘Fun Z

DCF: DRE FUN PUN: ESP 1 AUX: ESP 1 INI:

A B C … Z

COPROCESADOR MATEMÁTICO (ACME)

%

Page 57: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 1er parcial. 19 de enero de 2015

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede emplear lápiz.

Tiempo de examen 3:00 Horas. Hoja 2/3

CUESTIÓN 4 (3 Puntos) La codificación de Huffman (1954) es un algoritmo de compresión sin pérdidas, usado por ejemplo en alguna fase para la creación de archivos MP3. Como ejemplo supongamos que se desea decodificar una frase con dicha codificación, como por ejemplo “la casa blanca”. Para ello se proporciona una codificación de los caracteres y sus tamaños (en número de bits) del modo siguiente: Dicha codificación tiene la propiedad de que ninguno de los caracteres comparte código con otro, por ejemplo el carácter “c” es codificado como 000 y por tanto ningún otro carácter empieza con ese código. Con todo ello la frase de ejemplo quedaría codificada (sin tener en cuenta los espacios) como: Para realizar el algoritmo se dispone de los vectores: cod con la codificación binaria de los caracteres y t con el tamaño de dicha codificación. El objetivo final es que dado un vector con una frase codificada se desea calcular otro vector con la frase decodificada. Para facilitar la tarea se numera la codificación de los caracteres de forma natural en decimal. Así en el ejemplo la numeración de forma natural sería {a,b,c,l,n,s} = {1,2,3,4,5,6} y, por tanto, el vector una vez decodificado quedaría {4,1,3,1,6,1,2,4,1,5,3,1}. El algoritmo de decodificación para el programa completo se divide en módulos. Así dados los vectores cod y t (en memoria) y un índice k entero introducido por el usuario, se pide realizar el diagrama de flujo de un módulo que escriba en pantalla el código binario del carácter k correspondiente y finalmente su dimensión M. Ejemplo si el usuario introduce k=3, el algoritmo debe escribir 000 y la dimensión M=3 correspondientes al carácter “c”, y si k=5, debe escribir 0010 y la dimensión M=4 del carácter “n”.

Pueden utilizarse sólo y exclusivamente los objetos proporcionados en la tabla de abajo al margen. Nótese que todos los objetos de dicha tabla están almacenados en memoria. NOTA: Para hacer el diagrama de flujo utilice únicamente las operaciones +,-, ·, /, asignación escalar (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

Caracteres Descripción Vector a b c l n s

Código cod 1 010 000 011 0010 0011 Tamaño t 1 3 3 3 4 4

l a c a s a b l a n c a Vector codificado 011 1 000 1 0011 1 010 011 1 0010 000 1

NOMBRE DESCRIPCIÓN DEL OBJETO TIPO

cod Vector de dimensión Vector binario t Vector de dimensión N Vector de números positivos N Dimensión de t Constante entera j Índice Vble entera k Índice del carácter Vble entera M Dimensión del carácter Vble

aux Cálculo auxiliar Vble

Page 58: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 1er parcial. 19 de enero de 2015

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede emplear lápiz.

Tiempo de examen 3:00 Horas. Hoja 3/3

INICIO

FIN

Page 59: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 1 de Junio de 2015. 2º examen parcial

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

1/5

1 1 0 3 5 4 7 6 0 4 8 9 2 1 4

CUESTIÓN 1 (3.5 Puntos) CUESTIONES CORTAS a) Desarrolle el código MATLAB necesario para recorrer una matriz genérica de

acuerdo al patrón mostrado en el esquema. Es decir, la primera fila en sentido creciente de columnas, la segunda en sentido decreciente y así sucesivamente. Para el ejemplo, el código mostrará por pantalla los valores 1,1,0,4,5,3,7,6,0,9,8,4,2,1,4. Se muestra un ejemplo para un número de filas/columnas FIL=5, COL=3 pero el algoritmo debe funcionar para cualquier dimensión.

b) Se desea escribir en MATLAB un módulo que permita crear un acrónimo a partir de una cadena con

varias palabras. El acrónimo se construye extrayendo, en mayúsculas, la primera letra de cada palabra. Por ejemplo, si la cadena es cad=’Universidad de Sevilla’, el resultado será el acrónimo acr = ’UDS’. Suponga que cad nunca comienza ni termina con un espacio en blanco. Las palabras estarán separadas por uno o más espacios en blanco.

Nota: No puede usar ninguna función manipulación de cadenas de MATLAB a excepción de length

Page 60: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 1 de Junio de 2015. 2º examen parcial

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

2/5

c) El número pi puede aproximarse por la siguiente relación de fracciones continuas:

!!= 1+ !!

!! !!

!! !!

!! !!

!!!!⋯

Aproximación con 3 términos !!≈ !! = 1+ !!

!! !!

!!!!!

La expansión de pi así descrita es infinita. Desarrolle el código MATLAB necesario para obtener una aproximación de la fórmula con n términos (Se muestra como ejemplo la expansión con 3 términos, S3). Suponga n dado.

d) Para el código del recuadro responda a las siguientes preguntas:

e) Orden de complejidad de un algoritmo: Descripción y tipos.

function programa n=10; fun(n); end function fun(n) if n>0 r = mod(n,2); fun((n-r)/2); fprintf('%d',r); end end

Indique qué se obtiene por pantalla:

¿Sabría describir qué tipo de operación realiza la función fun sobre el número n que se pasa como argumento?

Page 61: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 1 de Junio de 2015. 2º examen parcial

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

3/5

CUESTIÓN 2: (2.5 puntos) Desarrolle en MATLAB la función matrices que determine si una matriz genérica que se pasa como argumento cumple el siguiente criterio: La matriz contiene al menos una columna tal que todos sus elementos son estrictamente decrecientes tomados de arriba a abajo. En este caso la función devolverá 1 y 0 en caso contrario.

Ejemplo:

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛−

=

326178518472041

A

⎟⎟⎟⎟⎟

⎜⎜⎜⎜⎜

⎛−

=

3266256472041

B

La matriz A cumple el criterio ya que la columna 3 tiene elementos estrictamente decrecientes tomados de arriba a abajo 20>18>17>3. En este caso la función debe devolver un valor uno. En el caso de la matriz B, la matriz no contiene ninguna columna con elementos estrictamente decrecientes, debiendo devolver la función un valor cero. Observe que la columna 3 de B tampoco cumple el criterio, porque los elementos no cumplen 20>6>6>3

Nota: Si la matriz contiene una única fila, se considerará que la función devuelve 1.

CUESTIÓN 3: (4 puntos) Se desea desarrollar un programa que permita calcular la cantidad de combustible que es necesario emplear para que un nuevo cohete alcance una altura determinada. Cuanto mayor es la masa de combustible inicial del cohete, mayor es su autonomía, sin embargo, el mayor peso del conjunto combustible + impulsor reduce la aceleración que es posible imprimir al mismo. Existe un valor óptimo (mínimo) que garantiza que el cohete es capaz de alcanzar una altura determinada.

Podemos obtener un modelo muy simplificado del comportamiento del cohete suponiendo que éste sigue una trayectoria perfectamente vertical, y sometido únicamente a la fuerza de empuje del cohete y la gravedad. Así podemos escribir la ecuación que describe la evolución de la altura del cohete, y(t), como:

!2! !!!2

=!!

!! −!! !−

!!!

!! + ! !!

Esta ecuación describe la aceleración del cohete a medida que el tiempo transcurre, y depende de Em, el empuje del cohete; mp, la masa del propulsor sin combustible; mc(t), la masa de combustible disponible; y las constantes G, MT y RT que son respectivamente la constante de gravitación universal, y la masa y radio de la Tierra.

Page 62: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 1 de Junio de 2015. 2º examen parcial

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

4/5

function ymax = altura_maxima ( mc0 ) G=6.693e-11; % Constante gravitación Universal (en m^3/Kg*seg^2) Rt=6.378e6; % Radio de la Tierra (en metros) Mt=5.9736e24; % Masa de la Tierra (en Kg) mp=1e4; % Masa del propulsor (en Kg) Em = 2.1e5; % Empuje del cohete (en N) Ce = 100; % Flujo de consumo de combustible (en Kg/s) h=0.01; %Paso de integración (en s)

Supondremos además un consumo constante de combustible por unidad de tiempo (Ce), con lo que podemos escribir:

!!! !!"

= −!!

Esta expresión se usará para calcular la masa de combustible disponible siempre y cuando mc(t)>0. A partir del momento tf en que se agote el combustible, tomaremos mc(t)=0 para todo t>=tf , y pondremos Em=0 para indicar que empuje del cohete es nulo a partir de tf.

Reformule estas ecuaciones para poder integrarlas según el método de Euler empleando como variables y(t), la altura del cohete; vy(t), la velocidad del cohete; y mc(t), la masa de combustible del cohete en cada instante de tiempo; y responda a las siguiente preguntas:

a) Desarrolle la función altura_maxima, que recibe como argumento la masa de combustible del cohete en el instante del lanzamiento, mc0, y calcula, integrando las ecuaciones anteriores por el método de Euler, la altura máxima alcanzada por el mismo según las ecuaciones descritas. Observe que la función da valores por defecto a los parámetros físicos del problema, así como al paso de integración de Euler, h.

Page 63: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 1 de Junio de 2015. 2º examen parcial

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

5/5

function mc_min = masa_altura (ydes)

b) Desarrolle la función masa_altura, que empleando la función del apartado a permita calcular la masa

mínima de combustible necesaria, mc_min, para alcanzar una altura deseada ydes. Observe que este problema puede resolverse si se emplea el método de bisección para resolver la ecuación

altura_maxima ( mc_min ) – ydes = 0

Puede tomar como extremos el intervalo inicial para el método de bisección los valores 0 y 104 . Se obtendrá un valor de mc_min con un error inferior de 10 Kg.

Page 64: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 24 de junio de 2015. 1ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede emplear el lápiz. CUESTIÓN 1 (2 PUNTOS) Lea atentamente las siguientes indicaciones antes de proceder a resolver el ejercicio:

- Cada pregunta bien contestada supone 0.2 puntos.

- Tenga en cuenta que cada pregunta puede tener más de una respuesta correcta.

- Si una pregunta tiene varias respuestas correctas y usted no las selecciona todas, recibirá únicamente la parte proporcional de la nota de la pregunta. Por ejemplo, si una pregunta tiene dos respuestas correctas y selecciona solo una de ellas, su nota en la pregunta será 0.1.

- Una sola respuesta errónea en la pregunta implica que la pregunta se considere como mal contestada.

- Cada pregunta mal contestada resta la mitad de una pregunta bien contestada, es decir, 0.1 puntos.

- IMPORTANTE: solamente serán tenidas en cuenta las respuestas que se encuentren en la plantilla final que acompaña el ejercicio.

Responda adecuadamente a las siguientes preguntas de tipo test. 1) El número binario 1100101 se corresponde con: a) El número 101 en base decimal. b) El número 145 en base octal. c) El número 75 en hexadecimal. d) El número 1101 en base 4. 2) Con respecto a la codificación en complemento a 1 puede afirmarse que: a) Sirve para codificar números enteros. b) El cero se codifica tres veces: cero con signo negativo, cero con signo positivo y cero sin signo. c) Codifica números irracionales. d) El rango de números que puede codificar es menor que el de la codificación en complemento a 2. 3) Un registro de direcciones con un tamaño de 10 bits puede direccionar: a) Una memoria de 1KB si cada celda de memoria tiene 8 bits de capacidad. b) Una memoria de 1Kb si cada celda de memoria tiene 8 bits de capacidad. c) Una memoria de 2KB si cada celda tiene 8 bits de capacidad. d) Ninguna de las opciones anteriores es correcta. 4) Se quiere almacenar un mapa del tesoro en binario. Para llegar a la ubicación del tesoro pueden darse pasos en dirección norte, sur, este y oeste. Si se sabe que hacen falta 128 pasos para llegar al tesoro desde una ubicación inicial dada, ¿cuántos bits ocupará como mínimo el archivo que codifica la ruta? a) 128 bits. b) 256 bits. c) 512 bits. d) El resto de opciones son incorrectas.

Page 65: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 24 de junio de 2015. 1ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede emplear el lápiz. 5) Con respecto a la Unidad Aritmético Lógica, puede afirmarse lo siguiente: a) Es un dispositivo de E/S del ordenador. b) Existen UALs en las que no se realimenta la salida hacia la entrada. De esta forma, pueden utilizarse dos argumentos de entrada en lugar de uno. c) Da las microórdenes necesarias para recuperar los operandos de la memoria. d) Es un circuito obsoleto que ya no utilizan los ordenadores actuales. 6) Sean a, b, c, d y e cinco bits. La función booleana xor(xor(xor(xor(a,b),c),d),e) a) Es verdadera si existe un número impar de bits iguales a 1 entre a, b, c, d y e. b) Es verdadera si existe un número par de bits iguales a 1 entre a, b, c, d y e. c) Siempre es verdadera. d) Ninguna de las opciones restantes es correcta. 7) En el ajedrez se tienen 8x8 casillas que pueden estar vacías u ocupadas por una de las siguientes piezas: torre, caballo, alfil, rey, reina o peón. A su vez, cada pieza puede ser blanca o negra. Asumiendo que se codifican consecutivamente las 64 casillas de un tablero de ajedrez, ¿cuántos bytes (B) serán necesarios como mínimo para almacenar la composición de el tablero en un disco duro? a) 32 B. b) 64 B. c) 128 B. d) 256 B. 8) Con respecto a la arquitectura de Von Neumann puede afirmarse que: a) No sirve para realizar cálculos en punto flotante. b) Se diseñó para el sistema operativo Windows. c) Tiene un bus de control que permite a la unidad de control coordinar a los elementos necesarios para llevar a cabo cada instrucción. d) Funciona únicamente con tarjeta gráficas de 16 bits. 9) En relación a la codificación en punto fijo puede afirmarse que: a) Codifica los números con una separación constante entre sí. b) Codifica sin error de aproximación los números irracionales. c) Abarca un rango numérico que depende del número de bits utilizados en la codificación. d) Abarca un rango numérico generalmente menor que el de la codificación en punto flotante. 10) En el diseño de un circuito en puertas lógicas real debería considerar que: a) Existe un cierto retraso en la propagación de las señales a través del circuito. b) La transición del valor 0 lógico al 1 lógico es instantánea. c) La utilización de un reloj es una fuente de sincronismo que simplifica la coordinación entre los diferentes elementos que componen el circuito. d) El resto de opciones son incorrectas.

Page 66: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 24 de junio de 2015. 1ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede emplear el lápiz. CUESTIÓN 1 (2 PUNTOS) Lea atentamente las siguientes indicaciones antes de proceder a resolver el ejercicio:

- Cada pregunta bien contestada supone 0.2 puntos.

- Tenga en cuenta que cada pregunta puede tener más de una respuesta correcta.

- Si una pregunta tiene varias respuestas correctas y usted no las selecciona todas, recibirá únicamente la parte proporcional de la nota de la pregunta. Por ejemplo, si una pregunta tiene dos respuestas correctas y selecciona solo una de ellas, su nota en la pregunta será 0.1.

- Una sola respuesta errónea en la pregunta implica que la pregunta se considere como mal contestada.

- Cada pregunta mal contestada resta la mitad de una pregunta bien contestada, es decir, 0.1 puntos.

- IMPORTANTE: solamente serán tenidas en cuenta las respuestas que se encuentren en la plantilla final que acompaña el ejercicio.

Responda adecuadamente a las siguientes preguntas de tipo test. 1) El número binario 1100111 se corresponde con: a) El número 103 en base decimal. b) El número 145 en base octal. c) El número 67 en hexadecimal. d) El número 1111 en base 4. 2) Con respecto a la arquitectura de Von Neumann puede afirmarse que: a) No sirve para realizar cálculos en punto flotante. b) Se diseñó para el sistema operativo Windows. c) Tiene un bus de control que permite a la unidad de control coordinar a los elementos necesarios para llevar a cabo cada instrucción. d) Funciona únicamente con tarjeta gráficas de 16 bits. 3) Se quiere almacenar un mapa del tesoro en binario. Para llegar a la ubicación del tesoro pueden darse pasos en dirección norte, sur, este y oeste. Si se sabe que hacen falta 128 pasos para llegar al tesoro desde una ubicación inicial dada, ¿cuántos bits ocupará como mínimo el archivo que codifica la ruta? a) 128 bits. b) 256 bits. c) 512 bits. d) El resto de opciones son incorrectas. 4) Con respecto a la codificación en complemento a 1 puede afirmarse que: a) Sirve para codificar números enteros. b) El cero se codifica tres veces: cero con signo negativo, cero con signo positivo y cero sin signo. c) El rango de números que puede codificar es menor que el de la codificación en complemento a 2. d) Codifica números irracionales.

Page 67: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 24 de junio de 2015. 1ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede emplear el lápiz. 5) Un registro de direcciones con un tamaño de 10 bits puede direccionar: a) Una memoria de 1KB si cada celda de memoria tiene 8 bits de capacidad. b) Una memoria de 1Kb si cada celda de memoria tiene 8 bits de capacidad. c) Una memoria de 2KB si cada celda tiene 8 bits de capacidad. d) Ninguna de las opciones anteriores es correcta. 6) En el diseño de un circuito en puertas lógicas real debería considerar que: a) Existe un cierto retraso en la propagación de las señales a través del circuito. b) La transición del valor 0 lógico al 1 lógico es instantánea. c) La utilización de un reloj es una fuente de sincronismo que simplifica la coordinación entre los diferentes elementos que componen el circuito. d) El resto de opciones son incorrectas. 7) Con respecto a la Unidad Aritmético Lógica, puede afirmarse lo siguiente: a) Es un dispositivo de E/S del ordenador. b) Existen UALs en las que no se realimenta la salida hacia la entrada. De esta forma, pueden utilizarse dos argumentos de entrada en lugar de uno. c) Da las microórdenes necesarias para recuperar los operandos de la memoria. d) Es un circuito obsoleto que no usan los ordenadores actuales. 8) Sean a, b, c, d y e cinco bits. La función booleana xor(xor(xor(xor(e,d),c),b),a) a) Es verdadera si existe un número par de bits iguales a 1 entre a, b, c, d y e. b) Es verdadera si existe un número impar de bits iguales a 1 entre a, b, c, d y e. c) Siempre es verdadera. d) Ninguna de las opciones restantes es correcta. 9) En relación a la codificación en punto fijo puede afirmarse que: a) Codifica los números con una separación constante entre sí. b) Codifica sin error de aproximación los números irracionales. c) Abarca un rango numérico que depende del número de bits utilizados en la codificación. d) Abarca un rango numérico generalmente menor que el de la codificación en punto flotante. 10) En el ajedrez se tienen 8x8 casillas que pueden estar vacías u ocupadas por una de las siguientes piezas: torre, caballo, alfil, rey, reina o peón. A su vez, cada pieza puede ser blanca o negra. Asumiendo que se codifican consecutivamente las 64 casillas de un tablero de ajedrez, ¿cuántos bytes (B) serán necesarios como mínimo para almacenar la composición de el tablero en un disco duro? a) 32 B. b) 64 B. c) 128 B. d) 256 B.

Page 68: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 24 de junio de 2015. 1ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede emplear el lápiz.

Tiempo de examen 3:00 Horas. Hoja 1/2

CUESTIÓN 2 (3 Puntos) La codificación de Huffman (1954) es un algoritmo de compresión sin pérdidas, usado por ejemplo en alguna de las fases para la creación de archivos MP3. Como ejemplo supongamos que se desea decodificar la frase “la casa blanca”. Para ello se proporciona una codificación de los caracteres y sus tamaños (en número de bits) del modo siguiente: Dicha codificación tiene la propiedad de que ninguno de los caracteres comparte código con otro, por ejemplo el carácter “c” es codificado como 000 y por tanto ningún otro carácter empieza con ese código. Con ella la frase de ejemplo mencionada quedaría codificada (sin tener en cuenta los espacios) como:

Se desea realizar un algoritmo tal que dada una frase cualquiera de longitud L, la codifique siguiendo la codificación de Huffman. Para realizar el algoritmo se dispone de los vectores cod con la codificación de los caracteres, tam con el tamaño de dicha codificación y un vector frs con la frase aún sin codificar. Para facilitar la programación se asigna a cada carácter un número de forma natural en decimal siendo dicha numeración conocida. Así en el ejemplo, dicha numeración de forma natural de los caracteres del vector cod sería {a,b,c,l,n,s} = {1,2,3,4,5,6} y por tanto, el vector correspondiente con la frase ejemplo quedaría como frs={4,1,3,1,6,1,2,4,1,5,3,1}. Se pide, realizar el diagrama de flujo para un programa que calcule el vector codificado v dados los vectores cod, tam, frs y la longitud de la frase L.

Para la realización del diagrama de flujo pueden utilizarse sólo y exclusivamente los objetos proporcionados en la tabla al margen, es decir NO SE PERMITE USAR OBJETOS ADICIONALES. Además todos los objetos de dicha tabla están almacenados en memoria.

NOTA: Para hacer los diagramas de flujo utilice únicamente las operaciones +,-, ·, /, asignación escalar (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

Caracteres Descripción Vector a b c l n s

Código cod 1 010 000 011 0010 0011 Tamaño tam 1 3 3 3 4 4

Vector l a c a s a b l a n c a Vector codificado v 011 1 000 1 0011 1 010 011 1 0010 000 1

NOMBRE DESCRIPCIÓN DEL OBJETO TIPO

cod Vector de dimensión Vector binario

tam Vector de dimensión N Vector de números positivos

N Dimensión de tam Constante entera

frs Vector de dimensión L Vector de números positivos

L Dimensión de frs Constante entera

v Vector de dimensión M Vector binario

M Dimensión de v Constante entera

i Índice Vble entera

j Índice Vble entera

k Índice Vble entera

aux Cálculo auxiliar Vble

Page 69: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 1 de junio de 2015. 1ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede emplear el lápiz.

Hoja 2/2

INICIO

FIN

Page 70: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 24 de Junio de 2015. 1ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

1/4

CUESTIÓN 3 (1.5 Puntos) CUESTIONES CORTAS

1. Desarrolle la función diagonales que calcule en MATLAB la media de los valores de una diagonal específica de una matriz m, cuadrada NxN que se pasa como argumento. La diagonal sobre la que se quiere trabajar se indica mediante el parámetro diag, que vale:

0 si es la diagonal principal -1 es la 1ª diagonal encima de la principal,-2

la 2ª, -3 la 3ª, etc 1 es la 1ª diagonal debajo de la principal, 2

la 2ª, 3 la 3ª, etc diag puede tomar valores entre -(N-1) y

(N-1). Las diagonales -(N-1) y (N-1) están formadas por un solo valor. (Ver ejemplo adjunto para N=5)

2. Para el código del recuadro responda a las siguientes preguntas:

function programa v=[1 -2 4]; L=length(v); r=fun(v,0,L); fprintf('%d\n',r); end function r=fun(v,r,L) if L>0 r = v(L)+fun(v,r,L-1); end end

Indique qué se obtiene por pantalla:

¿Sabría describir qué tipo de operación realiza la función fun sobre el vector v?

function media = diagonales ( m, diag )

Page 71: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 24 de Junio de 2015. 1ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

2/4

CUESTIÓN 4: (1.5 puntos)

Dos números amigos son dos números enteros positivos distintos a y b tales que la suma de los divisores propios de uno es igual al otro número y viceversa, es decir σ(a)=b y σ(b)=a, donde σ(n) es igual a la suma de los divisores de n, sin incluir a n. (La unidad se considera divisor propio, pero no lo es el mismo número.) Un ejemplo es el par de naturales (220, 284), ya que:

los divisores propios de 220 son 1, 2, 4, 5, 10, 11, 20, 22, 44, 55 y 110, que suman 284; los divisores propios de 284 son 1, 2, 4, 71 y 142, que suman 220.

Desarrolle en MATLAB las funciones siguientes:

1. Función numeros_amigos, que recibiendo dos enteros a y b, determine si son números amigos,

devolviendo 1 en caso afirmativo y 0 en caso contrario.

2. Función lista_amigos, que determine y muestre por pantalla todas las parejas (a,b) de números amigos

tal que a y b sean menores que un valor n que se pasa como argumento. Use la función anterior.

Page 72: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 24 de Junio de 2015. 1ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

3/4

CUESTIÓN 5: (2 puntos) Se desea desarrollar un programa que permita calcular la trayectoria de un vehículo tipo triciclo, es decir, con una única rueda delantera con capacidad de giro, y dos traseras no orientables. El modelo que describe el comportamiento del triciclo se rige por las siguientes ecuaciones:

donde e son las coordenadas de posición del vehículo en el plano y es su ángulo de orientación. es la velocidad de avance de la rueda delantera y ∝ el giro del volante. Además d es un valor constante

que representa la distancia entre ejes del vehículo.

Responda a las siguientes preguntas:

a) Desarrolle la función trayectoria, que recibe como argumento un valor alfa constante (consideramos ∝ en este problema) que es la posición del volante del vehículo en cada instante de

tiempo de simulación y las coordenadas de un punto objetivo (x_obj,y_obj). Empleando el método de Euler, la función integrará las ecuaciones diferenciales para calcular la posición x(t), y(t) del vehículo en cada instante de tiempo así como su orientación . La integración se detendrá, bien cuando se alcance un tiempo final conocido tfinal, o bien se produzca un impacto con el punto objetivo. Se dice que el vehículo ha impactado con el punto objetivo si la trayectoria alcanza un punto que diste del punto objetivo (x_obj,y_obj) menos de un valor epsilon conocido. La función devolverá dist_minima,el valor de la distancia mínima alcanzada por el vehículo al punto objetivo (x_obj,y_obj) a lo largo de la trayectoria. Nota: Observe que el código propuesto da valores por defecto a las variables conocidas del problema (d, x0, y0, theta0, v, tfinal y epsilon) así como al paso de integración de Euler, h. Recuerde que la distancia entre un punto de la trayectoria (x,y) y el punto (x_obj,y_obj) se calcula como

La raíz cuadrada en MATLAB se obtiene mediante la función sqrt().

function dist_minima = trayectoria ( alfa, x_obj, y_obj ) d=1; % (m) Distancia entre ejes h=0.01; %Paso de integración (en s) x0=0; y0=0; % Posición (x,y) inicial theta0=pi/2; % Orientación inicial epsilon=0.1; % Distancia de impacto v=1; % Velocidad de la rueda motriz tfinal=60; % Tiempo final de integración en segundos

Page 73: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial. 24 de Junio de 2015. 1ª Convocatoria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

4/4

b) Desarrolle la función alfa_impacto, que empleando la función del apartado a, permita calcular el valor de

alfa constante que hace que el vehículo impacte con el punto objetivo. Para ello aplique el método de bisección a la ecuación

trayectoria (alfa+0.1,x_obj,y_obj) – trayectoria(alfa,x_obj,y_obj) = 0

La función pedirá por teclado los extremos del intervalo inicial del método de bisección y comprobará si se trata de un intervalo válido, si no, volverá a pedir nuevos valores hasta un máximo de tres intentos.

function alfa = alfa_impacto (x_obj,y_obj)

Page 74: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 11 de Septiembre de 2015. Examen Final.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. CUESTIÓN 1 (2 PUNTOS) Lea atentamente las siguientes indicaciones antes de proceder a resolver el ejercicio:

- Cada pregunta bien contestada supone 0.2 puntos.

- Tenga en cuenta que cada pregunta puede tener más de una respuesta correcta.

- Si una pregunta tiene varias respuestas correctas y usted no las selecciona todas, recibirá únicamente la parte proporcional de la nota de la pregunta. Por ejemplo, si una pregunta tiene dos respuestas correctas y selecciona solo una de ellas, su nota en la pregunta será 0.1.

- Una sola respuesta errónea en la pregunta implica que la pregunta se considere como mal contestada.

- Cada pregunta mal contestada resta la mitad de una pregunta bien contestada, es decir, 0.1 puntos.

- IMPORTANTE: solamente serán tenidas en cuenta las respuestas que se encuentren en la plantilla final que acompaña el ejercicio.

Responda adecuadamente a las siguientes preguntas de tipo test. 1) El número binario 11000111 se corresponde con: a) El número 199 en base decimal. b) El número 307 en base octal. c) El número B7 en hexadecimal. d) El número 3113 en base 4. 2) Un semisumador es un circuito que tiene dos entradas (a y b) y dos salidas (s y c, donde s es la suma binaria de las dos entradas y c el acarreo, es decir, la que me llevo). Indique qué afirmaciones son correctas: a) La función lógicas de las salidas son s=a*b y c=a+b. b) La función lógicas de las salidas son s=neg(xor(a,b)) y c=a*b. c) La función lógicas de las salidas son s=xor(a,b) y c=a*b. d) La función lógicas de las salidas son s=xor(a,b) y c=a+b. 3) Con respecto a la codificación en complemento a 2 puede afirmarse que: a) Sirve para codificar números enteros. b) El cero se codifica tres veces: cero con signo negativo, cero con signo positivo y cero sin signo. c) Codifica números irracionales. d) El rango de números que puede codificar es menor que el de la codificación en complemento a 1. 4) Un registro de direcciones con un tamaño de 8 bits puede direccionar: a) Una memoria con 128 celdas de capacidad. b) Una memoria con 256 celdas de capacidad. c) Una memoria con 512 celdas de capacidad. d) Ninguna de las opciones anteriores es correcta.

Page 75: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 11 de Septiembre de 2015. Examen Final.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. 5) Se tiene una imagen monocroma de 10x100 píxeles. Si cada píxel puede representar 256 valores diferentes entre el blanco y el negro, ¿cuántos bytes (B) serán necesarios para almacenar la imagen en un disco duro? a) 1 B. b) 10 B. c) 100 B. d) 1000 B. 6) Antiguamente, algunos ordenadores poseían un lector de cassettes de la misma manera que muchos ordenadores de hoy cuentan con unidades lectoras de DVD. Con respecto al lector de cassettes, puede afirmarse que: a) Es un dispositivo de E/S del ordenador. b) El modo de acceso a la información en una cassettes es aleatorio. c) Las cassettes sólo pueden almacenar música, no programas. d) Ninguna de las opciones restantes es correcta. 7) Sean a, b, c y d cuatro bits. La función booleana xor(xor(xor(a,b),c),d) a) Es verdadera si existe un número impar de bits iguales a 1 entre a, b, c y d. b) Es verdadera si existe un número par de bits iguales a 1 entre a, b, c y d. c) Siempre es verdadera. d) Siempre es falsa. 8) Con respecto a la arquitectura de Von Neumann puede afirmarse que: a) Los ordenadores actuales no la utilizan. b) Se diseñó para el sistema operativo Android. c) La unidad de control, la unidad aritmético lógica, la memoria, los dispositivos de entrada y salida y los buses son sus componentes principales. d) Almacena datos e instrucciones en la memoria. 9) En relación a la codificación en punto flotante puede afirmarse que: a) Codifica los números con una separación constante entre sí. b) Codifica sin error de aproximación los números irracionales. c) Abarca un rango numérico que depende del número de bits utilizados en la codificación. d) Abarca un rango numérico generalmente mayor que el de la codificación en punto fijo. 10) En el diseño de un circuito en puertas lógicas real debería considerar que: a) Existe un cierto retraso en la propagación de las señales a través del circuito. b) La transición del valor 0 lógico al 1 lógico es instantánea. c) La utilización de un reloj es una fuente de sincronismo que simplifica la coordinación entre los diferentes elementos que componen el circuito. d) El resto de opciones son incorrectas.

Page 76: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 11 de Septiembre de 2015. Examen Final.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. CUESTIÓN 1 (2 PUNTOS) Lea atentamente las siguientes indicaciones antes de proceder a resolver el ejercicio:

- Cada pregunta bien contestada supone 0.2 puntos.

- Tenga en cuenta que cada pregunta puede tener más de una respuesta correcta.

- Si una pregunta tiene varias respuestas correctas y usted no las selecciona todas, recibirá únicamente la parte proporcional de la nota de la pregunta. Por ejemplo, si una pregunta tiene dos respuestas correctas y selecciona solo una de ellas, su nota en la pregunta será 0.1.

- Una sola respuesta errónea en la pregunta implica que la pregunta se considere como mal contestada.

- Cada pregunta mal contestada resta la mitad de una pregunta bien contestada, es decir, 0.1 puntos.

- IMPORTANTE: solamente serán tenidas en cuenta las respuestas que se encuentren en la plantilla final que acompaña el ejercicio.

Responda adecuadamente a las siguientes preguntas de tipo test. 1) En el diseño de un circuito en puertas lógicas real debería considerar que: a) Existe un cierto retraso en la propagación de las señales a través del circuito. b) La transición del valor 0 lógico al 1 lógico es instantánea. c) La utilización de un reloj es una fuente de sincronismo que simplifica la coordinación entre los diferentes elementos que componen el circuito. d) El resto de opciones son incorrectas. 2) En relación a la codificación en punto flotante puede afirmarse que: a) Codifica los números con una separación constante entre sí. b) Codifica sin error de aproximación los números irracionales. c) Abarca un rango numérico que depende del número de bits utilizados en la codificación. d) Abarca un rango numérico generalmente mayor que el de la codificación en punto fijo. 3) Con respecto a la arquitectura de Von Neumann puede afirmarse que: a) Los ordenadores actuales no la utilizan. b) Se diseñó para el sistema operativo Android. c) La unidad de control, la unidad aritmético lógica, la memoria, los dispositivos de entrada y salida y los buses son sus componentes principales. d) Almacena datos e instrucciones en la memoria. 4) Sean a, b, c y d cuatro bits. La función booleana xor(xor(xor(a,b),c),d) a) Es verdadera si existe un número impar de bits iguales a 1 entre a, b, c y d. b) Es verdadera si existe un número par de bits iguales a 1 entre a, b, c y d. c) Siempre es verdadera. d) Siempre es falsa.

Page 77: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 11 de Septiembre de 2015. Examen Final.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI. 5) Antiguamente, algunos ordenadores poseían un lector de cassettes de la misma manera que muchos ordenadores de hoy cuentan con unidades lectoras de DVD. Con respecto al lector de cassettes, puede afirmarse que: a) Es un dispositivo de E/S del ordenador. b) El modo de acceso a la información en una cassettes es aleatorio. c) Las cassettes sólo pueden almacenar música, no programas. d) Ninguna de las opciones restantes es correcta. 6) Se tiene una imagen monocroma de 10x100 píxeles. Si cada píxel puede representar 256 valores diferentes entre el blanco y el negro, ¿cuántos bytes (B) serán necesarios para almacenar la imagen en un disco duro? a) 1 B. b) 10 B. c) 100 B. d) 1000 B. 7) El número binario 11000111 se corresponde con: a) El número 199 en base decimal. b) El número 307 en base octal. c) El número B7 en hexadecimal. d) El número 3113 en base 4. 8) Un semisumador es un circuito que tiene dos entradas (a y b) y dos salidas (s y c, donde s es la suma binaria de las dos entradas y c el acarreo, es decir, la que me llevo). Indique qué afirmaciones son correctas: a) La función lógicas de las salidas son s=a*b y c=a+b. b) La función lógicas de las salidas son s=neg(xor(a,b)) y c=a*b. c) La función lógicas de las salidas son s=xor(a,b) y c=a*b. d) La función lógicas de las salidas son s=xor(a,b) y c=a+b. 9) Con respecto a la codificación en complemento a 2 puede afirmarse que: a) Sirve para codificar números enteros. b) El cero se codifica tres veces: cero con signo negativo, cero con signo positivo y cero sin signo. c) Codifica números irracionales. d) El rango de números que puede codificar es menor que el de la codificación en complemento a 1. 10) Un registro de direcciones con un tamaño de 8 bits puede direccionar: a) Una memoria con 128 celdas de capacidad. b) Una memoria con 256 celdas de capacidad. c) Una memoria con 512 celdas de capacidad. d) Ninguna de las opciones anteriores es correcta.

Page 78: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 11 de Septiembre de 2015. Examen Final.

APELLIDOS: NOMBRE: D.N.I.: Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue las hojas con su nombre, apellidos y DNI.

Page 79: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Aeroespacial. 11 de septiembre de 2015. 2ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 1/2

CUESTIÓN 2 (3 Puntos) La codificación de Huffman (1954) es un algoritmo de compresión sin pérdidas, usado por ejemplo en alguna de las fases para la creación de archivos MP3. Como ejemplo supongamos que se desea decodificar la frase “la casa blanca”. Para ello se proporciona una codificación de los caracteres y sus tamaños (en número de bits) del modo siguiente: Con ella la frase de ejemplo mencionada quedaría codificada (sin tener en cuenta los espacios) como:

Se desea realizar un algoritmo tal que decodifique una frase codificada dada. Para realizar el algoritmo se dispone de los vectores cod con la codificación de los caracteres, tam con el tamaño de dicha codificación y un vector binario v con la frase codificada. Para facilitar la programación se asigna a cada carácter un número de forma natural en decimal siendo dicha numeración conocida. Así en el ejemplo, dicha forma natural de numeración de los caracteres del vector cod sería {a,b,c,l,n,s} = {1,2,3,4,5,6} y por tanto, la frase decodificada del ejemplo con dicha numeración es frs={4,1,3,1,6,1,2,4,1,5,3,1}. Se pide, realizar el diagrama de flujo para un programa que decodifique el vector binario v dados los vectores cod, tam, su dimensión N y la longitud de la frase L, dando como resultado un vector entero frs con la frase decodificada como en el ejemplo. Se dispone de la función Symbol, que deberá utilizar obligatoriamente, y que recibe como argumentos los vectores cod y tam y un índice k y devuelve un vector w con el código binario del carácter k correspondiente y su dimensión n. Ejemplo Symbol(cod,tam,3) y devuelve el vector w={0,0,0,…} y la dimensión n=3 del carácter “c”. La dimensión del vector w es M y es conocida.

Para la realización del diagrama de flujo pueden utilizarse sólo y exclusivamente los objetos proporcionados en la tabla al margen, es decir NO SE PERMITE USAR OBJETOS ADICIONALES. Además todos los objetos de dicha tabla están almacenados en memoria.

NOTA: Para hacer los diagramas de flujo utilice únicamente las operaciones +,-, ·, /, asignación escalar (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

Caracteres Descripción Vector a b c l n s

Código cod 1 010 000 011 0010 0011 Tamaño tam 1 3 3 3 4 4

Vector l a c a s a b l a n c a Vector codificado v 011 1 000 1 0011 1 010 011 1 0010 000 1

NOMBRE DESCRIPCIÓN DEL OBJETO TIPO

cod Vector Vector binario

tam Vector de dimensión N Vector de números positivos

v Vector Vector binario

frs Vector de dimensión L Vector de números positivos

w Vector de dimensión M Vector binario

i Índice Vble entera

j Índice Vble entera

k Índice Vble entera

aux1 Cálculo auxiliar Vble

aux2 Cálculo auxiliar Vble

aux3 Cálculo auxiliar Vble

Page 80: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado Ingeniería Civil. 11 de septiembre de 2015. 2ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 3:00 Horas. Hoja 2/2

INICIO

FIN

Page 81: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ingeniería de Sistemas y Automática. Universidad de Sevilla. 1er curso Grados en Ingeniería Aeroespacial y Civil. Examen de la 3ª convocatoria. 9 de diciembre de 2015

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo de examen 3:00 Horas. Hoja 1/3

CUESTIÓN 1 (2 Puntos) El señor Meyer desea establecer su propio sistema de comunicación a distancia usando dos computadoras CESIUS, una de las cuales actúa como emisor y la otra como receptor. Para ello, realiza la conexión entre ellas compartiendo el mismo registro E de entrada/salida (véase la figura al margen derecho). Para que el sistema funcione correctamente hace que la frecuencia del reloj interno del receptor sea mucho mayor que la del emisor, y así en el tiempo que el emisor ejecuta una sola instrucción el receptor ejecuta muchas. El sistema funciona del siguiente modo: • En el emisor, se lee una frase desde el

teclado de modo que termine con el carácter punto “.”, y se almacena en su memoria incluyendo dicho carácter. Posteriormente se inicia el envío de dicha frase, intercalando el carácter “#” entre cada carácter de la frase. Por ejemplo, si la frase almacenada en dicho emisor es “HAY ELECCIONES EL 20.”, se enviaría desde el mismo: “H#A#Y# #E#L#E#C#C#I#O#N#E#S# #E#L# #2#0#.”

• El receptor por su alta velocidad de ejecución va detectando cada carácter y decodificando la frase, almacenándola en memoria y escribiéndola en pantalla.

Se pide: a) Completar los programas en LS2 que

deben ejecutarse en cada una. b) Si N es el número de caracteres de la

frase, sin contar el punto, plantee una ecuación (sin resolverla) para calcular la frase más larga que sería posible enviar con este sistema de comunicación en CESIUS.

NOTA: Para simplificar se asume que el receptor ejecuta las instrucciones a una frecuencia suficiente, tal que posibilita la lectura del carácter del registro E antes de que el emisor escriba el carácter siguiente.

DIR PROGRAMA LS2 EMISOR ORG 0

0 SAL INI 1 FRASE: ESP 100 2 DCF : DRE FRASE 3 PUN : ESP 1 4 UNO : CTE 1 5 CERO : CTE 0 6 COM : CTE 35 ‘ # 7 PTO : CTE 46 ‘ . 8 K : ESP 1 9 INI :

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

DIR PROGRAMA LS2 RECEPTOR ORG 0

0 SAL INI 1 FRASE: ESP 100 2 DCF : DRE FRASE 3 PUN : ESP 1 4 UNO : CTE 1 5 CERO : CTE 0 6 COM : CTE 35 ‘ # 7 PTO : CTE 46 ‘ . 8 K : ESP 1 9 LETRA: ESP 1

10 INI : 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40

E 2 bytes

COMPUTADORA CESIUS

EMISOR

COMPUTADORA CESIUS

RECEPTOR

Page 82: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ingeniería de Sistemas y Automática. Universidad de Sevilla. 1er curso Grados en Ingeniería Aeroespacial y Civil. Examen de la 3ª convocatoria. 9 de diciembre de 2015

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo de examen 3:00 Horas. Hoja 2/3

CUESTIÓN 2 (3 Puntos) El sistema electoral español reparte los votos en escaños de forma proporcional aplicando la Ley d’Hont, propuesta por Victor d'Hondt en 1878. Suponga como ejemplo una provincia a la que se le asignan 5 diputados y donde hay 4 formaciones políticas relevantes (F1, F2, F3 y F4). Dicha ley asigna los diputados en una provincia como se describe a continuación. Después de la cita electoral se tendrá un vector de votos (V) donde cada elemento del vector hace referencia a los votos de una determinada fuerza política, el cuál está ordenado en número de votos de forma decreciente. Con este vector de votos V se crea una matriz A como la que aparece en la tabla de abajo, donde cada columna se corresponde con el vector V dividido por 1, 2, 3, … y así sucesivamente hasta el total de los 5 diputados asignados. Una vez construida la matriz A, el método propone escoger las 5 cifras más altas de dicha matriz e ir asignándole diputados a la fuerzas políticas correspondiente (celdas sombreadas en la tabla). En este caso, el resultado será el que aparece en la tabla al margen derecho. Dicho resultado puede almacenarse en un vector (D) con los diputados ordenados con respecto a la fuerza política correspondiente. Dado un vector de votos V, ya ordenado en forma decreciente, de una provincia a la que se le asignan N diputados y en la cual existen M fuerzas políticas relevantes, se pide lo siguiente:

a) Realizar un diagrama de flujo tal que dado el vector de votos V, ya ordenado, cree la matriz A de dimensiones M x N.

b) Realizar un diagrama de flujo que cree un vector de diputados D, donde cada elemento será el número de diputados asignado a la fuerza política correspondiente. Este apartado debe resolverse en dos partes. Primero crear un módulo que calcule el máximo de la matriz A y su posición. Después resolver el apartado usando dicho módulo el número de veces que sea necesario.

NOTA: Los vectores y matrices conocidos, ya están almacenados en memoria y el resto inicializados a cero. Para la elaboración del diagrama de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a memoria con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro correspondiente.

A4x5 VOTOS

(V) V÷2 V÷3 V÷4 V÷5

F1 120000 60000,0 40000,0 20000,0 13333,3

F2 82000 41000,0 27333,3 13666,7 9111,1

F3 55000 27500,0 18333,3 9166,7 6111,1

F4 25000 12500,0 8333,3 4166,7 2777,8

FUERZAS POLÍTICAS

DIPUTADOS (D)

F1 2 F2 2 F3 1 F4 0

NOMBRE VALOR DESCRIPCIÓN DEL OBJETO

M Constante Número de fuerzas políticas

N Constante Número de diputados

V Vector de dimensión M

Vector conocido de votos

D Vector de dimensión M Vector de diputados

A Matriz de

dimensionesM x N

Matriz para el cáculo del número de diputados

i Índice Para vectores / matrices

j Índice Para vectores / matrices

k Índice Para vectores / matrices

Page 83: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ingeniería de Sistemas y Automática. Universidad de Sevilla. 1er curso Grados en Ingeniería Aeroespacial y Civil. Examen de la 3ª convocatoria. 9 de diciembre de 2015

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Los resultados han de ir únicamente en los recuadros habilitados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo de examen 3:00 Horas. Hoja 3/3

a) b) b)

FIN apartado a)

INICIO apartado a)

INICIO apartado b)

FIN apartado b) FIN MÓDULO apartado b)

INICIO MÓDULO apartado b)

Page 84: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial, Grado en Ingeniería Civil. 9 de Diciembre de 2015. 3ª Conv.

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

1/5

CUESTIÓN 3 (2 Puntos) CUESTIONES CORTAS

a) Desarrolle el código MATLAB necesario para generar una matriz con el patrón que se muestra en el recuadro de la derecha.

No puede emplear el operador potenciación (^) en su solución. Sólo obtendrán la máxima nota aquellas soluciones que empleen dos o menos

bucles anidados.

Se muestra un ejemplo para un número de filas/columnas FIL=5, COL=3 pero

el algoritmo debe funcionar para cualquier dimensión.

b) Escriba un programa en MATLAB que lea números por teclado hasta que se introduzca el cero. En ese

momento deberá representar el número de introducciones efectuadas, y la mayor secuencia de números consecutivos iguales, indicando cuál fue el número que se repitió y cuántas veces seguidas apareció. Ejemplo: Si se introduce 8 8 8 4 5 6 6 6 7 7 7 7 2 0, el resultado a mostrar será. ‘Se han introducido 13 números. El número más repetido es el 7 y se ha escrito 4 veces’

11 12 13

21 22 3331 32 3341 42 4351 52 53

Page 85: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial, Grado en Ingeniería Civil. 9 de Diciembre de 2015. 3ª Conv.

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

2/5

c) Para el código del recuadro responda a las siguientes preguntas:

CUESTIÓN 4: (2 puntos) (Sucesión de Farey) La sucesión de Farey es una sucesión de fracciones irreducibles menores que la unidad que se construye en cinco pasos de la siguiente forma:

1. Se elige un tamaño para la serie, por ejemplo n=4. 2. Se forman todas las posibles fracciones con numerador y denominador entre 1 y n. Para n=4 sería: 

   

3. Eliminamos aquellas fracciones superiores a 1 (o dicho de otra manera, en las que el numerador sea mayor que el denominador): 

  

4. Simplificamos todas las fracciones, descartando las repetidas. Es decir, fracciones como 2/4 pueden reducirse a su forma irreducible como 1/2, pero esta fracción ya se encuentra en la serie, por lo que se eliminaría. 

   

5. Ordenamos de menor a mayor las fracciones, resultando finalmente la serie 

  Se desea diseñar un programa en MATLAB que permita obtener la serie de Farey para un valor de n dado. Para ello, la serie de fracciones se representará en nuestro programa como dos vectores numéricos, um y den, representando los valores de los numeradores y denominadores de las diferentes fracciones que componen la serie. Por ejemplo, la serie de fracciones del paso 5 se expresaría como los vectores num = [1 1 1 2 3 1] y den = [4 3 2 3 4 1]. Resuelva los siguientes apartados:

function programa n=12; fun(n); end function fun(n) if n>0 r = mod(n,10); fun((n-r)/10); fprintf('%d',9-r); end end

Indique qué se obtiene por pantalla al ejecutar la función programa:

¿Sabría describir qué tipo de operación realiza la función fun sobre el número n que se pasa como argumento?

Page 86: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial, Grado en Ingeniería Civil. 9 de Diciembre de 2015. 3ª Conv.

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

3/5

a) Desarrolle la función fracciones que recibiendo como argumento el número n, genere y

devuelva la serie de fracciones posibles con numerador y denominador entre 1 y n. De esta serie se eliminarán aquellas fracciones mayores que la unidad. Por ejemplo, para n=4, la función deberá generar los vectores num y den correspondientes a la serie del paso 3.

b) Desarrolle la función simplifica que, recibiendo como argumentos el numerador y denominador de una fracción, calcule y devuelva la fracción irreducible de la misma. Una fracción es irreducible cuando no es posible encontrar ningún entero, a excepción de la unidad, tal que numerador y denominador sean divisibles por dicho entero. Por ejemplo 4/6 no es irreducible porque tanto 4 como 6 son divisibles por 2. La fracción irreducible de 4/6 sería 2/3, por tanto. Sin embargo 3/7 es irreducible porque no hay entero que divida simultáneamente a 7 y 3, a excepción de 1.

function _______________ = fracciones (_______________________________________)

function ______________ = simplifica ( ______________________________________)

Page 87: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial, Grado en Ingeniería Civil. 9 de Diciembre de 2015. 3ª Conv.

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

4/5

c) Desarrolle la función serie_simplificada que reciba como argumento los vectores num y den representando una serie de fracciones. La función debe transformar dicha serie de modo que todas las fracciones que contenga sean irreducibles, eliminando además las fracciones repetidas. Es decir, la función nos permitiría pasar de la serie expresada en el paso 3 a la del paso 4. Nota: Puede y debe usar la función del apartado b para calcular la fracción irreducible de una dada.

d) Desarrolle la función ordena que reciba como argumento los vectores num y den representando una

serie de fracciones y ordene la serie (ambos vectores num y den simultáneamente) de modo que la serie resultante esté ordenada de menor a mayor. Es decir, la función nos permitiría pasar de la serie expresada en el paso 4 a la del paso 5, obteniendo así el resultado final. Nota: Puede emplear cualquier método de ordenación de vectores que considere oportuno.

________ serie_simplificada(____________________________________________________)

function ________________ = ordena(____________________________________________)

Page 88: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática Primer Curso del Grado en Ingeniería Aeroespacial, Grado en Ingeniería Civil. 9 de Diciembre de 2015. 3ª Conv.

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz

5/5

CUESTIÓN 5: (1 puntos) El peso de una persona depende de las calorías que toma y de la energía que consume. A su vez, la energía consumida depende del peso de la persona, estimándose en 38.5 calorías consumidas al día por kg. Por tanto, cuanto más peso pierde una persona, menos energía debe consumir (asumiendo que mantiene su nivel de actividad constante). Como modelo de la pérdida de peso puede utilizarse la siguiente ecuación

350038.53500

donde w(t) es el peso en kilogramos, t el tiempo en días y C el consumo diario de calorías. Si una persona pesa 100 kg y comienza una dieta de 2000 calorías diarias, ¿cuánto tiempo tardará en perder 15 kg? El programa debe calcular y mostrar por pantalla el número de días estimado a partir de la ecuación diferencial proporcionada. Para ello la función empleará el método de integración de EDOs de Euler con un paso de integración delta=0.01 días.

function ____________ = duración_dieta(____________________________________)

Page 89: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Grado en Ingeniería Aeroespacial. 19 de enero de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 2.5 h Hoja 1/4

CUESTIÓN 1 (1 Punto) Resuelva la sopa de números al margen, completando los cálculos siguientes y rodeando el resultado en la tabla. Las soluciones pueden estar en base 8, 13 y 16 solamente.

a) ________

×102=1003

5 b) 1000000

2 − 40

16= _____

___ c) 2000

8 ×100

2= ______

___ d) 2FA

16 + 20

3= _____

___ e) 1

10 KB = _____

___bits

CUESTIÓN 2 (1 Punto) Se carga en memoria de la computadora CESIUS el programa que aparece en el margen derecho. Responda a las preguntas en el recuadro:

a) ¿qué hay en la dirección 1 en decimal?; y b) ¿escribe algo en la pantalla?

NOTA: Los códigos de operación ordenados de menor a mayor comenzando por el 0 son: ALT, ALM, CAR, ESC, LEE, SUM, RES, MUL, DIV, MOD, SAL, SAN, SAC, SAP, ECA y LCA.

CUESTIÓN 3 (2.5 Puntos) Se desea hacer un programa en el lenguaje LS2 para la computadora CESIUS, tal que dado dos números enteros N y P>1, calcule la potencia NP. El programa debe solicitar ambos números al usuario y escribir el resultado en la pantalla. Se pide que finalice el programa que está parcialmente desarrollado en el recuadro adjunto. No se puede reservar memoria adicional. NOTA: se recomienda el uso de CONT como contador.

2 A 1 4 3 E

7 4 F 4 B 0

0 2 A C F 8

6 0 2 6 0 0

1 0 5 9 F 0

D 3 2 C 0 4

DIR Instrucción 0 1010 0 000 0000 0100 1 1000 0 000 0000 0000 2 0000 0 000 0000 0001 3 1111 1 111 1111 1111 4 0010 0 000 0000 0001 5 0111 0 000 0000 0011 6 0001 1 000 0000 0010 7 0011 1 000 0000 0001 8 0000 0 000 0000 0000

Pseudo / Instrucción ORG 1 SAL INI CONT: ESP 1 N: ESP 1 P: ESP 1 UNO: CTE 1 INI:

Pseudo / Instrucción

a) b)

JA AR
Page 90: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Grado en Ingeniería Aeroespacial. 19 de enero de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 2.5 h Hoja 2/4

CUESTIÓN 4 (2.5 Puntos) Dado el vector V de dimensión N con sus componentes desordenadas realice el diagrama de flujo de un programa que ordene las componentes de dicho vector V de menor a mayor. Para su realización es obligatorio utilizar la estructura proporcionada, completándola. Puede definir y usar todas las variables escalares que necesite pero no puede usar ningún otro vector o matriz adicional. Use el ejemplo como guía para resolver el problema.

NOTA: Para hacer el diagrama de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

NO

NO

SI

NO

SI

SI

Ejemplo de solución Dado el vector:

V = [ 30 -1 50 25 5] la evolución de sus componentes en cada una de las iteraciones del algoritmo podría ser la siguiente: 1. [-1 30 25 5 50]

2. [ -1 25 5 30 50] 3. [ -1 5 25 30 50]

INICIO

FIN

NOMBRE TIPO OBJETO

N Constante entera Dimensión

V Vector de enteros Dato

Page 91: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Grado en Ingeniería Aeroespacial. 19 de enero de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 2.5 h Hoja 3/4

CUESTIÓN 5 (3 Puntos) Un antiguo videojuego llamado “Space Invaders” tenía como objetivo defender la Tierra de una invasión enemiga. La escena en la pantalla estaba formada por una matriz de puntos monocromos, blancos y negros. Los objetos estaban formados simplemente por un “mapa de bits” en negro sobre fondo blanco. Describiremos aquí la escena mediante una matriz A de dimensiones m x n, cuyos elementos akj pueden valer “0” (color blanco) ó “1” (color negro). Las formas de los objetos y la escena son exactamente como aparecen en la figura de abajo, donde pueden verse naves invasoras, la nave del jugador y los proyectiles. Los movimientos de los objetos en la escena son: las naves invasoras pueden moverse libremente, mientras que la nave del jugador sólo puede moverse en horizontal; los proyectiles de la nave del jugador salen desde el disparador y se mueven verticalmente hacia arriba mientras que los de las naves invasoras se mueven en vertical hacia abajo.

Teniendo en cuenta que los módulos a desarrollar forman parte del algoritmo del videojuego completo, se pide:

a) Dada una posición apq de colisión entre entre el proyectil del jugador y una nave invasora (véase la figura), realice el diagrama de flujo de un módulo que se denomine DESTRUYE, tal que destruya la nave invasora, es decir borre por completo la nave invasora de la escena. Este módulo no debe detectar la colisión, sólo debe destruir la nave invasora. Para facilitar la resolución tenga en cuenta que todas las naves enemigas están contenidas en submatrices de 3x3 y que están siempre separadas horizontalmente como mínimo por un hueco de 3x3 (véase la figura).

b) Dada la posición akj de disparo del proyectil del jugador (véase la figura), realice el diagrama de flujo de un módulo que anime paso a paso el movimiento del proyectil del jugador desde que sale del disparador hasta que, o bien se encuentra con una nave invasora o bien llega al final de la escena sin acierto. Si hay una colisión del proyectil con alguna nave invasora debe usar el módulo DESTRUYE del apartado anterior para destruirla proporcionándole las coordenadas correspondientes. Por el contrario, si no hay colisión dicho proyectil debe desaparecer en el firmamento figurado.

NOTA: Para hacer los diagramas de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0

Nave del jugador

Naves invasoras

Proyectil jugador

Disparador

Posición de salida del proyectil akj (a “1” antes de salir el proyectil)

Posición apq

Page 92: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Dpto. Ing. de Sistemas y Automática. Universidad de Sevilla. Informática 1º Grado en Ingeniería Aeroespacial. 19 de enero de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas únicamente en los recuadros indicados. Utilice la parte de atrás como borrador. Puede emplear el lápiz. Compruebe que tiene todas las hojas. Entregue todas las hojas con su nombre, apellidos y DNI.

Tiempo de examen 2.5 h Hoja 4/4

NOMBRE TIPO DESCRIPCIÓN DEL OBJETO

m Constante entera Número de filas

n Constante entera Número de columnas

A Matriz m x n entera Escena original

akj Enteros Elementos “0” o “1” de la matriz A

p Entera Índice de fila de la colisión del proyectil

q Entera Índice de columna de la colisión del proyectil

k Entera Índice de la fila de salida del proyectil

j Entera Índice de la columna de salida del proyectil

INICIO (apartado b)

FIN (apartado b)

INICIO DESTRUYE (apartado a)

FIN DESTRUYE (apartado a)

Page 93: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grados en Ingeniería Aeroespacial y Civil. 1ª Convocatoria Ordinaria. 16 de junio de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 3h. Hoja 1/5

CUESTIÓN 1 (1.5 Puntos) Responda a los distintos apartados a continuación: a) Resuelva la sopa de caracteres al margen, completando los cálculos siguientes y rodeando el resultado en la

tabla. Las soluciones pueden estar hacia arriba y abajo, en diagonal y al derecho o al revés.

1) 10000000000

2 = ?

16 2) 72

8= ?

2 3) B16

16 = ?

8 4) AB4

15 = ?

9 5) KK

20 = ?

16

b) Escriba en el recuadro el número 12.05 codificado en el estándar IEEE-754 de simple precisión.

c) Dibuje en el recuadro adjunto el cronograma de las señales Q’, Q y P sabiendo que todas las puertas lógicas

tardan en dar el dato en sus respectivas salidas un ciclo del reloj definido. Considere el nivel alto como el “1” lógico y el nivel bajo como el “0” lógico.

1 0 0 1 0 4

1 A 5 0 7 0

0 D 4 7 X 0

0 E 2 5 F 0

C 3 6 G 2 H

0 1 0 1 1 1

CLK

Q’

Q

P

Q

P

Q’

Page 94: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grados en Ingeniería Aeroespacial y Civil. 1ª Convocatoria Ordinaria. 16 de junio de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 3h. Hoja 2/5

d) Para detectar posibles averías en una computadora CESIUS se carga

en memoria el programa que aparece al margen derecho. Dicho programa ejecuta varias operaciones y el escribe el resultado final en la pantalla. Escriba en el recuadro de abajo qué se escribe en la pantalla al finalizar la ejecución del programa.

NOTA: Los códigos de operación ordenados de menor a mayor son: ALT, ALM, CAR, ESC, LEE, SUM, RES, MUL, DIV, MOD, SAL, SAN, SAC, SAP, ECA y LCA. e) En la figura adjunta se muestra un

dispositivo para mostrar dígitos decimales. El dispositivo consta de 7 bombillitas, llamadas en la figura a, b, c, d, e, f y g. Se desea diseñar un circuito lógico que recibe un número binario natural positivo de 3 bits, (denominados A1, A2, A3) tal que represente en el dispositivo el número correspondiente en decimal, encendiendo las bombillitas que correspondan.

Realice la tabla de verdad de todas las bombillitas completando las casillas necesarias en la tabla de abajo. Calcule la expresión de la función lógica de la bombillita “e” e implemente el circuito con puertas lógicas de la misma.

DIR Instrucción 0 1010 0 000 0000 0100 1 1000 0 000 0000 0000 2 0000 0 000 0000 0001 3 0111 1 111 1111 1111 4 0010 0 000 0000 0001 5 0101 0 000 0000 0011 6 0101 0 000 0000 0010 7 0001 1 000 0000 0010 8 0011 0 000 0000 0010 9 0000 0 000 0000 0000

A3 A2 A1

g

A3

A2

A1

CIRCUITO

LÓGICO

a

c

Page 95: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grados en Ingeniería Aeroespacial y Civil. 1ª Convocatoria Ordinaria. 16 de junio de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 3h. Hoja 3/5

CUESTIÓN 2 (1 Punto) El señor Meyer le realiza un programa a su amigo el señor Brown. El programa está en lenguaje LS2 de la computadora CESIUS y calcula y escribe en pantalla la transpuesta de un matriz dada. En particular, se le pide al usuario que introduzca una matriz A y el programa calcula B = AT y presenta el resultado en pantalla en dos dimensiones y con sus números separados por un espacio en blanco. Desafortunadamente se le derrama el té en el programa quedando parcialmente borrado. Se pide que reconstruya la parte del programa que ha quedado dañada. NOTA: Códigos de caracteres ASCII en decimal ‘espacio en blanco’:32; ‘salto a nueva línea’:10.

Dir. Pseud/instruc. ORG 0 SAL INI MATA: ESP 100 DCMA: DRE MATA PUNA: ESP 1 MATB: ESP 100 DCMB: DRE MATB PUNB: ESP 1 K: ESP 1 J: ESP 1 M: ESP 1 N: ESP 1 UNO: CTE 1 LIN: CTE 10 BLA: CTE 32 INI: LEE M LEE N CAR UNO ALM K BF1: CAR UNO ALM J BC1: CAR K RES UNO MUL N SUM J RES UNO SUM DCMA ALM PUNA LEE I PUNA CAR J SUM UNO ALM J RES N SAN BC1 SAC BC1 CAR K SUM UNO ALM K RES M SAN BF1 SAC BF1

Dir. Pseud/instruc. CAR M ALM K BF2: CAR N ALM J BC2: CAR K RES UNO MUL N SUM J RES UNO SUM DCMA ALM PUNA CAR J RES UNO MUL M SUM K RES UNO SUM DCMB ALM PUNB CAR I PUNA ALM I PUNB CAR J RES UNO ALM J SAP BC2 CAR K RES UNO ALM K SAP BF2 CAR UNO ALM K BF3: RES N SAP SIGF CAR UNO ALM J BC3: RES M SAP SIGC CAR K RES UNO MUL M SUM J RES UNO

Dir. Pseud/instruc. SUM DCMB ALM PUNB ESC I PUNB ECA BLA CAR J SUM UNO ALM J SAL BC3 SIGC: ECA LIN CAR K SUM UNO ALM K SAL BF3 SIGF: ALT FIN

Page 96: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grados en Ingeniería Aeroespacial y Civil. 1ª Convocatoria Ordinaria. 16 de junio de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 3h. Hoja 4/5

CUESTIÓN 3 (2.5 Puntos) El código de cuenta corriente de una cuenta bancaria está compuesto por el código de entidad (4 dígitos), el código de sucursal (4 dígitos), el código de control (2 dígitos) y en número de cuenta (10 dígitos), como se muestra en la figura adjunta:

Para el cálculo de los 2 dígitos del código de control se utiliza el siguiente algoritmo, el cual calcula un dígito de control dado un número cualquiera de 10 dígitos:

1. Calcular el número N dado por la fórmula siguiente:

N=11 !mod ! !di"pi !i=1

10

# !11$%&

'()

donde di el es el dígito i-ésimo del número del que se desea calcular su dígito de control, pi es la componente i-ésima de un vector dado p de 10 componentes proporcionado por la entidad bancaria y conocido, y mod es la operación de resto de división entera (véase nota abajo).

2. Según el valor de N, el dígito de control valdrá: a. Si N = 11, entonces el dígito de control es 0. b. Si N = 10, entonces el dígito de control es 1. c. En cualquier otro caso el dígito de control es el propio número N.

Para obtener el primer dígito de control se utilizan los códigos de entidad y de sucursal del código de cuenta corriente añadiéndoles dos cero por la izquierda, y después se le aplica el algoritmo dado. Para el segundo dígito de control se le aplica el algoritmo a los 10 últimos dígitos correspondientes al número de cuenta. Se pide:

a) Realizar el diagrama de flujo del algoritmo dado para un número cualquiera cuyos dígitos están almacenados como un vector U de 10 componentes. Dicho algoritmo debe almacenar en una variable denominada DC el valor del dígito de control obtenido.

b) Usar el diagrama de flujo del apartado anterior como un módulo y realizar el diagrama de flujo para

comprobar que los dígitos de control de un código de cuenta corriente dado, son correctos. El resultado se expresará con una variable que valga “1” si los dígitos son correctos ó “0” en caso contrario. El código de cuenta corriente completo está almacenado en un vector dado V. Es obligatorio usar el módulo del apartado anterior tantas veces como sea necesario.

NOTA: Para la confección del diagrama de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a memoria con subíndices y expresiones literales en lenguaje natural. Además dispone de la operación resto de división entera que se representa como mod(X/Y), es decir resto de dividir la cantidad X entre la cantidad Y. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro correspondiente. Sólo puede definir nuevas variables adicionales hasta completar la tabla proporcionada.

Código entidad

Código sucursal

Número de cuenta

Código control

Page 97: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grados en Ingeniería Aeroespacial y Civil. 1ª Convocatoria Ordinaria. 16 de junio de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 3h. Hoja 5/5

a) b)

NOMBRE TIPO/VALOR DESCRIPCIÓN DEL OBJETO

N Variable entera

Número resultado del algoritmo

DC Variable entera

Valor del dígito de control obtenido

U Vector de dimensión 10

Contiene el número dato para el algoritmo

V Vector Contiene el código de cuenta corriente

p Vector de dimensión 10

Contiene un número de la entidad bancaria

i Índice Para vectores

INICIO MÓDULO

FIN MÓDULO

FIN

INICIO

Page 98: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grados en Ingeniería Aeroespacial y Civil. 2ª Convocatoria Ordinaria. 9 de septiembre de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 3h. Hoja 1/3

CUESTIÓN 1 (1.5 Puntos) a) Deduzca el valor de la base N en la siguiente identidad:

!

123N = 2315

b) Deduzca a qué bases numéricas representan las variables X, Y y Z en las siguientes identidades, donde todos los números son positivos.

!

10001X = 11Y = 21Z c) Calcule el resultado de la siguiente operación donde el número binario está codificado en complementos a dos.

1000002 + 52

6= __________________

_____

d) Resuelva el siguiente sistema de ecuaciones para x e y, dando la solución en base hexadecimal.

!

24 8 " x + 112 " y = E016

x # y = 210

e) Se carga en memoria de la computadora CESIUS el programa que

aparece en el margen derecho. Responda a las preguntas una vez ha finalizado la ejecución del programa:

1) ¿qué hay en la dirección 1 en decimal?; y 2) ¿qué se almacena en la dirección 9 (en decimal)? NOTA: Los códigos de operación ordenados de menor a mayor comenzando por el 0 son: ALT, ALM, CAR, ESC, LEE, SUM, RES, MUL, DIV, MOD, SAL, SAN, SAC, SAP, ECA y LCA.

CUESTIÓN 2 (1 Punto) Se desea hacer un programa en el lenguaje LS2 para la computadora CESIUS, tal que dado dos números enteros positivos N y P>1, calcule la potencia NP. El programa debe solicitar ambos números al usuario y escribir el resultado en la pantalla. Se pide que finalice el programa que está parcialmente desarrollado en el recuadro adjunto. NOTA: No está permitido reservar memoria adicional, de modo que el programa debe completarse con las variables ya definidas.

DIR Instrucción 0 1010 0 000 0000 0100 1 1100 0 000 0000 0000 2 0000 0 000 0000 0011 3 1111 1 111 1111 1110 4 0010 0 000 0000 0001 5 0111 1 000 0000 0010 6 0001 0 000 0000 1001 7 0011 0 000 0000 1001 8 0000 0 000 0000 0000 9 0000 0 000 0000 0000

Pseudo / Instrucción ORG 0 SAL INI CONT: ESP 1 N: ESP 1 P: ESP 1 INI:

Pseudo / Instrucción

1) 2)

X = Y = Z =

N =

x = y =

Page 99: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grados en Ingeniería Aeroespacial y Civil. 2ª Convocatoria Ordinaria. 9 de septiembre de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 3h. Hoja 2/3

CUESTIÓN 3 (2.5 Puntos) Sea una matriz cuadrada ! de orden ! con autovalores reales y distintos !!,!!,…  !!, los cuales están ordenados en magnitud como |!!| > |!!| >  … > |!!| de modo que !! es el mayor en valor absoluto. Partiendo de un vector !, un algoritmo iterativo para calcular dicho autovalor mayor es el siguiente:

y(k ) =A ! y(k"1)

f (k ),!! f (k ) =max

iyi(k ){ },!!i =1,...,n,

donde el superíndice ! se refiere a la iteración, y se ha definido el factor de escala !(!) que normaliza al vector ! dividiéndolo por su componente con valor absoluto máximo. Como ejemplo, suponga que se tienen la matriz y valor inicial siguientes

A = 99 249 2

!

"#

$

%&,!!y(0) = 1

1

!

"#

$

%&,

de donde puede verse que el resultado de las 2 primeras iteraciones de dicho algoritmo es el siguiente

y(1) = A ! y(0)

f (0)= 101.00

51.00

"

#$

%

&'( f (1)=101.00,

y(2) = A ! y(1)

f (1)= 100.01

50.01

"

#$

%

&'!( f (2)=100.01.

Si en vez de sólo 2 se calcularan ! iteraciones se obtendría una buena aproximación de dicho máximo autovalor !! dado por el valor de !(!), es decir !! ≈ !(!) para ! ≫ 1. Dados la matriz !, el número de iteraciones ! y el vector de partida !, se pide realizar el diagrama de flujo del algoritmo propuesto de modo que escriba en pantalla el resultado del valor de la aproximación obtenida. Para simplificar suponga que la matriz ! es positiva definida lo que implica que todos sus autovalores son positivos.

NOTA: Para la confección del diagrama de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a memoria con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro correspondiente. No se pueden definir nuevas variables adicionales a las de la tabla proporcionada. Todos los valores de la tabla están almacenados en memoria.

NOMBRE TIPO/VALOR DESCRIPCIÓN DEL OBJETO

A Matriz de dimensión n Matriz dato

n Constante Dimensión de la matriz

y Vector de dimensión n

Vector de partida de unos

f Variable escalar Factor de escala

N Constante Número de iteraciones

i Índice Para vectores

j Índice Para vectores

k Índice Para vectores

z Vector de dimensión n

Vector auxiliar de ceros

aux Variable escalar Variable auxiliar

Page 100: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grados en Ingeniería Aeroespacial y Civil. 2ª Convocatoria Ordinaria. 9 de septiembre de 2016

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 3h. Hoja 3/3

FIN

INICIO

Page 101: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 27 de enero de 2017

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 2.5h. Hoja 1/4

a2 a1 a0

c2 c1 c0

b2 b1 b0

CUESTIÓN 1 (4 Puntos) a) Deduzca el valor de la base N en la siguiente identidad:

b) Calcule el valor del mínimo (distinto del cero) y máximo número representable para números positivos de 7 bits

sin signo en los sistemas de representación binaria: a) punto fijo con 5 bits de parte entera y b) punto flotante con 3 bits de mantisa normalizada con 0 a la izquierda del punto y 4 bits de exponente en complemento a 2. Deje el resultado indicado en notación exponencial en base decimal.

c) Dados dos números A y B en el estándar IEEE754 de simple precisión y con mantisa en signo valor absoluto,

calcule la suma A+B expresando el resultado en dicho estándar.

A

B A+B

d) Se tienen dos números binarios A>0 y B<0 codificados en signo valor absoluto en 3 bits. Se desea diseñar un

circuito de puertas lógicas que calcule el número C=A-B, en complemento a 2. Dispone, además las puertas lógicas básicas, de los circuitos sumadores diseñados en clase, que puede utilizar como bloques funcionales. Diseñe el circuito adicional que necesite y en el recuadro adjunto, conecte todos ellos adecuadamente.

e) La UC de una computadora con la misma arquitectura

que CESIUS tiene las siguientes características: • Frecuencia del reloj 2 KHz. • Juego de instrucciones de la tabla adjunta. • El modo de acceso indirecto duplica los ciclos de

ejecución de la instrucción correspondiente. Se pide que para el programa al margen, calcule el tiempo de ejecución en milisegundos. Detalle el planteamiento del cálculo en el recuadro de abajo.

0 1 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Instrucción Ciclos CO MD

ALT 0 1 ALM 0 2 CAR 0 2 ESC 0 4 RES 0 1 MUL 0 1 SAL 0 1 SAP 0 3

Pseudo / Instrucción ORG 0 SAL INI

CONT: DRE CONT N: CTE 2 P: CTE 3

AUX: DRE CONT INI: CAR N

MUL I AUX ALM CONT CAR P RES AUX ALM P SAP INI ESC CONT ALT FIN

N =

a) [ ……………………. , ……………………. ] b) [……………………. , ……………………. ]

20N= logN 1000

N( )2 N( )!

"#$%&

Page 102: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 27 de enero de 2017

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 2.5h. Hoja 2/4

CUESTIÓN 2 (6 Puntos) Las técnicas de aprendizaje automático en inteligencia artificial, usan algoritmos de clasificación automática de grupos de datos (clusters) con características comunes sin supervisión humana. Un ejemplo es la creación de un programa que extraiga dichos grupos comunes de vuelos comerciales que relacionen la meteorología con sus retrasos. En particular, en cierto aeropuerto se desea caracterizar la influencia que tiene la variación de la temperatura ambiente sobre el retraso de los vuelos. Para ello, se almacenan los datos de cada vuelo en pi=(pxi,pyi), donde pxi e pyi es el retraso y la temperatura del vuelo i, respectivamente. En la figura puede observarse los datos de vuelos y los grupos (clusters) detectados, dónde se deduce que la temperatura baja afecta mucho al tráfico aéreo del grupo 3, información muy útil para mejorar su gestión. El algoritmo que se implementa usa los datos disponibles de N vuelos y detecta un número de M clusters prefijados por el usuario (N>M), realizando P iteraciones (también prefijadas) tal que en cada una de ellas calcula lo siguiente: 1. Para cada punto pi calcula la distancia al cuadrado a un punto geométrico central de cada cluster, que se

denomina centroide, y que representa a cada cluster. En la figura los centroides se corresponden con las cruces. Una vez calculada la distancia de cada pi a cada centroide, se le asigna al punto pi el cluster más cercano, es decir aquel cuya distancia es mínima. Los clusters se numeran de 1 a M y para asignarle el más cercano se almacena dicho número en un vector ci, que contendrá el cluster más cercano al punto pi.

2. El vector ci tiene ahora almacenados a qué cluster pertenece cada punto pi. Entonces, se vuelven a calcular los centroides con los nuevos valores obtenidos de ci, es decir el centroide se calcula sólo con los pi que pertenecen al cluster que señala ci.

Dados N, M, P, los vectores pxi, pyi, cxk, cyk y la distancia máxima posible entre dos puntos L, se pide: a) Realice el diagrama de flujo del módulo CLUST_ASIGN

que calcula el vector ci dados pxi y pyi y las coordendas de los centroides cxk y cyk.

b) Realice el diagrama de flujo del módulo CENTR_ALLOC que recalcule la posición de los centroides cxk y cyk, dados el vector ci y las posiciones pxi y pyi.

c) Realice el diagrama de flujo que resuelva el algoritmo completo para P iteraciones. Inicialice las coordenadas de los centroides a las de los M primeros elementos de pi. Debe usar obligatoriamente los módulos de los apartados anteriores a) y b).

NOTA: Para la confección del diagrama de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a memoria con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro correspondiente. No se pueden definir nuevas variables adicionales a las de la tabla proporcionada. Todos los valores de la tabla están almacenados en memoria.

NOMBRE TIPO/VALOR DESCRIPCIÓN DEL OBJETO

N Constante Número de puntos

M Constante Numero de clusters

P Constante Número total de iteraciones

L Constante Distancia máxima entre puntos

pxi Vector de

dimensión N Coordenadas x de pi

pyi Vector de

dimensión N Coordenadas y de pi

cxk Vector de

dimensión N Coordenadas x de

centroide k

cyk Vector de

dimensión N Coordenadas y de

centroide k

ci Vector de

dimensión N Vector de unos

pertenencia a cluster

i Índice Para vectores

j Índice Para vectores

k Índice Para vectores

aux1 Variable escalar Variable auxiliar

aux2 Variable escalar Variable auxiliar

aux3 Variable escalar Variable auxiliar

Page 103: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 27 de enero de 2017

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 2.5h. Hoja 3/4

a) b)

INICIO CLUST_ASIGN

FIN CLUST_ASIGN FIN CENTR_ALLOC

INICIO CENTR_ALLOC

Page 104: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Departamento de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 27 de enero de 2017

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 2.5h. Hoja 4/4

c)

INICIO

FIN

Page 105: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Depto. de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 26 de junio de 2017. 1ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 2.5h. Hoja 1/3

CUESTIÓN 1 (2.5 Puntos) a) Rellene los espacios en blanco con los resultados correspondientes (son todos números positivos):

a) AB415= ______________

9 f) 10102 !!6

6÷!3

3= _____

2 b) 5.875

10 = _____________

2 g) 10102 !!10

2= ________

16 c) 3624

8=!______________

2 h) 2FA16

+12= _________

16 d) 10.05

10 = _____________

2 i) 1000002 ÷100

2= _____

2

e) 111100101002= _______

16 j) log3 10003( )

2 3( )!"#

$%&= ____

3

b) Se tienen dos números binarios de 3 bits A>0 (a2a1a0) y B (b2b1b0). El número B en caso de ser negativo está

codificado en signo valor absoluto. El circuito de puertas lógicas de la figura dispone, además las puertas lógicas básicas, de los circuitos sumadores diseñados en clase. Calcule el resultado C a las siguientes combinaciones:

c) La UC de una computadora con la misma

arquitectura que CESIUS tiene las siguientes características: • Frecuencia del reloj 2 KHz. • Juego de instrucciones de la tabla al margen. • El modo de acceso indirecto duplica los ciclos de

ejecución de la instrucción correspondiente. Se pide que para el programa al margen, calcule el tiempo de ejecución en milisegundos, en función de la lectura del valor P. Detalle el planteamiento del cálculo.

a2 a1 a0

c3 c2 c1 c0

b2 b1 b0

Pseudo / Instrucción ORG 0 SAL INI

CONT: DRE CONT N: CTE 2 P: ESP 1

AUX: DRE CONT INI: LEE P

CAR N MUL I AUX ALM CONT CAR P RES AUX ALM P SAP INI ESC CONT ALT FIN

Instrucción Ciclos CO MD

ALT 0 1 ALM 0 2 CAR 0 2 LEE 0 2 ESC 0 4 RES 0 1 MUL 0 1 SAL 0 1 SAP 0 3

Sumador Paralelo (3 bits)

a) A = 010, B = 011, C = ……….…. b) A = 011, B = 111, C = ……….….

Page 106: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Depto. de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 26 de junio de 2017. 1ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 2.5h. Hoja 2/3

CUESTIÓN 2 (2.5 Puntos) En inteligencia artificial se usan algoritmos de clasificación automática de grupos de datos (clusters) con características comunes sin supervisión humana. Un ejemplo es la gestión del tráfico aéreo en aeropuertos, donde existen programas que buscan grupos comunes de vuelos comerciales relacionando la meteorología con sus retrasos. En particular, se desea caracterizar la influencia que tiene la temperatura ambiente sobre el retraso en los vuelos. Para ello, se almacenan los datos de cada vuelo en !! = !"! , !"! , donde pxi y pyi son el retraso y la temperatura del vuelo i, respectivamente. En la figura al margen pueden observarse los datos de vuelos y los grupos (clusters) detectados, donde se deduce que la temperatura baja afecta mucho al tráfico aéreo del grupo, o cluster, 3. El algoritmo usa los datos disponibles de N vuelos y detecta un número de M clusters prefijados por el usuario (N>M), realizando P iteraciones en total (también prefijadas), tal que en cada una de ellas calcula lo siguiente: 1. Para cada punto !!  calcula la distancia al cuadrado a un punto geométrico

central de cada cluster, que se denomina centroide, y que representa a cada cluster. En la figura los centroides se corresponden con las cruces dadas por !! = !"! , !"! y donde cxk y cyk son sus coordenadas. Una vez calculada la distancia de cada !! a cada centroide, se le asigna al punto !! el cluster más cercano, es decir aquel cuya distancia es mínima. Los clusters se numeran de 1 a M y para asignarle el más cercano se almacena dicho número en un vector cli, que contendrá el cluster más cercano al punto !! . Por ejemplo un vector cl=(2,1,2,1,…,clN) significaría que el cluster más cercano al punto 1 es el 2, al 3 es el 2, al 4 es el 1 y así sucesivamente.

2. El vector cli contiene a qué cluster pertenece cada punto !! . Entonces, se vuelven a calcular las coordenadas de los centroides con los nuevos valores obtenidos de cli, es decir el centroide k se calcula sólo con los puntos !!  que pertenecen a dicho cluster k usando cli.

Conocidos N, M, P y los vectores px, py, cx, cy, el algoritmo iterativo propuesto se puede ver en la figura al margen, donde P es el número de iteraciones totales, y que contiene los siguientes módulos:

a) El módulo CLUST_ASIGN calcula el vector cl dados px y py y las coordenadas de los centroides cx y cy.

b) El módulo CENTR_ALLOC recalcula las coordenadas de los centroides cx y cy, dados los vectores cl, px y py.

Para evaluar la precisión de la solución se desea usar el error cuadrático medio (ECM) de todos los puntos con respecto a sus respectivos clusters como se muestra en la siguiente fórmula:

!"# =     !! − !! !!

!!  ∈  !"!

!

!=1

Se pide, transformar los módulos explicados anteriormente en funciones sin desarrollar su contenido, rehacer con dichas funciones el diagrama de flujo propuesto completándolo con lo necesario para que calcule el ECM.

NOTA: Para la confección del diagrama de flujo utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a memoria con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro correspondiente. Todos los valores de la tabla están almacenados en memoria.

Page 107: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Depto. de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 26 de junio de 2017. 1ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 2.5h. Hoja 3/3

NOMBRE TIPO/VALOR DESCRIPCIÓN DEL OBJETO

Constante Número de puntos

M Constante Numero de clusters

P Constante Número total de iteraciones

L Constante Distancia máxima entre puntos

pxi Vector de

dimensión N Coordenadas x

de pi

pyi Vector de

dimensión N Coordenadas y

de pi

cxk Vector de

dimensión M Coordenadas x de centroide k

cyk Vector de

dimensión M Coordenadas y de centroide k

cli Vector de

dimensión N

Vector de unos pertenencia a

cluster

i Índice Para vectores

j Índice Para vectores

k Índice Para vectores

Page 108: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Depto. de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 6 de septiembre de 2017. 2ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 2.5h. Hoja 1/2

CUESTIÓN 1 (2.5 Puntos) a) Rellene los espacios en blanco con los resultados correspondientes (son todos números positivos):

a) 5236= _______________

16 f) 10102 !!6

8÷!3

6= __________

2 b) 5.8125

10 = ____________

2 g) 10102 ÷!10

2= _____________

1 c) FF0

16=!______________

2 h) 2FA16

+12= ______________

16

d) 77608= ______________

16 i) log2 _1000_ 2( ) = __________ 3 b) Se tienen dos números binarios en dos registros de 3 bits A>0 (a2a1a0) y B<0 (b2b1b0) codificado en

signo valor absoluto. Complete el circuito de puertas lógicas de la figura para que calcule la resta A+B y almacene el resultado en el registro C con el signo que corresponda.

¿Es necesario el bit c3 del registro C? Marque la respuesta correcta en el recuadro adjunto. c) Codifique el diagrama de flujo de la figura en el lenguaje LS2 para la computadora CESIUS.

DATOS: “Carácter” / Código ASCII en decimal : “.” / 46; “A” / 65; “Z” / 90.

a2 a1 a0

c3 c2 c1 c0

b2 b1 b0

Pseudo / Instrucción

Pseudo / Instrucción

Sumador Paralelo (3 bits)

Inicio

Fin

¿c≠’.’?

Leer c

SI NO

0 ← k

1 + ← k k

SI

NO

Escribir k

¿ c es una letra mayúscula?

SI: NO:

Page 109: CUESTIÓN 1 (2 Puntos) CUESTIÓN 2 (1 Punto) CUESTIÓN 3 (1 ...

Depto. de Ingeniería de Sistemas y Automática. Universidad de Sevilla. Informática 1er curso Grado en Ingeniería Aeroespacial. 6 de septiembre de 2017. 2ª Convocatoria Ordinaria

APELLIDOS: NOMBRE: D.N.I.: Escriba las respuestas en los recuadros indicados. Utilice la parte de atrás como borrador. Entregue todas las hojas con su nombre, apellidos y DNI. Puede usar lápiz.

Tiempo total del examen 2.5h. Hoja 2/2

CUESTIÓN 2 (2.5 Puntos) Se desea hacer un programa que calcule la fórmula de interpolación de Lagrange dada por

!!!! ! !!! ! !!!! ! !!

!

!!!!!!

!

!!!

la cual crea un polinomio de grado N-1 que pasa por los N pares de puntos como se muestra en la figura de abajo para N = 3.

Realizar el diagrama de flujo de la función LAGRANGE, que recibe como argumentos N, los vectores x e y y el valor z dónde evaluar el polinomio. La función debe devolver el valor del polinomio en el punto z, es decir P(z). NOTA: Para hacer el diagrama utilice únicamente las operaciones +,-, ·, /, asignación (←), comparaciones <, >, ≤, ≥, =, lógicas “y”, “o”, acceso a vectores y matrices con subíndices y expresiones literales en lenguaje natural. El diagrama de flujo ha de estar estructurado, ser claro y legible y ocupar sólo el espacio interior del recuadro.

NOMBRE TIPO DESCRIPCIÓN DEL OBJETO

N Constante Número de puntos

xi Vector de

dimensión N Coordenadas x

yi Vector de

dimensión N Coordenadas y

z Variable Valor para evaluar el polinomio

i Índice Para vectores j Índice Para vectores

INICIO

FIN

x1 x2 x3

y3y2y1