ExamenFinal_25_Enero_2022

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 3

Examen Final 25/01/2022

Apellidos y Nombre:
DNI:

1) (2 puntos) La función “Cuenta” recibe como argumentos: el nombre de un fichero de texto


“nombref_e”, el nombre de un fichero binario de salida “nombref_s”, y una cadena de
caracteres “cadena”. Esta función ha de retornar el nº de veces que “cadena” se encuentra
en el fichero de texto “nombref_e”, guardando, además, este número (como un entero de
8bits) en el fichero binario de salida “nombref_s”. Completa el código de la función
“Cuenta” con las instrucciones que faltan:
function [cont]=Cuenta(nombref_e, nombref_s, cadena)
(1) f1=
(2) f2=
cont=0;
(3)while ( )
(4) linea=
(5) if ( )
# Compruebe si “cadena” se encuentra en la línea
(6) vector=
# Calcule cuantas veces se encuentra
(7) nv=
if (nv > 0)
cont=cont+nv;
endif
endif
endwhile
# Escribir nº de veces que aparece “cadena” en el fichero
“nombref_s”
(8)
(9)
(10)
endfunction

2) (2 puntos) Implementa la función “funcion1”. Esta función recibe y retorna un número


variable de argumentos. Ejemplos de uso de “funcion1”:
 Si el número de argumentos de
entrada es mayor o igual que el de
salida retornará los primeros
argumentos de entrada.
 Si el número de argumentos de
entrada es menor que el de salida
retornará los argumentos de entrada y
pondrá a cero el resto.
NOTA: Es obligatorio emplear las
funciones octave que permiten recibir y
retornar un nº variable de argumentos.
Examen Final 25/01/2022

Apellidos y Nombre:
DNI:

3) (2 puntos) Se van a representar dos funciones en la misma figura que ha de tener como
título “Dos Graficas”. Al finalizar se guardará la gráfica en el archivo “Imagen.png”.

i. Gráfica 1: Las ecuaciones paramétricas de una elipse de semiejes a=2 y b=4, centrada
en el origen de coordenadas son: x = a cos(t) y = b sin(t), y con valores de t en el
intervalo [-pi, pi+0.1] con paso de 0.1. Se ha de pintar x frente a y con el siguiente
formato: puntos representados con “+”, en color verde “g”, y de tamaño 5. Además, se
han de poner etiquetas a los ejes y como leyenda “Elipse” (sin cuadro alrededor).

ii. Gráfica 2: Pintar la superficie f(x,y)= z = y.*sin(x) - x.*cos(y);. Para ello, lo primero es
definir las variables x e y como dos vectores de igual longitud (1000 puntos
equidistantes entre -5 y 5). El título de la gráfica será “Montaña”.

#Gráfica_1
#Pintamos en la primera subventana de dos
_____________________________
# Establecer t en el intervalo [-π, π+0.1], con paso 0.1
_____________________________
x = 2 * cos(t);
y = 4 * sin(t);
# Pintar la elipse (x frente a y), en el formato adecuado
_____________________________
# Poner leyenda "Elipse"
_____________________________
# Quitar cuadro a la leyenda
_____________________________
# Ponemos etiqueta a los ejes x e y
_____________________________
_____________________________
#Gráfica_2
#Pintamos en la segunda subventana de dos
_____________________________
# Crear x e y como 1000 puntos equidistantes entre -5 y 5
x=y=_____________________________
#Obtención de la malla: matrices de puntos xx e yy
[xx,yy]= _____________________________
#Cálculo de las coordenadas del eje z a partir de xx e yy
z = yy.*sin(xx) - xx.*cos(yy);
#Representación de la superficie
_____________________________
# Poner título “Montaña”
_____________________________
#Guardamos la gráfica en formato png en el archivo de nombre “dibujo”
_____________________________
Examen Final 25/01/2022

Apellidos y Nombre:
DNI:

4) (2 puntos)

a) Diseña un algoritmo que, dado un vector V de dimensión n, construya una matriz


cuadrada M, elemento a elemento, en la que las n filas sean copias de V. Calcula la
complejidad del algoritmo diseñado y determina el orden, O(h(n)), al que pertenece
dicha complejidad. (1 punto)
Nota: No se pueden utilizar operaciones con matrices y vectores, excepto acceso a una
posición de una matriz o vector y calcular la longitud del vector.
b) Dada la siguiente expresión: x+3*y-4/2/2+x, evalúala para los valores x=2, y=1.
Construye además el árbol equivalente que la representa. (1 punto)

5) (2 puntos) Implementa una función Octave denominada “MayorSerie”, tal que recibe
como argumentos una cadena c y una letra x, retornando el mayor número de x consecutivas
en c. Si x no está en c, retornará 0.
Ejemplos: MayorSerie(abceaacccaaa, b) = 1; MayorSerie(abceaacccaaa, a)= 3

También podría gustarte