trabajo de hoy
TRANSCRIPT
EJERCICIO 1:Escribir un programa que calcule las soluciones reales de una ecuación de segundo grado ax2
+bX+c=0. El programa debe resolver el número de soluciones distintas (una si b2-4ac>0 ninguna si b2-4ac<0) y cuáles son esas ecuaciones:
SOLUCIÓN:
clc,clearall,format compactdisp('$$$$$$$$$$$$$$$$$$$$')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)==0X=-b/(2*a);disp('TIENE UNA SOLUCION=')disp('X ES IGUAL A:'),disp(X)elseif (b^2)-(4*a*c)>0X(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));elseif (b^2)-(4*a*c)<0clcdisp('$$$$$$$$$$$$$$$$$$$$')disp('NO TIENE SOLUCION')endenddisp('$$$$$$$$$$$$$$$$$$$$')end
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
Ingrese los datos de “a”,”b” y “c”
(b^2)-(4*a*c)==0
SI
No
Tiene una solución
(b^2)-(4*a*c)>0
No
SITiene dos soluciones
No tiene solución
IMPRIMIR RESULTADO
FIN
EJERCICIO 2:Escriba un programa que dados los goles del equipo local (GL) y los goles del equipo visitante (GV), devuelva una cantidad de caracteres indicando que equipo ha ganado (resultados posibles: ‘local’, ‘visitante’, ‘empate’).
SOLUCION:
clc,clear,format compactdisp('********************')disp('¿QUE EQUIPO HA GANADO?')disp('********************')X=input('GOLES DEL EQUIPO LOCAL=');Y=input('GOLES DEL EQUIPO VISITANTE=');disp('********************')if X<Ydisp('EQUIPO LOCAL TIENE: ')disp(X)disp('EQUIPO VISITANTE TIENE: ')disp(Y)disp('COMO EL EQUIPO VISITANTE TIENE MAS GOLES, ES EL GANADOR')endif X>Ydisp('EQUIPO LOCAL TIENE: ')disp(X)disp('EQUIPO VISITANTE TIENE: ')disp(Y)disp('COMO EL EQUIPO LOCAL TIENE MAS GOLES, ES EL GANADOR')endif X==Ydisp('EQUIPO LOCAL TIENE: ')disp(X)disp('EQUIPO VISITANTE TIENE: ')disp(Y)disp('COMO EL EQUIPO VISITANTE Y EL EQUIPO LOCAL TIENE')disp('LA MISMA CANTIDAD DE GOLES, ES UN EMPATE')enddisp('********************')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
Ingrese los datos de “x” y ”y”
x<ySISI
NO
EL EQUIPO VISITANTE GANA
x>y
EL EQUIPO LOCAL GANA
SI
NO
AMBOS EQUIPOS EMPATAN
IMPRIMIR RESULTADO
FIN DE PROGRAMA
EJERCICIO 3:Escribir un programa que recibala nota (número real) que un alumno ha sacado en un examen y devuelva su calificación (cadena de caracteres), según el siguiente criterio: 0-10, suspenso;10.1-13.9, aprobado; 14.0-16.9, notable; 17.0-20, sobresaliente.
SOLUCIÓN:
clc,clear,format compactdisp('===================')X=input('X TOMA EL VALOR DE:');if X>=0&X<=10disp('LACALIFICACION ES:')disp(X)disp('SUSPENSO')endif X>10&X=<14disp('LA CALIFICACION ES:')disp(X)disp('APROBADO')endif X>14&X<17disp('LA CALIFICACION ES:')disp(X)disp('NOTABLE')endif X>=17&X<=20disp('LA CALIFICACION ES:')disp(X)disp('SOBRESALIENTE')endif X>20disp('LA NOTA NO EXISTE')end
EJERCICIO 4:
Implementar una función que dados tres números a, b y c, los devuelva ordenados de menor a mayor. Debe considerar si hay dos números iguales.
Solución:
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE LA NOTA
LA NOTA ES
X>=0&X<=10 X>10&X<=14 X>14&X<17 X>=17&X<=20
SUSPENSO APROBADO NOTABLE SOBRESALIENTE
IMPRIMIR RESULTADO
FIN DE PROGRAMA
SI
NO
clc,clearall,format compactdisp('$$$$$$$$$$$$$$$$$$$$')a=input('INGRESE EL PRIMER NUMERO= ')b=input('INGRESE SEGUNDO NUMERO= ')c=input('INGRESE EL TERCER NUMERO= ')disp('$$$$$$$$$$$$$$$$$$$$')ifa<b&b<cdisp([a,b,c])disp('LOS NUMEROS SON DIFERENTES')endif a<b&c<b&a<cdisp([a,c,b])disp('LOS NUMEROS SON DIFERENTES')endifa<b&c<b&c<adisp([c,b,a])disp('LOS NUMEROS SON DIFERENTES')endif b<a&c<a&b<cdisp([b,c,a])disp('LOS NUMEROS SON DIFERENTES')endif b<a&c<a&c<bdisp([c,b,a])disp('LOS NUMEROS SON DIFERENTES')endif a<c&b<c&b<adisp([b,a,c])disp('LOS NUMEROS SON DIFERENTES')end%PARA LOS NUMEROS IGUALESif a==b&a<cdisp([a,b,c])disp('EL PRIMER Y SEGUNDO NUMERO SON IGUALES')endif a==b&c<adisp([c,a,b])disp('EL PRIMER Y SEGUNDO NUMERO SON IGUALES') endif a==c&a<bdisp([a,c,b])disp('EL PRIMER Y TERCER NUMERO SON IGUALES') endif a==c&a<bdisp([b,a,c])disp('EL PRIMER Y TERCER NUMERO SON IGUALES') endif b==c&a<cdisp([a,b,c])disp('EL SEGUNDO Y TERCER NUMERO SON IGUALES') endif b==c&c<a
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE el valor de “a”, “b” y “c”
a<b&b<cLOS NUMEROS
SON DIFERENTES
SI
NO
a<b&c<b&a<cLOS NUMEROS
SON DIFERENTES
SI
NO
a<b&c<b&c<aLOS NUMEROS
SON DIFERENTES
b<a&c<a&b<c
SI
NO
LOS NUMEROS SON
DIFERENTES
b<a&c<a&c<bLOS NUMEROS
SON DIFERENTES
SI
SI
NO
NO
a<c&b<c&b<aLOS NUMEROS
SON DIFERENTES
NO SI
SI
a==b&a<c 'EL PRIMER Y SEGUNDO SON
IGUALES
SI
a==b&c<a 'EL PRIMER Y SEGUNDO SON
IGUALES
SINO SI
a==c&a<b 'EL PRIMER Y TERCER SON
IGUALES
SI
NO SI
IMPRIMIR RESULTADO
FIN DE PROGRAMA
disp([c,b,a])disp('EL SEGUNDO Y TERCER NUMERO SON IGUALES') endif a==b&c==adisp([a,b,c])disp('LOS TRES NUMEROS SON IGUALES') enddisp('$$$$$$$$$$$$$$$$$$$$')
EJERCICIO 5:El cuadrante de un punto (x, y) se puede determinar a partir del signo de x e y. Escribir un programa tal que dadas las coordenadas x e y, indique a qué cuadrante pertenece el punto.
SOLUCIÓN:
clc,clearall,format compactdisp('++++++++++++++++++++')x=input('ES UN PUNTO EN EL EJE X= ');y=input('ES UN PUNTO EN EL EJE Y= ');disp('++++++++++++++++++++')ifx>0&y>0disp('EL EJE X ES POSITIVO')disp('EL EJE Y ES POSITIVO')disp('ESTOS PERTENECEN AL PRIMER CUADRANTE')endif x<0&y>0disp('EL EJE X ES NEGATIVO')disp('EL EJE Y ES POSITIVO')disp('ESTOS PERTENECEN AL SEGUNDO CUADRANTE')endif x<0&y<0disp('EL EJE X ES NEGATIVO')disp('EL EJE Y ES NEGATIVO')disp('ESTOS PERTENECEN AL TERCER CUADRANTE')endif x>0&y<0disp('EL EJE X ES POSITIVO')disp('EL EJE Y ES NEGATIVO')disp('ESTOS PERTENECEN AL CUARTO CUADRANTE')enddisp('++++++++++++++++++++')disp('+++++++FIN++++++++++')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
NO
SI
SEGUNDO CUADRAN
TE
x<0&y>0
SI
PRIMER CUADRANTE
x>0&y>0
INGRESAR LOS VALORES DE “X” Y “Y”
INICIO
NO
x<0&y<0
TERCER CUADRANTE
SI
CUARTO CUADRANT
E
NO
FIN DE PROGRAMA
IMPRIMIR RESULTADO
EJERCICIO 6:
Finalizado el campeonato de la liga española de fútbol, escribir un programa en MATLABque indique, a partir de la posición en la tabla de un equipo en la primera división, si jugarála Champions League, la UEFA, si descenderá de categoría o si permanecerá en laque está. Información adicional: los cuatro primeros clasificados juegan la Champions, elquinto y sexto la UEFA y los tres últimos de la tabla descienden (hay 20 equipos). Elresultado es una cadena de caracteres de estas 4 posibles: ‘Champions’, ‘UEFA’,‘Permanece’, ‘Desciende’.
SOLUCIÓN:
clc,clearall,format compactdisp('####################')w=input('EL NUMERO DE GOLES QUE A HA MARCADO JUGANDO DE LOCAL CONTRA B: ');x=input('EL NUMERO DE GOLES QUE B HA MARCADO DE VISITA EN CONTRA DE A: ');y=input('NUMERO DE GOLES QUE B HA MARCADO JUGANDO DE LOCAL CONTA A: ');z=input('NUMERO DE GOLES QUE A HA MARCADO DE VISITA EN CONTRA DE B: ');disp('####################')while w<0|x<0|y<0|z<0clcdisp('LOS DATOS INGRESADOS NO EXISTEN')endif x>z m=w+z;n=x+y;disp('GOLES DE A: ')disp(m)disp('GOLES DE B: ')disp(n)disp('EL EQUIPO B ES EL GANADOR')endif z<x m=w+z;n=x+y;disp('GOLES DE A: ')disp(m)disp('GOLES DE B: ')disp(n)disp('EL EQUIPO A ES EL GANADOR')endif x==z m=w+z;n=x+y;disp('GOLES DE A: ')disp(m)disp('GOLES DE B: ')disp(n)disp('AMBOS EQUIPO TIENEN IGUAL PUNTAJE=ES UN EMPATE')enddisp('####################') disp('########FIN#########')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESAR LOS VALORES DE “w”, “x”, “y” y “z”
x>zEL EQUIPO B ES EL GANADOR'
SI
z<x 'EL EQUIPO A ES EL GANADOR
NOSi
NO
AMBOS EQUIPOE EMPATAN
IMPRIMIR RESULTADO
FIN DE PROGRAMA
EJERCICIO 7:
Dados los nombres de dos equipos, A y B, el número de goles que A ha marcado jugandoen casa contra B (gaa), el número de goles que B ha marcado en casa de A (gab), elnúmero de goles que B ha marcado en los partidos jugados en su casa (gbb) y el númerode goles que A ha marcado en el campo de B (gba). Escribir un programa que indique quéequipo de los dos va primero en la clasificación. A empate en número de goles, ganará elque más goles haya marcado en el campo contrario.
SOLUCIÓN:
clc,clearall,format compactdisp('####################')A=input('¿CUAL ES EL NUMERO DE GOLES QUE HISO EL EQUIPO VISITANTE? ');B=input('¿CUANTOS GOLES HISO EL EQUIPO LOCAL? ');disp('####################')if A>B Y=A-B;disp('EL EQUIPO GANADOR ES EL VISITANTE POR UN DIGERENCIA DE')disp(Y)disp('GOLES')endif A<BY=B-A;disp('EL EQUIPO GANADOR ES EL LOCAL POR UNA DIFERENCIA DE')disp(Y)disp('GOLES')endif A==Bdisp('AMBOS EQUIPO ESTAN EMPATADOS')enddisp('####################')disp('########FIN#########')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
'EL EQUIPO GANADOR ES
EL LOCAL
A<B
SI
Y=A-B A>B
INGRESAR LOS VALORES DE “A” Y “B”
INICIO
'EL EQUIPO GANADOR ES EL VISITANTE NOSI
NO
AMBOS EQUIPOS EMPATAN
FINIMPRIMIR
RESULTADO
EJERCICIO 8:
Dada una fecha como día (número entero), mes (cadena de caracteres) y año (númeroentero positivo con 4 dígitos), escribir un programa que indique si dicha fecha es correcta ono. Ejemplos: 22 octubre 2001 es correcta; 31 abril 2001 no es correcta porque abril notiene 31 días; 29 de febrero de 2001 no es correcto porque el año 2001 no es bisiesto.( Losmeses 1,3,5,7,8,10,12 siempre tienen 31 días, los meses 4,6,9,11 siempre tienen 30 días, elúnico problema es el mes de febrero dependiendo del año puede tener 28 o 29 días, peroese cálculo tampoco es difícil).
SOLUCIÓN:
clc,clearall, format compactdisp('********************')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('AÑO =');while z<1000 | z>10000;z=input('año: ');enddisp('==================================')if y==1fprintf('%3i ENERO%6i\n',x,z)elseif y==2fprintf('%3i FEBRERO%6i\n',x,z)elseif y==3fprintf('%3i MARZO%6i\n',x,z)elseif y==4fprintf('%3i ABRIL%6i\n',x,z)elseif y==5fprintf('%3i MAYO%6i\n',x,z)elseif y==6fprintf('%3i JUNIO%6i\n',x,z)
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESAR LOS VALORES DE “x” , “y” y “z”
y==1ENERO
SI
y==2
z<1000 | z>10000
NO
SI
NO
FEBREROSI
SI
MARZO y==3
SI
ABRILy==4
NO
SI
JUNIOy==6
NO
SI
MAYO y==5
NO
elseif y==7fprintf('%3i JULIO%6i\n',x,z)elseif y==8fprintf('%3i AGOSTO%6i\n',x,z)elseif y==9fprintf('%3i SETIEMBRE%6i\n',x,z)elseif y==10fprintf('%3i OCTUBRE%6i\n',x,z)elseif y==11fprintf('%3i NOVIEMBRE%6i\n',x,z)elseif y==12fprintf('%3i DICIEMBRE%6i\n',x,z)endendendendendendendendendendendendif y==1 & x>30 | y==4 & x>30 | y==6 & x>30 | y==9 & x>30disp('ESTA FECHA ES NO CORRECTA')elseif y==3 & x>31| y==5 & x>31| y==7 & x>31| y==8 & x>31 | y==10 & x>31 | y==12 & x>31disp('ESTA FECHA ES NO CORRECTA')elseif y==2 & x>28disp('FECHA ES NO CORRECTA')elseif y==2 & (z/4)==0 & x>29disp('FECHA INCORRECTA')elsedisp('CORRECTO')endendendendif y==2 & (z/4)~=0 & x==29disp('NO ES BISIESTO')enddisp('===================================')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
NO
SI
JULIO y==7
SI
AGOSTOy==8
NO
NO
SI
SETIEMBRE
y==9
SI
OCTUBREy==10
NO
NO
SI
NOVIEMBRE y==11
SI
DICIEMBRE
y==10
NO
IMPRIMIR RESULTADO
FIN
EJERCICO 9:
Dados el valor antiguo y el actual del contador del medidor de energía eléctrica, escribir unprograma que determine a cuánto asciende la factura de la luz de un usuario. El importe esla suma de la cuota fija (12.00) más una cuota variable que depende del consumo y secalcula por tramos: los primeros 100 Kw, a 0.06 soles; los 150 Kw siguientes a 0.04 solesel Kw; si el consumo excede de 250 Kw, esa fracción se cobra a 0.02 soles el Kw.
SOLUCIÓN:
clc,clearall,format compactdisp('********************')a=input('antes de gastar= ');b=input('despues del uso= ');if a>=0&b>=0&a<b;c=b-a;disp('c=es el consumo')disp(c)end n='la variacion a pagar'if n<=100;disp('n= 0.06')endif n>100&n<=150;disp('n= 0.04')endif n>150&n<=250;disp('n= 0.02')endendm=(n*c)+12;disp('m es el total a pagar')disp(m)disp('********************')disp('******fin***********')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
n=0.06
FIN
IMPRIMIR RESULTADO
m=(n*c)+12
n>150&n<=250n>100&n<=150n<=100
n=0.02n=0.04
NO
SI
a>=0&b>=0&a<b
INGRESE LOS VALORES DE “a” , ”b” y “c”
INICIO
EJERCICO 10:
Simplificando, supóngase que el importe del seguro obligatorio de un coche depende delmodelo del coche, del color y de la edad del conductor. Sean dos modelos de coche A y B ylos precios del seguro según el color:Si el conductor tiene menos de 26 años, elprecio se incrementa un 25%; si tieneentre 26 y 30 años se incrementa un 10%;si tiene entre 31 y 65 años el precio no semodifica; si tiene más de 65 años el preciose incrementará un 10%. Además, encualquier caso, hay que considerar que si el conductor tiene menos de 2 años elpermiso de conducir, el precio seincrementará un 25% adicional. Diseñarun programa que calcule el precio delseguro para un determinado modelo y undeterminado conductor.
SOLUCIÓN:
clc,clearall,format compactdisp('********************')C=input('edad de conductor= ')D=input('años con el permiso de conducir= ')if C<26;S='SEGURO' S=S+(S/4)disp('"S" es el seguro')if C>=26&C<=30; S=S+(S/10)if C>30&C<=65; S=Sif C>65; S=S+(S/10)if D<2; S=S+(S/4)if D>=2; S=Sdisp(S)endendendendendenddisp('********************')disp('*********FIN********')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
NO
NO
SI
SI
NO
S=S+(S/10)
NO
FIN
IMPRIMIR RESULTADO
D<2
S=SC>30&C<=65
S=S+(S/10)
S=S+(S/4)
C>=26&C<=30
SIC<26
INGRESAR VALORES DE “C” Y “D”
INICIO
EJERCICO 11:
Generar un vector de “n” elementos con números aleatorios entre 0 y 1. Pedir al usuariodos números reales entre 0 y 1 LS y LI, que representan los límites superior e inferior deun intervalo, respectivamente. Recorrer el vector e indicar cuales elementos se encuentrandentro de los límites dados.
SOLUCIÓN:
clc,clearall,format compactdisp('////////////////////')A=0:0.1:1;LS=input('INGRESE EL LIMITE SUPERIOR: ');LI=input('INGRESE EL LIMITE INFERIOR: ');disp('////////////////////')if LS<1&LS>0LI<=1&LI>=0disp('EL NUMERO PERTENECE AL VECTOR')endif LS<0&LI>1disp('EL NUMERO NO PERTENECE AL VECTOR')endif LS>1&LI>1disp('EL NUMERO NO PERTENECE AL VECTOR')enddisp('//////FIN///////////')
EJERCICO 12:Realizar un programa que calcule un número entre 1 y 10. Luego pedir al usuario que adivine el número. Tendrá 5 intentos para adivinar.
SOLUCIÓN:
clc,clearall,format compactdisp('********************')N=input('UN NUMERO = ')while N<0&N>10if N>=0&N<=2;disp('N sera =a')endif N>2&N<=4;disp('N sera=b')endif N>4&N<=6;disp('N sera=c')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE LOS DATOS DE “LS” Y “LI”
LS<1&LS>0 EL NUMERO PERTENECE AL VECTOR
SI
NO
LS<0&LI>1
SI
NO
EL NUMERO NO
PERTENECE AL VECTOR
EL NUMERO NO PERTENECE AL
VECTOR
IMPRIMIR RESULTADO
FIN
INICIO
INRESE EL NÚMERO
N>=0&N<=10
SI
NO
endif N>6&N<=8;disp('N sera=d')endif N>8&N<=10;disp('N sera=e')endenddisp('********************')disp('*********FIN********')
EJERCICO 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").
SOLUCIÓN:
clc,clear,format compactdisp('ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ')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 ganador es el equipo visitante por una diferencia de: ')disp(Y)disp('GOLES')endif A<BY=B-A;disp('el ganador es el equipo local por uma diferencia de: ')disp(Y)disp('GOLES')endif A==Bdisp('los equipos han empatado')enddisp('ÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇÇ')disp('ÇÇÇÇÇÇÇÇÇÇFINÇÇÇÇÇÇÇ')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE DATOS DE “A”
Y “B”
A<B
NO
SI
EQUIPO VISITANTE GANA
A>B
EQUIPO LOCAL GANA
SI
NO
AMBOS EQUIPOS EMPATAN
IMPRIMIR RESULTADOFIN DE PROGRAMA
N>=0&N<=2
N>2&N<=4
N>4&N<=6
N>6&N<=8
N>8&N<=10
N=a =a' N=b
N=c
N=d
N=e
IMPRIMIR RESULTADO
FIN
EJERCICO 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.
SOLUCIÓN:
clc,clear,format compactdisp('********************')a=input('INGRESE EL VALOR DE LAS HORAS DE TRABAJO REALIZADO= ')b=input('INGRESE LAS HORAS DE TRABAJO REALIZADO= ')disp('********************')while b<0clcdisp('EL TRABAJADOR NO COMPLIO SUS HORAS,ESTA DESPEDIDO')endif b<=40 y=b*a;disp('EL TRABAJADOR RECIBIRA COMO PAGO LA CANTIDAD DE= ')disp(y)disp('NUEVO SOLES')endif 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('NUEVO SOLES')enddisp('********************')disp('********FIN*********')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE DATOS DE “a” Y “b”
b=<40B
NO
SI
b>48
b<0NO
SI
EL TRABAJADOR ESTA DESPEDIDO
Y=b*a
y=(40*b)+(8*2*a)+(HEP*3*a)
SI
NO
IMPRIMIR EL SUELDO DEL TRABAJADORFIN DE PROGRAMA
EJERCICO 15:
Se desea representar con una letra la calificación 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 19B para calificaciones mayores o iguales a 16C para calificaciones mayores o iguales a 14D para calificaciones mayores o iguales a 12F para las demás calificaciones.
SOLUCIÓN:
clc,clear all,format compactdisp('====================')x=input('INGRESE LA NOTA= ')disp('====================')if x>=1&20>=x if x>=1&x<12disp('INGRESE LA NOTA ES') disp(x) disp('Y LA CALIFICACION ES:F') end if x>=12&x<14 disp('INGRESE LA NOTA ES') disp(x) disp('Y LA CALIFICACION ES:D') end if x>=14&x<16 disp('INGRESE LA NOTA ES') disp(x) disp('Y LA CALIFICACION ES:C') end if x>=16&x<19 disp('INGRESE LA NOTA ES') disp(x) disp('Y LA CALIFICACION ES:B') end if x>=19&x<=20 disp('INGRESE LA NOTA ES') disp(x) disp('Y LA CALIFICACION ES:A') endelse disp('NO EXISTE ESA CALIFICACION')disp('====================')end disp('=======FIN==========')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE EL VALOR DE “X”
X<=20
NO
SI
X<0
SI
NO
X>=1&X<12 X>=12&X<14 X>=14&X<166
X>=16&X<19
X>=19&X<=20
LA NOTA ES “F” LA NOTA ES “D”
LA NOTA ES “A”
LA NOTA ES “C”
LA NOTA ES “B”
IMPRIMIR LA CALIFICACIONFIN DE PROGRAMA
PROCESOS REPETITIVOS (prograrepr10)
EJERCICO 1:Escribir un programa que calcule la suma de los “n” primeros números naturales.
SOLUCIÓN:
clc,clearall,format compactdisp('====================')n=input('INGRESE EL VALOR DE n= ')disp('====================')if n>=0 s=n*(n+1);disp('EL VALOR DE S ES: ')disp(s)endif n<0disp('EL VALOR DE S NO EXISTE')disp('====================')enddisp('=======FIN==========')
EJERCICO 2:Escribir un programa que calcule la suma de los cuadrados de los n primeros números naturales: 1 + 22+ 32+… + n2.
SOLUCIÓN:
clc,clearall,format compactdisp('********************')x=input('INGRESE EL NUMERO: ');disp('********************')A=x*(x+1)*(2*x+1)/6;disp('LA SUMA ES: ')disp(A)disp('********************')disp('********FIN*********')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE EL VALOR DE “n”
n>=0NO
s=n*(n+1)
IMPRIMIR RESULTADO
FIN DE PROGRAMA
SI
INICIO
INGRESE EL VALOR DE “x”
n>=0
NO
SI
A=x*(x+1)*(2*x+1)/6
IMPRIMIR RESULTADOFIN DE PROGRAMA
EJERCICO 3:
Escribir un programa que calcule la suma de los números enteros de “n” a “m” (m>n), utilizando el programa del ejercicio 1.
SOLUCIÓN:
clc,clearall,format compactdisp('###################')m=input('INGRESE EL PRIMER NUMERO: ')n=input('INGRESE EL SEGUNDO NUMERO: ')if m>n s=(m*(m+1)/2)-(n*(n+1)/2)+m;disp('EL VALOR DE s ES: ')disp(s)endif m<n&m==ndisp('NO EXISTE EL VALOR DE S')enddisp('###################')disp('########FIN########')
EJERCICO 4:Implementar un programa que calcule el producto de dos números enteros (n*m) haciendo sólo sumas.
SOLUCIÓN:
clc,clearall,format compactdisp('********************')m=input('INGRESE UN NUMERO= ')n=input('INGRESE UN NUMERO= ')if m>n t=m*n;disp('EL VALOR DE t ES= ')disp(t)enddisp('********************')disp('********FIN*********')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE EL VALOR DE “m” Y “n”
m>nNO
SI
s=(m*(m+1)/2)-(n*(n+1)/2)+m
IMPRIMIR RESULTADO
FIN DE PROGRAMA
INICIO
INGRESE LOS VALORES DE “m” y “n”
m>n
t=m*n
No
SI
IMPRIMIR RESULTADO
FIN
EJERCICO 5:Diseñar un programa que calcule el cociente y resto de la división entera de dos números mediante restas y sumas.
SOLUCIÓN:
clc,clear all, format compactdisp('********************')m=input('ingrese el numero: ') n=input('ingrese el número de veces que se debe restar: ')Z=m/n;if m>n;disp('********************')disp(Z)disp('**********FIN*******')
EJERCICIO 6:Los términos de la serie de Fibonacci se calculan así:a1 = 1a2 = 2an= an-1 + an-2
Solución:
clc,clear all, format compactdisp('********************')a1=input('ingrese el numero: ') a2=input('ingrese el numero: ')if a1>0&a2>0n = an-1 + an-2
disp('********************')disp(n)disp('********************')disp('**********FIN*******')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
FIN IMPRIMIR RESULTADO
Z=m/n
m>n
INGRESE LOS DATOS DE “m” y “n”
INICIO
SI
NO
FIN IMPRIMIR RESULTADO
an = an-1 + an-2
a1>0&a2>0
INGRESE LOS DATOS DE “a1” y “a2”
INICIO
NO
SI
EJERCICIO 7:Escribir un programa que calcule el cuadrado de un número haciendo sólo sumas. Ayuda: El cuadrado de un número “n” es la suma de los “n” primeros números impares. Ejemplo: 32 = 1+3+5=9.
Solución:
clc,clear all, format compactdisp('********************')n=input('ingrese el numero: ');disp('********************')if n>=0 n=(2*n)+1;s=n^2disp('es la suma= ')disp(s)disp('********************')enddisp('**********FIN*******')
EJERCICIO 8:Escribir un programa que calcule la enésima potencia de a (an).
Solución:
clc,clearall,format bankdisp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬')a=input('INGRESE EL VALOR DE a= ');n=input('INGRESE EL VALOR DE n= ');disp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬')if a~=0&n~=0;s=a^n;disp('EL NUMERO QUE USTED DESEA OBTENER ES= ')disp(s)disp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬')endif a==0&n==0; t=a^b;disp('EL NUMERO QUE USTED DESEA OBTENER NO EXISTE')disp(s)disp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬')endif a~=0&n==0; s=a^n;
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESA EL VALOR DE “n”
n>=0
NO
Si
n=(2*n)+1
s=n^2
Imprimir resultado
FIN
disp('EL NUMERO QUE USTED DESEA OBTENER ES=1')disp(s)disp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬')endif a==0&n~=0; s=a^n;disp('EL NUMERO QUE USTED DESEA OBTENER ES=0')disp(s)disp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬')enddisp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬') disp('¬¬¬¬¬¬¬¬¬FIN¬¬¬¬¬¬¬¬')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE LOS VALORES DE “a” y “n”
S=a^n
a~=0 & n~=0 a==0 & n==0 a~=0 & n==0 a==0 & n~=0
S=UN NUMERO S=NO EXISTE S=ES 1 S=ES 0
IMPRIMIR
RESULTADO
FIN
EJERCICIO 9 :
Escribir un programa que calcule el factorial de un número natural entero positivo n: n!= n * (n-1) * (n-2) *… * 2 * 1 Observar el buen funcionamiento de la función para n=0 y para n<0.
Solución:
clc,clearall,format compactdisp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬')n=input('INGRESE EL NUMERO CORRESPONDIENTE= ');fa=1;disp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬')while n<0;disp('EL NUMERO QUE USTED INGRESO ES NEGATIVO NO TIENE FACTORIAL')disp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬') n=input('INGRESE NUEVAMENTE EL NUMERO= ');disp('¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬¬')endif n==0;factorial=faelsefor i=1:n;fa=fa*i;if i==n;factorial=faendendenddisp('¬¬¬¬¬¬¬¬¬FIN¬¬¬¬¬¬¬¬')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
INGRESE EL VALOR DE “n”
Es n<0SI
NO
Es n==0SI
NO
ESCRIBR “fa”
fa=factorial
INGRESE DATOS
i=1:n;fa=fa*i
IMPRIMIR “fa”FIN
EJERCICIO 10:La exponencial de un número real ase puede aproximar con la serie:
Escribir una función que calcule la exponencial de a según dicha fórmula, utilizando k=10 y luego k=20. Se obtiene el mismo resultado?Modificar la función de manera que el número k sea un parámetro elegido por el usuario.Modificar la función de manera que aproxime el resultado hasta que para algún k se cumpla la condición ak/k! <= 10.5.Modificar de nuevo la función de manera que aproxime el resultado hasta que ak/k! sea menor que cierto valor infinitesimal ε que se pasará como dato a la función. Visualizar el número de términos k necesarios para obtener el resultado requerido.
Solución:
EJERCICIO 11:Escribir un programa que convierta un número entero en otro número entero que será el primero pero con las cifras que lo forman escritas al revés. Ejemplo: convertirá el número entero 1842 en el 2481.Solución:
clc, clear all, format compactdisp('*************************************')disp('facultad de ingenieria quimica')disp('escuela academica profesional de ingenieria quimica industrial')disp('************************************')n=input('ingrese el numero entero=');disp('*************************************')while n > 0 dig = mod(n,10); n=round(n/10); disp([dig])enddisp('*************************************')disp('********************FIN**************')
EJERCICIOS PROPUESTOS SOBRE PROGRAMACION CON MATLAB (programita00)
TRABAJO DE FIDEL ALCANTARA YURIVILCA
Ingrese los números: n
while n > 0
fin
no
sidig = od(n,10);
n=round(n/10)
Definir las variables
INICIO
EJERCICIO 1:
Elaborar el diagrama de flujo y el programa en MATLAB para que reciba dos 2 números enteros y determine:El mayor de los dos números es: y lo imprima.El menor de los dos números es: y lo imprima.
Solución:clc, clear all, format compactdisp('********************')a=input('ingrese el primer numero = ');b=input('ingrese el segundo numero = ');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) endendif a==bdisp('los numero son:') disp([a,b]) disp('y ambos numeros son iguales')enddisp('********************')disp('********FIN*********')
EJERCICIO 2:Elaborar el diagrama de flujo y el programa en matlab para que reciba 3 números enteros determine:
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
Ingrese un
Definir las variables
if a~=b
El numero mayor (b) if a>b
El numero mayor (a) y menor es (b)
FIN
NO
SI
SI
NO
ambos numeros son iguales
if a~=bSI
NO
IMPRIMIR RESULTADO
el mayor de los tres números y muestre en pantalla.el menor de los tres números y muestre en pantalla.el intermedio de los tres números y muestre en pantalla.
Solución:clc, clear all, format compactdisp('********************')x=input('ingrese el primer numero : ');y=input('ingrese el segundo numero : ');z=input('ingrese el tercer numero : ');if x>y & x>z disp('el mayor numero es :')disp(x)endif y>z & y>xdisp('el mayor numero es :') disp(y)endif z>x & z>y disp('el mayor numero es :')disp(z)endif x<y & x<zdisp('el menor numero es :')disp(x)endif y<z & y<xdisp('el menor numero es :') disp(y)endif z<x & z<y disp('el menor numero es :') disp(z)end
if x>y & x>z & y>z disp('el numero intermedio es :') disp(y)else if x>y & x>z & y<z disp('el numero intermedio es :') disp(z) else if y>z & y>x & z>x disp('el numero intermedio es :') disp(z) else if y>z & y>x & z<x disp('el numero intermedio es :') disp(x) else
TRABAJO DE FIDEL ALCANTARA YURIVILCA
INICIO
Ingrese un numero:
Definir las variables
'el mayor numero es
N
n
si
si
Si
n
nSi
if a>b & a>c
if b>c & b>a
if b<c & b<a
if a<b & a<c
if c>a & c>b
no
no
no
if c<a & c<asi
si
'el menor numero es
if a>b & a>c
sino
if z>x & z>y & x>y disp('el numero intermedio es :') disp(x) else if z>x & z>y & x<y disp('el numero intermedio es :')disp(y) end end end end endend
if x==y& z>ydisp('el primer y segundo numero son iguales') disp('el numero mayor es:') disp(z) disp('y el numero menor es :') disp(y)endif x==y& z<y disp('el primer y segundo numero son iguales') disp('el numero mayor es:') disp(y) disp('y el numero menor es :')disp(z)endif x==z& z>ydisp('el primer y tercer numero son iguales') disp('el numero mayor es:') disp(z) disp('y el numero menor es :') disp(y)endif x==z& z<y disp('el primer y segundo numero son iguales') disp('el numero mayor es:') disp(y) disp('y el numero menor es :')disp(z)endif y==z& z<xdisp('el primer y segundo numero son iguales') disp('el numero mayor es:') disp(x) disp('y el numero menor es :')disp(y)endif y==z& z>xdisp('el primer y segundo numero son iguales') disp('el numero mayor es:')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
if a>b & a>c
no
no
si
si
if b>c &
if c>a & c>b
if c>a & c>b
no
no
no
si
if b>c &
si
si
if a==b&
'el numero intermedio
es
si
B y c son iguales
no
a==b& c<b
si
no
if a==c& c>b
sino
disp(z) disp('y el numero menor es :')disp(x)endif x==y& y==zdisp('los tres numeros son iguales :') disp([x,y,z])enddisp('********************')disp('*********FIN********')
EJERCICIO 3:Elaborar el diagrama de flujo y el programa en MATLAB para que reciba 4 números enteros (teniendo en consideración que los cuatro pueden ser iguales, tres pueden ser iguales y dos pueden ser iguales) y determine:El mayor de los cuatro números y muestre en pantalla.El menor de los cuatro números y muestre en pantalla.Los intermedios en orden ascendente o descendente y muestre en pantalla.
Solución:
TRABAJO DE FIDEL ALCANTARA YURIVILCA
if a==c& c<b
Los tres números
son iguales
Fin
no
no
B y C son iguales
s
if b==c& c>a
if a==b& b==c
no
no
no
si
if b==c& c<a
si
A y c son
si
EJERCICIO 4:
Elaborar el diagrama de flujo y el programa en MATLAB que determine si tres números enteros (a, b y c) mayores que 0 representan los lados de un triángulo. El programa deberá de imprimir ‘SI’ si los lados forman un triángulo y en caso contrario, se deberá imprimir ‘NO’.Nota: tener en consideración las expresiones siguientes: (a-c) < b < (a+c), (a-b) < c < (a+b) y (b-c) < a < (b+c).
Solución:
clc, clear all,format compactdisp('********************')a=input('INGRESE EL PRIMER NUMERO= ');b=input('INGRESE EL SEGUNDO NUMERO= ');c=input('INGRESE EL TERCER NUMERO= ');disp('********************')if ((a-c)<b<(a+c))&((a-b)<c<(a+b))&((b-c)<a<(b+c));disp('SI,LOS LADOS FORMAN UN TRIANGULO')elsedisp('NO, LOS LADOS NO FORMAN UN TRIANGULO')enddisp('********************')disp('********FIN*********')
EJERCICIO 5:
Elaborar el diagrama de flujo y el programa en MATLAB para que dado los 3 lados de un triángulo (a, b yc), imprima ‘R’ si el triángulo es rectángulo, ‘I’ si el triángulo es isósceles ( dos lados iguales) y ‘E’ si el triángulo es escaleno (no tiene lados iguales).Nota: tener en consideración las expresiones siguientes: (a-c) < b < (a+c), (a-b) < c < (a+b) y (b-c) < a < (b+c)
Solución:clc, clear all, format compactdisp('********************')a=input('ingrese el primer lado :'); b=input('ingrese el segundo lado :');c=input('ingrese el tercer lado :');if a==b & b==c & c==adisp('el triagulo es equilatero')endif a==b & a~=c & b~=cdisp('el triangulo es isoceles ')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
FIN IMPRIMIR RESULTADO
LOS LADOS NO FORMAN UN TRIANGULO'
NO
SI
LOS LADOS FORMAN UN TRIANGULO
((a-c)<b<(a+c))&((a-b)<c<(a+b))&((b-
c)<a<(b+c))
INGRESE LOS DATOS DE “a”, “b” y “c”
INICIO
endif a~=b & b~=c & a~=cdisp('el triangulo es escaleno')endif a^2==b^2+c^2 & a>b & c<adisp('el triangulo es rectangulo')end
EJERCICIO 6:
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 más baja, dividido
entre Solución:
clc,clearall,format compactdisp('********************')a=input('INGRESE LA PRIMERA NOTA= ');b=input('INGRESE LA SEGUNDA NOTA= ');c=input('INGRESE LA TERCERA NOTA= ');d=input('INGRESE LA CUARTA NOTA= ');disp('********************')prom=(a+b+c+d)/4disp('EL PROM ES= ')disp(prom)disp('********************')ifprom>10.5disp('EL ALUMNO ESTA APROBADO')elsedisp('EL ALUMNO ESTA DESAPROBADO')end
TRABAJO DE FIDEL ALCANTARA YURIVILCA
NO
SI
INICIO
INGRESE LOS DATOS DE “a”, “b” y “c”
a==b & b==c & c==a
EL TRIAGULO ES EQUILATERO
SI
NO
IMPRIMIR RESULTADO
FIN
a==b & a~=c & b~=c
SI
EL TRIANGULO ES ISOCELES
NO
EL TRIANGULO ES ESCALENO
'EL ALUMNO ESTA
DESAPROBADO'
'EL ALUMNO ESTA APROBADO'
prom=(a+b+c+d)/4
prom>10.5
INGRESE LOS DATOS DE “a”, “b”, “c” y “d”
INICIO
disp('********************')disp('*********FIN********')
EJERCICIOS PROPUESTOS SOBRE PROGRAMACION CON MATLAB
EJERCICIO 1:
Elaborar un programa que permita obtener los valores de seno, coseno, tangente y cotangente, a partir de un valor ingresado por el teclado (en grado centesimales) usando las siguientes funciones: (NOTA: el programa deberá hacer la conversión de grados centesimales a radianes para hacer uso de las funciones).
Solución:
clc,clearall,format compactdisp('********************')x=input('INGRESE INGRESE EL VALOR DE x= ');disp('********************')sen(x)=yy=x-((x^3)/3*fac)+((x^5)/5*fac)-((x^7)/7*fac)+(x^9)/9*fac)sen(x)=zz=x-((x^2)/2*fac)+((x^4)/4*fac)-((x^6)/6*fac)+(x^8)/8*fac)if tan(x)=y/zelsecotan(x)=z/yendenddisp('********************')disp('*********FIN********')
EJERCICIO 2:
Elaborar el diagrama de flujo y el programa correspondiente para que pueda leer un número entero entre 11 y 9999 y como resultado deberá mostrar los dígitos que forman dicho número, indicando si el dígito es par o impar. Guiarse por el ejemplo mostrado. Si N=8638 es el número ingresado 8 par6 par3 impar8 par
Solución:
clc,clear all,format compactdisp.( '*********************')x=input('ingrese un numero de 11 a 9999 : ');while x<11 | x>9999 clc x=input('ingrese un numero de 11 a 9999 : ');
TRABAJO DE FIDEL ALCANTARA YURIVILCA
IMPRIMIR RESULTADO
FIN
endn=0;while x>0; n=n+1; i(n)=mod(x,10); x=fix(x/10);x<11 | x>9999endx<11 | x>9999fprintf('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)); enddisp.( '*********************')enddisp.( '*******FIN***********')
EJERCICIO 3:
Elaborar el programa correspondiente para que lea un número entre 1 y 9999999, una posición determinada y un dígito entre 0 y 9. el objetivo es: una vez identificado el dígito que ocupa la posición determinada deberá cambiarse dicho dígito por el dígito ingresado por el teclado y escribir el nuevo número generado. por ejemplo: 947390, 3 y 8; sean el número, la posición de un digito de dicho número y el nuevo dígito, la respuesta indicará: el dígito que ocupa la posición (3) es el (7) y deberá cambiarse por (8) y el nuevo número es: 948390 número ingresado 9 4 7 3 9 0 posición 1 2 3 4 5 6 número nuevo 9 4 8 3 9 0 nota: el programa deberá tener la consistencia entre el número ingresado y las posiciones para evitar errores, es decir; no se puede ingresar 45678 y digitar la posición 8, porque no existe.
Solución:
Clc, clear all, format compactdisp.( '*********************')x=input('ingrese un número mayor que 0 y menor que 100,000,000 : ');while x<0 | x>999999999x=input('ingrese un número mayor que 0 y menor que 100,000,000 : ');endn=0; y=x;while x>0n=n+1;i=n;a(i)=mod(x,10);x=fix(x/10);endxx=input('indique una posición del número : ');while xx<1 | xx>nxx=input('indique una posición del número : ');
TRABAJO DE FIDEL ALCANTARA YURIVILCA
FINEMPRIMIR
RESULTADO
SIU
NO
x<11 | x>9999
n=n+1
n=0
INGRESE EL VALOR DE “X”
INICIO
endxxx=input('ingrese un numero entre 0 y 9 para cambiar : ');while xxx<0 | xxx>9%clcxxx=input('ingrese un numero entre 0 y 9 para cambiar : ');endm=0;for ii=n:-1:1m=m+1;if m == xxa(ii)=xxx;endendaa=0;for iii=n:-1:1n=n-1;aa= aa + a(iii)*10^n;endfprintf('el número anterior era %9i \n',y)fprintf('el número nuevo es %9i \n',aa)enddisp.( '*********************')enddisp.( '*************FIN*****')
TRABAJO DE FIDEL ALCANTARA YURIVILCA
n=0y=x
n=0y=x
INICIO
INGRESE EL VALOR DE “X”
n=n+1i=n
x<0 | x>999999999
SIU
NO
EMPRIMIR RESULTADO
FIN
xx<1 | xx>n
SIU
NO
x=fix(x/10)
xxx<0 | xxx>9
m ==
xx
NO
SIU
iii=n:-1:1n=n-1;
aa= aa + a(iii)*10^n