Instituto de Computación - Facultad de Ingeniería 18/28/2019
Estructuras de controlIteración Determine el valor de prod e i
prod = 1;i = 2;while prod <= 10000 prod = prod * i; i = i + 1;endwhile
Multiplica los naturales hasta que supere 10000.
prod vale 40320 e i vale 9
Determine el valor de suma e i
suma = 0;i = 1;while suma <= 100 suma = suma + i; i = i + 1;endwhile
Suma los naturales hasta que supere 100.
suma vale 105 e i vale 15
Instituto de Computación - Facultad de Ingeniería 28/28/2019
Estructuras de controlIteración Determine el valor de prod e i
prod = 1;i = 1;while prod <= 10000
i = i + 1;prod = prod * i;
endwhile
Multiplica los naturales hasta que supere 10000.
prod vale 40320 e i vale 9
Determine el valor de suma e i
suma = 0;i = 0;while suma <= 100i = i + 1; suma = suma + i;
endwhile
Suma los naturales hasta que supere 100.
suma vale 105 e i vale 15
Instituto de Computación - Facultad de Ingeniería 38/28/2019
Estructuras de controlIteración
Instrucción forSemántica:
Se repite la ejecución de una instrucción un número exacto de veces que se conoce antes de comenzar la ejecución.
Instituto de Computación - Facultad de Ingeniería 48/28/2019
Estructuras de controlIteración Sintáxis
for <<contador>>=<<val_ini>>:<<val_fin>> <<instrucción>>
endfor LógicaSe asigna val_ini al contadorSe compara con val_finSi es menor o igual se ejecuta la instrucciónSe incrementa el contadorSe repite el proceso hasta que el contador supere
val_fin
Instituto de Computación - Facultad de Ingeniería 58/28/2019
Estructuras de controlIteración
La variable de conteo (contador) no puede ser alterada dentro del ciclo.
Después de la ejecución de una instrucción for la variable de conteo queda indefinida.
Instituto de Computación - Facultad de Ingeniería 68/28/2019
Estructuras de controlIteración
y = 2;for x = 1:5
y = y * x;endfor
Instituto de Computación - Facultad de Ingeniería 78/28/2019
Estructuras de controlIteración
Se puede indicar de a cuanto es el paso del iterador.
Ejemplos: for x = 1:2:7
x???endfor
for x = 5:-1:1 x ???endfor
Instituto de Computación - Facultad de Ingeniería 88/28/2019
Estructuras de controlIteración
Determine el valor de result
result = 1;for i=1:10 result = result * i;endfor
Multiplica todos los naturales desde 1 hasta 10.
result vale 3628800
Determine el valor de suma
suma = 0;for i=1:10 suma = suma + i;endfor
Suma todos los naturales desde 1 hasta 10.
suma vale 55
Instituto de Computación - Facultad de Ingeniería 98/28/2019
Estructuras de control
Nivel de instrucciónEspecifican flujo de control entre instrucciones de
programa. Secuencia Selección Iteración
Nivel de UnidadEspecifican flujo de control entre unidades de
programa. Subprogramas
Instituto de Computación - Facultad de Ingeniería 108/28/2019
Estructuras de controlSubprogramas
Un enfoque para la resolución de un problema complejo es el de subdividirlo en problemas más simples y luego resolver estos últimos.
Permiten agrupar código de una forma lógica. OctaveScriptsFunciones
Instituto de Computación - Facultad de Ingeniería 118/28/2019
Estructuras de controlSubprogramas
InvocaciónUn procedimiento simple es invocado
escribiendo su nombre como una sentencia ejecutable.
Cuando un procedimiento es invocado:La dirección de la sentencia siguiente a la
invocación es memorizada. Se ejecutan las sentencias del procedimiento.La ejecución retorna al punto de invocación
Instituto de Computación - Facultad de Ingeniería 128/28/2019
Estructuras de controlSubprogramas
Un subprograma puede ser usado cuando una secuencia de sentencias aparece repetidamente en un programa.
Agrupar sentencias sugiere un propósito particular de las mismas.
Programas manteniblesCada uno de los procedimientos en un programa
puede ser escrito por distintos programadores.
Instituto de Computación - Facultad de Ingeniería 138/28/2019
OctaveArchivos .m
Ejecución de instrucciones almacenadas en archivos de disco.
Se llaman archivos .m pues su sufijo debe ser m
Dos tiposArchivos de instrucciones o scriptsArchivos de funciones
Instituto de Computación - Facultad de Ingeniería 148/28/2019
OctaveScripts
Sucesión de comandos o instrucciones guardados en un archivo .m
EjecuciónPara invocarlo se lo llama por el nombre del archivo.Se ejecuta como si se estuvieran digitando los
comandos en la consola, uno tras otro.Pueden ser invocados desde el entorno o desde otro
script.
Instituto de Computación - Facultad de Ingeniería 158/28/2019
OctaveScripts
VariablesAlcance global.Puede utilizar y modificar las variables definidas en el
entorno interactivo.Puede definir nuevas variables en el entorno
interactivo.UtilidadProgramas utilizados repetidamente. Inicialización de variables de entorno.
Instituto de Computación - Facultad de Ingeniería 168/28/2019
OctaveScripts
Archivo mi_script.mContenido
x = 10;b = x + 4;z = x + b + 3;
Ejecución>> mi_script
ResultadoSe crean las variables
x, b, y z en el entorno interactivo.
Sus valores serán x = 10 b = 14 z = 27
Instituto de Computación - Facultad de Ingeniería 178/28/2019
OctaveFunciones
Sucesión de comandos o instrucciones guardados en un archivo .m
Posee características propias de las funciones matemáticasRecibe valores (parámetros) de entrada.Realiza algún cálculo o tarea.Devuelven un resultado (parámetros de
salida)
Instituto de Computación - Facultad de Ingeniería 188/28/2019
OctaveFunciones
SintaxisCabezal del archivo .m
function salida = nombre_funcion (ent_1, ent_2, ...)salida es el resultado que devuelve la función
Puede ser un vector o una matrizLos parámetros ent_i son los datos necesarios
para la ejecución.
Instituto de Computación - Facultad de Ingeniería 198/28/2019
OctaveFunciones
SintaxisAl final del archivo
endfunction Indica el final de la función.
Instituto de Computación - Facultad de Ingeniería 208/28/2019
OctaveFunciones
Ejecución El nombre de la función NO debe coincidir
con el nombre del archivo .m aunque es recomendable que así sea.
Se invoca por su nombre indicando los parámetros necesarios para su ejecución.
Pueden ser invocadas desde la consola o desde otra función
Instituto de Computación - Facultad de Ingeniería 218/28/2019
OctaveFunciones
VariablesAlcance Local, crea y encapsula sus propias
variables.Estas variables existen el tiempo que dure la
ejecución de la función.NO afecta variables definidas en el entorno
interactivo.NO puede definir nuevas variables en el entorno
interactivo.
Instituto de Computación - Facultad de Ingeniería 228/28/2019
OctaveFunciones
Archivo mi_funcion.mContenido
function z = mi_funcion(x)b = x + 4;z = x + b + 3;
endfunction
Ejecución>> mi_funcion(10)
ResultadoNo se crea ninguna
variable en el entorno interactivo.
Instituto de Computación - Facultad de Ingeniería 238/28/2019
Octave Funciones
Instituto de Computación - Facultad de Ingeniería 248/28/2019
OctaveFunciones
No utilizar instrucciones para desplegar resultados dentro de una función.Los resultados de una función se deben
devolver en los parámetros de salida.No utilizar instrucciones para leer los
datos de entrada dentro de una función.Las entradas de una función se deben cargar
en los parámetros de entrada.