Está en la página 1de 11

EJERCICIOS RESUELTOS DE Ing.

Oscar Galarza
ESTRUCTURAS SELECTIVAS
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 1. Selectiva Simple, Ejercicio propuesto:
Se considera el cálculo del valor en un punto x de una función definida por partes.
Realice un algoritmo y programa en MATLAB que imprima la f(x).
Algoritmo
Análisis del problema
Entrada
Código en MATLAB
x
Salida x=input('Introduzca el valor de X: ');
fx if(x > 0)
Proceso fx=x*x;
fprintf('f(x)= %.2f \n',fx);
fx = X^2 end
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 2. Selectiva Doble, Ejercicio propuesto:
Realice un algoritmo y programa en MATLAB para calcular el total que una persona debe
pagar en un almacén Mecatrónico. Si compra menos o igual a 5 sensores el precio de cada
sensor es de 80bs. y si compra es más que 5 el precio es de 60bs.
Análisis del problema Algoritmo
Entrada Código en MATLAB
ct ct=input('Introduzca los sensores a comprar: ');
Salida if(ct < 5)
pt=ct*80;
pt else
Proceso pt=ct*60;
ct es menor o igual a 5 end
fprintf('El pago total es = %.2f \n',pt);
pt=ct x 80
Caso contrario
pt=ct x 60
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 3. Selectiva Compuestos (Anidadas), Ejercicio propuesto : Cantidad Precio
Un local vende chips electrónicos según la siguiente tabla, lea el número de Menos de 4 Sin descuento
chips de una compra y el precio unitario, realice un algoritmo y programa
4o5 5% de descuento
en MATLAB para que muestre el valor que debe pagar.
Mas de 5 10% de descuento
Análisis del problema
Entrada Algoritmo Código en MATLAB
ct, pu ct=input('Introduzca la cantidad de la compra: ');
Salida pu=input('Introduzca el precio unitario: ');
pt, if (ct < 4)
Proceso pc=ct*pu;
des=0;
Si ct es menos de 4
pt=pc-des;
pc=ct*pu else if(ct==4 || ct==5)
des=0 pc=ct*pu;
pt=pc-0 des=0.05;
Sino si (ct≥4 or ct≤5) pt=pc-des;
pc=ct*pu else if (ct > 5)
des=pc*0.05 pc=ct*pu;
des=0.1;
pt=pc-des
pt=pc-des;
Sino si (ct>5) end
pc=ct*pu end
des=pc*0.1 end
pt=pc-des fprintf('El Pago Total es = %.2f \n',pt);
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 4. Selectiva Doble, “Tradición Boliviana” es una empresa dedicada a ofrecer
banquetes; sus tarifas son las siguientes: el costo de platillo por persona es de 95.00bs, pero si
el número de personas es mayor a 200 pero menor o igual a 300, el costo es de 75.00bs. Para
más de 300 personas el costo por platillo es de 55.00. Se requiere un algoritmo y programa en
MATLAB que ayude a determinar el presupuesto que se debe presentar a los clientes que
deseen realizar un evento. Algoritmo
Código en MATLAB
Análisis del problema
Entrada NP=input('Introd. la cant. de personas:');
NP if (NP < 200)
Salida TPB = NP * 95;
TPB else if (NP >= 200 && NP <= 300)
Proceso TPB = NP * 75;
si NP < 200 else if(NP > 300)
TPB = NP * 55;
TPB = NP x 95
end
Sino si NP ≥ 200 y NP≤ 300
end
TPB = NP x 75 end
sino si NP > 300 fprintf('El Pago Total es = %.2f \n',TPB);
TPB = NP x 55
fin/si
fin/si
Fin/si
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 5. Realice un algoritmo y programa en MATLAB que lea una letra y diga si es una vocal.
Análisis del problema
Entrada
letra Algoritmo
Salida
vocal,
Proceso
si (letra = 'a' o letra = 'A') Entonces
Escribir "Es una vocal";
SiNo si(letra = 'e' o letra = 'E') Entonces
Escribir "Es una vocal";
SiNo si (letra = 'i' o letra = 'I') Entonces
Escribir "Es una vocal";
SiNo si (letra = 'o' o letra = 'O') Entonces letra=input('Introduzca una letra: ');
Escribir "Es una vocal"; if (strcmp(letra, 'a') || strcmp(letra, 'A'))
disp('Es una Vocal'); Código en MATLAB
SiNo si (letra = 'u' o letra = 'U') Entonces else if (strcmp(letra, 'e') || strcmp(letra, 'E'))
disp('Es una Vocal');
Escribir "Es una vocal"; else if (strcmp(letra, 'i') || strcmp(letra, 'I'))
SiNo disp('Es una Vocal');
else if (strcmp(letra, 'o') || strcmp(letra, 'O'))
Escribir "No es una vocal"; disp('Es una Vocal');
FinSi else if (strcmp(letra, 'u') || strcmp(letra, 'U'))
disp('Es una Vocal');
FinSi else
FinSi disp('No es una Vocal');
end
FinSi end
FinSi end
end
end
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 6. Selectiva Múltiples (Según), Realice un algoritmo y programa en MATLAB que lea una
letra y diga si es una vocal, del anterior ejemplo 5 ahora usando switch.
Análisis del problema
Entrada Código en MATLAB
Algoritmo
letra
Salida letra=input('Introduzca una letra: ');
vocal, switch letra
Proceso case {'a','A'}
segun sea la letra disp('Es una Vocal');
en caso {'a','A’} case {'e','E'}
Escribir('Es una Vocal’); disp('Es una Vocal');
en caso {'e','E’} case {'i','I'}
Escribir('Es una Vocal'); disp('Es una Vocal');
en caso {'i','I’} case {'o','O'}
Escribir('Es una Vocal'); disp('Es una Vocal');
en caso {'o','O’} case {'u','U'}
Escribir('Es una Vocal'); disp('Es una Vocal');
en caso {'u','U’} otherwise
Escribir('Es una Vocal'); disp('No es una Vocal');
por defecto end
Escribir('No es una Vocal');
Fin/Segun
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 7. Un docente de una materia está organizando un viaje de estudios, y requiere determinar cuánto debe
cobrar a cada alumno y cuánto debe pagar a la compañía de viajes por el servicio. La forma de cobrar es la
siguiente: si son 100 alumnos o más, el costo por cada alumno es de 65bs; de 50 a 99 alumnos, el costo es de 70bs,
de 30 a 49, de 95bs, y si son menos de 30, el costo de la renta del autobús es de 400, sin importar el número de
alumnos. Realice un algoritmo y programa en MATLAB que permita determinar el pago a la compañía de autobuses
y lo que debe pagar cada alumno por el viaje.
Análisis del problema Código en MATLAB
Entrada Algoritmo
NA Dado el algoritmo
Salida codifique en MATLAB
PA, TOT
Proceso
Si NA > = 100
PA = 65.0
Si no Si NA > = 50
PA = 70.0
Si no Si NA > = 30
PA = 95.0
Si no
PA = 4000 / NA
Fin compara
Fin compara
Fin compara
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 8. Realice un algoritmo y programa en MATLAB que permita determinar si dos
números ingresados por teclado y verificar si son múltiplos, visualizar en un mensaje si es
múltiplo caso contrario no es múltiplo.
Análisis del problema Algoritmo
Entrada Código en MATLAB
a, b a=input('introduzca el valor de A: ');
Salida b=input('introduzca el valor de B: ');
if(mod(a,b)==0 || mod(b,a)==0)
Si es múltiplo, disp('Si es multiplo');
o No es múltiplo else
Proceso disp('No es multiplo');
end
Comparar si a es
múltiplo de b.
o
Comparar si b es
múltiplo de a.
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 9. Realice un algoritmo y programa en MATLAB que permita leer un numero entero
(entre 0 y 32700) e imprimir el numero de cifras que tiene dicho numero.
Análisis del problema
Código en MATLAB
Entrada
numero=input('ingrese un numero: ');
numero if(numero>0)&&(numero<=9)
Salida cad='1 Digito';
else if(numero>0)&&(numero<=99)
Numero de dígitos cad='2 Digitos';
Proceso Algoritmo else if(numero>99)&&(numero<=999)
Verificar en que rango esta cad='3 Digitos';
else if(numero>999)&&(numero<=9999)
el numero. Por ejemplo cad='4 Digitos';
Si numero = 4587 else if(numero>9999)&&(numero<=32700)
cad='5 Digitos';
El numero tiene 4 dígitos. end
end
end
end
end
fprintf('El Numero %d tiene %s \n',numero,cad);
ESTRUCTURA SELECTIVA (CONDICIONAL)
Ejemplo 10. Desarrollar un algoritmo y programa en MATLAB que permita la conversión de temperatura donde
permitirá elegir 3 opciones: Algoritmo Código en MATLAB
MENU Algoritmo conversión_Temp
1.- CELSIUS A FAHRENHEIT Inicio
disp('MENU');
Escribir(MENU);
2.- FAHRENHEIT A CELSIUS Escribir(1.- CELSIUS A FAHRENHEIT);
disp('1) CELSIUS a FAHRENHEIT');
disp('2) FAHRENHEIT a CELSIUS');
3.- KELVIN A CELSIUS Escribir(2.- FAHRENHEIT A CELSIUS); disp('3) KELVIN A CELSIUS');
op=input('Escoja una Opcion: ');
Escribir(3.- KELVIN A CELSIUS ); switch op
Análisis del problema Leer(op) case{1}
cel=input('digite temperatura en CELSIUS: ');
Entrada segun sea la op tf=(9*cel)/5+32;
Según la opción en caso {1} fprintf('La Temperatura en FAHRENHEIT es %.2f \n',tf);
case{2}
leer(cel)
Salida fh=input('digite temperatura en FAHRENHEIT: ');
tf=(9*cel)/5+32 tf=((fh-32)*5)/9;
Según la opción Escribir(temperatura fahrenheit) fprintf('La Temperatura en CELSIUS es %.2f \n',tf);
case{3}
Proceso en caso {2} ke=input('digite temperatura en KELVIN: ');
leer(fh) tf=ke-273.15;
fprintf('La Temperatura en CELSIUS es %.2f \n',tf);
tf=((fh-32)*5)/9 otherwise
Escribir(temperatura celsius) disp('No existe esa Opcion');
en caso {3} end

leer(ke)
tf=ke-273.15
Escribir(temperatura celsius)
por defecto
Escribir(‘No existe’);
Fin/Según
fin

También podría gustarte