Ejercicios_resueltos_estructurasDecision Informática III - Algunas implementaciones ejercicios planteados estructuras de decisión primer parcial Ejercicio número 4 ----------------------clc clear all disp('Compra en productos') cod1 = 0; can1 = 0; vlru1 = 0; valort1 = 0; cod2 = 0; can2 = 0; vlru2 = 0; valort2 = 0; cod3 = 0; can3 = 0; vlru3 = 0; valort3 = 0; disp('Producto uno') cod1 = input('Código: '); can1 = input('Cantidad :'); vlru1 = input('Valor unitario :'); % Valor compra del producto uno valort1 = can1 * vlru1; disp('Producto dos') cod2 = input('Código: '); can2 = input('Cantidad :'); vlru2 = input('Valor unitario :'); % Valor compra del producto dos valort2 = can2 * vlru2; disp('Producto tres') cod3 = input('Código: '); can3 = input('Cantidad :'); vlru3 = input('Valor unitario :'); % Valor compra del producto tres valort3 = can3 * vlru3; % Comparar el total de la compra para establecer el menor valor if valort1 < valort2 & valort1 < valort3 disp(sprintf('Producto uno fue el de menor compra codigo %d', cod1)) end if valort2 < valort1 & valort2 < valort3 disp(sprintf('Producto dos fue el de menor compra codigo %d', cod2)) end if valort3 < valort1 & valort3 < valort2 disp(sprintf('Producto tres fue el de menor compra codigo %d', cod3)) end disp('Fin del ejercicio...') Ejercicio número 8 ----------------------Página 1 Ejercicios_resueltos_estructurasDecision a) Solución matlab comparando la letra inicial del color de la ficha clc clear all ficha1 = ''; ficha2 = ''; ficha3 = ''; canbla = 0; canroj = 0; canneg = 0; sumapun = 0 ; disp('Juego de Damas Chinas') disp('Ingrese para el color una letra: b, r ó n') ficha1 = input('Color de la primera ficha: ', 's'); ficha2 = input('Color de la segunda ficha: ', 's'); ficha3 = input('Color de la tercera ficha: ', 's'); % Se evalúa la primera ficha % por la letra inicial del color if ficha1 == 'b' | ficha1 == 'B' canbla = canbla + 1; elseif ficha1 == 'r' | ficha1 == 'R' canroj = canroj + 1; elseif ficha1 == 'n' | ficha1 == 'N' canneg = canneg + 1; end % Se evalúa la segunda ficha % por la letra inicial del color if ficha2 == 'b' | ficha2 == 'B' canbla = canbla + 1; elseif ficha2 == 'r' | ficha2 == 'R' canroj = canroj + 1; elseif ficha2 == 'n' | ficha2 == 'N' canneg = canneg + 1; end % Se evalúa la tercera ficha % por la letra inicial del color if ficha3 == 'b' | ficha3 == 'B' canbla = canbla + 1; elseif ficha3 == 'r' | ficha3 == 'R' canroj = canroj + 1; elseif ficha3 == 'n' | ficha3 == 'N' canneg = canneg + 1; end % Calcular los puntos sumapun = canroj * 2 + canneg * 3; disp('===================================') disp(sprintf('Cantidad de fichas blancas %d', canbla)) disp(sprintf('Cantidad de fichas rojas %d', canroj)) disp(sprintf('Cantidad de fichas negras %d', canneg)) disp(sprintf('Puntaje total de las fichas %d', sumapun)) disp('===================================') disp('Fin del ejercicio...') Página 2 Ejercicios_resueltos_estructurasDecision b) Solución matlab comparando el nombre completo del color de la ficha clc clear all ficha1 = ''; ficha2 = ''; ficha3 = ''; canbla = 0; canroj = 0; canneg = 0; sumapun = 0; disp('Juego de Damas Chinas') disp('Ingrese para el color las palabras: blanca, roja ó negra') ficha1 = input('Color de la primera ficha: ', 's'); ficha2 = input('Color de la segunda ficha: ', 's'); ficha3 = input('Color de la tercera ficha: ', 's'); % Se evalúa la primera ficha % por el nombre completo del color if strcmp(ficha1, 'blanca') canbla = canbla + 1; elseif strcmp(ficha1, 'roja') canroj = canroj + 1; elseif strcmp(ficha1, 'negra') canneg = canneg + 1; end % Se evalúa la segunda ficha % por el nombre completo del color if strcmp(ficha2, 'blanca') canbla = canbla + 1; elseif strcmp(ficha2, 'roja') canroj = canroj + 1; elseif strcmp(ficha2, 'negra') canneg = canneg + 1; end % Se evalúa la tercera ficha % por el nombre completo del color if strcmp(ficha3, 'blanca') canbla = canbla + 1; elseif strcmp(ficha3, 'roja') canroj = canroj + 1; elseif strcmp(ficha3, 'negra') canneg = canneg + 1; end % Calcular los puntos sumapun = canroj * 2 + canneg * 3; disp('===================================') disp(sprintf('Cantidad de fichas blancas %d', canbla)) disp(sprintf('Cantidad de fichas rojas %d', canroj)) disp(sprintf('Cantidad de fichas negras %d', canneg)) disp(sprintf('Puntaje total de las fichas %d', sumapun)) disp('===================================') disp('Fin del ejercicio...') Página 3 Ejercicios_resueltos_estructurasDecision Ejercicio número 12 ----------------------clc clear all disp('Comparación de número ingresado') numero = 0; numero = input('Ingrese un número: '); if numero > 12 disp('Número ingresado es mayor que 12') elseif numero > 12 & numero < 100 disp('Número ingresado es mayor que 12 pero menor que 100') elseif numero < 12 disp('Número ingresado es menor que 12') elseif numero < 12 & numero < 0 disp('Número ingresado es menor que 12 y negativo') elseif numero == 12 disp('Número ingresado es igual que 12') end disp('Fin del ejercicio...') Ejercicio número 16 ----------------------clc clear all disp('Cobro de seguro en vehículo') marca = ''; color = ''; edad = 0; preciobase = 0; vlrseguro = 0; marca = input('Marca del vehículo, ingrese -> a ó b: ', 's'); color = input('Color del vehículo, ingrese -> b, m, o: ', 's'); edad = input('Edad del propietario: '); % Hallar el precio base % Se evalúa la primera marca de carros tipo a if marca == 'a' & color == 'b' preciobase = 1400000; elseif marca == 'a' & color == 'm' preciobase = 800000; elseif marca == 'a' & color == 'o' preciobase = 650000; end % Se evalúa la segunda marca de carros tipo b if marca == 'b' & color == 'b' preciobase = 850000; elseif marca == 'b' & color == 'm' preciobase = 700000; elseif marca == 'b' & color == 'o' preciobase = 500000; end % Hallar el valor de incremento o decremento del seguro Página 4 Ejercicios_resueltos_estructurasDecision if edad <= 35 incremento = 0.9; elseif edad >= 35 & edad <= 60 incremento = 0.8; else incremento = 1.3; end % Calcular el valor del seguro % una vez resueltas las incognitas de precio base e incremento vlrseguro = preciobase * incremento; disp(sprintf('El valor del seguro es %.2f', vlrseguro)) disp('Fin del ejercicio...') Página 5