You are on page 1of 30

Estructuras de control

Sentencia condicional
• Permite tomar decisiones sobre un conjunto de
comandos.
• Para hacer esto es necesario evaluar una
expresión condicional.
• Si la expresion condicional es verdadera se
ejecutan los comandos a continuación.
Sentencia condicional
• Si es falsa las sentencias a continuación de la
sentencia condicional no se ejecutan.
• Las sentencias pueden ser parte de una función
o estar en un script.
Sentencia condicional
• El enunciado tiene la siguiente forma:
• If condición
• sentencias
• End
Sentencia condicional
• Si la condición (una expresión lógica) es certa se
ejecutan las sentencias.
• Si la condición es falsa, el programa continua despues
de la palavra end.
Sentencia condicional
• % Generate a random number
• a = randi(100, 1);

• % If it is even, divide by 2
• if rem(a, 2) == 0
• disp('a is even')
• b = a/2;
• end
Sentencia condicional
• La anterior sentencia es la sentencia de control mas
simple.
• Para hacer una sentencia condicional mas compleja,
tenemos el if-else-end.
• Funciona como la anterior sentencia condicional con
la diferencia de que las sentencias después de else se
ejecutarán si la condición es falsa.
Sentencia condicional
• If condición
• Sentencias 1
• else
• Sentencias 2
• end
Sentencia condicional
• a = randi(100, 1);

• if a < 30
• disp('small')
• else
• disp('large')
• end
Sentencia condicional
• La sentencia if-elseif-else-end.
• Permite tener dos sentencias condicionales.
• Lo cual permite tener tres grupos de
instrucciones diferentes.
Sentencia condicional
• if condición1
• Bloque 1
• elseif condición2
• Bloque 2
• Else
• Bloque3
• end
Sentencia condicional
• a = randi(100, 1);

• if a < 30
• disp('small')
• elseif a < 80
• disp('medium')
• else
• disp('large')
• end
Sentencia condicional
• Las sentencias condicionales pueden adicionarse
una a continuación de otra.
• La sentencia else no es obligatoria.
Sentencia condicional
• La estructura switch-case es usada para dar
multiples opciones a la hora de programar.
• Todo esto con una sola condición.
• Switch-case es similar a if/else/elseif, todo lo que
se hace con Switch/case puede hacerse con
if/else/elseif.
Sentencia condicional
• switch condición
• Case opción 1
• Código a ejecutar si la condición es igual a la opción 1
• Case opción 2
• Código a ejecutar si la condición es igual a la opción 2
...
• Case opción N
• Código a ejecutar si la condición es igual a la opción N
• Otherwise
• Código a ejecutar por defecto
• end
Estructuras de repetición
• Para poder ejecutar una instrucción repetidas
veces, es necesario una sentencia conocida
como bucle.
• Matlab soporta dos tipos diferentes de bucles: el
bucle for y el bucle while.
• Como en el caso del if-end, esta también
termina en la palabra end.
Estructuras de repetición
• Puede ser tentador utilizar bucles
constantemente.
• La desventaja esta en la velocidad del programa.
• Por lo tanto solo se usará si es necessário.
Estructuras de repetición
• El bucle for repite un grupo de instrucciones
deacuerdo al contador.
• El contador esta definido por una matriz.
• El bucle finaliza con end.
Estructuras de repetición
• Cualquier forma de definición de un vector es
valida, pero se usa comunmente los dos puntos.
• For índice = inicial:incremento:final
Estructuras de repetición
• for k=1:5
• a=5^k
• end
Estructuras de repetición
• Los bucles while tienen parecido con los bucles
for.
• MATLAB controla las veces que se repite el
bucle.
• El bucle continua hasta que se cumpla algún
critério.
Estructuras de repetición
• while critérios
• comandos
• end
Estructuras de repetición
• k=0;
• while k<3
• k=k+1;
• a(k)=5^k
• end
Sentencia break
• Esta sentencia termina la ejecución de un bucle
for y/o while.
• Incluso si esta en un nível interno.
Sentencia break
• n=0 ;
• while (n<10)
• n=n+1 ;
• a=input ( ' Ingrese un valor mayor que 0 : ' ) ;
• if (a<=0)
• disp ( ' Debe ingresar un número positivo ' )
• disp ( ' Este programa terminará ' )
• break
• end
• disp( ' El log natural de este número es:' )
• disp(log(a))
• end
Sentencia continue
• La sentencia continue permite que a la siguiente
interacción del bucle for o while se ejecute.
• Evita todas las sentencias entre la sentencia
continue y la palavra end.
Sentencia continue
• n=0 ;
• while (n<10)
• n=n+1 ;
• a=input ( ' Ingrese un valor mayor que 0 : ' ) ;
• if (a<=0)
• disp ( ' Debe ingresar un número positivo ' )
• disp ( ' Intente de nuevo ' )
• continue
• end
• disp( ' El log natural de este número es:' )
• disp(log(a))
• end
Sentencia try ... catch ... end
• Try ... Catch ... End son sentencias utilizadas para
gestionar los errores
• Esta herramienta se usa sobre los errores en
tiempo de ejecución.
Sentencia try ... catch ... end
• try
• Sentencias 1
• catch mensaje de error
• Sentencias 2
• end
Sentencia try ... catch ... end
• En caso de error en el bloque de sentencias 1 se
pasa al grupo de sentencias 2.
• Si el programa se ejecuta normalmente no se
deberia ejecutar el grupo de sentencias 2.

You might also like