184173693 46 Ejercicios Desarrollados

42
1.-ESCRIBIR UN PROGRAMA QUE CALCULE LAS SOLUCIONES REALES DE UNA ECUACION DE SEGUNDO GRADO Ax 2 +bX+c = 0. EL PROGRAMA DEBE DEVOLVER EL NÚMERO DE SOLUCIONES DISTINTAS (UNA SI b 2 -4ac=0, DOS SI b 2 -4ac>0 NINGUNA SI b 2 -4ac<0) Y CUALES SON ESAS SOLUCIONES: clc, clear all, format compact disp('================================' ) a = input('INGRESE EL VALOR DE A= '); b = input('INGRESE EL VALOR DE B= '); c = input('INGRESE EL VALOR DE C= '); disp('================================' ) if (b^2)-(4*a*c)==0 x=-b/(2*a); disp('TIENE UNA SOLUCION = ') disp(' X ES IGUAL A :'), disp(x) else if (b^2)-(4*a*c)>0 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)<0 clc disp('================================' ) disp('NO TIENE SOLUCION') end end disp('================================' ) 2-.ESCRIBIR UN PROGRAMA TAL QUE DADOS LOS GOLES DEL EQUIPO LOCAL (GL) Y LOS GOLES DEL EQUIPO VISITANTE (GV), DEVUELVA UNA CADENA DE CARACTERES INDICANDO QUÉ EQUIPO HA GANADO (RESULTADOS POSIBLES: ‘LOCAL’, ‘VISITANTE’, ‘EMPATE’).

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