TÉCNICA PARA DISEÑAR ALGORITMOS MODULARES
Ana GonzálezDocumentos de Investigación28 de Agosto de 2016
1.603 Palabras (7 Páginas)220 Visitas
TÉCNICA PARA DISEÑAR ALGORITMOS MODULARES
Los programas modulares en MatLab tienen la siguiente característica:
Deben grabarse tanto el programa principal como los módulos en la misma carpeta.
Luego de aplicar loa pasos para diseñar un algoritmo, se recomienda lo siguiente:
- Defina los subprogramas (los procedimientos y las funciones) que tendrá el programa y les pone un nombre que lleve un verbo en infinitivo
- Clasifique los parámetros que tendrá cada subprograma, así:
- Parámetros de entrada: una “e” delante del nombre
- Parámetros de salida: : una “s” delante del nombre
- Parámetros de entrada/salida: : una “e/s” delante del nombre
- Llene la siguiente tabla con los datos de los numerales anteriores. Según el siguiente ejemplo, vamos a asumir que el programa tendrá 3 subprogramas con sus respectivos parámetros
NOMBRE SUBPROGRAMA | SUBPROGRAMA | LISTA DE PARAMETROS | |||
Función | Procedimiento | Entrada | Salida | Entrada/Salida | |
Sub Entrar_Datos | X | e param1, e param2 | s param3 s param 4 | e/s param5 | |
Sub Mostrar_Datos | X | e param 3 | e/s param6 | ||
Sub Efectuar_Operacion | X | s param 4 e param6 |
- Escriba las instrucciones del programa o algoritmo principal con sus respectivas variables globales, teniendo en cuenta las llamadas a los subprogramas (procedimientos y funciones), definidos en el numeral 3.
- Escriba las instrucciones propias de cada subprograma determinando sus variables locales
MANEJO DE VECTORES CON PROGRAMACION MODULAR
EJEMPLO 1: diseñe una tabla como la anterior para desarrollar un programa en MatLab que
1. Hacer el programa principal;
2. Crear un vector de números enteros entre 15 y 78.
3. Mostrar: 3.1 El vector creado; 3.2 el promedio de los números pares 3.3 el porcentaje de los números pares; 3.4 el promedio de los números impares, 3.5 el porcentaje de los números impares.
El programa deberá controlar el ingreso de un tamaño fuera de las dimensiones del vector y ordenar el vector.
NOMBRE SUBPROGRAMA | SUBPROGRAMA | LISTA DE PARAMETROS | |||
Función | Procedimiento | Entrada | Salida | Entrada/Salida | |
Llenar_Vector | X | e n | |||
Mostrar_Vector | X | e vector | |||
Prom_Pares | X | e vector | |||
Porc_Pares | X | e vector | |||
Prom_Impares | X | e vector | |||
Porc_Impares | X | e vector | |||
Orden_Burbuja | X | e vector e n |
Programa principal que invoca las funciones anteriores
clc;
n = input('digite la cantidad de números que desea ingresar: ');
if n~=0
Vec = Llenar_Vector(n); %invoca la función que crea el vector
fprintf('EL VECTOR CREADO DE TAMAÑO %i ES: \n',n);
Mostrar_Vector(Vec); ‘invoca la función que muestra el vector
fprintf('\n');
fprintf ('el promedio de números pares es: ');
fprintf (Prom_Pares(Vec));
fprintf ('el porcentaje de números pares es: ');
fprintf (Porc_Pares(Vec));
fprintf ('el promedio de números impares es: ');
fprintf (Prom_Impares(Vec));
fprintf ('el porcentaje de números impares es: ');
fprintf (Porc_Impares(Vec));
else
fprintf('LAS DIMENSIONES DEL VECTOR NO SON VÁLIDAS\n’)
end %fin programa principal
Función para crear o llenar un vector
function resultado=Llenar_Vector( n )
for i =1:n
Vec(i)=fix(rand*63+15); %genera números enteros aleatorios entre 15
% y 78 y los almacena en un vector de tamaño n
end
resultado=Vec; %retorna el vector generado
Función para mostrar un vector
function resultado=Mostrar_Vector(Vec)
[m,n]=size(Vec); %trae el tamaño del vector invocado
for I=1:n
fprintf('%i \t',Vec(I));
end
resultado=Vec; %retorna el valor de la función que crea el vector
Función para calcular el promedio de los datos pares de un vector
function resultado = Prom_Pares(Vec)
suma = 0;
cont = 0;
[m,n] = size(Vec); %trae el tamaño del vector invocado
for i = 1 : n
if mod(Vec(i),2)==0
suma = suma + Vec(i);
cont = cont+1;
end
end
if cont~=0
prom = suma / cont;
resultado = prom; %retorna el valor de la función
end
Función para calcular el porcentaje de los datos pares de un vector
function resultado = Porc_Pares(Vec)
cont = 0;
[m,n] = size(Vec);
for i = 1 : n
if mod(Vec(i),2)==0
cont = cont+1;
end
end
porc = (cont/n)*100;
resultado = porc; %retorna el valor de la función
Función para calcular el promedio de los datos impares de un vector
function resultado = Prom_Impares(Vec)
suma = 0;
cont = 0;
[m,n] = size(Vec);
for i = 1 : n
if mod(Vec(i),2)~=0
suma = suma + Vec(i);
cont = cont+1;
end
end
if cont~=0
prom = suma / cont;
resultado = prom; %retorna el valor de la función
end
Función para calcular el porcentaje de los datos impares de un vector
function resultado = Porc_Impares(Vec)
...