Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Tema 3 programacion modular, Diapositivas de Informática

Tema 3 programacion modular universidad

Tipo: Diapositivas

2020/2021

Subido el 10/02/2021

Mario1247907124
Mario1247907124 🇪🇸

6 documentos

1 / 46

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Informática Tema 3. Programación Modular 1 / 46
Módulo 2. Conocimientos
básicos de programación
Tema 3. Programación modular
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e

Vista previa parcial del texto

¡Descarga Tema 3 programacion modular y más Diapositivas en PDF de Informática solo en Docsity!

Módulo 2. Conocimientos

básicos de programación

Tema 3. Programación modular

Objetivos

  • Introducir los principales conceptos relacionados con

la programación modular.

  • Presentar las herramientas de programación que

permiten resolver problemas complejos mediante su

descomposición en otros más simples.

  • Comprender los distintos tipos de parámetros y

cómo se pasan entre módulos.

Definición

  • Programación modular: consiste en dividir un

algoritmo en unidades de menor tamaño  cada

una realiza una tarea explícita y única.

  • Cada fragmento se denomina función, módulo, sub-

algoritmo, subrutina o subprograma.

  • Ventajas:
    • Simplicidad: permite descomponer un problema en otros más simples.
    • Reutilización: cada módulo se identifica mediante un nombre, lo que permite utilizarlo siempre que se quiera.
    • Generalidad: se pueden parametrizar.
  • La Programación Modular consiste en dividir un problema en subproblemas más pequeños que se resuelven con módulos.
  • Un módulo o función realiza una tarea concreta y es deseable que se diseñe, implemente y depure de manera independiente al resto del código.
  • Mediante la combinación de las soluciones parciales se debe obtener la solución global. (^) P

SP1 (^) SP2 (^) SPn

S11 S12 S21 ……

……

  • nivel detalle

Definición

Parámetros

  • Parámetros: permiten la comunicación entre un

módulo y otro (o programa principal).

  • Pueden ser de Entrada y/o Salida:
    • Entrada: valores que son proporcionados al módulo.
    • Salida: son valores que se calculan en el módulo y que se devuelven al que lo ha invocado.
  • Según el comportamiento, hay módulos que:
    • Devuelven la salida asociada a su nombre.
    • Devuelven las salidas en parámetros.

Parámetros

  • Tipos de parámetros:
    • Reales o actuales: valores que se pasan al módulo.
    • Formales: los que aparecen en la declaración del módulo y contendrán los valores de los parámetros actuales cuando se invoca al módulo.
  • Cuando se utiliza un módulo (cuando se hace la llamada o invocación al módulo) los parámetros actuales deben coincidir en número, orden y tipo con los parámetros formales que aparecen en la declaración o diseño del módulo.

Parámetros

  • Tipo de paso de parámetros:
    • Valor o copia: se utilizan para proporcionar información a un módulo. Los cambios realizados no son visibles fuera.
    • Variable o referencia: se utilizan tanto para recibir como para transmitir valores, de manera que los cambios que se hagan serán visibles desde fuera. Se indican de alguna forma, por ejemplo con una palabra reservada (var) o algún símbolo (&).

En Matlab todas los parámetros se pasan por valor, no por referencia.

Parámetros

Módulo

Algoritmo o módulo (hace la llamada)

… Parámetros actuales

Parámetros formales

Valor

Valor

Valor

Paso por valor o copia

Paso por variable o referencia

Sintaxis

  • Un módulo consta de:
    • Una cabecera que comienza con la palabra reservada function y donde se especifican (en este orden): - Parámetros de salida. (Valores que devuelve el módulo). Si hay más de uno hay que ponerlos entre [ ] y separados por comas - Signo = - Nombre del módulo - Entre paréntesis los Parámetros de entrada. (Valores con los que va a trabajar el módulo). Si hay más de uno hay que separarlos con comas.
    • Texto de ayuda. Es opcional, aunque muy recomendable. Matlab despliega como ayuda (orden help ) todas las líneas que estén precedidas con % hasta que encuentre la primera línea no comentada.

Sintaxis

  • El cuerpo del módulo:
    • Contiene las sentencias necesarias para calcular los

valores que se van a devolver.

  • Utiliza los parámetros de entrada del módulo, así

como aquellas variables auxiliares que se precisen

para realizar dichos cálculos.

  • Asigna valores a los parámetros de salida.

(¡Obligatorio!)

Ojo: las variables que no sean parámetros son locales a la función.

Primeros ejemplos

  • Ejemplo:

function pfinal = pvt (precio) % Descripción: calcula el precio con IVA de un producto % Parámetros de entrada: precio: REAL, precio sin IVA % Parámetros de salida: pfinal: REAL, precio con IVA % Variables (internas): iva: REAL

iva = 0.21; pfinal = precio * (1+iva);

Primeros ejemplos

  • Ejemplos con varios argumentos de entrada o salida:

function pfinal = pvtIVA (precio, iva) % Descripción: calcula el precio con IVA de un producto % Parámetros de entrada: precio: REAL, precio sin IVA % iva: ENTERO, porcentaje de IVA a aplicar % Parámetros de salida: pfinal: REAL, precio con IVA

pfinal = precio * (1+iva/100);

Primeros ejemplos

  • Un módulo puede no devolver nada y/o no tener

parámetros de entrada. Ejemplo:

function info % Descripción: muestra información sobre la precisión de la % máquina % Parámetros de entrada: Ninguno % Parámetros de salida: Ninguno

disp (‘precisión de la máquina: ’); disp (eps); % Épsilon de la máquina. Ej: 2.2204e- disp (’mayor numero real’); disp(realmax); %Real más grande de la máquina. Ej: 1.7977e+ disp (’menor numero real’); disp(realmin); %Real más pequeño de la máquina. Ej: 2.2251e- 308

Llamada a un módulo

  • Podemos llamar a un módulo desde:
    • la línea de órdenes.
    • dentro de otro módulo.
  • Ejemplo:

precio_ini = 1000; precio_final = pvt(precio_ini)

precio_final = 1210

  • Observa que los parámetros de entrada y salida no tienen por qué tener el mismo nombre que en la definición de la función.