184173693 46 Ejercicios Desarrollados
-
Upload
david-vargas -
Category
Documents
-
view
91 -
download
0
Transcript of 184173693 46 Ejercicios Desarrollados
-
1.-ESCRIBIR UN PROGRAMA QUE CALCULE LAS SOLUCIONES REALES DE UNA ECUACION
DE SEGUNDO GRADO Ax2+bX+c = 0. EL PROGRAMA DEBE DEVOLVER EL NMERO DE
SOLUCIONES DISTINTAS (UNA SI b2-4ac=0, DOS SI b
2-4ac>0 NINGUNA SI b
2-4ac0
x(1)=-b+sqrt((b.^2)-(4*a*c));
x(2)=-b-sqrt((b.^2)-(4*a*c));
disp('TIENE DOS SOLUCIONES = ')
disp('X1 ES IGUAL A:');
disp(x(1));
disp('X2 ES IGUAL A:')
disp(x(2))
else (b^2)-(4*a*c)
-
clc, clear, format compact
disp('=============================================================')
disp('QUE EQUIPO HA GANADO?')
disp('=============================================================')
x= input('GOLES DEL EQ. LOCAL=');
y= input('GOLES DEL EQ. VISITANTE =');
disp('=============================================================')
if xy
disp('EL EQUIPO LOCAL TIENE :')
disp(x)
disp('EL EQUIPO VISITANTE TIENE :')
disp(y)
disp('COMO EL EQUIPO LOCAL TIENE MAS GOLES, ES EL GANADOR')
end
if x==y
disp('EL EQUIPO LOCAL TIENE :')
disp(x)
disp('EL EQUIPO VISITANTE TIENE :')
disp(y)
disp('COMO EL EQUIPO VISITANTE Y EL EQUIPO LOCAL TIENEN')
disp('LA MISMA CANTIDAD GOLES, ESTO ES UN EMPATE')
end
disp('=============================================================')
3.- ESCRIBIR UN PROGRAMA QUE RECIBA LA NOTA (NMERO REAL) QUE UN ALUMNO HA SACADO EN UN EXAMEN Y DEVUELVA SU CALIFICACIN (CADENA DE CARACTERES), SEGN EL SIGUIENTE CRITERIO: 0-10, SUSPENSO; 10.1-13.9, APROBADO; 14.0-16.9 NOTABLE; 17.0-20, SOBRESALIENTE:
clc,clear all, format compact
disp('==================================')
x=input('INGRESE LA NOTA DEL ALUMNO = ');
-
disp('==================================')
if x>=0
if x>=0 & x10 & x=14 & x=17 & x20
disp('LA NOTA NO EXISTE')
end
else
disp('LA NOT NO EXISTE')
end
disp('==================================')
4- IMPLEMENTAR UNA FUNCION QUE DADO TRES NUMEROS, LOS DEVUELVA ORDENADOS DE MENOR A
MAYOR. DEBE CONSIDERAR SI HAY DOS NUMEROS IGUALES.
clc, clear all, format compact
disp('==========================================')
a=input('INGRESE EL PRIMER NUMERO = ');
b=input('INGRESE EL SEGUNDO NUMERO = ');
c=input('IBGRESE EL TERCER NUMERO = ');
disp('==========================================')
if a
-
disp ([a,b,c])
disp('LOS NUMEROS SON DIFERENTES')
end
if a
-
end
if a==c & b
-
end
if x
-
disp('EL EQUIPO B ES EL GANADOR')
end
if z B
y=A-B;
disp('EL EQUIPO GANADOR ES EL VISITANTE POR LA DIFERENCIA DE')
disp(y)
disp('GOLES')
end
-
if A < B
y= B-A;
disp('EL EQUIPO GANADOR ES EL LOCAL POR LA DIFERENCIA DE')
disp(y)
disp('GOLES')
end
if A == B
disp('LOS EQUIPOS ESTAN EMPATES ')
end
disp('==============================================================')
disp('=======================FIN DEL PARTIDO=========================')
8.- DADA UNA FECHA COMO DA (NMERO ENTERO), MES (CADENA DE CARACTERES) Y AO (NMERO ENTERO POSITIVO CON 4 DGITOS), ESCRIBIR UN PROGRAMA QUE INDIQUE SI DICHA FECHA ES CORRECTA O NO. EJEMPLOS: 22 OCTUBRE 2001 ES CORRECTA; 31 ABRIL 2001 NO ES CORRECTA PORQUE ABRIL NO TIENE 31 DAS; 29 DE FEBRERO DE 2001 NO ES CORRECTO PORQUE EL AO 2001 NO ES BISIESTO. 10. SIMPLIFICANDO, SUPNGASE QUE EL IMPORTE DEL SEGURO OBLIGATORIO DE UN COCHE DEPENDE DEL MODELO DEL COCHE, DEL COLOR Y DE LA EDAD DEL CONDUCTOR. SEAN DOS MODELOS DE COCHE A Y B Y LOS PRECIOS DEL SEGURO SEGN EL COLOR: SI EL CONDUCTOR TIENE MENOS DE 26 AOS, EL PRECIO SE INCREMENTA UN 25%; SI TIENE ENTRE 26 Y 30 AOS SE INCREMENTA UN 10%; SI TIENE ENTRE 31 Y 65 AOS EL PRECIO NO SE MODIFICA; SI TIENE MS DE 65 AOS EL PRECIO SE INCREMENTAR UN 10%. ADEMS, EN CUALQUIER CASO, HAY QUE CONSIDERAR QUE SI EL CONDUCTOR TIENE MENOS DE 2 AOS EL PERMISO DE CONDUCIR, EL PRECIO SE INCREMENTAR UN 25% ADICIONAL. DISEAR UN PROGRAMA QUE CALCULE EL PRECIO DEL SEGURO PARA UN DETERMINADO MODELO Y UN DETERMINADO CONDUCTOR. clc, clear all, format compact,format bank
disp('=============================================')
disp('MODELO A = 0')
disp('MODELO B = 1')
disp('COLOR BLANCO = 0')
disp('COLOR METALIZADO = 1')
disp('OTROS COLORES = 2')
disp('=============================================')
COLOR= input('INGRESE EL COLOR DEL COCHE = ');
MODELO= input('INGRESE EL NUMERO DE MODELO DEL COCHE = ');
disp('=============================================')
switch COLOR case 0 switch MODELO case 0 COLOR= 'BLANCO' MODELO= 'A' PRECIO_DEL_SEGURO = 240.41
-
EDAD=input('INGRESE SU EDAD = '); PERMISO=input('INGRESE LA CANTIDAD DE AOS QUE TIENE PERMISO DE CONDUCIR ='); switch EDAD case {18,19,20,21,22,23,24,25} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n end case {26,27,28,29,30} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n end case {31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+n end case {66,67,68,69,70,71,72,73,74,75,76,77,78,79,80} PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100)) switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n end end case 1 COLOR= 'BLANCO' MODELO= 'B' PRECIO_DEL_SEGURO = 300.00 EDAD=input('INGRESE SU EDAD = '); PERMISO=input('INGRESE LA CANTIDAD DE AOS QUE TIENE PERMISO DE CONDUCIR ='); switch EDAD case {18,19,20,21,22,23,24,25} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n end case {26,27,28,29,30} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n end
-
case {31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+n end case {66,67,68,69,70,71,72,73,74,75,76,77,78,79,80} PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100)) switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0;
PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n end end end case 1 switch MODELO case 0 COLOR= 'METALIZADO' MODELO= 'A' PRECIO_DEL_SEGURO = 330.00 EDAD=input('INGRESE SU EDAD = '); PERMISO=input('INGRESE LA CANTIDAD DE AOS QUE TIENE PERMISO DE CONDUCIR ='); switch EDAD case {18,19,20,21,22,23,24,25} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n end case {26,27,28,29,30} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)) PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0 PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n end case {31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+n end case {66,67,68,69,70,71,72,73,74,75,76,77,78,79,80} PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100)) switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0;
PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n
-
end end case 1 COLOR= 'METALIZADO' MODELO= 'B' PRECIO_DEL_SEGURO = 360.50 EDAD=input('INGRESE SU EDAD = '); PERMISO=input('INGRESE LA CANTIDAD DE AOS QUE TIENE PERMISO DE CONDUCIR ='); switch EDAD case {18,19,20,21,22,23,24,25} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n end case {26,27,28,29,30} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n end case {31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+n end case {66,67,68,69,70,71,72,73,74,75,76,77,78,79,80} PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100)) switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0;
PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n end end end case 2 switch MODELO case 0 COLOR= 'OTRO' MODELO= 'A' PRECIO_DEL_SEGURO = 270.50 EDAD=input('INGRESE SU EDAD = '); PERMISO=input('INGRESE LA CANTIDAD DE AOS QUE TIENE PERMISO DE CONDUCIR ='); switch EDAD case {18,19,20,21,22,23,24,25} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n end
-
case {26,27,28,29,30} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n end case {31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+n end case {66,67,68,69,70,71,72,73,74,75,76,77,78,79,80} PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100)) switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0;
PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n end end case 1 COLOR= 'OTRO' MODELO= 'B' PRECIO_DEL_SEGURO = 330.00 EDAD=input('INGRESE SU EDAD = '); PERMISO=input('INGRESE LA CANTIDAD DE AOS QUE TIENE PERMISO DE CONDUCIR ='); switch EDAD case {18,19,20,21,22,23,24,25} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(25/100))+n end case {26,27,28,29,30} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+n end case {31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65} switch PERMISO case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0; PRECIO= PRECIO_DEL_SEGURO+n end case {66,67,68,69,70,71,72,73,74,75,76,77,78,79,80} PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100)) switch PERMISO
-
case {0,1} n=(PRECIO_DEL_SEGURO*(25/100)); PRECIO= PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n case{2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20} n=0;
PRECIO=PRECIO_DEL_SEGURO+(PRECIO_DEL_SEGURO*(10/100))+(PRECIO_DEL_SEGURO*(25/100))+n end end end end
11.- GENERAR UN VECTOR DE N ELEMENTOS CON NMEROS ALEATORIOS ENTRE 0 Y 1. PEDIR AL USUARIO DOS NMEROS REALES ENTRE 0 Y 1 LS Y LI, QUE REPRESENTAN LOS LMITES SUPERIOR E INFERIOR DE UN INTERVALO, RESPECTIVAMENTE. RECORRER EL VECTOR E INDICAR CUALES ELEMENTOS SE ENCUENTRAN DENTRO DE LOS LMITES DADOS.
clc , clear all , format compact
disp('=================================')
A=0:0.1:1 ;
LS=input('INGRESE EL LIMITE SUPERIOR:');
LI=input('INGRESE EL LIMITE INFERIOR:');
disp('=================================')
if LS0
LI=0
disp('EL NUMERO PERTENECE AL VECTOR')
end
if LS1
disp ('EL NUMERO NO PERTENECE AL VECTOR')
end
disp('=================================')
13.- ESCRIBIR UN PROGRAMA QUE DADOS LOS GOLES DEL EQUIPO LOCAL Y LOS GOLES DEL EQUIPO VISITANTE DE UN PARTIDO DE FUTBOL, INDIQUE QU EQUIPO HA GANADO (RESULTADOS POSIBLES: LOCAL", VISITANTE" Y EMPATE").
clc,clear, format compact
disp('==============================================================')
A=input('CUANTOS GOLES HIZO EL EQUIPO VISITANTE ?...');
B=input('CUANTOS GOLES HIZO EL EQUIPO LOCAL ?...');
disp('==============================================================')
if A > B
y=A-B;
disp('EL EQUIPO GANADOR ES EL VISITANTE POR LA DIFERENCIA DE')
-
disp(y)
disp('GOLES')
end
if A < B
y= B-A;
disp('EL EQUIPO GANADOR ES EL LOCAL POR LA DIFERENCIA DE')
disp(y)
disp('GOLES')
end
if A == B
disp('LOS EQUIPOS ESTAN EMPATES ')
end
disp('==============================================================')
disp('=======================FIN DEL PARTIDO=========================')
14.- DETERMINAR LA CANTIDAD DE DINERO QUE RECIBIR UN TRABAJADOR POR CONCEPTO DE LAS HORAS EXTRAS TRABAJADAS. CUANDO LAS HORAS DE TRABAJO EXCEDEN DE 40, EL RESTO SE CONSIDERAN HORAS EXTRAS. LAS HORAS EXTRAS SE PAGAN AL DOBLE DE UNA HORA NORMAL CUANDO NO EXCEDEN DE 8 HORAS. SI LAS HORAS EXTRAS EXCEDEN DE 8 SE PAGAN LAS PRIMERAS 8 AL DOBLE DE LO QUE SE PAGA POR UNA HORA NORMAL Y EL RESTO AL TRIPLE. INGRESAR POR TECLADO EL VALOR DE LA HORA DE TRABAJO Y LA CANTIDAD DE HORAS TRABAJADAS.
clc,clear, format compact
disp('=============================================================')
a=input('INGRESE EL VALOR DE LAS HORAS DE TRABAJO REALIZADAS =');
b=input('INGRESE LAS HORAS DE TRABAJO REALIZADAS =');
disp('=============================================================')
while b
-
y=40*a+HE*2*a;
disp('EL TRABAJADOR RECIBIRA COMO PAGO LA CANTIDAD DE :')
disp(y)
disp('NUEVOS SOLES')
end
if b > 48
HE=b-40;
HEP=HE-8;
y=(40*b)+(8*2*a)+(HEP*3*a);
disp('EL TRABAJADOR RECIBIRA COMO PAGO LA CANTIDAD DE :')
disp(y)
disp('NUEVOS SOLES')
end
disp('=============================================================')
disp('===========================FIN================================')
15.-.- SE DESEA REPRESENTAR CON UNA LETRA LA CALIFICACION DE UN ALUMNO. LAS CALIFICACIONES
SON NOTAS ENTRE 1 Y 20. ESCRIBIR UN PROGRAMA QUE PIDA LA NOTA Y QUE INDIQUE LA LETRA
CORRESPONDIENTE:
A PARA CALIFICACIONES MAYORES O IGUALES A 19
B PARA CALIFICACIONES MAYORES O IGUALES A 16
C PARA CALIFICACIONES MAYORES O IGUALES A 14
D PARA CALIFICACIONES MAYORES O IGUALES A 12
F PARA LAS DEMAS CALIFICAIONES.
clc, clear all, format compact
disp('=====================================')
x=input('INGRESE LA NOTA = ');
disp('=====================================')
if x>=1 & 20>=x
if x>=1&x=12 & x
-
disp('LA NOTA ES')
disp(x)
disp('Y LA CALIFICACION ES: D')
end
if x>=14 & x=16 & x=19 & x
-
disp('====================================================')
end
if n==0;
Factorial=fa
else
for i=1:n;
fa=fa*i;
if i==n;
Factorial=fa
end
end
end
disp('========================================================')
25.- LA EXPONENCIAL DE UN NMERO REAL A SE PUEDE APROXIMAR CON LA SERIE: ESCRIBIR UNA FUNCIN QUE CALCULE LA EXPONENCIAL DE A SEGN DICHA FRMULA, UTILIZANDO K=10 Y LUEGO K=20. SE OBTIENE EL MISMORESULTADO? MODIFICAR LA FUNCIN DE MANERA QUE EL NMERO K SEA UN PARMETRO ELEGIDO POR EL USUARIO. MODIFICAR LA FUNCIN DE MANERA QUE APROXIME EL
RESULTADO HASTA QUE PARA ALGN K SE CUMPLA LA CONDICIN AK/K!
-
end
end
disp('==========================================================')
26.- DISEAR UN PROGRAMA QUE CALCULE EL COCIENTE Y RESTO DE LA DIVISIN ENTERA DE DOS NMEROS MEDIANTE RESTAS Y SUMAS.
clc , clear all , format compact
disp('====================================================')
m=input('INGRESE EL NUMERO :');
n=input('INGRESE EL NUMERO DE VECES QUE SE DEBE RESTAR :');
A =m/n ;
disp('====================================================')
disp(A)
disp('====================================================')
26.- ESCRIBIR UN PROGRAMA QUE CONVIERTA UN NMERO ENTERO EN OTRO NMERO ENTERO QUE SER EL PRIMERO PERO CON LAS CIFRAS QUE LO FORMAN ESCRITAS AL REVS. EJEMPLO: CONVERTIR EL NMERO ENTERO 1842 EN EL 2481
clc,clear all, format compact
disp('======================================')
n=input('INGRESE EL NUMERO ENTERO=');
disp('======================================')
while n > 0
dig = mod(n,10);
n=round(n/10);
disp([dig])
end
disp('======================================')
27.- ELABORAR EL DIAGRAMA DE FLUJO Y EL PROGRAMA EN MATLAB PARA QUE RECIBA DOS 2 NMEROS ENTEROS DETERMINE: EL MAYOR DE LOS DOS NMEROS Y LO IMPRIMA. EL MENOR DE LOS DOS NMEROS Y LO IMPRIMA.
clc,clear all, format compact
disp('========================================')
A=input('INGRESE EL PRIMER NUMERO = ');
B=input('INGRESE EL SEGUNDO NUMERO = ');
disp('========================================')
if A~=B
-
if A>B
disp('LOS NUMEROS SON :')
disp([A,B])
disp('EL NUMERO MAYOR ES : ')
disp(A)
disp('Y EL NUMERO MENOR ES :')
disp(B)
else
disp('LOS NUMERO SON:')
disp([A,B])
disp('EL NUMERO MAYOR ES :')
disp(B)
disp('Y EL NUMERO MENOR ES :')
disp(A)
end
end
if A==B
disp('LOS NUMERO SON:')
disp([A,B])
disp('Y AMBOS NUMEROS SON IGUALES')
end
disp('========================================')
28.- ELABORAR EL DIAGRAMA DE FLUJO Y EL PROGRAMA EN MATLAB PARA QUE RECIBA 3 NMEROS ENTEROS DETERMINE: EL MAYOR DE LOS TRES NMEROS Y MUESTRE EN PANTALLA. EL MENOR DE LOS TRES NMEROS Y MUESTRE EN PANTALLA. EL INTERMEDIO DE LOS TRES NMEROS Y MUESTRE EN PANTALLA.
clc,clear all, format compact
disp('==============================================')
x=input('INGRESE EL PRIMER NUMERO : ');
y=input('INGRESE EL SEGUNDO NUMERO : ');
z=input('INGRESE EL TERCER NUMERO : ');
disp('==============================================')
if x>y & x>z
disp('EL MAYOR NUMERO ES :')
disp(x)
-
end
if y>z & y>x
disp('EL MAYOR NUMERO ES :')
disp(y)
end
if z>x & z>y
disp('EL MAYOR NUMERO ES :')
disp(z)
end
if xx & z>x
disp('EL NUMERO INTERMEDIO ES :')
disp(z)
else
if y>z & y>x & z
-
disp('EL NUMERO INTERMEDIO ES :')
disp(x)
else
if z>x & z>y & x>y
disp('EL NUMERO INTERMEDIO ES :')
disp(x)
else
if z>x & z>y & xy
disp('EL PRIMER Y SEGUNDO NUMERO SON IGUALES')
disp('EL NUMERO MAYOR ES:')
disp(z)
disp('Y EL NUMERO MENOR ES :')
disp(y)
end
if x==y& zy
disp('EL PRIMER Y TERCER NUMERO SON IGUALES')
disp('EL NUMERO MAYOR ES:')
disp(z)
-
disp('Y EL NUMERO MENOR ES :')
disp(y)
end
if x==z& z
-
b=input('INGRESE EL SEGUNDO NUMERO =');
c=input('INGRESE EL TERCER NUMERO =');
disp('===========================================')
if (a-c)
-
n=a*(a+1)/2;
disp('LA SUMA ES:')
disp(n)
disp('===================================')
32.-ESCRIBIR UN PROGRAMA QUE CALCULE LA SUMA DE LOS CUADRADOS DE LOS N PRIMEROS NMEROS NATURALES: 1 + 22 + 32 + + N2.
clc, clear all, format compact
disp('===================================')
x=input(INGRESE EL NUMERO :');
disp('===================================')
a=x*(x+1)*(2*x+1)/6;
disp('LA SUMA ES:')
disp(a)
disp('=======================OY A COPIAR LOS K ME FALTAN
============')
33.-ESCRIBIR UN PROGRAMA QUE CALCULE LA SUMA DE LOS NMEROS ENTEROS DE N A M (M>N), UTILIZANDO EL PROGRAMA DEL EJERCICIO 1.
clc, clear all, format compact
disp('===================================')
x=input('INGRESE PRIMER NUMERO :');
y=input('INGRESE EL SEGUNDO NUMERO :');
n=(y*(y+1)/2)-(x*(x+1)/2)+x;
disp('===================================')
disp('LA SUMA ES:')
disp(n)
disp('===================================')
34.- ELABORAR EL DIAGRAMA DE FLUJO Y EL PROGRAMA EN MATLAB PARA QUE DADO LOS 3 LADOS DE UN TRINGULO (A, B YC), IMPRIMA R SI EL TRINGULO ES RECTNGULO, I SI EL TRINGULO ES ISSCELES Y E SI EL TRINGULO ES ESCALENO. NOTA: TENER EN CONSIDERACIN LAS EXPRESIONES SIGUIENTES: (A-C)
-
disp('EL TRIAGULO ES EQUILATERO')
end
if a==b & a~=c & b~=c
disp('EL TRIANGULO ES ISOCELES ')
end
if a~=b & b~=c & a~=c
disp('EL TRIANGULO ES ESCALENO')
end
if a^2==b^2+c^2 & a>b & c10.5
disp('EL PROMEDIO ES :')
disp(prom)
disp('ESTA APROBADO')
else
disp('EL PROMEDIO ES :')
disp(prom)
disp('ESTA DESAPROBADO')
end
disp('======================================')
36.- ELABORAR EL PROGRAMA CORRESPONDIENTE PARA QUE LEA UN NMERO ENTRE 1 Y 9999999 Y UNA POSICIN DETERMINADA. EL OBJETIVO ES DETERMINAR EL DGITO QUE EST OCUPANDO LA
-
POSICIN INDICADA. POR EJEMPLO: 856384 Y 5; SEAN EL NMERO Y POSICIN INGRESADA, LA RESPUESTA INDICAR: EL DGITO QUE OCUPA LA POSICIN (5) ES EL (8) NMERO INGRESADO 8 5 6 3 8 4 POSICIN 1 2 3 4 5 6 NOTA: EL PROGRAMA DEBER TENER LA CONSISTENCIA ENTRE EL NMERO INGRESADO Y LAS POSICIONES PARA EVITAR ERRORES, ES DECIR; NO SE PUEDE INGRESAR 4567 Y DIGITAR LA POSICIN 7, PORQUE NO EXISTE.
clc,clear all, format compact
disp('==============================================================')
x=input('INGRESE UN NMERO MAYOR QUE 0 Y MENOR QUE 100,000,000 : ');
disp('==============================================================')
while x999999999
clc
x=input('INGRESE UN NMERO MAYOR QUE 0 Y MENOR QUE 100,000,000 : ');
end
n=0; y=x;
while x>0
n=n+1;
i=n;
a(i)=mod(x,10);
x=fix(x/10);
end
xx=input('INDIQUE UNA POSICIN DEL NMERO : ');
while xxn
xx=input('INDIQUE UNA POSICIN DEL NMERO : ');
end
disp(' ');
fprintf('CUAL ESLA POSICIN DEL DGITO %3I DEL NMERO %9I ? \n',xx,y)
disp(' ');disp('RESPUESTA ='); disp(' ')
m=0;
for ii=n:-1:1
m=m+1;
if m == xx
fprintf('EL DIGITO QUE OCUPA LA POSICIN %3i ES %3i \n',xx,a(ii))
disp(' '); disp(' ');
end
end
disp('==============================================================')
-
37.-ELABORAR EL PROGRAMA CORRESPONDIENTE PARA QUE LEA UN NMERO ENTRE 1 Y 9999999, UNA POSICIN DETERMINADA Y UN DGITO ENTRE 0 Y 9. EL OBJETIVO ES: UNA VEZ IDENTIFICADO EL DGITO QUE OCUPA LA POSICIN DETERMINADA DEBER CAMBIARSE DICHO DGITO POR EL DGITO INGRESADO POR EL TECLADO Y ESCRIBIR EL NUEVO NMERO GENERADO. POR EJEMPLO: 947390, 3 Y 8; SEAN EL NMERO, LA POSICIN DE UN DIGITO DE DICHO NMERO Y EL NUEVO DGITO, LA RESPUESTA INDICAR: EL DGITO QUE OCUPA LA POSICIN (3) ES EL (7) Y DEBER CAMBIARSE POR (8) Y EL NUEVO NMERO ES: 948390 NMERO INGRESADO 9 4 7 3 9 0 POSICIN 1 2 3 4 5 6 NMERO NUEVO 9 4 8 3 9 0 NOTA: EL PROGRAMA DEBER TENER LA CONSISTENCIA ENTRE EL NMERO INGRESADO Y LAS POSICIONES PARA EVITAR ERRORES, ES DECIR; NO SE PUEDE INGRESAR 45678 Y DIGITAR LA POSICIN 8, PORQUE NO EXISTE.
clc,clear all, format compact disp('==============================================================') x=input('INGRESE UN NMERO MAYOR QUE 0 Y MENOR QUE 100,000,000 : '); disp('==============================================================') while x999999999 x=input('INGRESE UN NMERO MAYOR QUE 0 Y MENOR QUE 100,000,000 : '); end n=0; y=x; while x>0 n=n+1; i=n; a(i)=mod(x,10); x=fix(x/10); end xx=input('INDIQUE UNA POSICIN DEL NMERO : '); while xxn xx=input('INDIQUE UNA POSICIN DEL NMERO : '); end disp('==============================================================') xxx=input('INGRESE UN NUMERO ENTRE 0 Y 9 PARA CAMBIAR : '); disp('==============================================================') while xxx9 %clc xxx=input('INGRESE UN NUMERO ENTRE 0 Y 9 PARA CAMBIAR : '); end m=0; for ii=n:-1:1 m=m+1; if m == xx a(ii)=xxx; end end aa=0; for iii=n:-1:1 n=n-1; aa= aa + a(iii)*10^n; end fprintf('EL NMERO ANTERIOR ERA %9i \n',y) fprintf('EL NMERO NUEVO ES %9i \n',aa) disp('==============================================================')
38.- DADA UNA FECHA COMO DA (NMERO ENTERO), MES (CADENA DE CARACTERES) Y AO (NMERO ENTERO POSITIVO CON 4 DGITOS), ESCRIBIR UN PROGRAMA QUE INDIQUE SI DICHA FECHA ES CORRECTA O NO. EJEMPLOS: 22 OCTUBRE 2001 ES CORRECTA; 31 ABRIL 2001 NO ES CORRECTA PORQUE ABRIL NO TIENE 31 DAS; 29 DE FEBRERO DE 2001 NO ES CORRECTO PORQUE EL AO 2001 NO ES BISIESTO.
-
clc,clear all, format compact
disp('==============================================================')
disp('FECHA')
disp('PARA EL MES')
disp('ENERO = 01')
disp('FEBRERO = 02')
disp('MARZO = 03')
disp('ABRIL = 04')
disp('MAYO = 05')
disp('JUNIO = 06')
disp('JULIO = 07')
disp('AGOSTO = 08')
disp('SETIEMBRE = 09')
disp('OCTUBRE = 10')
disp('NOVIEMBRE = 11')
disp('DICIEMBRE = 12')
disp('==================================')
x=input('INGRESE EL NUMERO DE LOS DIAS=');
y=input('MES =');
z=input('AO =');
while z10000;
z=input('ao: ');
end
disp('==================================')
if y==1
fprintf('%3i ENERO%6i\n',x,z)
else
if y==2
fprintf('%3i FEBRERO%6i\n',x,z)
else
if y==3
fprintf('%3i MARZO%6i\n',x,z)
else
if y==4
fprintf('%3i ABRIL%6i\n',x,z)
else
if y==5
fprintf('%3i MAYO%6i\n',x,z)
else
-
if y==6
fprintf('%3i JUNIO%6i\n',x,z)
else
if y==7
fprintf('%3i JULIO%6i\n',x,z)
else
if y==8
fprintf('%3i AGOSTO%6i\n',x,z)
else
if y==9
fprintf('%3i SETIEMBRE%6i\n',x,z)
else
if y==10
fprintf('%3i OCTUBRE%6i\n',x,z)
else
if y==11
fprintf('%3i NOVIEMBRE%6i\n',x,z)
else
if y==12
fprintf('%3i DICIEMBRE%6i\n',x,z)
end
end
end
end
end
end
end
end
end
end
end
end
if y==1 & x>30 | y==4 & x>30 | y==6 & x>30 | y==9 & x>30
disp('ESTA FECHA ES NO CORRECTA')
else
if y==3 & x>31| y==5 & x>31| y==7 & x>31| y==8 & x>31 | y==10 & x>31 | y==12 & x>31
disp('ESTA FECHA ES NO CORRECTA')
else
if y==2 & x>28
-
disp('FECHA ES NO CORRECTA')
else
if y==2 & (z/4)==0 & x>29
disp('FECHA INCORRECTA')
else
disp('CORRECTO')
end
end
end
end
if y==2 & (z/4)~=0 & x==29
disp('NO ES BISIESTO')
end
disp('===================================')
39.- AL FINAL DEL AO LAS EMPRESAS CUENTAN CON GANANCIAS DE LAS CUALES UNA PARTE SE DISTRIBUYE ENTRE LOS TRABAJADORES Y ES LLAMADA UTILIDAD TOTAL A DISTRIBUIR (UAD). EN BASE A LA UAD SE OBTIENE LA UTILIDAD QUE RECIBIR DETERMINADO TRABAJADOR (UADT). PARA HALLAR LA UTILIDAD SE DEBE TENER EN CUENTA LOS INGRESOS Y LOS GASTOS DE LA EMPRESA DE ACUERDO A SUS VENTAS DE ACUERDO A LAS SIGUIENTES RELACIONES:
- EL PRECIO UNITARIO ES 20% MS QUE EL COSTO UNITARIO - INGRESOS= PRECIO_UNITARIO X CANTIDAD_VENDIDA - COSTOS= COSTO_UNITARIO X CANTIDAD_VENDIDA - LOS GASTOS ADMINISTRATIVOS EQUIVALEN AL 10% DE LOS INGRESOS - GASTOS= COSTOS + GASTOS_ADMINISTRATIVOS - UTILIDAD_A_DISTRIBUIR(UAD)=INGRESOS GASTOS - UTILIDAD_A_DISTRIBUIR_A_CADA_TRABAJADOR(UADT)= 50% X UAD X F1 + 50% UAD X F2
clear command History; clear memory; clear all; clc
clc, clear
boxtitle='SALARIO';
entries={'CANTIDAD VENDIDA','COSTO UNITARIO'};
w=inputdlg(entries,boxtitle);
cantv=str2num(w{1});
costu=str2num(w{2});
boxtitle='SALARIO';
entries={'HORA POR DIA QUE TRABAJA UN FUNCIONARIO','SALARIO QUE RECIBE EL
FUNCIONARIO','CANTIDAD DE FUNCIONARIOS QUE EXISTEN EN LA EMPRESA'};
w=inputdlg(entries,boxtitle);
hf=str2num(w{1});
sf=str2num(w{2});
cf=str2num(w{3});
-
boxtitle='SALARIO';
entries={'HORAS X DIA QUE TRAB UN ING TIPO 1','CANT ING TIPO 1 EXISTEN EN LA
EMPRESA','SALARIO QUE RECIBE ING TIPO 1'};
w=inputdlg(entries,boxtitle);
hlt1=str2num(w{1});
clt1=str2num(w{2});
slt1=str2num(w{3});
boxtitle='SALARIO';
entries={'HORAS X DIA QUE TRAB UN ING TIPO 2','CANT ING TIPO 2 EXISTEN EN LA
EMPRESA','SALARIO QUE RECIBE ING TIPO 2'};
w=inputdlg(entries,boxtitle);
hlt2=str2num(w{1});
clt2=str2num(w{2});
slt2=str2num(w{3});
preu=0.20*costu+costu;
ing=preu*cantv;
cost=costu*cantv;
gastad=0.10*ing;
gast=cost+gastad;
UAD=ing-gast;
F1=hf/(hf*cf+hlt1*clt1+hlt2*clt2);
F2=sf/(sf*cf+clt1*slt1+clt2*slt2);
UADT=0.50*UAD*F1+0.50*UAD*F2;
fprintf('UNIDAD A DISTRIBUIR %g\n',UAD)
fprintf('UNIDAD A DISTRIBUIR A CADA TRABAJADOR %g\n',UADT)
40.- HACER UN PROGRAMA QUE PERMITA DETERMINAR SI UN NMERO N ENTERO POSITIVO ES PERFECTO, SI NO LO ES, ENCONTRAR EL NMERO PERFECTO MS CERCANO, INDICANDO CUANTO SE TIENE QUE RESTAR O SUMAR PARA HALLAR DICHO NMERO PERFECTO.
clc , clear all , format compact
disp('=================================')
n=input('INGRESE EL NUMERO = ');
disp('=================================')
while n
-
sum=0;
for d=1:n;
resto=rem(D,d);
if resto==0;
sum=sum+d;
disp([d])
end
end
if sum==2*d;
disp( 'PERFECTO')
else
disp('IMPERFECTO')
end
disp('=================================')
41.- HACER UN PROGRAMA PARA SABER SI UN NMERO ES FELIZ O INFELIZ. A PARTIR DE ELLO PUEDE HACERSE VARIACIONES, POR EJEMPLO: CUANTOS NMEROS FELICES HAY EN UN RANGO ESTABLECIDO POR EL USUARIO O CUNTOS NMEROS FELICES O INFELICES HAY ENTRE 0 Y 1000000. NOTA: UN NMERO NATURAL ES NMERO FELIZ: CUANDO CUMPLE LO SIGUIENTE: SI SUMAMOS LOS CUADRADOS DE SUS DGITOS Y SEGUIMOS EL PROCESO CON LOS RESULTADOS OBTENIDOS EL RESULTADO ES 1.
clc , clear all , format compact
disp('====================================================')
x=input('Ingrese un nmero = ');
disp('====================================================')
n=0;m=0;
while x>0
n=n+1;
i=n;
a(i)=mod(x,10);
x=fix(x/10);
A=a(i);
m=m+A^2;
end
B=sum(m)
p=0;t=0;
while B>0
p=p+1;
i=p;
-
b(i)=mod(B,10);
B=fix(B/10);
D=b(i)
end
if D==1
disp('nmero feliz')
else
disp('nmero infeliz')
end
disp('====================================================')
42.- HACER UN PROGRAMA PARA DETERMINAR LA CANTIDAD DE NMEROS CURIOSOS EXISTENTES EN EL RANGO 0 Y 100000 0 Y 1000000 NOTA: NMERO CURIOSO ES: TODO NMERO NATURAL N QUE CUMPLE QUE N2 TIENE AL PROPIO N COMO LTIMA CIFRA. POR EJEMPLO, 25 Y 36 SON NMEROS CURIOSOS.
clc, clear all, format compact
disp('==========================================================')
disp('CUALES SON LOS NUMEROS CURIOSOS QUE HAY ENTRE 0 A 1000000?')
disp('Son...')
disp('==========================================================')
for t=1:10;
r=t.^2;
i(r)=mod(r,10);
if i(r)==t;
s=(i(r)).^2;
disp(s)
end
end
for t=11:100;
r=t.^2;
i(r)=mod(r,100);
if i(r)==t;
s=(i(r)).^2;
disp(s)
end
end
-
for t=101:1000;
r=t.^2;
i(r)=mod(r,1000);
if i(r)==t;
s=(i(r)).^2;
disp(s)
end
end
disp('===========================================================')
43.- ELABORAR EL DIAGRAMA DE FLUJO Y EL PROGRAMA EN MATLAB PARA QUE RECIBA 4 NOTAS DE LAS EVALUACIONES DE UN CURSO E IMPRIMA APROBADO SI EL PROMEDIO DE NOTAS ES MAYOR O IGUAL A 10.5, EN CASO CONTRARIO SE IMPRIMIR DESAPROBADO, TENER EN CUENTA LO SIGUIENTE: EL PROMEDIO DE NOTAS ES IGUAL A LA SUMA DE LAS 4 NOTAS DIVIDIDO ENTRE 4. EL PROMEDIO DE NOTAS ES IGUAL A LA SUMA DE LAS 4 NOTAS MENOS LA MS BAJA, DIVIDIDO ENTRE 3.
clc , clear all , format compact
disp('====================================================')
x=input('INGRESE EL 1 NOTA: ');
y=input('INGRESE EL 2 NOTA: ');
z=input('INGRESE EL 3 NOTA: ');
w=input('INGRESE EL 4 NOTA: ');
while x20
x=input('INGRESE EL 1 NOTA: ');
end
while y20
y=input('INGRESE EL 2 NOTA: ');
end
while z20
z=input('INGRESE EL 3 NOTA: ');
end
while w20
w=input('INGRESE EL 4 NOTA: ');
end
disp('=================================')
disp('PROMEDIO 1: ')
for A=(x+y+z+w)/4;
disp('NOTAS')
-
disp([x y z w])
disp('NOTA PROMEDIO= ')
disp(A)
if A>10.5
disp('CONDICION: ')
disp('APROBADO')
else
disp('CONDICION: ')
disp('DESAPROBADO')
end
end
disp('')
disp('');
disp('====================================')
disp('PROMEDIO 2: ')
for B=[x;y;z;w];
C=min(B);
D=(x+y+z+w-C)/3;
if C==x
disp('NOTAS')
disp([y z w])
else
if C==y
disp('NOTAS')
disp([x z w])
else
if C==z
disp('NOTAS')
disp([x y w])
else
if C==w
disp('NOTAS')
disp([x y z])
end
end
-
end
end
disp('NOTA PROMEDIO= ')
disp(D)
if D>10.5;
disp('CONDICION: ')
disp('APROBADO')
else
disp('CONDICON: ')
disp('DESAPROBADO')
end
end
disp('====================================================')
44.- ELABORAR EL DIAGRAMA DE FLUJO Y EL PROGRAMA CORRESPONDIENTE PARA SABER SI UN NMERO INGRESADO POR TECLADO DE LA PC ES UN NMERO AMSTRONG. SI EL NMERO INGRESADO ES AMSTRONG SE MOSTRAR EL SIGUIENTE RESULTADO: EL NMERO (N) ES UN NMERO AMSTRONG Y EL PRXIMO NMERO AMSTRONG ESTA DESPUS DE (X) NMEROS
clc , clear all , format compact
disp('====================================================')
x=input('INGRESE UN NMERO=');
n=0;
sum=0;
disp('====================================================')
for n=n+1
i=n
a(i)=mod(x,10)
x=fix(x/10)
b=a(1)
S=b^3
end
disp('====================================================')
45.-HACER EL DIAGRAMA DE FLUJO Y EL PROGRAMA CORRESPONDIENTE PARA CALCULAR LA SUMA DE LOS CUBOS DE LOS DGITOS DE UN NMERO NATURAL INGRESADO POR EL TECLADO, EL NMERO INGRESADO PUEDE SER DE 3, 4, 5 Y 6 DGITOS, PERO NO DE 1 NI DE 2.
clc, clear all, format compact
disp('=============================================')
n=input('INGRESE EL NUMERO NATURAL:');
-
disp('=============================================')
sum=0; sumcub=0; for i =1:n sumcub=sumcub+n^3; end disp('LA SUMA ES :')
disp([sumcub]) disp('=============================================')
46.- ELABORAR EL DIAGRAMA DE FLUJO Y EL PROGRAMA CORRESPONDIENTE PARA QUE PUEDA LEER UN NMERO ENTERO ENTRE 11 Y 9999 Y COMO RESULTADO DEBER MOSTRAR LOS DGITOS QUE FORMAN DICHO NMERO, INDICANDO SI EL DGITO ES PAR O IMPAR. GUIARSE POR EL EJEMPLO MOSTRADO. SI N=8638 ES EL NMERO INGRESADO 8 PAR 6 PAR 3 IMPAR 8 PAR
clc , clear all , format compact
disp('====================================================')
x=input('INGRESE UN NUMERO DE 11 A 9999 : ');
disp('====================================================')
while x9999
clc
x=input('INGRESE UN NUMERO DE 11 A 9999 : ');
end
n=0;
while x>0;
n=n+1;
i(n)=mod(x,10);
x=fix(x/10);
end
fprintf('EL NUMERO TIENE %2i DIGITOS\n',n);
for t=n:-1:1;
if mod(i(t),2)==0;
fprintf('EL NUMERO %2i ES PAR\n',i(t));
else
fprintf('EL NUMERO %2i ES IMPAR\n',i(t));
end
end
disp('====================================================')
-
47.-EJERCICIOS DE SWITH
A) ESCRIBA UN PROGRAMA QUE CALCULE EL COSTO DE ENVIAR UN PAQUETE EN FUNCIN A LA TABLA DADA EN EL MATERIAL DE APOYO
clc, clear all, format compact,format bank disp('=============================================') disp('TIERRA = 0') disp('AIRE = 1') disp('NOCTURNO = 2') disp('PESO DE 0-2 = 0') disp('PESO DE 2-10 = 1') disp('PESO DE 10-50 = 2') disp('=============================================') y= input('INGRESE EL NUMERO AL QUE PERTENECE EL PESO = '); TIPO_DE_SERVICIO= input('INGRESE EL TIPO DE SERVICIO = '); disp('=============================================') switch y case 0 z= input('INGRESE EL PESO = ') while z=2 clc disp('EL PESO NO PERTENECE A ESTE GRUPO') end switch z case {0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,1.2,1.3,1.4,1.5,1.6,1.7,1.8,1.9} switch TIPO_DE_SERVICIO case 0 TIPO_DE_SERVICIO='TIERRA' PRECIO = 1.50 case 1 TIPO_DE_SERVICIO='AIRE' PRECIO = 3.00 case 2 TIPO_DE_SERVICIO='NOCTURNO' PRECIO = 18.00 end end case 1 z= input('INGRESE EL PESO = '); while z=10 clc disp('EL PESO NO PERTENECE A ESTE GRUPO') end switch z case {2,2.1,2.2,2.3,2.4,2.5,2.6,2.7,2.8,2.9} switch TIPO_DE_SERVICIO case 0 TIPO_DE_SERVICIO='TIERRA' PRECIO = 1.50+0.50 case 1 TIPO_DE_SERVICIO='AIRE' PRECIO = 3.00+0.50 case 2 TIPO_DE_SERVICIO='NOCTURNO' PRECIO = 18.00+0.60 end case {3,3.1,3.2,3.3,3.4,3.5,3.6,3.7,3.8,3.9}
-
switch TIPO_DE_SERVICIO case 0 TIPO_DE_SERVICIO='TIERRA' PRECIO = 1.50+1.00 case 1 TIPO_DE_SERVICIO='AIRE' PRECIO = 3.00+1.00 case 2 TIPO_DE_SERVICIO='NOCTURNO' PRECIO = 18.00+1.20 end case {4,4.1,4.2,4.3,4.4,4.5,4.6,4.7,4.8,4.9} switch TIPO_DE_SERVICIO case 0 TIPO_DE_SERVICIO='TIERRA' PRECIO = 1.50+1.50 case 1 TIPO_DE_SERVICIO='AIRE' PRECIO = 3.00+1.50 case 2 TIPO_DE_SERVICIO='NOCTURNO' PRECIO = 18.00+1.80 end case {5,5.1,5.2,5.3,5.4,5.5,5.6,5.7,5.8,5.9} switch TIPO_DE_SERVICIO case 0 TIPO_DE_SERVICIO='TIERRA' PRECIO = 1.50+2.00 case 1 TIPO_DE_SERVICIO='AIRE' PRECIO = 3.00+2.00 case 2 TIPO_DE_SERVICIO='NOCTURNO' PRECIO = 18.00+2.40 end case {6,6.1,6.2,6.3,6.4,6.5,6.6,6.7,6.8,6.9} switch TIPO_DE_SERVICIO case 0 TIPO_DE_SERVICIO='TIERRA' PRECIO = 1.50+2.50 case 1 TIPO_DE_SERVICIO='AIRE' PRECIO = 3.00+2.50 case 2 TIPO_DE_SERVICIO='NOCTURNO' PRECIO = 18.00+3.00 end case {7,7.1,7.2,7.3,7.4,7.5,7.6,7.7,7.8,7.9} switch TIPO_DE_SERVICIO case 0 TIPO_DE_SERVICIO='TIERRA' PRECIO = 1.50+3.00 case 1 TIPO_DE_SERVICIO='AIRE' PRECIO = 3.00+3.00 case 2 TIPO_DE_SERVICIO='NOCTURNO' PRECIO = 18.00+3.60 end
-
case {8,8.1,8.2,8.3,8.4,8.5,8.6,8.7,8.8,8.9} switch TIPO_DE_SERVICIO case 0 TIPO_DE_SERVICIO='TIERRA' PRECIO = 1.50+3.50 case 1 TIPO_DE_SERVICIO='AIRE' PRECIO = 3.00+3.50 case 2 TIPO_DE_SERVICIO='NOCTURNO' PRECIO = 18.00+4.20 end case {9,9.1,9.2,9.3,9.4,9.5,9.6,9.7,9.8,9.9} switch TIPO_DE_SERVICIO case 0 TIPO_DE_SERVICIO='TIERRA' PRECIO = 1.50+4.00 case 1 TIPO_DE_SERVICIO='AIRE' PRECIO = 3.00+4.00 case 2 TIPO_DE_SERVICIO='NOCTURNO' PRECIO = 18.00+4.80 end end case 2 z=input('INGRESE EL PESO = '); while z>50 clc disp('EL PESO INGRESADO NO PERTENECE AL GRUPO') disp('NO SE REALIZA REPARTO POR AIRE O TIERRA CON MAS DE 50 LIBRAS') end switch z case {10,11,12,13,14,15,16,17,18,19} switch TIPO_DE_SERVICIO case 0 z-10==a; TIPO_DE_SERVICIO='TIERRA' PRECIO = 5.50+0.30+(0.30*a) case 1 z-10==n; TIPO_DE_SERVICIO='AIRE' PRECIO = 10.20+0.60+(0.60*n) case 2 TIPO_DE_SERVICIO='NOCTURNO' disp('NO EXISTEN ENTREGAS NOCTURNAS PARA PAQUETES DE MAS DE 10 LIBRAS ') end case {20,21,22,23,24,25,26,27,28,29} switch TIPO_DE_SERVICIO case 0 (z-10)+1==a; TIPO_DE_SERVICIO='TIERRA' PRECIO = 5.50+0.30+(0.30*a) case 1 (z-10)+1==n; TIPO_DE_SERVICIO='AIRE' PRECIO = 10.20+0.60+(0.60*n) case 2 TIPO_DE_SERVICIO='NOCTURNO'
-
disp('NO EXISTEN ENTREGAS NOCTURNAS PARA PAQUETES DE MAS DE 10 LIBRAS ') end case {30,31,32,33,34,35,36,37,38,39} switch TIPO_DE_SERVICIO case 0 (z-10)+1==a; TIPO_DE_SERVICIO='TIERRA' PRECIO = 5.50+0.30+(0.30*a) case 1 (z-10)+1==n; TIPO_DE_SERVICIO='AIRE' PRECIO = 10.20+0.60+(0.60*n) case 2 TIPO_DE_SERVICIO='NOCTURNO' disp('NO EXISTEN ENTREGAS NOCTURNAS PARA PAQUETES DE MAS DE 10 LIBRAS ') end case {40,41,42,43,44,45,46,47,48,49} switch TIPO_DE_SERVICIO case 0 (z-10)+1==a; TIPO_DE_SERVICIO='TIERRA' PRECIO = 5.50+0.30+(0.30*a) case 1 (z-10)+1==n; TIPO_DE_SERVICIO='AIRE' PRECIO = 10.20+0.60+(0.60*n) case 2 TIPO_DE_SERVICIO='NOCTURNO' disp('NO EXISTEN ENTREGAS NOCTURNAS PARA PAQUETES DE MAS DE 10 LIBRAS ') end case {50,51,52,53,54,55,56,57,58,59} switch TIPO_DE_SERVICIO case 0 (z-10)+1==a; TIPO_DE_SERVICIO='TIERRA' PRECIO = 5.50+0.30+(0.30*a) case 1 (z-10)+1==n; TIPO_DE_SERVICIO='AIRE' PRECIO = 10.20+0.60+(0.60*n) case 2 TIPO_DE_SERVICIO='NOCTURNO' disp('NO EXISTEN ENTREGAS NOCTURNAS PARA PAQUETES DE MAS DE 10 LIBRAS ') end end end
B) ESCRIBA UN PROGRAMA QUE CALCULE LAS RACES REALES DE UNA FUNCIN CUADRTICA AX2 + BX + C = 0. CUANDO SE EJECUTE EL PROGRAMA, STE DEBE PEDIR AL USUARIO QUE INTRODUZCA LOS VALORES DE LAS CONSTANTES A, B Y C. PARA CALCULAR LAS RACES DE LA ECUACIN, EL PROGRAMA CALCULAR EL DISCRIMINANTE D: D=B2 4 A C SI D>0, EL PROGRAMA VISUALIZAR UN MENSAJE DEL TIPO: LA ECUACIN TIENE DOS RACES Y LOS VALORES DE LAS RACES SE VISUALIZARN EN LA LNEA SIGUIENTE. SI D=0, EL PROGRAMA VISUALIZAR UN MENSAJE DEL TIPO: LA ECUACIN TIENE UNA RAZ Y EL VALOR DE LA RAZ SE VISUALIZAR EN LA LNEA SIGUIENTE. SI D
-
b=input('INGRESE EL VALOR PARA B: ');
c=input('INGRESE EL VALOR PARA C: ');
D=b^2-(4*a*c);
switch D
case D>0;
disp('LA ECUACIN TIENE DOS RACES: ')
r1=(-b+sqrt(D))/(2*a)
r2=(-b+sqrt(D))/(2*a)
case D==0;
disp('LA ECUACIN TIENE UNA RAZ: ')
r1=(-b+sqrt(D))/(2*a)
r2=(-b+sqrt(D))/(2*a)
otherwise D