Diferencia entre revisiones de «PrInf16: Introducción a las funciones»
(→Contenido de la práctica) |
(→Contenido de la práctica) |
||
| Línea 37: | Línea 37: | ||
* Algoritmo, aproximación a la raíz cuadrada que vimos en la [[PrInf10: Bucles|práctica 10]], en este caso con 25 pasos fijos para realizar la aproximación. | * Algoritmo, aproximación a la raíz cuadrada que vimos en la [[PrInf10: Bucles|práctica 10]], en este caso con 25 pasos fijos para realizar la aproximación. | ||
* Salida de datos, que informa al usuario del valor de la raíz usando cuatro decimales. | * Salida de datos, que informa al usuario del valor de la raíz usando cuatro decimales. | ||
| + | |||
| + | Las funciones tienen exactamente la misma estructura, por lo que es fácil transformar este programa en una función: | ||
| + | {{ matlab | codigo = function s = MiRaiz(A) | ||
| + | % Funcion que calcula la raiz de A | ||
| + | nPasos = 25;L = A;W = 1;for k=1:nPasos L = (L+W)/2; W = A/L;end% Salida de datos | ||
| + | s = L;}} | ||
== Ejercicio post-práctica == | == Ejercicio post-práctica == | ||
[[Categoría:Prácticas de Informática]] | [[Categoría:Prácticas de Informática]] | ||
Revisión del 11:50 9 ago 2013
| Práctica de Informática | |
|---|---|
| Introducción a las funciones | |
| Práctica anterior | Siguiente práctica |
| Este artículo es un guión de prácticas de Informática | |
| |
Hasta ahora hemos escrito programas que interactuaban directamente con el usuario. Cada programa tenía una única entrada, una única salida y realizaba una única tarea por medio de un algoritmo. Cuando los programas son más complejos, es útil dividir el programa en funciones. Una función encapsula un trozo de código, y permite acceder a él del mismo modo que usamos las funciones internas de Octave UPM. Por ejemplo, cuando llamamos a la función sqrt, le pasamos un valor de entrada, y nos devuelve su raíz cuadrada. Nosotros no sabemos cómo se realiza esta tarea, el algoritmo que realiza esta tarea es interno a la función, y ni sabemos ni necesitamos saber cómo se calcula. En esta práctica vamos a ver cómo programar nuestras propias funciones, para que puedan reutilizarse en otros programas. En próximas prácticas veremos cómo las funciones facilitan el diseño de programas complejos, estructurando cada parte en entrada-algoritmo-salida, y combinándolas usando una metodología denominada diseño top-down.
Contenido
1 Requisitos previos
Es importante haber realizado todas las prácticas anteriores antes de realizar esta práctica.
2 Vídeos posteriores
Es importante visualizar este vídeo para afianzar las competencias adquiridas en esta práctica:
3 Comandos que se aprenderán en esta práctica
| function |
4 Contenido de la práctica
En la práctica 10 escribimos un programa que aproximaba el valor de la raíz cuadrada de un número. Aunque en esa práctica escribimos diferentes versiones del código, nosotros vamos a usar la siguiente para esta práctica:% Entrada de datos
A = input('Introduce el numero cuya raiz quieres calcular: ');
% Algoritmo
nPasos = 25;
L = A;
W = 1;
for k=1:nPasos
L = (L+W)/2;
W = A/L;
end
% Salida de datos
fprintf('La raiz de %.4f es %.4f\n', A, L);Es decir, el programa consta de las siguientes partes:
- Entrada de datos, que en este caso es el valor de A, el número cuya raíz vamos a calcular.
- Algoritmo, aproximación a la raíz cuadrada que vimos en la práctica 10, en este caso con 25 pasos fijos para realizar la aproximación.
- Salida de datos, que informa al usuario del valor de la raíz usando cuatro decimales.
Las funciones tienen exactamente la misma estructura, por lo que es fácil transformar este programa en una función:
function s = MiRaiz(A)
% Funcion que calcula la raiz de A
nPasos = 25;L = A;W = 1;for k=1:nPasos L = (L+W)/2; W = A/L;end% Salida de datos
s = L;