Está en la página 1de 38

UNIVERSIDAD

TECNOLÓGICA DE
TORREÓN
Modelo de programación avanzada

Practica 1.- Programación avanzada en MATLAB


Gerardo Alberto Martinez Esparza
Grupo 9º A
Matricula: 1431367

Torreón, Coahuila 06/06/2018


UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

N NUMEROS PRIMOS
POR GERARDO ALBERTO MARTINEZ ESPARZA

fprintf('Este programa escribe los primeros n numeros


primos \n');
pause(3)
p = 0;
s = 2;
Aquí escribimos la leyenda “Este programa escribe los primeros
n números primos” para que aparezca en pantalla.
%% Ingresar datos e imprimir numeros primos
num= input('Ingrese la cantidad de numeros primos que
decea generar: ');
for x= 1:num % contador para cantidad de numeros
primos a generar.
a= false;
while (~a)
m = 2 ; %los numeros primos inician en 2
esprimo = true;
while(esprimo && (m<s))
if(mod(s,m)==0) % condicion si el modulo es
cero entonces no es primo
esprimo= false; % para salir del while
else
m=m+1;
end
end
%% Muestra numeros primos
if(esprimo)
p=p+1;
fprintf('%dº Numero primo es:',p);
fprintf(' %d \n',s);
a = true;
end
s=s+1;
end
end

Aquí ingresamos un número en la variable “num”, luego cada


vez que se ejecuta un ciclo for que cuenta hasta que x sea igual
a num, aparece un numero primo.
Esto porque cuando la variable “a” es igual a falso, entra un ciclo
while en el cual entra se inicia en cero una variable m y se inicia
en true una variable esprimo tipo booleana.
Después entra otro while con la condicionante si esprimo es true
&& m<s entonces esprimo es = false y por lo tanto se sale del
while, y la variable “s” aumenta en 1.
Así cada vez que la variable no es prima, y cuando es prima, el
contador p aumenta y muestra el valor.
UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

ESCRIBIR LOS N ELEMENTOS DE LA


SECUENCIA 0,1,3,6,10,15,21,28…
POR GERARDO ALBERTO MARTINEZ ESPARZA

fprintf('Este programa escribe los primeros n numeros de


la secuencia 0,1,3,6,10,15,21,28... de la cantidad
ingresada \n');

pause(6)
clc;
n=input('ingrese un numero entero positivo\n');

Aquí nos muestra la leyenda del título del programa y también


toma el dato del número ingresado como referencia de cuantos
números de la secuencia se quiere mostrar.

if n>0
for k=0:1:n
if k<n
m = ((1+k)/2)*k;
disp(m)
end
end
else
fprintf('El numero ingresado no es correcto,
intentelo nuevamente');
end

El código de operación:
Cuando el numero ingresado se guarda en la variable “n”, entra
en una estructura if, que se ejecuta siempre y cuando la variable
n sea mayor que cero.
Cuando esa condición se cumple entra una estructura “for” que
tiene el numero de iteraciones de la variable “n” con incrementos
de 1 en 1 en la variable k.
Luego entra una condición en la que si k es menor que n se
ejecute la estructura if.
En cada iteración va guardando los números en la variable “m”.
Al final de las iteraciones se imprime con la función display.
UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

RESOLVER LA ECUACIÓN
CUADRÁTICA
POR GERARDO ALBERTO MARTINEZ ESPARZA

fprintf('Este programa resuelve la ecuacion


cuadratica\n');
pause(3)
a = input('\n Ingrese el valor de "a" \n');
b = input('\n Ingrese el valor de "b" \n');
c = input('\n Ingrese el valor de "c" \n');

En esta primera parte del programa, se muestra la leyenda 'Este


programa resuelve la ecuación cuadrática’. Luego permite al
usuario ingresar los tres valores de la ecuación cuadrática.

d = (-b);
e = ((b^2)-(4*a*c));
f = sqrt(e);
g = (d+f)/(2*a);
i = (d-f)/(2*a);

En esta parte del código la ecuación cuadrática es dividida en


partes.

Para poder determinar si la ecuación se puede resolver o si es los


valores con los que se resuelve son imaginarios.

if e<0
fprintf('No existe solucion en numeros reales, es un
compuesto conjugado');
else
fprintf('El valor de x1 es: %g\n',g);
fprintf('El valor de x2 es: %i\n',i);
end

Aqui es donde se muestra que si la variable “e” que esta dentro


de la raíz es menor que cero entonces es un valor negativo y por
lo tanto es un numero imaginario, por lo cual no se podría
resolver con números reales.

Si la variable “e” es mayor que cero entonces muestra los


valores.
UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

DETERMINAR EL MCM DE N esta parte del programa compara el


numero mayor con los demás
NUMEROS números, esto lo hace realizando
POR GERARDO ALBERTO MARTINEZ ESPARZA multiplicaciones, y cuando todos los
dato = 0; números son iguales, el numero es
cnt = 0;
f='f'; múltiplo.
F='F';
%% Datos ingresados
while (dato ~= 'f' && dato ~= 'F')
fprintf('ingrese el dato %d (f para determinarse):
' , cnt + 1);
dato = input(' ');
if (isnumeric(dato))
cnt = cnt+1;
mcmnn(1,cnt) = dato;
end
En esta parte del programa se inician dos variables con valor
cero, después se crea un arreglo llamado mcmnn, en el cual se
van agregando los valores en diferente columna, pero en la
misma fila.

%% Metodo burbuja
for k1=1:1:cnt
for k2=1:1:cnt
if (mcmnn(1,k1)>mcmnn(1,k2))
aux = mcmnn(1,k1);
mcmnn(1,k1)=mcmnn(1,k2);
mcmnn(1,k2)=aux;
end
end
end
Luego los datos que fueron guardados en el arreglo se ordenan
por medio del método burbuja, haciendo comparaciones entre
los datos, creando un segundo arreglo.
%% Algoritmo
m = 1;
d = 1;
k = 2;
n = 1;
while (d ~= cnt)
r = mcmnn(1,1) * m;
res = mcmnn(1,k) * n;
if (res < r)
n = n + 1;
elseif (res > r)
m = m + 1;
d = 1;
k = 2;
else
d = d + 1;
k = k + 1;
n = 2;
end
end
fprintf('minimo comun multiplo de sus numeros
es: %d',r);

[Seleccione la fecha] [Edición 1, volumen 1]


En
UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

DETERMINAR EL MCD DE N NUMEROS


POR GERARDO ALBERTO MARTINEZ ESPARZA

clear;
mcd = false;
while true
n1 = input('ingrese el primer numero: ');
n2 = input('ingrese el segundo numero: ');
if n1 > 0 & n2 >0 & n1 ~= n2
if n1 > n2
% Esta parte del codigo introduce el numero
menor en n1 y el mayor en n2
aux = n1;
n1 = n2;
n2 = aux;
end
i = n1;
while ~mcd & i >= 1
if mod(n1,i) == 0 & mod (n2,i) == 0
fprintf('%i es el mcd entre %i
y %i.',i,n1,n2);
mcd = true;
else
i = i-1;
end
end
break
else
if n1 == n2
fprintf('los numeros son igualas, intentalo
nuevamente.\n');
else
fprintf('los numeros ingresados no son
correctos, intentalo nuevamente.\n');
end
end
end
UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

CONVERSION DE NUMEROS DE DIREFENTE BASE:


POR GERARDO ALBERTO MARTINEZ ESPARZA
clear;
clc;
fprintf('Practica U1 Programa 6');
fprintf('\nPrograma para Convertir entre Bases Hexadecimal,Deciaml y Binario')
fprintf('\n¿Que tipo de Coversion Desea Hacer?')
fprintf('\n 1.-De Decimal a Binario');
fprintf('\n 2.-De Decimal a Hexadecimal');
fprintf('\n 3.-De Binario a Decimal');
fprintf('\n 4.-De Binario a Hexadecimal');
fprintf('\n 5.-De Hexadecimal a Binario');
fprintf('\n 6.-De Hexadecimal a Decimal');
fprintf('\n Seleccion: ');
y=input(' ');
%% Condiciones y Conversiones
switch(y)
%% De Decimal a Binario
case 1
clear;
clc;
fprintf('\nSeleccionaste la Opcion de Decimal a Binario')
fprintf('\nIngrese el Numero a Convertir: ');
dato=input(' ');
x=0;
y=0;
x=dato;
cnt=1;
NumD(1,1)=dato;
for(k=1:1:100)
cnt=cnt+1;
y=dato;
y=floor(x/2);
NumD(1,cnt)=y;
x=x/2;
if(y==1)
break
end
end

%Invertimos los numeros del Vector


k=1;
e=cnt;
while k<e
aux=NumD(1,k);
NumD(1,k)=NumD(1,e);
NumD(1,e)=aux;
k=k+1;
e=e-1;
end
for(k=1:1:cnt)

if(mod(NumD(1,k),2)==1)
y='1';
elseif(mod(NumD(1,k),2)==0)
y='0';
end
NumB(1,k)=y;
end

fprintf('\nEl Valor en Binario es: %s',NumB)


%% De Decimal a Hexadecimal
case 2
clear;
clc;
fprintf('\nSeleccionaste la Opcion de Decimal a Hexadecimal')
fprintf('\nIngrese el Numero a Convertir: ');
dato=input(' ');
x=0;
y=0;
x=dato;
cnt=1;
NumD(1,1)=dato;

for(k=1:1:100)
cnt=cnt+1;
y=dato;
y=floor(x/16);
NumD(1,cnt)=y;
x=x/16;
if(y==0)
break
end
end

%Invertimos los numeros del Vector


k=1;
e=cnt;
while k<e
aux=NumD(1,k);
NumD(1,k)=NumD(1,e);
NumD(1,e)=aux;
k=k+1;
e=e-1;
end

for(k=1:1:cnt)

if(mod(NumD(1,k),16)==1)
y='1';
elseif(mod(NumD(1,k),16)==2)
y='2';
elseif(mod(NumD(1,k),16)==3)
y='3';
elseif(mod(NumD(1,k),16)==4)
y='4';
elseif(mod(NumD(1,k),16)==5)
y='5';
elseif(mod(NumD(1,k),16)==6)
y='6';
elseif(mod(NumD(1,k),16)==7)
y='7';
elseif(mod(NumD(1,k),16)==8)
y='8';
elseif(mod(NumD(1,k),16)==9)
y='9';
elseif(mod(NumD(1,k),16)==10)
y='A';
elseif(mod(NumD(1,k),16)==11)
y='B';
elseif(mod(NumD(1,k),16)==12)
y='C';
elseif(mod(NumD(1,k),16)==13)
y='D';
elseif(mod(NumD(1,k),16)==14)
y='E';
elseif(mod(NumD(1,k),16)==15)
y='F';
elseif(mod(NumD(1,k),16)==0)
y='0';
end
NumHex(1,k)=y;
end

fprintf('\nEl Valor en Hexadecimal es: %s',NumHex)

%% De Binario a Decimal
case 3
clear;
clc;
fprintf('Seleccionaste la Opcion de Binario a Decimal');
fprintf('\nIngrese el Numero en Binario a Convertir: ');
dato=input(' ');
a=num2str(dato);
b=length(a);
for (k=1:1:b)
Num(1,k)=str2num(a(k));

end
%Invertimos los numeros del Vector
k=1;
e=b;
while k<e
aux=Num(1,k);
Num(1,k)=Num(1,e);
Num(1,e)=aux;
k=k+1;
e=e-1;
end
Decimal=0;
Mul=1;
y=0;

for(k=1:b)
if(Num(1,k)==1)
y=1*Mul;
elseif(Num(1,k)==0)
y=0*Mul;
end
Mul=Mul*2;
lista2(1,k)=y;
end

Decimal=sum(lista2);

fprintf('\nEl Valor en Decimal es: %d',Decimal);


%% De Binario a Hexadecimal
case 4
clear;
clc;
fprintf('Seleccionaste la Opcion de Binario a Hexadecimal');
fprintf('\nIngrese el Numero en Binario a Convertir: ');
dato=input(' ');
a=num2str(dato);
b=length(a);
for (k=1:1:b)
Num(1,k)=str2num(a(k));

end
%Invertimos los numeros del Vector
k=1;
e=b;
while k<e
aux=Num(1,k);
Num(1,k)=Num(1,e);
Num(1,e)=aux;
k=k+1;
e=e-1;
end
Decimal=0;
Mul=1;
y=0;

for(k=1:b)
if(Num(1,k)==1)
y=1*Mul;
elseif(Num(1,k)==0)
y=0*Mul;
end
Mul=Mul*2;
lista2(1,k)=y;
end

Decimal=sum(lista2);

x=0;
y=0;
x=Decimal;
cnt=1;
NumD(1,1)=Decimal;

for(k=1:1:100)
cnt=cnt+1;
y=Decimal;
y=floor(x/16);
NumD(1,cnt)=y;
x=x/16;
if(y==0)
break
end
end

%Invertimos los numeros del Vector


k=1;
e=cnt;
while k<e
aux=NumD(1,k);
NumD(1,k)=NumD(1,e);
NumD(1,e)=aux;
k=k+1;
e=e-1;
end

for(k=1:1:cnt)

if(mod(NumD(1,k),16)==1)
y='1';
elseif(mod(NumD(1,k),16)==2)
y='2';
elseif(mod(NumD(1,k),16)==3)
y='3';
elseif(mod(NumD(1,k),16)==4)
y='4';
elseif(mod(NumD(1,k),16)==5)
y='5';
elseif(mod(NumD(1,k),16)==6)
y='6';
elseif(mod(NumD(1,k),16)==7)
y='7';
elseif(mod(NumD(1,k),16)==8)
y='8';
elseif(mod(NumD(1,k),16)==9)
y='9';
elseif(mod(NumD(1,k),16)==10)
y='A';
elseif(mod(NumD(1,k),16)==11)
y='B';
elseif(mod(NumD(1,k),16)==12)
y='C';
elseif(mod(NumD(1,k),16)==13)
y='D';
elseif(mod(NumD(1,k),16)==14)
y='E';
elseif(mod(NumD(1,k),16)==15)
y='F';
elseif(mod(NumD(1,k),16)==0)
y='0';
end
NumHex(1,k)=y;
end

fprintf('\nEl Valor en Hexadecimal es: %s',NumHex)

%% De Hexadecimal a Binario
case 5
clear;
clc;
fprintf('\nSeleccionaste la Opcion de Hexadecimal a Binario');
fprintf('\nIngrese el Numero en Hexadecimal a Convertir: ');
dato=input(' ','s');
a=num2str(dato);
b=length(dato);
for (k=1:1:b)
NumS(k)=cellstr(a(k));
end
%Invertimos los numeros del Vector
k=1;
e=b;
while k<e
aux=NumS(1,k);
NumS(1,k)=NumS(1,e);
NumS(1,e)=aux;
k=k+1;
e=e-1;
end
for(k=1:1:b)
if(NumS{1,k}=='a'||NumS{1,k}=='A')
NumS{1,k}='10';
elseif(NumS{1,k}=='b'||NumS{1,k}=='B')
NumS{1,k}='11';
elseif(NumS{1,k}=='c'||NumS{1,k}=='C')
NumS{1,k}='12';
elseif(NumS{1,k}=='d'||NumS{1,k}=='D')
NumS{1,k}='13';
elseif(NumS{1,k}=='e'||NumS{1,k}=='E')
NumS{1,k}='14';
elseif(NumS{1,k}=='f'||NumS{1,k}=='F')
NumS{1,k}='15';
end
end
Decimal=0;
Mul=1;
y=0;

for (k=1:1:b)
NumN(k)=str2double(NumS(k));
end
for(k=1:b)
if(NumN(1,k)==1)
y=1*Mul;
elseif(NumN(1,k)==2)
y=2*Mul;
elseif(NumN(1,k)==3)
y=3*Mul;
elseif(NumN(1,k)==4)
y=4*Mul;
elseif(NumN(1,k)==5)
y=5*Mul;
elseif(NumN(1,k)==6)
y=6*Mul;
elseif(NumN(1,k)==7)
y=7*Mul;
elseif(NumN(1,k)==8)
y=8*Mul;
elseif(NumN(1,k)==9)
y=9*Mul;
elseif(NumN(1,k)==10)
y=10*Mul;
elseif(NumN(1,k)==11)
y=11*Mul;
elseif(NumN(1,k)==12)
y=12*Mul;
elseif(NumN(1,k)==13)
y=13*Mul;
elseif(NumN(1,k)==14)
y=14*Mul;
elseif(NumN(1,k)==15)
y=15*Mul;
elseif(NumN(1,k)==0)
y=0*Mul;
end
Mul=Mul*16;
lista2(1,k)=y;
end

Decimal=sum(lista2);

x=0;
y=0;
x=Decimal;
cnt=1;
NumD(1,1)=Decimal;
for(k=1:1:100)
cnt=cnt+1;
y=Decimal;
y=floor(x/2);
NumD(1,cnt)=y;
x=x/2;
if(y==1)
break
end
end

%Invertimos los numeros del Vector


k=1;
e=cnt;
while k<e
aux=NumD(1,k);
NumD(1,k)=NumD(1,e);
NumD(1,e)=aux;
k=k+1;
e=e-1;
end
for(k=1:1:cnt)

if(mod(NumD(1,k),2)==1)
y='1';
elseif(mod(NumD(1,k),2)==0)
y='0';
end
NumB(1,k)=y;
end

fprintf('\nEl Valor en Binario es: %s',NumB)

%% De Hexadecimal a Decimal
case 6
clear;
clc;
fprintf('\nSeleccionaste la Opcion de Hexadecimal a Decimal');
fprintf('\nIngrese el Numero en Hexadecimal a Convertir: ');
dato=input(' ','s');
a=num2str(dato);
b=length(dato);
for (k=1:1:b)
NumS(k)=cellstr(a(k));
end
%Invertimos los numeros del Vector
k=1;
e=b;
while k<e
aux=NumS(1,k);
NumS(1,k)=NumS(1,e);
NumS(1,e)=aux;
k=k+1;
e=e-1;
end
for(k=1:1:b)
if(NumS{1,k}=='a'||NumS{1,k}=='A')
NumS{1,k}='10';
elseif(NumS{1,k}=='b'||NumS{1,k}=='B')
NumS{1,k}='11';
elseif(NumS{1,k}=='c'||NumS{1,k}=='C')
NumS{1,k}='12';
elseif(NumS{1,k}=='d'||NumS{1,k}=='D')
NumS{1,k}='13';
elseif(NumS{1,k}=='e'||NumS{1,k}=='E')
NumS{1,k}='14';
elseif(NumS{1,k}=='f'||NumS{1,k}=='F')
NumS{1,k}='15';
end
end
Decimal=0;
Mul=1;
y=0;

for (k=1:1:b)
NumN(k)=str2double(NumS(k));
end
for(k=1:b)
if(NumN(1,k)==1)
y=1*Mul;
elseif(NumN(1,k)==2)
y=2*Mul;
elseif(NumN(1,k)==3)
y=3*Mul;
elseif(NumN(1,k)==4)
y=4*Mul;
elseif(NumN(1,k)==5)
y=5*Mul;
elseif(NumN(1,k)==6)
y=6*Mul;
elseif(NumN(1,k)==7)
y=7*Mul;
elseif(NumN(1,k)==8)
y=8*Mul;
elseif(NumN(1,k)==9)
y=9*Mul;
elseif(NumN(1,k)==10)
y=10*Mul;
elseif(NumN(1,k)==11)
y=11*Mul;
elseif(NumN(1,k)==12)
y=12*Mul;
elseif(NumN(1,k)==13)
y=13*Mul;
elseif(NumN(1,k)==14)
y=14*Mul;
elseif(NumN(1,k)==15)
y=15*Mul;
elseif(NumN(1,k)==0)
y=0*Mul;
end
Mul=Mul*16;
lista2(1,k)=y;
end
Decimal=sum(lista2);

fprintf('\nEl Valor en Decimal es: %d',Decimal)


end
UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

MULTIPLICACION DE MATRICES
POR GERARDO ALBERTO MARTINEZ ESPARZA

A='s';
while(A =='s'|| A == 'S')
%% titulo y nota
fprintf('este programa multiplica dos matrices NxN\n \n');
fprintf('Nota: Este programa solo sirve para numeros decimales\n,unn requisito para poder realizar la
multiplicacion, es que \n el numero de filas de la primera matriz sea igual al numero \n de columnas
de la segunda matriz');
pause(5)
clc;
%% Reconocimiento de numero de filas y columnas de matriz 1 y 2.
fprintf('\nIngrese el numero de filas de la primera matriz')
nf1=input(' ');
a=nf1;
fprintf('\nIngrese el numero de columnas de la primera matriz')
nc1=input(' ');
b=nc1;
fprintf('\nIngrese el numero de filas de la segunda matriz')
nf2=input(' ');
c=nf2;
fprintf('\nIngrese el numero de columnas de la segunda matriz')
nc2=input(' ');
d=nc2;
pause(2)
clc;
%% mostrar numero de columnas y filas de matriz 1, matriz2 y matriz resultante
fprintf('El numero de filas y columnas de cada matriz es:\n');
fprintf('Matriz 1 : %i x %i \n',a,b);
fprintf('Matriz 2 : %i x %i \n',c,d);
nfr = a;
ncr = d;
fprintf('Matriz resultante : %i x %i',nfr,ncr);
pause(4)
clc;
dato = 0;
cnt = 0;
cnt2=1;
if b==c
%% Datos ingresados en cada coordenada de matriz 1.
fprintf('Ingrese datos de matriz #1\n');
while cnt2<=b
while (cnt<a)
fprintf('\n ingrese el dato de la fila %d, columna %d: ', cnt + 1,cnt2);
dato = input(' ');
if (isnumeric(dato))
cnt = cnt+1;
matriz1(cnt,cnt2) = dato;
end
end
cnt2=cnt2+1;
cnt=0;
end
pause(3)
clc;
%% Datos ingresados en cada coordenada de matriz 2.
dato2 = 0;
cnt3 = 0;
cnt4=1;
fprintf('Ingrese datos de matriz #2\n');
while cnt4<=d
while (cnt3<c)
fprintf('\n ingrese el dato de la fila %d, columna %d: ', cnt3 + 1,cnt4);
dato2 = input(' ');
if (isnumeric(dato2))
cnt3 = cnt3+1;
matriz2(cnt3,cnt4) = dato2;
end
end
cnt4=cnt4+1;
cnt3=0;
end
clc;
%% multiplicacion de matriz 1 y matriz 2.
for m=1:1:a
for j=1:1:d
mult1=0;
sum1=0;
for i=1:1:b
mult1 = matriz1(m,i)* matriz2(i,j);
sum1 = sum1 + mult1;
end
matriz3(m,j)=sum1;
end
end
%% Mostrar matriz 1, matriz2 y matriz resultante.
fprintf('La matriz #1 es la siguiente:\n');
disp(matriz1)
fprintf('La matriz #2 es la siguiente:\n');
disp(matriz2)
fprintf('La matriz resultante es la siguiente:\n');
disp(matriz3)
else
fprintf('El numero de columnas de la matriz #1 \ndebe ser igual al numero de filas de la matriz
#2.\n');
fprintf('Por favor verifique que el numero de columnas de la matriz #1 \nsea igual al numero de
filas de la matriz #2.');
end
pause(6)
clc;
%% Termino de programa, opcion de ejecutar nuevamente.
fprintf('\n ¿Desea volver a ejecutar este programa? (S/N): ');
A=input(' ', 's');
end
clc;
%% agradecimiento
fprintf('Gracias por usar este programa');
pause(3)
clc;
clear;
Programa para escribir un número con palabras
UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

PROGRAMA PARA ESCRIBIR EL NUMERO CON PALABRAS


POR GERARDO ALBERTO MARTINEZ ESPARZA
clear;
clc;
A='s';
while(A=='s'||A=='S')
fprintf('\nPrograma Para Escribir Un Número Con Palabras');
dato= input('\nIngrese Un Número: ');

n1 = dato / 10000;
a = dato / 1000;
n2 = mod(a,10);
b = dato / 100;
n3 = mod(b,10);
c = dato / 10;
n4 = mod(c,10);
n5 = mod(dato,10);
if dato==1||dato==2||dato==3||dato==4||dato==5
if dato==1
fprintf('uno');
end
if dato==2
fprintf('dos');
end
if dato==3
fprintf('tres');
end
if dato==4
fprintf('cuatro');
end
if dato==5
fprintf('cinco');
end
else
if(isnumeric(dato))
if(dato > 10000)
fprintf('El Número Ingresado Excede El Rango De Valores Permitidos');
else
if(n1 == 1)
fprintf('Diez Mil');
end
%Sentencia Para Determinar Los Millares
if(n2 >= 1)&&(n2 < 2)
fprintf('Mil ');
elseif(n2 >= 2)&&(n2 < 3)
fprintf('Dos Mil ');
elseif(n2 >= 3)&&(n2 < 4)
fprintf('Tres Mil ');
elseif(n2 >= 4)&&(n2 < 5)
fprintf('Cuatro Mil ');
elseif(n2 >= 5)&&(n2 < 6)
fprintf('Cinco Mil ');
elseif(n2 >= 6)&&(n2 < 7)
fprintf('Seis Mil ');
elseif(n2 >= 7)&&(n2 < 8)
fprintf('Siete Mil ');
elseif(n2 >= 8)&&(n2 < 9)
fprintf('Ocho Mil ');
elseif(n2 >= 9)
fprintf('Nueve Mil ');
end

%Setencia Para Determinar Las Centenas


if(n3 == 1 && n4 == 0 && n5 == 0)
fprintf('Cien');
elseif(n3 >= 1)&&(n3 < 2)
fprintf('Ciento ');
elseif(n3 >= 2)&&(n3 < 3)
fprintf('Doscientos ');
elseif(n3 >= 3)&&(n3 < 4)
fprintf('Trescientos ');
elseif(n3 >= 4)&&(n3 < 5)
fprintf('Cuatrocientos ');
elseif(n3 >= 5)&&(n3 < 6)
fprintf('Quinientos ');
elseif(n3 >= 6)&&(n3 < 7)
fprintf('Seiscientos ');
elseif(n3 >= 7)&&(n3 < 8)
fprintf('Setecientos ');
elseif(n3 >= 8)&&(n3 < 9)
fprintf('Ochocientos ');
elseif(n3 >= 9)
fprintf('Novecientos ');
end
%Setencia para determinar las decenas
if(n4 == 1 && n5 == 0)
fprintf('Diez');
elseif(n4 == 1.1 && n5 == 1)
fprintf('Once');
elseif(n4 == 1.2 && n5 == 2)
fprintf('Doce');
elseif(n4 == 1.3 && n5 == 3)
fprintf('Trece');
elseif(n4 == 1.4 && n5 == 4)
fprintf('Catorce');
elseif(n4 == 1.5 && n5 == 5)
fprintf('Quince');
elseif(n4 >= 1)&&(n4 < 2)&&(n5 >= 6)
fprintf('Dieci');
end

if(n4 == 2 && n5 == 0)
fprintf('Veinte');
elseif(n4 >= 2)&&(n4 < 3)
fprintf('Veinti');
elseif(n4 == 3 && n5 == 0)
fprintf('Treinta');
elseif(n4 >= 3)&&(n4 < 4)
fprintf('Treinta y ');
elseif(n4 == 4 && n5 == 0)
fprintf('Cuarenta');
elseif(n4 >= 4)&&(n4 < 5)
fprintf('Cuarenta y ');
elseif(n4 == 5 && n5 == 0)
fprintf('Cincuenta');
elseif(n4 >= 5)&&(n4 < 6)
fprintf('Cincuenta y ');
elseif(n4 == 6 && n5 == 0)
fprintf('Sesenta');
elseif(n4 >= 6)&&(n4 < 7)
fprintf('Sesenta y ');
elseif(n4 == 7 && n5 == 0)
fprintf('Setenta');
elseif(n4 >= 7)&&(n4 < 8)
fprintf('Setenta y ');
elseif(n4 == 8 && n5 == 0)
fprintf('Ochenta');
elseif(n4 >= 8)&&(n4 < 9)
fprintf('Ochenta y ');
elseif(n4 == 9 && n5 == 0)
fprintf('Noventa');
elseif(n4 >= 9)
fprintf('Noventa y ');
end

%Sentencia Para Determinar Las Unidades


if(n5 == 1)&&(n4 ~= 1.1)
fprintf('uno');
elseif(n5 == 1 && n4 == 0)
fprintf('Uno');
elseif(n5 == 2)&&(n4 ~= 1.2)
fprintf('dos');
elseif(n5 == 2 && n4 == 0)
fprintf('Dos');
elseif(n5 == 3)&&(n4 >= 2)
fprintf('tres');
elseif(n5 == 3 && n4 == 0)
fprintf('Tres');
elseif(n5 == 4)&&(n4 >= 2)
fprintf('cuatro');
elseif(n5 == 4 && n4 == 0)
fprintf('Cuatro');
elseif(n5 == 5)&&(n4 >= 2)
fprintf('cinco');
elseif(n5 == 5 && n4 == 0)
fprintf('Cinco');
elseif(n5 == 6)
fprintf('seis');
elseif(n5 == 6 && n4 == 0)
fprintf('Seis');
elseif(n5 == 7)
fprintf('siete');
elseif(n5 == 7 && n4 == 0)
fprintf('Siete');
elseif(n5 == 8)
fprintf('ocho');
elseif(n5 == 8 && n4 == 0)
fprintf('Ocho');
elseif(n5 == 9)
fprintf('nueve');
elseif(n5 == 9 && n4 == 0)
fprintf('Nueve');
elseif(n1 == 0)&&(n2 == 0)&&(n3 == 0)&&(n4 == 0)&&(n5 == 0)
fprintf('Cero');
end
end
else
fprintf('\nIngrese Solo Datos Númericos\n');
end
end
fprintf('\n ¿Deseas volver a ejecutar este programa? (S/N): ');
A = input(' ','s');
end
fprintf('Gracias por usar este programa');
pause(3);
clc;
clear;
UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

PROGRAMA PARA EVALUAR COEFICIENTES GRADO N EN


PUNTOS INGRESADOS.
POR GERARDO ALBERTO MARTINEZ ESPARZA

v=input('Ingrese el grado de polinomio \n');


cnt = 0;
v=v+1;
n=0;
while (v>0)
fprintf('ingrese el grado del
coeficiente x(%d): ' , v - 1);
dato = input(' ');
if (isnumeric(dato))
v=v-1;
cnt=cnt+1;
p(1,cnt) = dato;
end
end
disp(p)
%%
dato=0;
f='f';
F='F';

while (dato ~= 'f' && dato ~= 'F')


fprintf('ingrese el punto en el que
decea evaluar (f para determinarse)\n');
dato = input(' ');
c= polyval(p,dato);
if dato ~= 102 && dato ~= 70
fprintf('respuesta: %d \n',c);
end
end
UNIVERSIDAD TECNOLÓGICA DE TORREÓN
PRÁCTICA NO. 1. PROGRAMACIÓN AVANZADA EN MATLAB

RESOLVER CIRCUITOS ELECTRICOS


POR GERARDO ALBERTO MARTINEZ ESPARZA

fprintf('Este programa permite determinar la R total de


un circuito \nserie y paralelo de n resistencias \n\n');
fprintf('Menu de opciones\n');
fprintf('1.- Circuito serie\n');
fprintf('2.- Circuito paralelo\n');
fprintf('Ingrese el numero de la opcion que decea
ejecutar\n');
n=input(' ');
%% circuito serie
if n==1||n==2
if n==1
r1=input('Ingrese el numero de resistencias en
serie\n');
suma=0;
for i=1:1:r1
fprintf('Ingrese el valor de la %d ° resistencia:
',i);
r=input(' ');
suma = suma + r;
end
fprintf('La R Total del circuito es: %d
ohms',suma);
elseif n==2
r2=input('Ingrese el numero de resistencias en
paralelo\n');
if r2==2
r1=input('Ingrese el valor de la resistencia
1');
r2=input('Ingrese el valor de la resistencia
2');
rt= (r1*r2)/(r1+r2);

fprintf('La R Total es: %d',rt);


else
r3=input('Ingrese el numero de resistencias en
paralelo\n');
suma=0;
for i=1:1:r3
fprintf('Ingrese el valor de la %d ° resistencia:
',i);
r=input(' ');
c= 1/r;
suma = suma + c;
end
RT=1/suma;
fprintf('La R total es: %d',RT);
end
end
else
fprintf('ingresa un valor valido');
end
5.-OBSERVACIONES
Pude darme cuenta que para realizar esta practica fue necesario primero realizar
investigaciones acerca de métodos numéricos, así como algoritmos.
6.-CONCLUSIONES
En muchas de las programaciones fue necesario consultar en foros para aprender a
programar, al principio fue muy difícil la verdad, pero después de algo de practica fue más
fácil determinar los algoritmos. Concluyo que para las personas como yo que batallamos
más, es necesario practicar mucho para poder aprender.
1.- OBJETIVO.
Desarrollar aplicaciones de control mediante la implementación de algoritmos de control
desarrollados en software de programación.
Desarrollar la programación avanzada en lenguaje estructurado.

2.- MATERIAL Y EQUIPO.


Software Matlab.
PC.
3.- MATERIAL Y EQUIPO.
Según las fuentes en internet la programación inicio desde los inicios de las
computadoras, cuando la información se manejaba a través de tarjetas y perforaciones.
Conforme las computadoras y los sistemas fueron evolucionando cada vez fueron
apareciendo nuevos y mejores lenguajes de programación, como el ensamblador, que una
vez que las computadoras tenían un sistema operativo y un software se utilizaba.
Fue evolucionando hasta llegar a lo que ahora tenemos, una gran gama de lenguajes de
programación para un sin fin de aplicaciones, desde c++ hasta pyton , java script, Matlab,
ensamblador, etc.
La programación se le puede enseñar a los pequeños desde la educación primaria, un
niño que aprende a programar tiene grandes oportunidades en la vida, su mentalidad
cambia, aparte se le da un oficio aun cuando no tenga estudios, puede producir su propia
fuente de empleo.
En escuelas hay sistemas que ayudan a las personas a aprender mejor, estos sistemas
están programados.
La computadora con la que hice este documento funciona a base de programación, y
esto ayuda a que a futuro sea mejor persona y aporte mi granito de arena para disminuir la
pobreza.

4.- DESARROLLO Y PROCEDIMIENTO.