• No se han encontrado resultados

Informática Aplicada TEMA 8: FUNCIONES 1.- CONCEPTOS. Funciones

N/A
N/A
Protected

Academic year: 2021

Share "Informática Aplicada TEMA 8: FUNCIONES 1.- CONCEPTOS. Funciones"

Copied!
8
0
0

Texto completo

(1)

Jorge Caro - ESI 2009/2010 Informática Aplicada

Informática Aplicada

TEMA 8:

FUNCIONES

Jorge Caro - ESI 2009/2010 Informática Aplicada

1.- CONCEPTOS

‰Permiten desarrollar algoritmos y códigos modulares, mejorando la legibilidad. ‰Son reutilizablespor lo que pueden incorporarse a diagramas distintos, descargando de trabajo al programador que puede echar mano de funciones ya hechas y probadas. Concepto

Funciones

‰conjunto de órdenes que lleva a cabo una tarea precisa.

‰Se utiliza dentro de un programa como si se tratara de una orden.

‰Calcula resultados a partir de los datos que se le suministran explícitamente.

‰Ejemplo: función sin()de MATLAB. oCumple los tres elementos anteriores

1.- CONCEPTOS

Concepto Datos y Resultado

‰En matemáticas una función f:

ƒCalcula un valor (variable dependiente y) a partir de otro dado (variable independiente x).

ƒx e y pueden ser escalares, vectores o matrices. ‰Las funciones en el ámbito informático:

ƒSe le suministran unos datos: argumentos. ƒDevuelven un resultado.

‰Ejemplo: la ejecución de y = sin(x) en MATLAB provoca: ƒEl cálculo mediante la función sin del seno del dato, que

(2)

Jorge Caro - ESI 2009/2010 Informática Aplicada

‰Globales ‰Locales

‰Persistentes (las globales son así) ‰Efímeras (con persistent las variables locales se transforman en persistentes)

‰Variables que existen sólo dentro de una función. ‰Son efímeras:

ƒSon creadas al llamar a la función y desaparecen al terminar la ejecución de la función.

ƒNo conservan su valor de una llamada a la siguiente.

‰Pueden hacerse persistentes pero no lo haremos ‰Fuera de la función esas variables no tienen existencia. Por ello puede haber otras variables con el mismo nombre. 2.- VARIABLES

Clasificación

Variables locales

Jorge Caro - ESI 2009/2010 Informática Aplicada

‰Se indica el uso de funciones mediante el bloque subprograma. Dentro del mismo:

ƒSe usará notación matemática para indicar el envío de argumentos.

ƒSe utilizará una asignación para indicar la recogida de los valores de las variables resultado.

ƒOperan con valores formales o ficticios: los argumentos.

3.- DIAGRAMA DE FLUJO Y FUNCIONES

‰Las funciones tienen una tabla de objetos propia. Los módulos no.

‰El diagrama de flujo de una función lleva asociado su propia tabla con:

ƒVariables y constantes propias de la función. ƒArgumentos y resultados.

‰Las funciones se pueden utilizar en cualquier algoritmo, mientras que los módulos van asociados a un algoritmo concreto.

(3)

Jorge Caro - ESI 2009/2010 Informática Aplicada

5.- FUNCIONES EN MATLAB

Función que calcule la multiplicación de dos números. y = a * b

function [prod] = producto (a, b) prod = a*b;

Jorge Caro - ESI 2009/2010 Informática Aplicada

6.- EJEMPLOS Ejemplo 1

Calcule la media de los valores absolutos de a y b. Para ello cree la función Vabs().

Ejemplo 2

Se desea calcular r = P(z) para un número real z leído desde el teclado, siendo P

( )

x=1x+4x3+x6x9

Ejemplo 3

Se desea calcular r = Q(z) para un número real z y un número natural leído desde el teclado, siendo

( )

n x x x x x Q n + + + + = ... 3 2 3 2 6.- EJEMPLOS Ejemplo 1

(4)

Jorge Caro - ESI 2009/2010 Informática Aplicada

6.- EJEMPLOS Ejemplo 1

Jorge Caro - ESI 2009/2010 Informática Aplicada

6.- EJEMPLOS Ejemplo 2

6.- EJEMPLOS Ejemplo 2

(5)

Jorge Caro - ESI 2009/2010 Informática Aplicada

6.- EJEMPLOS Ejemplo 3

Jorge Caro - ESI 2009/2010 Informática Aplicada

6.- EJEMPLOS Ejemplo 3

7.- EJERCICIOS PROPUESTOS Ejercicio 1

Realice el diagrama de flujo de una función que calcule el valor xysiendo x un número real y siendo y un número entero que puede ser positivo, negativo o cero. Ejercicio 2

Realice el diagrama de flujo de una función que evalúe el polinomio genérico de grado n dado por

P(x) = a1xn+a2xn-1+…+ anx1+ an+1x0

siendo n un entero (n>0) y siendo los coeficientes del polinomio los elementos de un vector

(6)

Jorge Caro - ESI 2009/2010 Informática Aplicada

7.- EJERCICIOS PROPUESTOS Ejercicio 1

Objeto Nombre Valor Tipo

Argumento x variable real Argumento y variable entera

Resultado r variable real

Variable Auxiliar base variable real Variable Auxiliar exp variable entera

Contador k variable entera 1 constante entera 0 constante entera

Jorge Caro - ESI 2009/2010 Informática Aplicada

7.- EJERCICIOS PROPUESTOS Ejercicio 2

Inicio del cálculo de r como P( a, x, n)

Fin del cálculo de r como P( a, x, n) ¿ k ≤n+1 ?

k ←1

k ←k+1 no

suma ←suma + ak·Pot(x, exp) suma ←0

r ←suma exp ←n-k+1

Objeto Nombre Valor Tipo

Argumento. Punto x variable real

Argumento. Vector de coeficientes a variable

vector de reales

Argumento. Grado del polinomio n variable entera

Resultado r variable real

Variable auxiliar exp variable entera

Índice k variable entera

1 constante entera

0 constante entera

Función para calcular x^y Pot(x,y)

devuelve un valor real 7.- EJERCICIOS PROPUESTOS

(7)

Jorge Caro - ESI 2009/2010 Informática Aplicada

7.- EJERCICIOS PROPUESTOS Ejercicio 2

Jorge Caro - ESI 2009/2010 Informática Aplicada

7.- EJERCICIOS PROPUESTOS Ejercicio 3

Se ha de realizar un programa que lea dos vectores de R3 y calcule y escriba el coseno del ángulo que forman.

Leer A Leer B

a Mod(A,3) b Mod(B,3) c ProdEsc(A,B,3)

Inicio Inicio calculo de r como ProdEsc (A,B,n) suma ←0 ¿ k ≤n ? k ←1 suma ←suma + (A(k)*B(k)) NO SI 7.- EJERCICIOS PROPUESTOS

(8)

Jorge Caro - ESI 2009/2010 Informática Aplicada Leer A Leer B a Mod(A,3) b Mod(B,3) c Mod(B-A,3) Cos(a^2+b^2-c^2)/(2*a*b) Fin

Inicio Inicio calculo de r como Mod (A,n) suma ←0 ¿ k ≤n ? k ←1 suma ←suma + Pot(A(k),2) k ←k+1 r ←sqrt(suma) NO SI 7.- EJERCICIOS PROPUESTOS

Ejercicio 3 (teorema del Coseno)

Fin calculo de r como Mod (A,n)

Referencias

Documento similar