Está en la página 1de 3

TEMA 6. PRIMERA PARTE.

EJERCICIOS PROPUESTOS PARA REALIZAR


MAYORITARIAMENTE EN EL LABORATORIO

Ejercicio 6.1

Abrir un fichero nuevo producto.m para definir la función producto que


calcule y devuelva el producto de dos valores numéricos de entrada x, y en el
argumento de retorno w. Probar el funcionamiento de esta función haciendo una
llamada desde la ventana de comandos con datos de entrada a=7, b=6. Guardar
en c el resultado.

¿Qué variables han aparecido en el espacio de trabajo?

Ejercicio 6.2

Construir una función llamada area que calcule el área de un triángulo de


vértices p, q y r. Realizar la llamada a la función desde la ventana de comandos
con los siguientes datos para los vértices: (1,0,0); (0,1,0); (0,0,1) y almacenar el
resultado en la variable areatri.

El área de un triángulo puede calcularse obteniendo el módulo del producto


vectorial de dos de sus lados con origen en el mismo vértice y dividiendo entre
dos esta cantidad.

Ejercicio 6.3

Construir una función llamada sfac tal que dado un número natural n, calcule

la suma de 1 a n y el factorial de n. Hacer la llamada a la función para realizar el


cálculo con el valor 8. Guardar el resultado en dos variables sum y fac.

Ejercicio 6.4

Apartado a) Escribir, en lenguaje M, una función de nombre midiff que reciba,


como argumento de entrada, un vector cuyos elementos son números reales y
devuelva, como resultado, el vector que se obtiene al restar, a cada elemento del
vector de entrada (menos el primero) el elemento anterior (ver ejemplo). El
nuevo vector, así obtenido, tendrá, según lo anterior, un elemento menos que el
vector inicial.

Ejemplo: Si el vector inicial es [3 2 5 9], el vector resultado deberá ser

[(2-3) (5-2) (9-5)]  [-1 3 4]

Apartado b) Utilizando la función anterior escribir un programa que, tras solicitar


del usuario un vector, aplique reiteradamente dicha función, a partir de ese
vector y sus valores de retorno, hasta obtener un escalar, cuyo valor debe
escribirse en pantalla.
Ejercicio 6.5 Se pide:

 x 2  1 si  2  x  2
a) Definir la función f ( x)   1
 x si x  2 ó x  2
b) Diseñar un programa que pida un escalar o vector por teclado x y obtenga
f(x) si x es un escalar, pero si es un intervalo (vector de dos
componentes) dibuje la función en ese intervalo; en caso contrario debe
aparecer un aviso en pantalla.
c) Desde la ventana de comandos realizar la llamada al programa para:
c.1) Evaluar la función en los valores 1 y 8.
c.2) Obtener la gráfica de la función en el intervalo [-15,15].
Introducir como dato un vector de más de dos componentes y observar el
resultado.
d) Modificar el programa del apartado b para que si el dato introducido no
tiene la longitud adecuada vuelva a pedir el dato al usuario todas las veces
necesarias.

Ejercicio 6.6

Diseñar una función de nombre burbuja que reciba un vector v y devuelva el


mismo vector ordenado de menor a mayor utilizando el método de la burbuja.

El Método de la Burbuja utiliza de forma masiva el algoritmo de intercambio visto


en el capítulo anterior. Se procede a ir comparando elementos consecutivos dos a
dos, de tal manera que si están desordenados, se pasa a intercambiarlos. Este
proceso aplicado una vez de izquierda a derecha consigue situar el elemento
mayor a la derecha. Si se repite el proceso, el elemento más grande de los
restantes queda situado al lado del mayor y así sucesivamente.

Veamos esto con un ejemplo. Sea el vector a ordenar: 5 4 3 2 1

Primera etapa de comparaciones:


5 4 3 2 1  4 5 3 2 1
4 5 3 2 1 4 3 5 2 1
4 3 5 2 1 4 3 2 5 1
4 3 2 5 1 4 3 2 1 5
Segunda etapa de comparaciones:
4 3 2 1 5 3 4 2 1 5
3 4 2 1 5 3 2 4 1 5
3 2 4 1 5 3 2 1 4 5
Tercera etapa de comparaciones:
3 2 1 4 5 2 3 1 4 5
2 3 1 4 5 2 1 3 4 5
Cuarta y última etapa de comparaciones:
2 1 3 4 5 1 2 3 4 5
Los elementos ordenados van apareciendo de uno en uno como las burbujas de
un líquido en ebullición. Esta analogía da nombre al método.

Ejercicio 6.7

Sea un cubo centrado en el origen de coordenadas. Se trata de averiguar si un


punto cualquiera del espacio se encuentra en el interior estricto del cubo,
pertenece a la frontera o es exterior. Para ello, se deben diseñar las funciones
inte y fron, de retorno lógico, que devuelvan verdadero si el punto está en el
interior o en la frontera respectivamente.

Además, se debe diseñar el programa que pida al usuario los datos de entrada
(lado del cubo y coordenadas del punto) y utilizando adecuadamente las
funciones anteriores imprima como resultado una frase con la ubicación del punto
respecto al cubo.

Ejercicio 6.8

Apartado a) Diseñar la función EsPrimo, de retorno lógico, que reciba un


número natural y compruebe si el número es primo o no.

Apartado b) Dos números primos se denominan gemelos si uno de ellos es igual al


otro más dos unidades. Así pues, los números primos 3 y 5 forman una pareja de
primos gemelos. Otros ejemplos son 11 y 13, 29 y 31 ó 41 y 43. Escribir un
programa M que usando la función EsPrimo obtenga los números primos
gemelos existentes en un intervalo [a, b] que se introducirá por teclado (a y b
deben ser dos números naturales, si no lo fueran se quitaría su parte decimal.
Además a debe ser, al menos, dos unidades menor que b, si no es así se volverán
a pedir los datos hasta que cumpla la condición).

El programa creará el archivo gemelos.txt y escribirá en él la respuesta. El


archivo tendrá una primera línea con el texto:

Números primos gemelos en el intervalo [...., ....]

A continuación se escribirán todas las parejas de números gemelos que se


encuentren, una pareja en cada línea.

Si no encuentra ninguna pareja de primos gemelos la segunda línea del fichero


será:

No se han obtenido resultados

También podría gustarte