0% encontró este documento útil (0 votos)
114 vistas

Algoritmos y Programación Modular

Este documento describe los conceptos de variables, subprogramas y módulos en programación modular. Explica que las variables pueden tener ámbitos locales, generales o globales. Los subprogramas permiten dividir un programa en partes más pequeñas con funcionalidades específicas. Los tipos de subprogramas son funciones y procedimientos, los cuales pueden recibir parámetros de referencia o valor. También presenta un ejemplo de cómo organizar un programa principal usando módulos con subrutinas y funciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
114 vistas

Algoritmos y Programación Modular

Este documento describe los conceptos de variables, subprogramas y módulos en programación modular. Explica que las variables pueden tener ámbitos locales, generales o globales. Los subprogramas permiten dividir un programa en partes más pequeñas con funcionalidades específicas. Los tipos de subprogramas son funciones y procedimientos, los cuales pueden recibir parámetros de referencia o valor. También presenta un ejemplo de cómo organizar un programa principal usando módulos con subrutinas y funciones.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 20

ALGORITMOS Y

PROGRAMACIÓN
MODULAR
SUBPROGRAMAS
VARIABLES: ÁMBITO DE VALIDEZ

▪ Se declara dentro de un subprograma


▪ Se denomina también variable privada
Local ▪ Es válida o reconocida solamente dentro del subprograma
en el que se declarada.

▪ Se declara por fuera y antes de los subprogramas .


Después del OPTION EXPLICIT.
General ▪ Es válida o reconocida para todos los subprogramas que
están en la misma hoja

▪ Se declara en el Módulo usando la palabra reservada


Global Global en lugar de Dim.
▪ La variable es reconocida en cualquier subprograma de
cualquiera de las hojas del LIBRO (archivo) de Excel.
VARIABLES: ÁMBITO DE VALIDEZ

General

Local

Global
VARIABLES: ÁMBITO DE VALIDEZ

GENERAL
La variable N y el vector EDAD son
reconocidas a nivel general

LOCAL
Las variables PROMEDO Y
EL CONTADOR I son
reconocidos a nivel loca
SUBPROGRAMAS

▪ Un subprograma es una secuencia de


instrucciones que permite realizar una tarea
específica.
Ejemplo: calcular un promedio, ordenar un
conjunto de datos, calcular el factorial
de un número, llenar un vector, buscar
y traer un dato de un vector etc.
▪ Un subprograma recibe parámetros para resolver
un problema específico dentro su propio
entorno(local).
▪ Según el lenguajes de programación los
subprogramas pueden tener nombres como
subrutinas, procedimientos, funciones, métodos,
etc., y corresponden al ámbito de la
programación estructurada o modular.
EJEMPLO DE INDUSTRIA MANUFACTURERA: PROCESOS Y SUBPROCESOS

Permiten al sectorizar las áreas por especialidad de acuerdo a sus funciones se logra eficiencia

TINTURA
CONFECCIÓN

MATERIA PROCESO PRINCIPAL PRODUCTO


PRIMA

Los subprocesos se diseñan una sola vez para ejecutarse


de manera cíclica, realizando la misma operación Facilitan la detección y corrección de errores.
funcional una y otra vez, cada vez que se requiere y se CORTE
ingresa a este.
SUBPROGRAMAS: PROGRAMACIÓN MODULAR

Permiten dividir un programa en estructuras mas pequeñas y con funcionalidad específica.

LLENADO
BUSQUEDA Y
DE VECTOR
REEMPLAZO

INFORMACIÓN FINALIZA EL
DE ENTRADA PROGRAMA PRINCIPAL PROGRAMA
PRINCIPAL

Los subprogramas se escriben una sola vez, pero se


pueden llamar y ejecutar cuantas veces sea necesario, Facilitan la detección y corrección de errores.
reduciendo así las líneas de instrucción (código) de un PROMEDIO
programa.
TIPOS DE SUBPROGRAMAS

Característica Sub (Subrutina de procedimiento) Function (Subrutina de cálculo)


Sintaxis Sub NombreSub(Parámetros) Function NombreFunc(Parámetros) As Tipo
Def. Variables y constantes Def. Variables y constantes locales
locales Bloque de instrucciones
Bloque de instrucciones NombreFunc = Respuesta
End Sub End Function
Valor de retorno Ejecuta una tarea, si hubiera Siempre devuelve un valor como resultado.
respuestas las muestra dentro del Y Adopta el valor del resultado
subprograma, no adopta ningún
valor.
Ejecución Se llama indicando el nombre y Se utiliza asignándola a una variable, en una
parámetros, si los tuviera: expresión o mostrándola directamente:
Call Mensaje() X = Prome(PC1, PC2, EA, EB)
Call Area_Triangulo(B, H) Y = 5 + Factorial(N)
[B4] = Areas(a, b, c)
TIPOS DE SUBPROGRAMAS

Diseño de una función Diseño de un procedimiento

Nomfun (parámetro) Nomsub (parámetro)

Bloque de instrucciones Bloque de instrucciones

Nomfun = valor fin


TIPOS DE PARÁMETROS O ARGUMENTOS EN VBA
▪ Son las constantes, variables o expresiones separadas por comas que se recibe cada
subprograma (procedimiento o función)
▪ Estos elementos son especificados entre paréntesis a continuación del
nombre de un subprograma (procedimiento o función)
▪ Un subprograma podría no tener parámetros.
▪ Ejemplos:

Sub LLENADO(Nota() As Single)

Function IMC(Peso As Single, Altura As Single) As Single

30
SEGÚN LA PERMANENCIA DE LOS CAMBIOS: DE REFERENCIA O DE VALOR

Los parámetros de los subprogramas pueden ser:


1)Por referencia (ByRef), cuando el valor del
parámetro es modificado dentro del subprograma
y este cambio se mantienen permanente.
Este es el tipo de parámetro por defecto.

Ejemplo
n= 17

• El parámetro entro como n y se recibió como nota


• Todo cambio que asuma nota lo asume de la misma forma n Ahora
n= 19
• Al haber ingresado por referencia todo cambio será permanente
después de ejecutar la función
SEGÚN LA PERMANENCIA DE LOS CAMBIOS: DE REFERENCIA O DE VALOR

2)Por valor (ByVal),cuando ocurre cambio de


valor del parámetro dentro del subprograma y
al finalizar al salir del subprograma el parámetro
retorna a su valor original.

Ejemplo
n= 17

• El parámetro se entrega como n y se recibe como nota


• Todo cambio que asuma nota lo asume de la misma forma n Continúa con el
mismo valor
• Al haber ingresado por Valor el cambio para n no tiene efectos
n= 17
después de ejecutar la función
VECTORES Y/O MATRICES COMO PARÁMETROS
Cuando se utilizan vectores y matrices como parámetros ya sea de una
función(function) o procedimiento (sub), es importante tener presente que:
➢ El parámetro de tipo vector o matriz se emplea con el paréntesis vacío, así por ejemplo:
Function Promedio(Vector() As Integer, N As Integer) As Single
Sub Llenar(Matriz() As Integer, N As Integer, M as integer)

➢ Los vectores y matrices siempre se pasan por referencia.


➢ Ejemplo:
MsgBox “El promedio de los 7 elementos del vector es: ” & Promedio(V(), 7)
Call llenar(Matriz(),7,4
Call Llenar(Matriz(), 7, 4)
Call ordenar(Vector (), 7)
R  mayor(vector(),10
[b7] = mayor (Vector(), 10)
EJEMPLO EN UN SOLO PROGRAMA
A PARTIR DEL EJEMPLO ANTERIOR: CREAR MODULOS
ALGORITMO: PRINCIPAL PROCEDIMIENTO FUNCION

INICIO LLENADO(N) Calculo_prom(edad() , cantidad) real

PARA i = 1 hasta N S=0


N

codigo(i) = i
PARA i = 1 hasta cantidad
EDAD(i) = Cells(2 + i, 3)
LLAMAR nombre(i) = Cells(2 + i, 2)
LLENADO(N) s = s + EDAD(i)

Siguiente i
“el promedio es “ & Siguiente i
Calculo_prom(EDAD(),N)

FIN Calculo_prom = s/ cantidad


FIN
EJEMPLO EN MÓDULOS
A PARTIR DEL EJEMPLO ANTERIOR: CREAR MODULOS
Option Explicit SUBRUTINA(procedimiento o proceso)
Dim edad(9999) As Integer, codigo(9999) As Integer Private Sub LLENADO(n)
Dimnombre(9999) As String Dim i As Integer
Dim n As Integer For i = 1 To n
codigo(i) = i
RUTINA PRINCIPAL EDAD(i) = Cells(2 + i, 3)
Private Sub CommandButton1_Click() nombre(i) = Cells(2 + i, 2)
n = InputBox("NUMERO DE PERSONAS") Next i
Call LLENADO(n) SUBRUTINA (función) End Sub
MsgBox CALCULO_PROM(EDAD(), n) Function CALCULO_PROM(EDAD() As Integer, CANTIDAD As Integer)
End Sub As Single
Dim i As Integer, s As Integer
s=0
For i = 1 To CANTIDAD
s = s + EDAD(i)
Next i
CALCULO_PROM = s / CANTIDAD
End Function

▪ Para utilizar (o que sea reconocido) el subprograma en todas las hojas del archivo(libro) Excel, éste debe escribirse en el
Módulo, después de las variables Globales.
▪ Para usar el subprograma solo en una de las hojas del archivo Excel, escríbalo en General – Declaraciones de la Hoja (debajo
de las Variables generales, si las hubieran)
EJEMPLO 2: CÁLCULO DE ESTADÍSTICAS

Elabore una solución en VBA que


mediante subprogramas realice lo
siguiente:
▪ Ingrese la nota de N alumnos en 3 vectores:
Evaluación continua, Examen Parcial y
Examen Final
▪ Elabore 3 subprogramas que permitan
calcular: Promedio, Máxima y Mínima nota
de cada uno de los vectores.
Solución: Código VBA Botón de comandos

Procedimiento (en Módulo)


Solución: Código VBA Botón de comandos

Función (en Módulo)

Tarea:
• Elabore 2 funciones para calcular la
máxima y minima nota practique
completando con estas estadísticas

También podría gustarte