Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Módulo 2. Algorítmica y
programación
Tema 2.3. Programación modular
Índice
• Introducción a la programación modular
• Definición de función
Introducción
• Programación modular: Técnica que su utiliza
conjuntamente con la programación estructurada
▫ El algoritmo se divide en módulos (subprogramas,
subrutinas o funciones) más sencillos de programar y
depurar
Definición de función
• Una función es un conjunto de instrucciones que
poseen un identificador único, nombre de la función
▫ Puede recibir datos de entrada procedentes del módulo
llamador, parámetros de entrada
▫ Procesa los datos que recibe de entrada para generar un
resultado
▫ Puede devolver resultados al módulo llamador a través de
los parámetros de salida
función
Parámetros de Parámetros de
entrada salida
CURSO 2021-22 Informática y Programación. Grado en Ingeniería en Organización Industrial-EIIC
6
Matlab
• Desde la línea de comandos
>> resultado=Mifactorial(3);
Ejemplo simplificado
Algoritmo Combinatorio_Modular
funcion [resultado] = Mifactorial (numero)
variable entera resultado, numero //definición de parámetros de la función
variable entera i //variables de la función Sólo son conocidas dentro
inicio del cuerpo de la función
resultado= 1
desde i=2 hasta numero hacer
resultado= resultado*i Cuerpo de la función
fin desde
fin funcion
Sólo son conocidas dentro
variable entera n,k //variables del algoritmo
del cuerpo del algoritmo
inicio
leer(n, k) Cuerpo del algoritmo
escribir("Resultado: ", Mifactorial (n)/(Mifactorial (k)*Mifactorial(n-
k)))
fin Llamada a la función: nombre de función (parámetros)
fin
CURSO 2021-22 Informática y Programación. Grado en Ingeniería en Organización Industrial-EIIC
15
−𝑏𝑏 + 𝑏𝑏 2 − 4 𝑎𝑎 𝑐𝑐 𝑏𝑏 𝑏𝑏 2 − 4 𝑎𝑎 𝑐𝑐
𝑥𝑥𝑥 = 𝑥𝑥𝑥 = − + 𝑖𝑖
2 𝑎𝑎 2𝑎𝑎 2𝑎𝑎
−𝑏𝑏 − 𝑏𝑏 2 − 4 𝑎𝑎 𝑐𝑐 𝑏𝑏 𝑏𝑏 2 − 4 𝑎𝑎 𝑐𝑐
𝑥𝑥𝑥 = 𝑥𝑥𝑥 = − − 𝑖𝑖
2 𝑎𝑎 2𝑎𝑎 2𝑎𝑎
Solución
TEMA 3. Programación modular
Algoritmo EcuacionSegundoGrado
funcion [x1, x2] = raices_ecuacion(a,b,c)
variable reales x1,x2
variable reales a,b,c
variable real radicando
inicio
radicando = b^2-4*a*c
si radicando >= 0 entonces
x1 = (-b + sqrt(radicando))/(2*a)
x2 = (-b - sqrt(radicando))/(2*a)
si no
x1 = (-b + i *(abs(radicando)/(2*a))
x2 = (-b – i *(abs(radicando)/(2*a))
fin si continúa
fin funcion
Programa principal
variable reales a,b,c, primera_raiz,segunda_raiz
inicio
escribir (‘Introduce los coeficientes de la ecuación:’)
leer (a,b,c)
[primera_raiz, segunda_raiz] = raices_ecuacion (a,b,c)
escribir (‘Las raíces son: ‘, primera_raiz, segunda_raiz)
fin
Solución
Algoritmo EcuacionSegundoGrado
funcion [x1, x2] = raices_ecuacion(a,b,c)
variable reales x1,x2
variable reales a,b,c, radicando
inicio
…
fin funcion
variable reales a,b,c
variable real x1,x2
inicio ¿Serían correctos
escribir (‘Introduce los coeficientes de la ecuación:’) los cambios?
leer (a,b,c)
[x1,x2] = raices_ecuacion (a,b,c)
escribir (‘Las raíces son: ‘, x1, x2)
fin
Ejercicios
• Realice cualquiera de los ejercicios del listado de
Programación estructura mediante la combinación de
programación estructurada y modular