Está en la página 1de 39

PRACTICA 4 DE ELT – 202

REPETITIVAS

Carlos Manuel Barahona Miranda Grupo 1 Inge. Eléctrica

1. Diseñar un algoritmo y programa en MATLAB que permita ingresar por teclado la


cantidad N que es el número de personas y determine por género (Masculino o
Femenino) el porcentaje de hombres y mujeres que hay.
a) Análisis del problema
Entrada
X=Numero de personas
Salida
Porcentaje de personas
%Ejercicio 1
x=input('Introduzca el numero de personas: ');
i=0;
j=0;
k=0;
while (i<x)
disp('1) Genero Masculino');
disp('2) Genero Femenino');
op=input('Escoja una opccion: ');
if(op==1)
j=j+1;
elseif(op==2)
k=k+1;
else
disp('No existe esa opccion')
end
i=i+1;
end
a=(j*100)/x;
b=(k*100)/x;
fprintf('El porsentaje de personas Maculinas es = %.2f Porciento \n',a);
fprintf('El porsentaje de personas Femeninas es = %.2f Porciento \n',b);
b) Diagrama de flujo
c) Programación en MATLAB

2. Diseñar un algoritmo y programa en MATLAB que muestre, cuente y sume los


múltiplos de 3 hasta un tamaño que se introduce por teclado.
a) Análisis del problema
%Ejercicio 2Multilos de 3 y sumatoria
n=input('Introduzca un valor cualquiera: ');
s=0;
j=1;
i=0;
while (i<=n-3)
i=i+3;
s=s+3*j;
disp(i);
j=j+1;
end
fprintf('La Sumatoria de estors terminos es = %d \n',s);
b) Diagrama de flujo
c) Programación en MATLAB

3. Desarrollar un algoritmo y programa en MATLAB que calcule la suma, suma de


cuadrados y suma de cubos de los N primeros números naturales.
Numero Cuadrado Cubo
1 1 1
2 4 8
3 9 27
: : :
N N2 N3
Suma ∑ x2 ∑ x3
a) Análisis del problema
%2Multilos de 2,3 y sumatorio ejercicio 3
n=input('Introduzca un valor cualquiera: ');
s=0;
i=[];
j=1;
for i=1:n
s=s+j^2;
i=i^2;
disp(i);
j=j+1;
end
fprintf('La Sumatoria de los numeros cuadrados es = %d \n',s);
x=0;
y=0;
z=1;
for y=1:n
x=x+z^3;
y=y^3;
disp(y);
z=z+1;
end
fprintf('La Sumatoria de los numeros elevaos al cubo es es = %d \n',x);
b) Diagrama de flujo
c) Programación en MATLAB

4. Realizar un algoritmo y programa en MATLAB para la implementación del


desarrollo en serie de funciones. Por ejemplo, supongamos que queremos
calcular 1/(1−x) con un desarrollo de Taylor de la función:
a) Análisis del problema
Entrada
x=Ingrese dato x
n=Ingrese dato n
Salida
S=Suma

Proceso
%Ejercicio 4
x=input('Ingresar dato x: ');
n=input('Ingresar dato n: ');
s=1;
for i=1:n
disp(s)
s=x^i;
end
b) Diagrama de flujo
c) Programación en MATLAB

5. Escriba un algoritmo y programa en MATLAB (utilizando un bucle) que calcule la


suma de los m primeros términos de la serie:

Esta serie se denomina se denomina serie de Leibniz, y converge a л / 4. Ejecute el


programa para m=10y m= 500. Compare posteriormente estos resultados con el
valor exacto л / 4.
a) Análisis del problema
m=input('Ingrese un numero: ');
s=0;
i=0;
for n=0:m
p=(-1)^i*(1/(2*i+1));
s=s+p;
i=i+1;
fprintf('%d %.6f \n',n,p);
end
fprintf('Sumatoria = %.2f \n',s);
disp('Comparacion de esta seriede Leibniz de 10 y 500');
a=0;
j=0;
for x=0:10
y=(-1)^j*(1/(2*j+1));
a=a+y;
j=j+1;
end
fprintf('Sumatoria de 100 terminos = %.2f \n',a);
c=0;
d=0;
for b=0:500
o=(-1)^d*(1/(2*d+1));
c=c+o;
d=d+1;
end
fprintf('Sumatoria de 500 terminos = %.2f \n',c);
if(a==pi/4)
disp('El numero 10 es el que mas se acerca a pi/4');
elseif(c==pi/4)
disp('El numero 500 es el que mas se acerca a pi/4');
else
disp('Ningun termino de 10 o 500 corverge con pi/4');
end
b) Diagrama de flujo
c) Programación en MATLAB

6. Leer por teclado los votos de n personas. Cada voto es un número 1, 2, o 3


correspondiente a tres candidatos. Si el dato es 0 es un voto en blanco. Si es otro
número es un voto nulo. Realizar un algoritmo y programa en MATLAB que
determine el total de votos de cada candidato y el total de votos blancos y nulos.
a) Análisis del problema
%Ejercicio 6
x=input('Introduzca el numero de personas que votaron: ');
i=0;
j=0;
k=0;
l=0;
m=0;
n=0;
while (i<x)
disp('0) Voto en blanco');
disp('1) Pimer candidato');
disp('2) Segundo candidato');
disp('3) Tercer candidato');
disp('4) Voto nulo');
op=input('Escoja una opccion: ');
if(op==0)
j=j+1;
elseif(op==1)
k=k+1;
elseif(op==2)
l=l+1;
elseif(op==3)
m=m+1;
elseif(op>3)
n=n+1;
end
i=i+1;
end
fprintf('El total de votos en blanco es = %d \n',j);
fprintf('El total de votos para el Primer candidato es = %d \n',k);
fprintf('El total de votos para el Segundo candidato es = %d \n',l);
fprintf('El total de votos para el Tercer candidato es = %d \n',m);
fprintf('El total de votos nulos es = %d \n',n);
b) Diagrama de flujo
c) Programación en MATLAB

7. Realizar un algoritmo y programa en MATLAB para que encuentre el mayor valor


de la función f(x)=son(x)+en(x), para los valores x en un intervalo como: x=1.0, 1.1,
1.2, 1.3, ..., N
a) Análisis del problema
Entrada
X1=valor de x1
X2=valor de x2
Salida
j=Numero mas alto
Proceso
%Ejercicio 7
while (x1<=x2)
disp(x1);
x1=x1+0.1;
y=sin(x1)+log(x1);
fprintf('La funcion es= %.4f \n',y);
if(y>=j)
j=y;
end
end
fprintf('La numero mas alto es= %.4f \n',j);
b) Diagrama de flujo
c) Programación en MATLAB

8. Realizar un algoritmo y programa en MATLAB para encontrar el número de puntos


con coordenadas enteras que están dentro de la elipse:

a) Análisis del problema


Entrada
X=valor de x
Y=valor de y
Salida
b=Dentro de la grafica
Proceso
%Ejercicio 8
a=input('Ingresar dato x: ');
b=input('Ingresar dato y: ');
if (b<((100-2*a^2)/3)^(1/2) && b>-((100-2*a^2)/3)^(1/2))

disp('Esta dentro de la grafica');


else
disp('NO Esta dentro de la grafica');
end
b) Diagrama de flujo
c) Programación en MATLAB

9. Realizar un algoritmo y programa en MATLAB para sumar de los “n”


Primeros Números impares Naturales, aplicando la siguiente serie:

a) Análisis del problema


%Ejercicio 9
n=input('Introduzca un valor cualquiera: ');
s=0;
i=1;
j=0;
while (i<n+1)
r=2*i-1;
s=s+r;
i=i+1;
j=j+1;
fprintf('%d) %d \n',j,r);
end
fprintf('La Sumatoria de estors terminos es = %d \n',s);
b) Diagrama de flujo

c) Programación en MATLAB
10. Realizar un algoritmo y programa en MATLAB para calcular el promedio de edades
de hombres, mujeres y de todo un grupo de alumnos.
a) Análisis del problema
%Ejercicio 10
x=input('Introduzca el numero de personas: ');
i=0;
j=0;
k=0;
l=0;
while (i<x)
a=input('Introduzca la edad del Gupo de Hombres: ');
b=input('Introduzca la edad del Gupo de Mujeres: ');
c=input('Introduzca la edad del Gupo de Alumnos: ');
j=j+a;
k=k+b;
l=l+c;
i=i+1;
end
a=j/x;
b=k/x;
c=l/x;
fprintf('El promedio del Gupo de Hombres es = %.2f \n',a);
fprintf('El promedio del Gupo de Mujeres es = %.2f \n',b);
fprintf('El promedio del Gupo de Alumnos es = %.2f \n',c);
b) Diagrama de flujo
c) Programación en MATLAB

11. Realizar un algoritmo y programa en MATLAB para Calcular la suma siguiente: 100
+ 98 + 96 + 94 + . . . + 0 en este orden.
a) Análisis del problema
%Ejercicio 11
s=0;
x=50;
j=0;
for i=100:-2:0
s=s+x*2;
j=j+1;
disp(i);
x=x-1;
end
fprintf('La Sumatoria de estos terminos es = %d \n',s);
b) Diagrama de flujo
c) Programación en MATLAB

12. Realizar un algoritmo y programa en MATLAB que permita ingresar N números y


muestre cuál de ellos fue el menor de todos.
a) Análisis del problema
%Ejercicio 10
x=input('Introduzca la cantidad de numeros: ');
i=0;
j=0;
while (i<x)
y=input('Digute un numero: ');
if(y>=j)
j=y;
end
i=i+1;
end
fprintf('El numero mayor ingresado es = %d \n',j);
b) Diagrama de flujo
c) Programación en MATLAB

13. Realizar un algoritmo y programa en MATLAB que, empleando la estructura


repetitiva, y muestre en la forma los números 1, 4, 7, ..., 19 ..................... N
a) Análisis del problema
Entrada:
n= Valor para que muestre el fin de la sucesión.
Salida:
r = La sucesión.
Proceso:
Escribir Introduzca un valor cualquiera.
Leer n
I=1;
J=0;
Mientras i<=n Hacer
R=i*3-2;
I=i+1;
J=j+1;
Escribir r
Fin Mientras
b) Diagrama de flujo

c) Programación en MATLAB

14. Realizar un algoritmo y programa en MATLAB que lea un número entero positivo
y lo escriba invertido el número debe validarse, por ejemplo, si el número es
57894 invertido será 49875 el cual de mostrar.
a) Análisis del problema
Entrada
L=Introducir nombres
Salida
LT=Introducir números invertidos
Procesos
n = input('Digite un numero entero positivo, de preferencia de varias cifras: ');
% También funciona con números decimales, pero no con negativos
n = num2str(n); % convierte de número a texto
n = rot90(rot90(n)); % invierto el orden del texto
disp('El número al revés es:')
fprintf('%s',n);
b) Diagrama de flujo
c) Programación en MATLAB

15. Realizar un algoritmo y programa en MATLAB que lea un número entero y por el
método de divisiones sucesivas lo imprima en binario.
Ejemplo:

a) Análisis de problema
Entrada
N=Número real
Salida
T=Numero Binario
Proceso
clc
divisor=2;
cociente=0;
residuo=0;
a=0;
i=1;
j=1;
b=1;
c=2;
x=0;1;
w=0;
z=0;
n=input('Ingrese el tipo de Numero que quiere convertir, ingrese (1) para Convertir de
Decimal a Binario. ');
if n==1
dividendo=input('Ingrese el numero Decimal, para convertir a Binario ');
residuo=dividendo;
while c>1;
while residuo>=divisor
cociente=cociente+1;
residuo=residuo-divisor;
end
a(j,i)= residuo;
i=i+1;
residuo=cociente;
c=cociente;
cociente=0;

end

b) Diagrama de flujo
c) Programación en MATLAB

También podría gustarte