Documentos de Académico
Documentos de Profesional
Documentos de Cultura
%:comentarios
mayusculas:matrices
minusculas:vectore y escalares
, o (espacio):filas
;columnas
&& : y
== : igual que
|| : o
! : no
pow(a,b) : "a" elevado a "b"
%d\n : enteros
%1.2f\n : decimales..
sqrt : raiz cuadrada
EJERCICOS MATLAB
-----------------------------------------------------------------------------------
-----------------------------------
1. realize un programa que nos de un promedio de 4 notas y determinar las nota que
son mayores al promedio
ejm: 15-12-16-14
rpta: 14.5.....mayores: 15-16
ejm:58-74-35-59
RPTA:59
-----------------------------------------------------------------------------------
-----------------------
3. realizar un programa que reconozca los numeros capicua de tres digitos
EJM:151
RPTA: si es capicua
nro=input('ingrese numero');
%descomponer en unidad, decena, centena
centena=fix(nro/100)
nro=nro-centena*100;
decena=fix(nro/10)
unidad=nro-decena*10
%comparo la unidad con la centena o decena con unidad
if(unidad==centena)
fprintf('si es capicua')
else
if(unidad==decena)&&(centena==0)
fprintf('si es capicua')
else
fprintf('no es capicua')
end
end
-----------------------------------------------------------------------------------
---------------------------
4. realizar un programa que reconozca numeros capicua de 4 digitos
nro=input('ingrese numero');
%descomponer en unidad, decena, centena, millar
millar=fix(nro/1000)
nro=nro-millar*1000
centena=fix(nro/100)
decena=nro-centena*100;
decena=fix(nro/10)
unidad=nro-decena*10
%comparo la unidad con centena o unidad con decena o unidad con millar
if(unidad==millar)
fprintf('si es capicua')
else
if(decena==centena)&&(centena==0)
fprintf('si es capicua')
else
fprintf('no es capicua')
end
end
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-------
5. realizar un programa para determinar el area de un triangulo cuyos lados se
deben ingresar desde el teclado,tener en cuenta que la condicion de los lados de un
triangulo
es que la suma de dos lados siempre debens er mayor que el tercero, si no
cunmple esa condicion, los lados no corresponden a un triangulo y por lo tanto no
debe calcular
nada:
condicion (a+b>c y a+c>b y b+c>a)
semiperimetro: p=(a+b+c)/2
area: area=p(p-a)(p-b)(p-c)^(1/2)
si a=3,b=4;c=5...entonces area=6
si a=3,b=9;c=5...entonces no se calcula nada
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
------
6. elaborar un programa para ingresar dos numeros, el programa debe tener un
sistema de menu con las siguientes opciones:
1.sumar
2.restar
3.multiplicar
4.dividir
entonces con los numeros ingresados y la opcion seleccionada se debe realizar la
operacion correspondiente:
forma 1:
forma 2:
-----------------------------------------------------------------------------------
--------------------------------------------------------------
9. descomponer segundos en horas..minutos..segundos
-----------------------------------------------------------------------------------
---------------------------------------------------------------
10. lo mismo que el nueve a�adiendo nuevos segundos
%segundos adicionales
Nsegundo=input('ingrese numeros adicionales: ');
%tiempo actual
hora=input('ingrese hora: ');
minuto=input('ingrese minuto: ');
segundo=input('ingrese segundo: ');
Nhora=fix(segundo/3600);
segundo=segundo-Nhora*3600;
Nminuto=fix(segundo/60);
segundo=segundo-Nminuto*60;
NSS=segundo + Nsegundo;
NMM=minuto + Nminuto;
NHH=hora + Nhora;
if(NSS>59);
NMM=NMM+1;
NSS=NSS-60;
end
if(NHH>23);
NHH=-24;
end
fprintf('la hora es %d: %d: %d',NHH,NMM,NSS)
-----------------------------------------------------------------------------------
-------------------------------------------------------------------
11. realize un tabla que muestre la tabla de la multiplicacion del 1 hasta el n
%tabla de multiplicar
clc
n=input('ingrese numero: ');
for(i=1:n)
fprintf('la tabla del %d\n',i)
for(a=1:12)
fprintf('%d x %d = %d\n',i,a,i*a)
end
end
-----------------------------------------------------------------------------------
--------------------------------------------------------------------
12. realize un programa que calcule la sumatoria hasta n de la serie:
1+(1/2)+(1/3)+(1/4)+......(1/n)
end
end
-----------------------------------------------------------------------------------
--------------------------------------------------------------------
13. grafica la letra A
%grafica la letra A
clc
n=input('ingrese tama�o: ');
for(i=1:n)
for(j=1:n)
if(i==1)||(j==1)||(j==n)||(i==n)
fprintf('*')
else
fprintf(' ')
end
end
fprintf('\n')
end
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------
14. realize un programa para determinar las raices de una ecuacion cuadratica:
-----------------------------------------------------------------------------------
------------------------------------------------------------------------
15. ingrese la serie
clc
n=input('ingrese limite: ');
for (i=1:n)
if(mod(i,2)==0)
fprintf('-(%d!/%d!)',i,i+1);
else
fprintf('+(%d!/%d!)',i,i+1);
end
end
-----------------------------------------------------------------------------------
---------------------------------------
16. determinar si un numero es primo
%dibujar un programa que elimine todos los multipos de 3 en una matriz nxm
clc
n=input('ingrese dato: ');
m=input('ingrese dato: ');
A=fix(rand(n,m)*10)
for(i=1:n)
for(j=1:m)
if(mod(A(i,j),3)==0 && mod(A(i,j),2)~=2)
fprintf('los elementos de la matriz que retiraron: %d\n',A(i,j))
end
end
end
-----------------------------------------------------------------------------------
---------------------------------------
mod(i,2)..quiere decir que para valor que se le da a "i" se le dividira entre "2"
el mod solo te saca la parte del "residuo"
resultado:
>> trapecio
ingrese valor de a: 2
Bma =2
ingrese valor de b: 3
Bme =3
ingrese valor de h: 4
h =4
10
-----------------------------------------------------------------------------------
-------------------------------------
%programa que calcule el numero de gallinas y vacas en una granja si se sabe que el
numero de patas y el numero de cabezas
nrocabeza=input('ingrese # de cabezas')
nropatas=input('ingrese # de patas')
nrogallinas=(nrocabeza*4-nropatas)/2;
nrovaca=(nrocabeza-nrogallinas);
disp('el de gallinas es')
disp(nrogallinas)
disp('El numero de vacas es: ')
disp(nrovaca)
resultado
>> vacagallina
ingrese # de cabezas23
nrocabeza =
23
ingrese # de patas58
nropatas =
58
el de gallinas es
17
monedas de 2 ...7
monedas de 5.....3
--------------------------------------------------------------------
%realizar un programa que calcule la serie
%2/4 + 4/6 + 6/8 + ...... 2n/(2n+2)
n=input('ingrese numero')
suma=0
for(i=1:n)
suma=suma + (2*i/(2*i+2))
end
fprintf('la suma es : %f',suma)
-------------------------------------------------------------------
%ingrese un programa que muestre
%-(2/3)+(3/4)-(4/5)+(5/6)-(6/7)+(7/8)-(8/9)
n=input('ingrese numero: ')
for(i=1:n)
if(mod(i,2)==0)
fprintf('-(%d/%d)',i,i+1)
else
fprintf('+(%d/%d)',i,i+1)
end
end
--------------------------------------------------------------------
%realizar un programa que muestre la serie
%2/4 - 4/6 + 6/8 - ..
n=input('ingrese numero: ')
for(i=1:n)
if(mod(i,2)~=0)
fprintf('+(%d/%d)',2*i,2*i+2)
else
fprintf('-(%d/%d)',2*i,2*i+2)
end
end
---------------------------------------------------------------------
%realizar un programa que calcule la serie
%2/4 - 4/6 + 6/8 - ...... 2n/(2n+2)
n=input('ingrese numero')
suma=0
for(i=1:n)
if(mod(i,2)~=0)
suma=suma + (2*i/(2*i+2))
else
suma=suma - (2*i/(2*i+2))
end
end
fprintf('la suma es : %f',suma)
----------------------------------------------------------------------
%realizar un programa que calcule: si m > n
m=input('ingrese m: ')
n=input('ingrese n: ')
if(m > n)
comb=factorial(m)/(factorial(m - n)*factorial(n))
end
--------------
otra forma
--------------
m=input('ingrese m: ')
n=input('ingrese n: ')
if(m > n)
facto1=1
for(i=1:m)
facto1=facto1*i;
end
facto2=1
for(j=1:m-n)
facto2=facto2*j;
end
facto3=1
for(k=1:n)
facto3=facto3*k;
end
combi=facto1/(facto2*facto3)
end
------------------------------------------------------------------------
%calcular la serie 1!/2! - 2!/3! + 3!/4! -....................n!/(n+1)!
n=input('ingrese n: ')
suma=0
for(i=1:n)
if(mod(i,2)~=0)
suma=suma + (factorial(2*i)/(factorial(2*i)+factorial(2)))
else
suma=suma - (factorial(2*i)/(factorial(2*i)+factorial(2)))
end
end
fprintf('la suma es : %f',suma)
-------------------------------------------------------------------------
%factorial
n=input('ingrese n: ')
facto=1
i=1
while(i<=n)
facto=facto*i
i=i+1;
end
------------------------------------------------------------------------
%factorial
n=input('factorial: ')
facto=1;
for (i=1:1:n)
facto=facto*i
end
-------------------------------------------------------------------------
%muestra la siguiente serie
%(1/2)+(2/3)+(3/4)+(4/5)+(5/6)........
n=input('ingrese n: ')
i=1
while(i<=n)
fprintf('%d/%d+',i,i+1);
i=i+1;
end
-----------------------------------------------------------------------
%realize un programa que calcule la serie
%(1!/2!)+(2!/3!)+(3!/4!)+(4!/5!)
n=input('ingrese n: ')
i=1;
suma=0;
while(i<=n)
suma=suma +factorial(i)/factorial(i+1)
i=i+1;
end
---------------------------------------------------------------------
%programa que muestre
%(1/2)+(1/3)-(1/5)+(1/7)-(1/11)+(1/13)
n=input('ingrese n: ')
i=1
valor=2;
while(i<=n)
if isprime(i)
if mod(valor,2)==0
fprintf('(1/%d)+',i)
valor=1;
else
fprintf('(1/%d)-',i)
valor=2;
end
end
i=i+1;
end
------------------------------------------------------------