0% encontró este documento útil (0 votos)
22 vistas45 páginas

Ejercicios de Programación en MATLAB

Cargado por

Andery Esteban
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
22 vistas45 páginas

Ejercicios de Programación en MATLAB

Cargado por

Andery Esteban
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD NACIONAL DEL CENTRO DEL PERU FACULTAD DE

INGENIERIA QUIMICA

ESCUELA PROFESIONAL DE INGENIERIA QUIMICA INDUSTRIAL

EJERCICIOS CON IF, FOR Y WHILE

ASIGNATURA:

COMPUTACION PARA INGENIERIA

CATEDRÁTICO:

ING.HUGO FERNANDO CAÑARI MARTICORENA

INTEGRANTES:

Camac Roman, Jair Silmer

Mantari Atao, Milagros Heydi

2024 – I
EJERCICIOS CON IF
Ejercicio 01
Dada la ecuación ax 2 +bx +c=0. Determinar cuando hay una única raíz
real, cuando hay dos raíces reales distintas o cuando no hay raíces
reales, calculando las raíces en los dos primeros casos.
Solución:
>> v=input(‘Introduce a, b y c:’);
>> a=v(1); b=v(2); c=v(3);
>> discri=b^2-4*a*c;
>> if (discri==0)
>> disp(‘Hay una única raiz real’)
>> raiz=-b/(2*a) >> elseif (discri>0)
>> disp(‘Las raices son reales y distintas:’)
>> raiz1=(-b+sqrt(disc))/(2*a)
>> raiz2=(-b-sqrt(disc))/(2*a)
>> else
>> disp(‘Las raíces no son reales:’)
>> end
Ejercicio 02:
Crear un programa que permita hallar el cuadrante en el que se
encuentre un punto sobre el plano cartesiano
Solución:
X= input(“Favor ingresar cordenada en X:”)
Y= input(“Favor ingresar cordenada en Y:·)
If((x>0) & (y>0))
disp (“Punto en el primer cuadrante”)
else if((x>0) & (y<0))
disp (“Punto en el segundo cuadrante”)
else if((x<0) & (y<0))
disp (“Punto en el tercer cuadrante”)
else if((x<0) & (y>0))
disp (“Punto en el cuarto cuadrante”)
else
disp(“Punto en el origen”)
end
Ejercicio 03
Programar un script que establezca la calificación de un estudiante
en función de la nota del examen.
Este programa asigna una calificación en función de la nota de un
examen
Solución:
Nota = input (Dame la nota del examen: ’)
>> Mensaje de error si la nota no esta entre 0 y 10
If nota<0 , nota>10
disp(‘La nota debe estar entre 0 y 10’)
end
>> Asigna la calificación y la escriba en pantalla
disp(‘La calificación es:’);
if nota < 5
disp(‘Suspenso’);
elseif nota>=5 & nota<6
disp(‘Aprobado’);
elseif nota>=6 & nota<7
disp(‘Bien’);
elseif nota>-7 & nota<9
disp(‘Notable’);
elseif nota>-9 & nota<10
disp(‘Sobresaliente’);
else
disp(‘Matricula’);
end
Ejercicio 04
Programar una función para resolver una ecuación de segundo
grado
Solución:
Function (x1, x2) =ecuación grado (a,b,c)
>> Calcula el discriminante de la raíz que sale en la solución
d= b^2 – q^a^c;
if a—0
>> Para a=0 es una ecuación de primer grado del tipo bx+c=0
X1 = -c/b;
X2 = ();
Else
>> Comprueba si el discriminante es negativo, en cuyo caso
>> no hay solución real
If d < 0;
>> Caso de dos raíces complejas
X1 = (-b + sqrt (-d*1/(2*a);
X2 = (-b - sqrt (-d*1/(2*a);
Else if d == 0
>> Caso de una única raíz con doble multiplicidad
X1 = -b/(2*a);
X2 = x1;
End
Ejercicio 05
Determinar el mayor de dos valores dados
Solución:
>> Mayor entre A y B
% pide al usuario los valores de A y B
A = input(‘Tiene el valor de A: ‘) ;
B = input(‘Tiene el valor de B: ‘);
% Determina cual es mayor y lo escribe en pantalla
If A>B
disp(‘A es mayor que B’)
elseif A<B
disp(‘B es mayor que A’)
else
disp(‘A y B son iguales’)
end
Ejercicio 06
Calcular el área de un trapecio a través de sus dimensiones
Solución:
% Area de un trapecio
% Pide al usuario las dimensiones de un trapecio
b=input(‘La base menor (m) : ‘ ) ;
B=input(‘La base mayor (m) : ‘ ) ;
b=input(‘La situacion(m) : ‘ ) ;
% Calcula el área del trapecio
A=b*(b+B)/2
% Muestra en pantalla el área del trapecio
Disp( `El área del trapecio es: ,num2str(A) , ‘ m2’ )
Ejercicio 07
x = input ('Ingrese un valor para calcular su logaritmo: ');
if x >0
y=log(x);
fprintf('\n El logaritmo de %f es %f. \n',x,y);
else
beep
disp('La entrada a la función log debe ser positiva')
end
solución:
ans:
Ingrese un valor para calcular su logaritmo: 4
El logaritmo de 4.000000 es 1.386294.

Ejercicio 08
x=input('Digite un número: ');

if x>1 && x<5

disp('Dentro del rango entre 1 y 5');

else disp('Fuera del rango entre 1 y 5');


end

solución

ans:

Digite un número: 34
Fuera del rango entre 1 y 5

Ejercicio 09
Los alumnos de un curso se han dividido en dos grupos A y B de
acuerdo al sexo y el nombre. El grupo A está formado por las
mujeres con un nombre anterior a la M y los hombres con un
nombre posterior a la N y el grupo B por el resto. Escribir un
programa que pregunte al usuario su nombre y sexo, y muestre por
pantalla el grupo que le corresponde.

% Pedir al usuario su nombre y sexo


nombre = input('Ingrese su nombre: ', 's');
sexo = input('Ingrese su sexo (H para hombre, M para mujer): ',
's');

% Convertir el nombre a mayúsculas para comparaciones más


fáciles
nombre = upper(nombre);

% Verificar el grupo al que pertenece el alumno


if (sexo == 'M' && nombre (1) < 'M') || (sexo == 'H' && nombre (1)
> 'N')
disp('Usted pertenece al Grupo A.');
else
disp('Usted pertenece al Grupo B.');
end
Solución:
>> Untitled3
Ingrese su nombre: Carla
Ingrese su sexo (H para hombre, M para mujer): M
Usted pertenece al Grupo A.

Ejercicio 10
En una determinada empresa, sus empleados son evaluados al final
de cada año. Los puntos que pueden obtener en la evaluación
comienzan en 0.0 y pueden ir aumentando, traduciéndose en
mejores beneficios. Los puntos que pueden conseguir los
empleados pueden ser 0.0, 0.4, 0.6 o más, pero no valores
intermedios entre las cifras mencionadas. A continuación, se
muestra una tabla con los niveles correspondientes a cada
puntuación. La cantidad de dinero conseguida en cada nivel es de
2.400€ multiplicada por la puntuación del nivel.

Nivel Puntuación
Inaceptable 0.0
Aceptable 0.4
Meritorio 0.6 a mas

% Solicitar la puntuación al usuario


puntuacion = input ('Ingrese su puntuación (0.0, 0.4, 0.6 o más):
');
% Determinar el nivel de rendimiento y la cantidad de dinero
nivel = '';
cantidad_dinero = 0;

if puntuacion == 0.0
nivel = 'Inaceptable';
cantidad_dinero = 0;
elseif puntuacion == 0.4
nivel = 'Aceptable';
cantidad_dinero = 2400 * puntuacion;
elseif puntuacion >= 0.6
nivel = 'Meritorio';
cantidad_dinero = 2400 * puntuacion;
else
disp('Puntuación no válida. Por favor, ingrese 0.0, 0.4 o 0.6 o
más.');
end

% Mostrar el nivel de rendimiento y la cantidad de dinero


if ~isempty(nivel)
disp(['Su nivel de rendimiento es: ', nivel]);
disp(['La cantidad de dinero que recibirá es: ',
num2str(cantidad_dinero), '€']);
end
Solución:
>> Untitled3
Ingrese su puntuación (0.0, 0.4, 0.6 o más): 0.8
Su nivel de rendimiento es: Meritorio
La cantidad de dinero que recibirá es: 1920€
Ejercicio 11
Determinar si un año es bisiesto

% Ejemplo para determinar si un año es bisiesto o no


anio = 2011; % Puedes cambiar el valor de 'anio' para comprobar
diferentes años

if mod (anio, 400) == 0 || (mod(anio, 4) == 0 && mod(anio, 100)


~= 0)
disp(['El año ', num2str(anio), ' es bisiesto']);
else
disp(['El año ', num2str(anio), ' no es bisiesto']);
end
Solución:
>> Untitled4
El año 2011 no es bisiesto
Ejercicio 12
Realizar un programa que califique a los estudiantes respecto a su
puntuación de 0 a 100.

Ejercicio 13
Verificar si un número a ingresar es positivo, negativo o 0.
numero = input('Ingrese un número: ');
if numero > 0
disp('El número es positivo.');
elseif numero < 0
disp('El número es negativo.');
else
disp('El número es cero.');
end
Ingrese un número: -5
El número es negativo.
Ingrese un número: 0
El número es cero.
Ejercicio 14
Calcular el máximo de 3 números.
a = input('Ingrese el primer número: ');
b = input('Ingrese el segundo número: ');
c = input('Ingrese el tercer número: ');

if a >= b && a >= c


disp(['El máximo es: ', num2str(a)]);
elseif b >= a && b >= c
disp(['El máximo es: ', num2str(b)]);
else
disp(['El máximo es: ', num2str(c)]);
end
Ingrese el primer número: 5
Ingrese el segundo número: 20
Ingrese el tercer número: -20
El máximo es: 20
Ejercicio 15
Calcular el monto de una compro con un descuento monto_compra
= input('Ingrese el monto de la compra: ');
if monto_compra > 100
descuento = 0.1 * monto_compra;
else
descuento = 10;
end

monto_pagar = monto_compra - descuento;


disp(['Monto a pagar: ', num2str(monto_pagar)]);
Ingrese el monto de la compra: 40
descuento =
10
Monto a pagar: 30
Ejercicio 16
Determinar si un año es de la generación X, Y o Z.
anio_nacimiento = input('Ingrese su año de nacimiento: ');

if anio_nacimiento >= 1965 && anio_nacimiento <= 1979


disp('Pertenece a la generación X.');
elseif anio_nacimiento >= 1980 && anio_nacimiento <= 1994
disp('Pertenece a la generación Y (Millennials).');
elseif anio_nacimiento >= 1995 && anio_nacimiento <= 2010
disp('Pertenece a la generación Z.');
else
disp('No se puede determinar la generación.');
end
Ingrese su año de nacimiento: 2004
Pertenece a la generación Z.
Ejercicio 17
Calcule la fuerza eléctrica entre dos cargas puntuales, dadas sus
magnitudes y la distancia entre ellas. También debe determinar si la
fuerza es de atracción o repulsión.
Solución:

% Constante de Coulomb k = 8.99e9; % Nm^2/C^2


% Calcular la fuerza eléctrica
fuerza = k * abs(q1 * q2) / r^2;
% Determinar la dirección de la fuerza if q1 * q2 > 0
direccion = 'repulsión'; else
direccion = 'atracción'; end

disp(['La fuerza eléctrica entre las cargas es de ', num2str(fuerza), '


Newtons y es una fuerza de ', direccion, '.']);

Ejercicio 18
Determinar el mayor de dos valores dados
>> Mayor entre A y B
% pide al usuario los valores de A y B
A = input(‘Tiene el valor de A: ‘) ;
B = input(‘Tiene el valor de B: ‘);
% Determina cual es mayor y lo escribe en pantalla
If A>B
disp(‘A es mayor que B’)
elseif A<B
disp(‘B es mayor que A’)
else
disp(‘A y B son iguales’)
end
Ejercicio 19
Solicitar al usuario los coeficientes de una ecuación cuadrática (a, b
y c) y calcule las raíces reales o complejas.
% Pedir al usuario un número
numero = input('Ingrese un número: ');
% Ofrecer opciones al usuario
disp('Seleccione una opción:');
disp('1. Seno');
disp('2. Coseno');
disp('3. Logaritmo natural');
opcion = input('Ingrese el número de la opción elegida: ');
% Calcular y mostrar el resultado
if opcion == 1
resultado = sin(numero);
disp(['El seno de ', num2str(numero), ' es: ', num2str(resultado)]);
elseif opcion == 2
resultado = cos(numero);
disp(['El coseno de ', num2str(numero), ' es: ', num2str(resultado)]);
elseif opcion == 3
resultado = log(numero);
disp(['El logaritmo natural de ', num2str(numero), ' es: ',
num2str(resultado)]);
else
disp('Opción inválida.');
end
Ingrese un número: 45 Seleccione una opción:
1. Seno
2. Coseno
3. Logaritmo natural
Ingrese el número de la opción elegida: 2
El coseno de 45 es: 0.52532
Ejercicio 20
Determinar la paridad de un número
numero = input('Ingrese un número entero: ');

if rem(numero, 2) == 0
disp('El número es par');
else
disp('El número es impar');
end

EJERCICIOS CON FOR


EJERCICIO 1
Genere la tabla de multiplicar del 5.
numero = 5;
disp(['Tabla de multiplicar del ' num2str(numero) ':']);
for i = 1:10
resultado = numero * i;
disp([num2str(numero) ' x ' num2str(i) ' = ' num2str(resultado)]);
end
solución:

ans:

Tabla de multiplicar del 5:


5x1=5
5 x 2 = 10
5 x 3 = 15
5 x 4 = 20
5 x 5 = 25
5 x 6 = 30
5 x 7 = 35
5 x 8 = 40
5 x 9 = 45
5 x 10 = 50

EJERCICIO 2
4. Escribe un número y genera la tabla de multiplicar de ese
número:
if ~isnumeric(numero) || numero <= 0 || mod(numero, 1) ~= 0
disp('Por favor, ingrese un número entero positivo.');
else
% Generar la tabla de multiplicar del número ingresado
disp(['Tabla de multiplicar del ' num2str(numero) ':']);
for i = 1:10
resultado = numero * i;
disp([num2str(numero) ' x ' num2str(i) ' = ' num2str(resultado)]);
end
end
solución:
ans:

Tabla de multiplicar del 23:


23 x 1 = 23
23 x 2 = 46
23 x 3 = 69
23 x 4 = 92
23 x 5 = 115
23 x 6 = 138
23 x 7 = 161
23 x 8 = 184
23 x 9 = 207
23 x 10 = 230

EJERCICIO 3
if ~isnumeric(numero) || numero < 0 || mod(numero, 1) ~= 0
disp('Por favor, ingrese un número entero no negativo.');
else
factorial_resultado = 1;
for i = 1:numero
factorial_resultado = factorial_resultado * i;
end
disp(['El factorial de ' num2str(numero) ' es: '
num2str(factorial_resultado)]);
end
solución:
ans:

El factorial de 23 es: 2.585201673888498e+22

EJERCICIO 4
Crea otra multiplicación de 2
numero = 2:3:4;

disp(['Tabla de multiplicar del ', num2str(numero)]);


for i = 1:10
resultado = numero * i;
disp([num2str(numero), ' x ', num2str(i), ' = ', num2str(resultado)]);
end

solución:
ans:
Tabla de multiplicar del 2
2x1=2
2x2=4
2x3=6
2x4=8
2 x 5 = 10
2 x 6 = 12
2 x 7 = 14
2 x 8 = 16
2 x 9 = 18
2 x 10 = 20

EJERCICIO 5
for M=1:3
b(M)=M^2

end
Solución:
ans:
b=
1
b=
1 4
b=
1 4 9

EJERCICIO 6
Realiza un matriz

a = [7, -3, 4; 2 5 9];


for j = a;
disp(3 * j);
end
Solución:

ans:

21

6
-9

15

12

27

EJERCICIO 7
Realiza la factorial

x = 2;
for j = 4: 7;
x = x * j;
disp(x);
end

Solución:

ans:

40

240
1680

EJERCICIO 8
Realiza la factorial
x = 2;
for j = 5 : 6: 7;
x = x * j;
disp(x);
end

solución:

ans:

10
EJERCICIO 9
Realizar e factorial de un número
numero = 5;
factorial_resultado = 1;
for i = 1:numero
factorial_resultado = factorial_resultado * i;
end
disp(['El factorial de ', num2str(numero), ' es: ',
num2str(factorial_resultado)]);
El factorial de 5 es: 120
EJERCICIO 10
Realizar una serie Fibonacci de 10 fibonacci = [0, 1];
for i = 3:10
fibonacci(i) = fibonacci(i-1) + fibonacci(i-2);
end
disp('Serie Fibonacci:');
disp(fibonacci);
Serie Fibonacci:
0 1 1 2 3 5 8 13 21 34
EJERCICIO 11
Imprimir números del 1 al 10.
for i = 1:10
disp(i);
end
1
2
3
4
5
6
7
8
9
10
EJERCICIO 12
. Simula el crecimiento de una población utilizando un modelo
simple.
Considere tasas de mortalidad y natalidad.
Poblacion_inicial = 1000;
Tasa_natalidad = 0.02;
Tasa_mortalidad = 0.01;
Tiempo_simulacion = 50;

Poblacion = zeros(1, tiempo_simulacion);


Poblacion(1) = poblacion_inicial;

For t = 2:tiempo_simulacion
Nacimientos = tasa_natalidad * poblacion(t-1);
Defunciones = tasa_mortalidad * poblacion(t-1);
Poblacion(t) = poblacion(t-1) + nacimientos – defunciones;
End

Plot(1:tiempo_simulacion, poblacion);
Title(‘Simulación de Crecimiento Poblacional’);
Xlabel(‘Tiempo’);
Ylabel(‘Población’);

EJERCICIO 13
Implementa el juego de la vida de Conwey, un automata celular
bidimensional.
Mundo = randi([0, 1], 10, 10); % Mundo inicial aleatorio
Num_generaciones = 20;

For gen = 1:num_generaciones


Nuevo_mundo = zeros(size(mundo));

For i = 1:size(mundo, 1)
For j = 1:size(mundo, 2)
Vecinos = sum(sum(mundo(max(1, i-1):min(end, i+1), max(1,
j1):min(end, j+1)))) – mundo(i, j);
If mundo(i, j) == 1 && (vecinos == 2 || vecinos == 3)
Nuevo_mundo(i, j) = 1;
Elseif mundo(i, j) == 0 && vecinos == 3
Nuevo_mundo(i, j) = 1;
End
End
End
Mundo = nuevo_mundo;
Disp([‘Generación ‘, num2str(gen), ‘:’]);
Disp(mundo);
End
EJERCICIO 14
Determine la suma de elementos de un vector.

EJERCICIO 15
Generar una secuencia Fibonacci

EJERCICIO 16
Encontrar el número mayor de siguiente vector
V= [8, 3, 10, 5, 2];
maximo = V(1);
for i = 2:length(vector)
if vector(i) > maximo
maximo = vector(i);
end
end
disp(['El máximo en el vector es: ', num2str(maximo)]);
Vector de números aleatorios:
82 91 13 92 64 10 28 55 96 97
EJERCICIO 17
Crear una celda con nombres y edades.
nombres = {'Juan', 'Maria', 'Carlos', 'Luis'};
edades = [25, 30, 22, 28];
datos_personas = cell(4, 2);
for i = 1:length(nombres)
datos_personas{i, 1} = nombres{i};
datos_personas{i, 2} = edades(i);
end

disp('Datos de personas:');
disp(datos_personas);
Datos de personas:
{'Juan' } {[25]}
{'Maria' } {[30]}
{'Carlos'} {[22]}
{'Luis' } {[28]}
EJERCICIO 18
Implementa juegos del virtuales utilizando bucles “for” para
gestionar las iteraciones del juego.
palabra_secreta = ‘matlab’;
intentos_maximos = 6;
letras_adivinadas = ‘_mat_a’;

for intento = 1:intentos_maximos


disp([‘palabra actual: ‘, letras_adivinadas]);
letra = input(‘ingrese una letra: ‘, ‘s’);

% lã³gica para verificar la letra


% actualiza letras_adivinadas

if strcmp(letras_adivinadas, palabra_secreta)
disp(‘â¡felicidades! has adivinado la palabra.’);
break;
end
end
EJERCICIO 19
Implementa el juego de la vida de Conwey, un automata celular
bidimensional. mundo = randi([0, 1], 10, 10); % mundo inicial
aleatorio
num_generaciones = 20;

for gen = 1:num_generaciones


nuevo_mundo = zeros(size(mundo));
for i = 1:size(mundo, 1)
for j = 1:size(mundo, 2)
vecinos = sum(sum(mundo(max(1, i-1):min(end, i+1), max(1, j-
1):min(end, j+1))))
– mundo(i, j);
if mundo(i, j) == 1 && (vecinos == 2 || vecinos == 3)
nuevo_mundo(i, j) = 1;
elseif mundo(i, j) == 0 && vecinos == 3
nuevo_mundo(i, j) = 1;
end
end
end
mundo = nuevo_mundo;
disp([‘generaciã³n ‘, num2str(gen), ‘:’]);
disp(mundo);
end
EJERCICIO 20
Calcular el área total determinada por la curva de ecuación
y=sen(4ln(x+1)) y el eje OX entre los puntos de abscisas x=0 y x=9,
utilizando bucles.
a = 0; % Punto inicial del intervalo b = 9; % Punto final del intervalo
n = 10000; % Número de divisiones (mayor número, mayor
precisión)

h = (b - a) / n; % Ancho de cada subintervalo


area = 0; % Inicializar el área
for i = 1:n
x0 = a + (i - 1) * h;
x1 = a + i * h;

y0 = sin(4 * log(x0 + 1));


y1 = sin(4 * log(x1 + 1));

area = area + (h / 2) * (y0 + y1); % Aplicar la fórmula del trapecio


end

disp(['El área aproximada bajo la curva es: ', num2str(area)]);


EJERCCICIOS CON WHILE

EJERCICIO 1
Calcular la factorial
PROGRAMA

n= input ('dame un numero: ');


acu=1;
i=1;
while i<n
i=i+1;
acu=acu*i;
end
fprintf('El factorial del numero %g es &g', n,acu)
ans:

dame un numero: 23
El factorial del numero 23 es &gEl factorial del numero 2.5852e+22
es &g

TABLA

EJERCICIO 2
En una empresa hay varios pisos y se desea contar
PROGRAMA
contador = 1;
% Bucle while
while contador <= 5
disp(['piso: ', num2str(contador)]);
contador = contador + 1;
end
RESPUESTA
ans:

piso: 1
piso: 2
piso: 3
piso: 4
piso: 5
TABLA

EJERCICIO 3
En un juego de mesa se quiere saber el número.
PROGRAMA
Adivina el número (entre 1 y 10): 11
Incorrecto. Inténtalo de nuevo.
Adivina el número (entre 1 y 10):
Incorrecto. Inténtalo de nuevo.
>> % Generar un número aleatorio
numero_secreto = randi([1, 10]);
% Inicialización
adivinanza = 0;
intentos = 0;
% Bucle while
while adivinanza ~= numero_secreto
adivinanza = input('Adivina el número (entre 1 y 10): ');
intentos = intentos + 1;
if adivinanza == numero_secreto
disp(['¡Correcto! Has adivinado en ', num2str(intentos), ' intentos.']);
else
disp('Incorrecto. Inténtalo de nuevo.');
end
end
TABLA

EJERCICIO 4
Para determinar quién fue el ganador de una carrera en función de
los tiempos registrados por varios participantes. Supongamos que
cada participante tiene un nombre y un tiempo de carrera, y
queremos encontrar al participante con el tiempo más bajo.
TABLA

EJERCICIO 5
Un estudiante desea calcular la velocidad final de un objeto en
caída libre desde una cierta altura, considerando la resistencia del
aire. Utilizaremos la ecuación de movimiento en caída libre con
resistencia del aire:
PROGRAMA
VF=VI2+2*g*h*e-kmt
Datos:
Vf=velocidad final
Vi=velocidad inicial (reposo =0)
g= gravedad 9,8m/s2
h=altura
K=coeficiente resistencia del aire
m=masa

t =tiempo

TABLA
EJERCICIO 6
29. Conteo ascendente del 10 al 25
PROGRAMA

disp('Conteo ascendente del 10 al 25:');


contador = 1;

while contador <= 25


disp(contador);
contador = contador + 4;
end

disp('Fin del ejercicio');

TABLA
EJERCICIO 7
n= input('dame un numero: ');
acu=1;
i=1;
while i<n
i=i+1;
acu=acu*i;
end
fprintf('El factorial del numero %g es &g', n,acu)
ans:
dame un numero: 237
El factorial del numero 237 es &gEl factorial del numero Inf es
&g>>

TABLA
EJERCICIO 8
Tabla de multiplicar del 4 hasta 10
PROGRAMA
numero = input('Ingresa un número para mostrar su tabla de
multiplicar: ');
contador = 1;
% Bucle while
while contador <= 10
resultado = numero * contador;

disp([num2str(numero), ' x ', num2str(contador), ' = ',


num2str(resultado)]);
contador = contador + 1;
end

TABLA
EJERCICIO 9
Tabla del 5 hasta 5
PROGRAMA
numero = input('Ingresa un número para mostrar su tabla de
multiplicar: ');
contador = 1;
% Bucle while
while contador <= 5
resultado = numero * contador;
disp([num2str(numero), ' x ', num2str(contador), ' = ',
num2str(resultado)]);
contador = contador + 1;
end
TABLA

EJERCICIO 10
Suma números pares hasta 20
PROGRAMA
limite = input('Ingresa un número límite para la suma de pares: ');
suma_pares = 0;
numero = 2;
% Bucle while
while numero <= limite
suma_pares = suma_pares + numero;
numero = numero + 2;
end
disp(['La suma de los números pares hasta ', num2str(limite), ' es ',
num2str(suma_pares)]);
TABLA

EJERCICIO 11
Suma de los dígitos
PROGRAMA
numero = input('Ingresa un número para sumar sus dígitos: ');
suma_digitos = 0;
% Bucle while
while numero > 0
suma_digitos = suma_digitos + mod(numero, 10);
numero = floor(numero / 10);
end
disp(['La suma de los dígitos es: ', num2str(suma_digitos)]);
TABLA

EJERCICIO 12
Realiza la suma hasta el límite de 100 primeros números
PROGRAMA
% Inicialización
limite = 100;
suma = 0;
contador = 1;
% Bucle while
while contador <= limite
suma = suma + contador;
contador = contador + 1;
end
disp(['La suma de los primeros ', num2str(limite), ' números es: ',
num2str(suma)]);
EJERCICIO 13

Realiza la suma de los 50 primeros números que van de dos en dos

PROGRAMA

limite = 50;
suma = 0;
contador = 2;
% Bucle while
while contador <= limite
suma = suma + contador;
contador = contador + 1;
end
disp(['La suma de los primeros ', num2str(limite), ' números es: ',
num2str(suma)]);
TABLA

EJERCICIO 14
Ascendente hasta el 20 que va de 2 en 2

PROGRAMA
isp('Números del 1 al 10 ascendente')
numero = 1;
while numero <= 20
disp(numero)
numero = numero + 2;
% contador que incrementa el numero inicial
end
disp('Fin del ejercicio')

TABLA

EJERCICIO 15
Números descendentes desde 8
PROGRAMA

disp('Números del 1 al 10 descendente')


numero = 8;

while numero >= 1


disp(numero)
numero = numero - 1; % contador que decrementa el numero
inicial
end

disp('Fin del ejercicio')

TABLA

EJERCICIO 16

Genera la secuencia de Collatz para un numero dado hasta que


alcance 1

numero = 27;

while numero ~= 1

disp(numero) ;

if mod(numero, 2) == 0

numero = numero / 2;
else

numero = 3 * numero + 1;

end

end

disp(1); % Mostrar el ðltimo nðmero

(1)de la secuencia.
EJERCICIO 17
Utiliza la formula de leinbinz para aproximar PI con un numero
dado de términos

terminos = 1000;
suma = 0;
n = 0;
while n<= terminos
suma = suma + (-1)^n / (2*n + 1);
n = n + 1;
end
aproximación_pi = 4 * suma;
disp([´AproximaciÃ3n de PI : ´
num2str(aproximación_pi)]);
EJERCICIO 18
Calcula la suma de los cuadrados de los números naturales
hasta que la suma sea mayor que 100.

suma = 0;
numero = 1;
while suma <= 100
suma = suma + numero^2;
numero = numero + 1;
end
disp.([´ suma de cuadrados : ´
num2str(suma)]);
EJERCICIO 19
Calcular la suma de los primeros N números
% Calcular la suma de los primeros N números N = 5;

suma = 0;

contador = 1;

while contador <= N

suma = suma + contador;

contador = contador + 1;

end

disp(['La suma de los primeros ', num2str(N), ' números es: ',
num2str(suma)]);

EJERCICIO 20

Graficar una función senoidal

% Parámetros de la función senoidal amplitud = 1;

frecuencia = 0.1;

fase = 0;

% Configuración de la figura figure;


hPlot = plot(-10:0.1:10, amplitud * sin(2 * pi * frecuencia * (-
10:0.1:10) + fase)); title('Gráfico de una Función Senoidal sin
Movimiento');

xlabel('Tiempo');

ylabel('Amplitud');

grid on;

% Bucle while vacío para mantener el gráfico abierto

while ishandle(hPlot)

% El bucle está vacío ya que no hay movimiento en el gráfico

pause(0.1);

end

También podría gustarte