PDF de programación - Programación Modular

Imágen de pdf Programación Modular

Programación Modulargráfica de visualizaciones

Publicado el 27 de Abril del 2018
294 visualizaciones desde el 27 de Abril del 2018
111,4 KB
20 paginas
Creado hace 10a (28/10/2010)
Programación Modular

Informática aplicada al medio ambiente

curso 2010/2011

Elementos básicos

 Estructuras de datos

 Modelización de la información

 Entrada, salida, datos intermedios, etc.

 Funciones

 Transformación de los datos, hasta conseguir el

resultado final

 Módulos

 Agrupación lógica de Estructuras y Funciones
 Ej: Interfaz de usuario, Base de datos, Motor de

inferencia, etc.

Informática aplicada al Medio Ambiente

2

Objetivos de la programación

modular

 Hacer más legible y manejable un programa
 Simplificación del problema: Divide y vencerás
 Aumentar su capacidad de reutilización
 Facilita el trabajo en equipo

Informática aplicada al Medio Ambiente

3

Funciones

 Transforman datos

 Variables de entradas
 Variables de salida
 Variables de Entrada / Salida

 Realizan un única tarea, bien definida
 El nombre indicará su función
 Pueden usar otras funciones
 Si se llama a si misma => función recursiva

Informática aplicada al Medio Ambiente

4

Funciones

 Espacio de trabajo local

 Aisladas del programa, solo se comunican

mediante los argumentos de entrada y la salida de
la función

 Excepción: Variables globales
 Ej.: A = f(B)

 Si B es una variable de entrada, f no puede

modificar B

 En matlab todos los argumentos son de entrada
 La salida se guarda en A

Informática aplicada al Medio Ambiente

5

Funciones Matlab

 function [out1, out2, ..., outN]

 = nombre_funcion (in1, in2, ..., inM)

 Mismo nombre que el fichero .m donde se

define

 Las variables definidas dentro de la función son

locales

 Al modificar un parámetro de entrada se hace

una copia para evitar su modificación

 out1=salida1 %modifica la salida

Informática aplicada al Medio Ambiente

6

Funciones Matlab

function t= gases(p, v, n)

%t= gases(p, v, n)
%Entrada:
% p = presión en atmósferas
% v = volumen en litros
% n = número de moles
%Salida:
% t= temperatura (grados kelvin)
R= 0.0821 %cte atm*litros/mol*grado
t= p*v / (n*R);

Informática aplicada al Medio Ambiente

7

Programa vs Función

 Programa: Mismo efecto que ejecutar linea a

linea en ventana de comandos

 Funciones: Solo accede a los argumentos de

entrada y variables globales declaradas

 Variables de programa: globales
 Variables de función: locales
 Variables locales:

 Se destruyen al salir de la función
 No interfieren con variables del mismo nombre en

otras partes del programa

Informática aplicada al Medio Ambiente

8

Variables globales

 global v1 v2 ... vN
 Se declara en la primera linea de la función
 Son accesibles desde cualquier función que la

declare global
 Compartidas

 clear v1

 Desliga la variable global del espacio de trabajo

actual (opuesto a global)

Informática aplicada al Medio Ambiente

9

Variables globales

 Dificultan la comprensión del código si son más

utilizadas

 Impiden que las funciones sean reentrantes
 Dificultan la reutilización del código
 =>Limitar su uso en la medida de lo posible, ej.:

para constantes

Informática aplicada al Medio Ambiente

10

Funciones II

 Subfunciones:

 Funciones dentro del mismo archivo
 Son privadas. No se pueden utilizar fuera de las

funciones del mismo archivo

 Funciones sin valor de retorno



function f(in1, in2, in3)

 Funciones con un solo retorno: No requiere

poner [ ]

 Sin entradas: No requiere ( )

Informática aplicada al Medio Ambiente

11

Funciones III

 Nº de argumentos variable
 nargin: número de entradas
 nargout: número de salidas

 return finaliza la ejecución de la función
 help función:

 Muestra comentarios detrás del nombre
 La primera linea es la usada por lookfor para

buscar

Informática aplicada al Medio Ambiente

12

Ejemplo

function [ media, mediana ] = mm (v)

n=length(v);
media= average (v, n); mediana = median (v, n);

function a= average (v, n)

a=sum(v)/n;

function m= median (v, n)

w=sort(v);
if rem(n,2) == 1, m=w((n+1)/2);
else m=(w(n/2)+w(1+n/2))/2; end

Informática aplicada al Medio Ambiente

13

Ejecución de funciones

 m=mm(w); %¿media o mediana?

%Se comienza por la 1ª salida

 Orden de búsqueda:
1.Funciones de usuario
2.Subfunciones del mismo fichero
3.Funciones de biblioteca

Informática aplicada al Medio Ambiente

14

Referencias de funciones

 Una función puede ser un tipo de dato. Sirve

para pasar una función a otra

 Ej: quad('sin', 0, pi);

 Quad calcula la integral de la función dada para el

intervalo indicado

 Biblioteca de integración numérica QuadPack

Informática aplicada al Medio Ambiente

15

Evaluación de funciones

 Para evaluar una función:



feval('nombre' o referencia a función,
argumentos...)

 Obtener referencia a función:

 @sin o str2func('nombre de función')

Informática aplicada al Medio Ambiente

16

Celdas

 Hasta ahora. Arrays de un tipo de dato
 Con celdas → Arrays con elementos de distinto

tipo

 Notación: Elementos entre { y }

 c={'Juan', 'Pérez', 3.25}
 c(1,1) → {'juan'} %Una celda
 c{1,1} → 'juan' %El contenido de la celda

 cell(n) % matriz cuadrada de nxn celdas
 cell(n, m) % matriz de n filas y m columnas

Informática aplicada al Medio Ambiente

17

Funciones con celdas

 celldisp(c) → muestra la celda
 cellplot(c) → representación gráfica de la celda

%solo en matlab

 cellfun(función, celda)

 aplica la función a cada elemento del array de

celdas

Ej.:c={1, 3; 'juan', 7.5}
cellfun('isclass', c, 'double')

1 1
0 1

Informática aplicada al Medio Ambiente

18

Estructuras

 ¿Qué son?

 Agrupación de datos de distinto tipo
 Organizados por campos con nombre

 Ej:

 alumno.nombre='Juan'
 alumno.dni='123456'

 alumno = struct('nombre', 'Juan', 'dni', 123456)
 La estructura se puede ampliar añadiendo

campos

Informática aplicada al Medio Ambiente

19

Estructuras II

 Matrices de estructuras:

 v(7)=alumno

 Crea un vector de 7 elementos, con la estructura de

alumno

 Guarda el alumno en la posición 7

 Estructuras anidadas

 clase= struct('curso', 'primero', 'grupo', 'A',

'alumnos', v)

 Ventajas: Flexibilidad y organización
 Desventaja: Menor eficiencia

Informática aplicada al Medio Ambiente

20
  • Links de descarga
http://lwp-l.com/pdf10697

Comentarios de: Programación Modular (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad