Está en la página 1de 19

Lenguaje de programación MATLAB

SENTENCIAS DE CONTROL DE FLUJO

estructuras de bifurcación:
Se utilizan cuando en el programa se debe decidir en qué situación se tiene que
cumplir una cierta condición. Su estructura básica es el condicional IF. Para cuando se
quieren realizar operaciones cuando no se cumple la condición, se utiliza ELSE. En
Matlab se escribe:

if (condición)
(acciones a realizar por respuesta afirmativa)
else
(acciones a realizar por respuesta negativa)
end

Si se quieren incluir más condiciones en caso de la negación inicial se puede utilizar


el ELSEIF de este modo:
INFORMACION
ACTORES
if (condición lógica 1)
(grupo de sentencias 1)
elseif (condición lógica 2)
(grupo de sentencias 2)
else (grupo de sentencias 3) PROCESOS
end
Lenguaje de programación MATLAB

Ejemplo1

Veamos el ejemplo de un programa que determina si un número es positivo, negativo


o neutro:

INFORMACION
ACTORES

Guardemos el script como el nombre numpos.

Ir a la ventana de comandos y ejecutar el script PROCESOS

>>numpos
Lenguaje de programación MATLAB

Ejemplo 2

Implementar un archivo script que solicite el ingreso de dos números cualesquiera y muestre en
pantalla el mayor.

>>edit

a=input(‘ingrese el valor de a= ‘);

b=input(‘ingrese el valor de b= ‘);

if a>b

fprintf(‘\nEl mayor es a=%i\n’,a);

elseif b> a

fprintf(‘\nEl mayor es b=%i\n’,b);

else

fprintf(‘\n a%i y b%i son iguales\n’,a,b);


INFORMACION
ACTORES
end

Guardemos el script como el nombre nummayor.

Ir a la ventana de comandos y ejecutar el script PROCESOS


>>nummayor
Lenguaje de programación MATLAB
Realizar un programa en matlab para
Calcular el pago semanal de un obrero

codigo obrero horas trabajadas valor hora descuentos valor a recibir


1 40 6 10
2 35 7 15
3 42 8 20

Nota: Si el obrero tiene mas de 40 horas trabajadas en la semana se pagara


horas extraordinarias, cada hora tendra un valor adicional del 50%

>>edit
c=inpunt('Horas Trabajadas');
t=input('Valor hora');
d=input('Descuentos');
if t <= 40
p=c*t-d;
else
p=40*t+1.5*t*(c-40)-d; INFORMACION
ACTORES
end
disp('valor a pagar');
disp(p);

Grabe el script con el nombre pagobrero


PROCESOS
ejecute el programa
>>pagobrero
Lenguaje de programación MATLAB

Ejercicio en Matlab

Dado un número entero por teclado determinar si es un número par o impar

>>edit

X=input(‘Ingrese un numero entero ‘);

R=mod(x, 2);

If r==0

Disp(‘El numero ingresado es Par’);

Else

Disp(‘El numero ingresado es Impar’);

end
INFORMACION
ACTORES

Grabe el escrib con el nombre parimpar

Ejecute el programa

>>parimpar PROCESOS
Lenguaje de programación MATLAB

Ejercicio de Matlab

Construir un programa para determinar si un número es múltiplo de otro

>>edit

a=input(‘ingrese el primer número’);

b=input(‘ingrese el segundo número´);

If mod(a,b)==0 | mod(b,a)==0

disp(‘son multiplos’);

Else

disp(‘No son multiplos’);


INFORMACION
ACTORES
end

Guarde el script con el nombre de multiplo

Ejecute el programa
PROCESOS

>>multiplo
Lenguaje de programación MATLAB
Ejercicio en Matlab
Una ferretería vende sacos de cemento según la siguiente promoción:
Cantidad Precio Unitario
Menos de 10 8.50
11 a 100 8.20
Más de 100 8.00
Realice un programa en Matlab para calcular el precio que debe pagar cada cliente por la cantidad
comprada.
Variables
n: cantidad de cemento comprada
p: precio unitario
t: valor a pagar
>>edit

n=input(‘ingrese la cantidad de sacos de cemento comprados’);

if n < 10

p=8.50;

else

if n > 10 and n <= 100

p=8.20;

else

p=8.00;
INFORMACION
ACTORES
end

end

t = n * p;

disp(‘valor a pagar’);

disp(t); PROCESOS
Grabe el script con el nombre cemento

Ejecute el programa

>>cemento
Lenguaje de programación MATLAB

Por último, si se quiere poner un grupo de acciones para cada una de los valores de
una expresión, se puede utilizar el SWITCH, de esta manera:

switch (Expresión a evaluar)


case (Valor 1)
(grupo de sentencias 1)
case (Valor 2)
(grupo de sentencias 2)
case (Valor N)
(grupo de sentencias N)
otherwise ACTORES
INFORMACION

(sentencias en otro caso)


end

PROCESOS
Lenguaje de programación MATLAB

Ejercicio en Matlab

Realizar un programa que dado un número del 1 al 7 nos indique que día de la semana es:

>>edit

d=input(‘Ingrese el número del día’);

switch d

case 1, disp(‘Lunes’);

case 2, disp(‘Martes’);

case 3, disp(‘Miercoles’);

case 4, disp(‘Jueves’);

case 5, disp(‘Viernes’);

case 6, disp(‘Sábado’);

case 7, disp(‘Domingo’); INFORMACION


ACTORES

otherwise, disp(‘Error’);

end

Grabe el script con el nombre diasemana


PROCESOS
Ejecute el programa

>>diasemana
Lenguaje de programación MATLAB
Ejemplo 3

Implementar un archivo script que calcule y muestre el valor respectivo de la función f para un
valor de x ingresando por el usuario, siendo la función de la siguiente forma:

sin(3𝑥) 𝑒 𝑥 /2 , para x=pi/5

ξ 𝑥 − 4 (𝑥 2 + 5), para x = 5
f(x)
𝑥 2.6 , para x=6.1

0, otros casos

>>edit

X=input(‘x= ‘);

Switch x

Case pi/5; f=sin(3*x)*exp(-x/2);

Case 5; f=sqrt(x+5)*(x^2+5);

Case 6.1; f=x^2.6;

otherwise; f=0;

end

fprintf(‘f(%4.3f)=%f\n’,x,f)
INFORMACION
ACTORES
guardamos el script con el nombre de valorf

>>valorf

X=pi/5

>>valorf

X=6.1 PROCESOS
>>valorf

X=5

>>valorf

X=10
Lenguaje de programación MATLAB

Estructuras Repetitivas
Estructuras repetitivas:
Se utilizan cuando hay que repetir más de una vez un grupo de instrucciones. Hay dos
tipos fundamentales:
1. Bucle FOR: Una variable tomará valores desde un número inicial, hasta uno final,
con un determinado paso (que es la distancia entre dos valores). En Matlab, el paso
por defecto es de valor 1, pero se puede cambiar. Cada vez que la variable cambie su
valor, se realizarán las operaciones que se hayan programado después.
El bucle FOR se utiliza cuando se sabe previamente el número de iteraciones que se
van a realizar.
Los parámetros inicial, final y el paso pueden ser variables previamente definidas. El
paso puede ser negativo, siempre que el valor inicial sea mayor que el final.
El bucle FOR escribe en Matlab del siguiente modo:
ACTORES
INFORMACION

for variable = inicial : paso : final


(grupo de instrucciones)
end
PROCESOS
Lenguaje de programación MATLAB

Ejercicio

Imprima los números naturales de 1 hasta n

>>edit

n=input(‘Ingrese el numero natural final’);

for i=1:n

disp(i);

end

Guarde el script con el nombre de numnatural ACTORES INFORMACION

Ejecute el programa

>>numnatural
PROCESOS
Lenguaje de programación MATLAB

Ejercicio

Calcular el factorial de un número.

>>edit

INFORMACION
ACTORES
Guarde el Script con el nombre factfor

Ejecute el programa

>>factfor
PROCESOS
Lenguaje de programación MATLAB

Ejercicio

Dado un número por teclado, imprima todos sus divisores exactos

>>edit

n=input(‘Ingrese el numero entero’);

for x=1:n

If mod(n,x)==0

disp(x);

end

end
INFORMACION
Guarde el Script con el nombre divexacto ACTORES

Ejecute el programa

>>divexacto
PROCESOS
Lenguaje de programación MATLAB
Ejercicio

Al programa anterior agregarle que si el número ingresado es primo

>>edit

C=0;

n=input(‘Ingrese el numero entero’);

for x=1:n

If mod(n,x)==0

c=c+1;

disp(x);

end

end

if c>2
INFORMACION
ACTORES
disp(‘No es Primo’);

else

disp(‘Si es Primo’);

end PROCESOS

Guarde el Script con el nombre exactoprimo

Ejecute el programa

>>exactoprimo
Lenguaje de programación MATLAB

2. Bucle WHILE: Se da una condición que se tiene que evaluar, que se realizará

siempre que sea verdadera. En el momento en el que la condición sea falsa, cesará.
Por tanto, no se conoce de antemano el número de iteraciones a realizar.
Las variables utilizadas tienen que estar inicializadas antes del bucle, que cumplan la
condición la primera vez por lo menos y cambiar de valor en cada iteración dentro del
bucle (de lo contrario se producirá un bucle infinito). En Matlab, se escribe como:

while (condición lógica)


(grupo de instrucciones)
end ACTORES
INFORMACION

PROCESOS
Lenguaje de programación MATLAB

Ejercicio

Veremos un ejemplo del bucle WHILE para calcular un factorial.

>>edit

INFORMACION
ACTORES

Guarde el Script con el nombre factwhile


PROCESOS

Ejecute el programa

>>factwhile
Lenguaje de programación MATLAB

Ejercicio.

Simular el lanzamiento de un dado. Determinar la cantidad de lanzamientos que se


realizaron hasta que se obtuvo el número 5.

>>edit

c=0;

x=0;

while x~=5

x=fix(rand*6)+1;

disp(x);

c=c+1;

End INFORMACION
ACTORES

disp(‘Cantidad de lanzamientos que se efectuaron hasta que salga el 5’);

disp(c);

Guarde el Script con el nombre dado PROCESOS

Ejecute el programa

>>dado
Introducción
Contenido
Conclusiones
Bibliografía

Gracias

También podría gustarte