trabajo de hoy

36
EJERCICIO 1: Escribir un programa que calcule las soluciones reales de una ecuación de segundo grado a x 2 +bX+c=0. El programa debe resolver el número de soluciones distintas (una si b 2 -4ac>0 ninguna si b 2 -4ac<0) y cuáles son esas ecuaciones: SOLUCIÓN: clc,clearall,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 if (b^2)-(4*a*c)<0 clc disp('$$$$$$$$$$$$$$$$$$$$') disp('NO TIENE SOLUCION') end end disp('$$$$$$$$$$$$$$$$$$$$') end TRABAJO DE FIDEL ALCANTARA YURIVILCA INICIO Ingrese los datos de (b^2)- (4*a*c)==0 SI No No S Tiene una Tiene dos (b^2)- (4*a*c)>0 No tiene solución IMPRIMIR RESULTADO

Upload: jhon-ninamango-romero

Post on 19-Jan-2016

34 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Trabajo de Hoy

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

Page 2: Trabajo de Hoy

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

Page 3: Trabajo de Hoy

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

Page 4: Trabajo de Hoy

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

Page 5: Trabajo de Hoy

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

Page 6: Trabajo de Hoy

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

Page 7: Trabajo de Hoy

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

Page 8: Trabajo de Hoy

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

Page 9: Trabajo de Hoy

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

Page 10: Trabajo de Hoy

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

Page 11: Trabajo de Hoy

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

Page 12: Trabajo de Hoy

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

Page 13: Trabajo de Hoy

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

Page 14: Trabajo de Hoy

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

Page 15: Trabajo de Hoy

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

Page 16: Trabajo de Hoy

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

Page 17: Trabajo de Hoy

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

Page 18: Trabajo de Hoy

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

Page 19: Trabajo de Hoy

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

Page 20: Trabajo de Hoy

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

Page 21: Trabajo de Hoy

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

Page 22: Trabajo de Hoy

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

Page 23: Trabajo de Hoy

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

Page 24: Trabajo de Hoy

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

Page 25: Trabajo de Hoy

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

Page 26: Trabajo de Hoy

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

Page 27: Trabajo de Hoy

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

Page 28: Trabajo de Hoy

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

Page 29: Trabajo de Hoy

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

Page 30: Trabajo de Hoy

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

Page 31: Trabajo de Hoy

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