Está en la página 1de 7

Universidad Nacional de

San Agustn
Fa c u l t a d d e In g e n i e r a d e
Produccin y Servicios
Escuela Profesional de Ingeniera
Elctrica

Curso:
Software Aplicado a la Ingeniera

Presentado por:
Umasi Huamani Miriam Fiorella

Trabajo Individual :
PROBLEMAS RESUELTOS DE LA PRACTICA:
Programacin aplicada vectores y matrices

A R E Q U I PA - P E R U

2015

PROBLEMA 1

1. Escribir una funcion de MATLAB para calcular la media aritmtica de n datos.


n=input('ingrese un nmero: ');
MA=(n+1)/2;
disp('el promedio de los n nmeros es: ')
disp(MA)

PROBLEMA 2

2. Escribir un programa en MATLAB que calcule la suma de los elementos de una matriz nxn

A=input('Introduzca la matriz nxn: ');


b=sum(sum(A))

PROBLEMA 3
3. Escribir un programa en MATLAB que determine si dados 4 nmeros a, b, c, d estn en progresin
aritmtica

a=input('ingrese el 1er numero: ');


b=input('ingrese el 2do numero: ');
c=input('ingrese el 3er numero: ');
d=input('ingrese el 4to numero: ');
if (b-a==c-b)&&(c-b==d-c)&&(b-a==d-c)
disp('los nmeros estn en progresin aritmtica')
else
disp('los nmeros no estn en progresin aritmtica')
end

PROBLEMA 4

4. Escribir las sentencias de MATLAB necesarias para obtener los cuadrados de los nmeros pares
entre 0 y 50. Crear una tabla con cada entero y su cuadrado.
clc,clear
disp('a =a^2')
for a=0:50;
if rem(a,2)==0;
c=a^2;
disp([num2str(a) '

' num2str(c)]);

end
end

PROBLEMA 5
5. Determinar cuantas veces se ejecutar un bucle for si escribimos:

A)
W=0;
for n=7:10
W=W+1;
end
fprintf('Se ejecutan

%g bucles ',W)

Se ejecutaran 4 veces el bucle for.

B)
for j=7:-1:10
j
end
No se ejecutara el bucle porque la matriz requiere llegar hasta 10 y el
segundo elemento indica que se debe de retroceder para llegar de 7 a 10
lo cual no tiene lgica.

C)
Q=0;
for n=1:10:10
Q=Q+1;
end
fprintf('Ejecuta

%g bucle',Q)

Se ejecutaran 1 vez el bucle for.

D)
X=0;
for n=-10:3:-7
X=X+1;
end
fprintf('Ejecuta

%g bucles',X)

Se ejecuta 2 veces el bucle for

PROBLEMA 6
6. Determinar el valor de x al final de los siguientes bucles:
PARTE A)
clc,clear
x= 0;
for x = 1:10
x = x+1;
end
x

x=11
PARTE B)
clc,clear
x = 0;
for x = 1:10
y = x + x;
end
x

x=10
PARTE C)
clc,clear

x = 0;
for x1 = 1:10
for x2 = x1:10
if x2 >6
break;
end
x = x + 1;
end
end
x

x=21
4

PROBLEMA 7

7. Examinar los siguientes bucles while y determinar el valor de la variable x


al final de cada uno de ellos. Cuntas veces se ejecuta el bucle?

PARTE

A)

X=2;
Y=0;
while X<=200
X=X^2;
Y=Y+1;
end
fprintf('Ejecuta %g bucles y x=%g\n',Y,X)
PARTE B)
M=2;
while M>200
M=M^2;
End
disp('M=2')
disp('No se cumple la condicion X>200, No se realiza ningun bucle')

PROBLEMA 8
8. Disear un programa que dado una cadena de caracteres con las letras
ATCG, cuente cuantas veces aparece la letra T y nos diga si aparece o no la
secuencia ATTC. (por ejemplo probar con C1=ATTACAATTTATATTATTAAAT y
con la secuencia C2=ATTACAAACAATATATATATATTACAGATTA, notar que que
C1(k) me da la letra en el lugar k de C1
PRIMERA FORMA :
clc,clear
x=input('Introduzca caracteres = ','s');
y=length(x);
z=0;
a=0;
for M=1:y-3
if M==1
for i=1:y
if x(i)=='T'
z=z+1;
d(i)=2;
elseif x(i)=='A'
d(i)=1;
elseif x(i)=='C'
d(i)=3;
end
end
end
if d(M)==1&&d(M+1)==2&&d(M+2)==2&&d(M+3)==3
a=a+1;
end
end
fprintf('En los caracteres introducidos hay
ATTC\n',z,a)

T =%2.2g y %2.2g secuencias

SEGUNDA FORMA
clc,clear
A=input('Ingrese una secuencia de caracteres (entre comillas) con los
caracteres A T C G: ');
B=double(A); % El comando double convierte de caracteres a numeros ASSCI
n=1:length(A);
%Para saber cuantas T tiene el caracter introducido
D=[B(n)==84];
E=sum(D);
fprintf(' En la secuencia insertada hay %f letras T\n',E);
%Para saber si aparece ATTC introducida
6 en la cadena

disp('Y tambien: ');

F=[B(n)];
if

(length(F)>4);
disp('En la secuencia grande
else (length(F)<4);

no aparece la secuencia ATTC');

if F==[65 84 84 67];
disp('Aparece la secuencia ATTC en la cadena introducida');
else F~=[65 84 84 67];
disp('No aparece la secuencia ATTC');
end

end