Sunteți pe pagina 1din 10

Instituto Tecnológico de Tuxtla Gutiérrez

Guía Matlab
Estructuras de control
V1.1

Elaborada por: M.C. Alexis Flores García


M.C. Alexis Flores García, ITTG
Estructuras de control
Estructuras selectivas
if – elseif
switch

Estructuras repetitivas
M.C. Alexis Flores García, ITTG
Estructuras de bifurcación
Estructura if
if <condición>
<acciones a realizar si la respuesta es afirmativa>
else
<acciones a realizar si la respuesta es negativa>
end

Ejemplo
calificacion=input('Introduzca la calificacion: ');
if(calificacion>=70)
disp('alumno aprovado')
else
disp('alumno reprovado')
end
M.C. Alexis Flores García, ITTG
Estructuras de bifurcación
Estructura if – else if

if <condición 1>
<acciones a realizar si la condición 1 se cumple>
else if <condición 2>
<acciones a realizar si la condición 1 se cumple>
else if <condición N>
<acciones a realizar si la condición N se cumple>
else
<acciones a realizar si ninguna de las condiciones anteriores se cumple>
end
M.C. Alexis Flores García, ITTG
Estructura if - elseif
disp('Programa que calcula el descuento en una tienda dependiendo del importe total')
disp('Si el total es menor de 200, no hay descuentos')
disp('Si el total esta entre 200 y 299 tiene un descuento de 10%')
disp('Si el total esta entre 300 y 399 tiene un descuento de 15%')
disp('Si el total esta entre 400 y 499 tiene un descuento de 20%')
disp('Si el total es de 500 o mas tiene un descuento de 25%')

importe=input('Cual fue el importe total: ');

if(importe<200)
desc=0;
elseif (importe>=200 && importe<300)
desc=0.10;
elseif (importe>=300 && importe<400)
desc=0.15;
elseif (importe>=400 && importe<500)
desc=0.20;
else
desc=0.25;
end

importe=importe-importe*desc;
desc=desc*100;

fprintf('El descuento en la compra fue de %f%%. El importe final es de %f',desc,importe)


M.C. Alexis Flores García, ITTG
Estructuras de bifurcación
Estructura switch

switch <variable a evaluar>


case <valor 1>
<sentencia 1>
case <valor 2>
<sentencia 2>
case <valor N>
<sentencia N>
otherwise
<sentencias en caso de que no se cumpla ninguna de las anteriores>
end
M.C. Alexis Flores García, ITTG
Estructura switch
Ejemplo
disp('Este progrma realiza una operacion entre dos numeros dependiendo la seleccion del usuario')
a=input('Ingrese el primer numero: ');
b=input('Ingrese el segundo numero: ');

disp('**MENU**')
disp('1. Suma a+b')
disp('2. Resta a-b')
disp('3. Multiplicacion a*b')
disp('4. Division a/b')
disp('5. Potencia a^b')

opcion=input('Que operacion desea realizar? ');

switch(opcion)
case 1
r=a+b;
case 2
r=a-b;
case 3
r=a*b;
case 4
r=a/b;
case 5
r=a^b;
end

if(opcion==1 || opcion==2 || opcion==3 || opcion==4 || opcion==5)


fprintf('El resultado de la operacion es: %f',r)
else
disp('Opcion incorrecta')
end
M.C. Alexis Flores García, ITTG
Estructuras repetitivas
Ciclo for

for variable=inicio:paso:final
<sentencias>
end

Ejemplo

disp('Este programa calcula el factorial de un numero')


n=input('Ingrese el numero para calcular su fatorial: ');
f=1;

for i=2:1:n
f=f*i;
end

fprintf('el factorial del numero es: %f',f)


M.C. Alexis Flores García, ITTG
Estructura for
Ejemplo 2
disp('Este programa ordena N numeros de forma ascendente')
n=input('Cuantos numeros desea ordenar: ');
v=zeros(1,n);

for i=1:1:n
fprintf('Introdusca el numero %d: ',i)
v(i)=input('');
end

for j=0:1:n-1
for i=1:1:n-1
if(v(i)>v(i+1))
aux=v(i);
v(i)=v(i+1);
v(i+1)=aux;
end
end
end

disp('El vector ordenado es: ')


v
M.C. Alexis Flores García, ITTG
Estructuras repetitivas
Ciclo while

while <condicion>
<sentencias>
end

Ejemplo
opc='s';

while(opc=='s')
clc
disp('Este programa suma 2 numeros')
a=input('ingrese el primer numero: ');
b=input('ingrese el segundo numero: ');

fprintf('La suma es: %f\n',a+b);


opc=input('Desea reinciar el programa s/n: ','s');
end

S-ar putea să vă placă și