Вы находитесь на странице: 1из 4

PROBLEMA N1:

Calcule la variacin del pH de 0.50 L de una solucin reguladora cuando se adiciona agua.
Considrese el par regulador CH3COOH/CH3COO- con concentraciones de 0.10 M y 0.12 M
respectivamente. El volumen se varia en el rango 0.500 L V 10.5 L con repetidas adicionales de
2.00 L de agua. Para solucionar el problema se parte del algoritmo:

[H3O+]2 + (Ka + Cb)[ H3O+] KaCb = 0


Donde:
Ca=0.10x0.50/V
Cb=0.12x0.50/V
Ka=1.8x10-5

SOLUCION:

% Variacion del pH de una solucion reguladora con la adicion de agua


clear
clc
% Datos del programa
Ka= 1.8e-05; % Constante de equilibrio
% Titulo de cada columna de resultados
fprintf('V(mL) pH\n\n');
% Ciclo while para definir la variacion del volumen
V=0.50;
while V<=10.50
Ca=0.10*0.50/V; % Concentracion de la especie acida
Cb=0.12*0.50/V; % Concentracion de la especie basica
H=(-(Ka+Cb)+sqrt((Ka+Cb)^2+4*Ka*Ca))/2;
pH=-log10(H);
% Se escriben resultados
fprintf('%5.2f',V);
fprintf('%15.4f\n',pH);
V=V+2.00;
end

PROBLEMA N2:
Dado el siguiente vector, hacer un programa que indique en que posiciones se encuentran los
nmeros negativos.
V=[1, 2, 25, -12, -8, 32, -4, 88, -7,-21 ]

SOLUCION:

% programa que imprime las posiciones con nmeros negativos en un vector


clc;
V=[1, 2, 25, -12, -8, 32, -4, 88, -7,-21 ];
i=1;
while (i<=length(V))
if(V(i)<0)
fprintf('En la posicin %d hay un nmero negativo \n' , i )
end
i=i+1;
end
PROBLEMA N3:
Realizar un programa que calcule el factorial de un nmero N.

SOLUCION:

N=input ('dame un numero para multiplicar= ');


S=0 ;
%Dar un valor para que realice la multiplicacion en forma de bucle
while S<=10
A=N*S;
disp (A)
S=S+1;
end
disp ('Fin de programa');

PROBLEMA N4:
Hacer un programa que recoja nmeros del usuario hasta que se introduzca un 0 y despus
devuelva la media de los nmeros introducidos.

SOLUCION:
contador=0;
n=input('Introduce un numero=');
sumatorio=0;
while(n~=0)
sumatorio=sumatorio+n;
contador=contador+1;
n=input('Intoduce un numero=');
end
med=sumatorio/contador;
fprintf('La media vale %f',med)

PROBLEMA N5:
Hacer un programa que pida un nmero hasta que este nmero sea mayor que 0 indicando con un
mensaje que el nmero introducido es mayor que 0.Caso contrario que pida reintroducir otro valor.

SOLUCION:
n=input('Dame un valor: ');
if n>0
disp ('El numero introducido es mayor que cero')
else
while n<=0
n=input('Reintroduce el valor correcto: ');
end
disp('El numero introducido es mayor que cero')
end
disp('Fin del programa')
PROBLEMA N6:
Realizar un programa que pida un nmero y que combinado combinado con otros dos nmeros
menores o iguales a este nmero, te del valor del nmero que se pidi.

SOLUCION:
N=input ('Dame un valor=');
M=0;
while M<=N
S=0;
while S<=N
if N==M+S;
fprintf('Combinacion: %d=%d+%d\n',M+S,M,S)
%disp(M)
%disp(S)
end
S=S+1;
end
M=M+1;
end
disp ('Fin de programa')

PROBLEMA N7:
Realizar un programa que sume una serie de nmeros ingresados por el usuario. Dicha suma se
realizara cuando el usuario introduzca el nmero 0.

SOLUCION:

% programa que suma nmeros mientras no sean 0


n=1;
sumatoria=0;
while(n ~= 0)
n=input('ingrese un nmero, para terminar digite 0:');
sumatoria=sumatoria + n;
end
disp('la suma de los numeros ingresados es :')
disp(sumatoria);
PROBLEMA N8:

Crear un programa que realice lo siguiente: Una empresa le paga a sus empleados una comisin
segn el valor de las ventas realizadas en el mes. La comisin se paga de la siguiente manera: si
vendi 400 millones o menos le paga 1% de comisin del valor de la venta, si vendi ms de 400
millones y menos de 1000 le paga 3%, si vendi 1000 o ms le paga 5%. Dado un vector con las
ventas de los 10 vendedores de la empresa realizar un programa usando ciclos que presente una
tabla con dos columnas, la primera columna contendr el valor de las ventas y la segunda el valor
de la comisin. Luego realizar un grfico de ventas contra comisiones: ventas=[2000 5000 100 800
300 1000 2200 350 50 1300]

SOLUCION:
clc; % limpia pantalla
clear all; % borra variables
ventas=[2000 5000 100 800 300 1000 2200 350 50 1300]; % vector de ventas
i=1; % se encargar de recorrer todas las posiciones del vector ventas
while(i <= length (ventas)) % length(ventas) = 10 ya que el vector tiene
10 elementos.
if(ventas(i)<=400)
comisiones(i)=ventas(i).*0.01;
elseif(ventas(i)>400 && ventas(i)<1000)
comisiones(i)=ventas(i).*0.03;
else
comisiones(i)=ventas(i).*0.05;
end
i=i+1;
end
% creamos la tabla a graficar
tabla=[ventas' comisiones'];
disp('las comisiones por venta son: ');
disp(tabla);
plot(ventas , comisiones, 'b*')

Вам также может понравиться