LABORATORIO # 7
1. OBJETIVOS ESPECÍFICOS
Luego de completar este laboratorio, el estudiante será capaz de:
Conocer las estructuras de programación que utiliza el entorno de MatLab
Utilizar los comandos de MatLab para desarrollar las estructuras de control
Realizar el análisis del funcionamiento de las estructuras de control.
Utilizar las estructuras de control dentro de funciones en MatLab
Realizar ejercicios de aplicación
2. FUNDAMENTO TEÓRICO
Como se pudo conocer y manipular los ficheros de nombre *.m. A los cuales se los denomina como m-
ficheros o ficheros-m. Existen dos tipos de ficheros *.m :
Los ficheros de comandos o scripts son ficheros que contienen un conjunto de comandos que
se ejecutan sucesivamente cuando se teclea el nombre del fichero en la línea de comandos.
Las funciones: Son ficheros con una estructura especial, que definen funciones análogas a las
de MatLab. No se debe olvidar que una función puede recibir unos DATOS DE ENTRADA,
ejecuta unas instrucciones y produce unos DATOS DE SALIDA.
MatLab, posee un lenguaje de programación que (como cualquier otro lenguaje) dispone de
sentencias para realizar bifurcaciones o estructuras de control condicionadas y bucles.
ESTRUCTURAS EN PROGRAMACIÓN
Las bifurcaciones o estructuras de control condicionadas permiten realizar una u otra operación según
se cumpla o no una determinada condición. Es decir, permiten controlar mediante una condición si
una parte de un programa se ejecuta o no.
Una condición es una expresión que puede incluir operaciones aritméticas, relacionales y lógicas, y
cuyo resultado es un verdadero o falso lógico.
SENTENCIA: IF
En su forma más simple, la sentencia if se escribe en la forma siguiente:
if condicion
sentencias
end
Si la condición es:
verdadera se ejecutan los comandos entre if y end.
falsa se pasa el control de la ejecución a la sentencia siguiente a la end.
1
UNIVERSIDAD MAYOR DE SAN ANDRÉS ELT-256 COMPUTACIÓN
FACULTAD DE INGENIERÍA Ing. Vidher W. Bustillos D.
Existe también la bifurcación múltiple, en la que pueden concatenarse tantas condiciones como se
desee, y que tiene la forma:
if condicion1
bloque1
elseif condicion2
bloque2
elseif condicion3
bloque3
else % opción por defecto para cuando no se cumplan las condiciones 1,2,3
bloque4
end
La condición del if puede ser una condición matricial, del tipo A==B, donde A y B son matrices del
mismo tamaño. Para que se considere que la condición se cumpla, es necesario que sean iguales todos
los elementos de las matrices A y B (aij=bij, 1≤i≤m, 1≤j≤n). Basta que haya dos elementos aij y bij
diferentes para que las matrices ya no sean iguales, y por tanto las sentencias del if no se ejecuten.
Análogamente, una condición en la forma A∼=B exige que todos los elementos sean diferentes
(aij≠bij, 1≤i≤m, 1≤j≤n). Bastaría que hubiera dos elementos aij y bij iguales para que la condición no
se cumpliese.
2
UNIVERSIDAD MAYOR DE SAN ANDRÉS ELT-256 COMPUTACIÓN
FACULTAD DE INGENIERÍA Ing. Vidher W. Bustillos D.
SENTENCIA: SWITCH
La sentencia switch realiza una función análoga a un conjunto de if...elseif concatenados. Permite
realizar bifurcaciones en un programa atendiendo al resultado de una expresión. Su forma general es la
siguiente:
switch switch_expresion
case case_expr1,
bloque1
case {case_expr2, case_expr3, case_expr4,...}
bloque2
...
otherwise, % opción por defecto
bloque3
end
Al principio se evalúa la switch_expresion, cuyo resultado debe ser un número escalar o una cadena de
caracteres. Este resultado se compara con las case_expr, y se ejecuta el bloque de sentencias que
corresponda con ese resultado. Si ninguno es igual a switch_expresion se ejecutan las sentencias
correspondientes a otherwise.
SENTENCIA: WHILE
MatLab, posee la sentencia “haz mientras” que ejecuta un bucle mientras una condición sea cierta. Su
sintaxis es:
while condición
bloque 1 %bloque 1 se ejecutan mientras la condición sea cierta
end
.
SENTENCIA: FOR
La sentencia for repite un conjunto de sentencias un número predeterminado de veces. La estructura
más simple de los bucles tiene la siguiente forma:
for i=1:n
sentencias
end
También:
for i=vectorValores
sentencias
end
Donde vectorValores es un vector con los distintos valores que tomará la variable i.
4
UNIVERSIDAD MAYOR DE SAN ANDRÉS ELT-256 COMPUTACIÓN
FACULTAD DE INGENIERÍA Ing. Vidher W. Bustillos D.
SENTENCIA: BREAK
La sentencia break hace que se termine la ejecución del bucle for y/o while más interno de los que
comprenden a dicha sentencia.
SENTENCIA: CONTINUE
La sentencia continue hace que se pase inmediatamente a la siguiente iteración del bucle for o while,
saltando todas las sentencias que hay entre el continue y el fin del bucle en la iteración actual.
SENTENCIAS: TRY...CATCH...END
La construcción try...catch...end permite gestionar los errores que se pueden producir en tiempo de
ejecución. Su forma es la siguiente:
try
sentencias1
catch
sentencias2
end
En el caso de que durante la ejecución del bloque sentencias1 se produzca un error, el control de la
ejecución se transfiere al bloque sentencias2. Si la ejecución transcurriera normalmente, sentencias2 no
se ejecutaría nunca.
MatLab, dispone de una función lasterr que devuelve una cadena de caracteres con el mensaje
correspondiente al último error que se ha producido. En la forma lasterr('') pone a cero este contador
de errores, y hace que la función lasterr devuelva la matriz vacía [] hasta que se produzca un nuevo
error.
5
UNIVERSIDAD MAYOR DE SAN ANDRÉS ELT-256 COMPUTACIÓN
FACULTAD DE INGENIERÍA Ing. Vidher W. Bustillos D.
Programa 3: Si un depósito contiene una cantidad conocida “C” de un aceite vegetal, cuya densidad es de 0.91
g/ml. Además el deposito tiene un pequeño orificio de tal forma que gotea a un ritmo medio constante de 210
gotas por minuto, se conoce que 2ml de aceite son 31 gotas. El depósito es de forma cilíndrica y el aceite ocupa
el 80% de su volumen. Realizar un programa que calcule:
a) El tiempo en días requrido para que la masa del aceite dentro el deposito disminuya a la mitad, si
C=2350 lb.
b) El rádio del depósito en pulgadas si la altura del mismo es de 8 pies.
Programa 4: Realizar un programa mediante la inserción de un número introducido por teclado, pueda mostrar
el triángulo de Pascal.
4.- PREINFORME