Está en la página 1de 32

Universidad Nacional del

Centro del Perú


Ingeniería Química
Ingeniería Química Industrial

Computación para
la ingeniería
Cátedra:
COMPUTACIÓN PARA LA INGENIERÍA
Catedrático:
ING. HUGO CAÑARI MARTICORENA
Estudiante:
REYNOSO SURCO, FIORELA ESTEFANY
20
ejercicios
con FOR
a) Suma de números hasta cierto límite:

PROGRAMACIÓN : RESPUESTA

limite = 5; >> Untitled


suma = 0;
15
for i = 1:limite
suma = suma + i;
end
disp(suma);

b) Búsqueda de un valor en un vector:

PROGRAMACIÓN:

vector = [3, 7, 12, 5, 9];


valor_buscado = 5;
encontrado = false;
for i = 1:length(vector)
if vector(i) == valor_buscado
encontrado = true;
disp(['Valor encontrado en la posición ',
num2str(i)]);
break;
end
end

RESPUESTA

>> Untitled
Valor encontrado en la posición 4

c) Raíces cuadradas hasta cierto límite:

PROGRAMACIÓN:

limite = 5;
for i = 1:limite
raiz_cuadrada = sqrt(i);
disp(['Raíz cuadrada de ', num2str(i), ' es ',
num2str(raiz_cuadrada)]);
end
RESPUESTA

>> Untitled
Raíz cuadrada de 1 es 1
Raíz cuadrada de 2 es 1.4142
Raíz cuadrada de 3 es 1.7321
Raíz cuadrada de 4 es 2
Raíz cuadrada de 5 es 2.2361

d) Generación de una secuencia Fibonacci:

PROGRAMACIÓN:

a = 0;
b = 1;
limite = 10;
for i = 1:limite
disp(a);
temp = a + b;
a = b;
b = temp;
end

RESPUESTA

>> Untitled
0

13

21

34
e) Suma de elementos en un vector:

PROGRAMACIÓN:

vector = [2, 4, 6, 8, 10];


suma = 0;
for i = 1:length(vector)
suma = suma + vector(i);
end
disp(suma);

RESPUESTA

>> Untitled
30

f) Validación de entrada de usuario:

PROGRAMACIÓN:

numero = input('Ingrese un número positivo: ');


while numero <= 0
disp('Error. Ingrese un número positivo.');
numero = input('Ingrese un número positivo: ');
end
disp(['Número ingresado: ', num2str(numero)]);
RESPUESTA

>> Untitled
Ingrese un número positivo: 43
Número ingresado: 43

g) Conteo de dígitos en un número:

PROGRAMACIÓN

numero = 54321;
contador = 0;
while numero > 0
contador = contador + 1;
numero = floor(numero / 10);
end
disp(['El número tiene ', num2str(contador), ' dígitos.']);
RESPUESTA

>> Untitled
El número tiene 5 dígitos.

h) Tabla de multiplicar:
PROGRAMACIÓN

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

RESPUESTA

>> Untitled
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70

i) Juego adivina el número:

PROGRAMACIÓN

numero_secreto = randi([1, 100]);


intentos = 0;
for intentos = 1:3
adivinanza = input('Adivina el número: ');
if adivinanza == numero_secreto
disp(['¡Correcto! El número era ',
num2str(numero_secreto), '.']);
break;
else
disp('Incorrecto. Intenta de nuevo.');
end
end
RESPUESTA

Adivina el número: 24
Incorrecto. Intenta de nuevo.
Adivina el número: 11
Incorrecto. Intenta de nuevo.

j) Simulación de lanzamiento de moneda hasta obtener 3 caras seguidas:

PROGRAMACIÓN

caras_seguidas = 0;
lanzamientos = 0;
while caras_seguidas < 3
resultado = randi([0, 1]); % 0 representa cruz, 1
representa cara
lanzamientos = lanzamientos + 1;
if resultado == 1
caras_seguidas = caras_seguidas + 1;
else
caras_seguidas = 0;
end
end
disp(['Se necesitaron ', num2str(lanzamientos), '
lanzamientos para obtener 3 caras seguidas.']);

RESPUESTA

>> Untitled
Se necesitaron 8 lanzamientos para obtener 3 caras
seguidas.
>> Untitled
Se necesitaron 10 lanzamientos para obtener 3 caras
seguidas.
k) Validación de contraseña:

PROGRAMACIÓN

contrasena_correcta = 'secreto123';
intentos = 1;
for intentos = 1:3
contrasena_ingresada = input('Ingrese la
contraseña: ', 's');
if strcmp(contrasena_ingresada,
contrasena_correcta)
disp('Contraseña correcta. Bienvenido.');
break;
else
disp('Contraseña incorrecta. Intenta de
nuevo.');
end
end
if intentos > 3
disp('Número máximo de intentos alcanzado.
Acceso denegado.');
end

RESPUESTA

>> Untitled
Ingrese la contraseña: 111
Contraseña incorrecta. Intenta de nuevo.
Ingrese la contraseña: 231
Contraseña incorrecta. Intenta de nuevo.

l) Calculadora simple:

PROGRAMACIÓN

for opcion = 1:3


disp(['Opción ', num2str(opcion)]);
end
disp('Saliendo de la calculadora.');
RESPUESTA

>> Untitled
Opción 1
Opción 2
Opción 3
Saliendo de la calculadora.

m) Generación de números primos:

PROGRAMACIÓN

limite = 50;
for numero_actual = 2:limite
es_primo = true;
for divisor = 2:sqrt(numero_actual)
if rem(numero_actual, divisor) == 0
es_primo = false;
break;
end
end
if es_primo
disp(['Número primo: ',
num2str(numero_actual)]);
end
end

RESPUESTA

>> Untitled
Número primo: 19
Número primo: 2
Número primo: 23
Número primo: 3
Número primo: 29
Número primo: 5
Número primo: 31
Número primo: 7
Número primo: 37
Número primo: 11
Número primo: 41
Número primo: 13
Número primo: 43
Número primo: 17
Número primo: 47
n) Conversión de temperatura Celsius a Fahrenheit:

PROGRAMACIÓN

for celsius = 0:10:100


fahrenheit = (celsius * 9/5) + 32;
disp([num2str(celsius), '°C es igual a ',
num2str(fahrenheit), '°F']);
end

RESPUESTA

>> Untitled
0°C es igual a 32°F
10°C es igual a 50°F
20°C es igual a 68°F
30°C es igual a 86°F
40°C es igual a 104°F
50°C es igual a 122°F
60°C es igual a 140°F
70°C es igual a 158°F
80°C es igual a 176°F
90°C es igual a 194°F
100°C es igual a 212°F

o) Contador de vocales en una cadena:

PROGRAMACIÓN

cadena = 'hola mundo';


contador_vocales = 0;
for indice = 1:length(cadena)
if any(cadena(indice) == 'aeiouAEIOU')
contador_vocales = contador_vocales + 1;
end
end
disp(['Número de vocales en la cadena: ',
num2str(contador_vocales)]);

RESPUESTA

>> Untitled
Número de vocales en la cadena: 4
p) Impresión de patrón numérico:

PROGRAMACIÓN

for fila = 1:5


for columna = 1:fila
disp(columna);
end
end

RESPUESTA

>> Untitled
1

1 3

2 4

1 1

2 2

3 3

1 4

2 5

q) Cálculo del promedio de una lista de números:

PROGRAMACIÓN

lista = [10, 15, 20, 25, 30];


suma = 0;
for indice = 1:length(lista)
suma = suma + lista(indice);
end
promedio = suma / length(lista);
disp(['El promedio es: ',
num2str(promedio)]);

RESPUESTA

>> Untitled
El promedio es: 20
r) Adivina el número (versión simplificada):

PROGRAMACIÓN

numero_secreto = randi([1, 10]);


for intentos = 1:3
adivinanza = input('Adivina el número (entre 1 y
10): ');
if adivinanza == numero_secreto
disp('¡Correcto! Has adivinado el número.');
break;
else
disp('Incorrecto. Intenta de nuevo.');
end
end

RESPUESTA

>> Untitled
Adivina el número (entre 1 y 10): 1
Incorrecto. Intenta de nuevo.
Adivina el número (entre 1 y 10): 3
Incorrecto. Intenta de nuevo.

s) Contador descendente:

for i = 10:-1:1
disp(i);
end
RESPUESTA
6
>> Untitled
10 5

9 4

8 3

7 2

1
12
ejercicios
con WHILE
1) Raíces cuadradas hasta cierto límite:

limite = 5;
contador = 1;
while contador <= limite
raiz_cuadrada = sqrt(contador);
disp(['Raíz cuadrada de ', num2str(contador),
' es ', num2str(raiz_cuadrada)]);
contador = contador + 1;
end

RESPUESTA

>> Untitled
Raíz cuadrada de 1 es 1
Raíz cuadrada de 2 es 1.4142
Raíz cuadrada de 3 es 1.7321
Raíz cuadrada de 4 es 2
Raíz cuadrada de 5 es 2.2361

2) Generación de una secuencia Fibonacci:

RESPUESTA
a = 0;
b = 1; >> Untitled
limite = 10;
while a <= limite 0
disp(a); 1
temp = a + b;
1
a = b;
b = temp; 2
end
3
5
8

3) Suma de elementos en un vector:

vector = [2, 4, 6, 8, 10];


suma = 0;
indice = 1;
while indice <= length(vector);
suma = suma + vector(indice);
indice = indice + 1;
end
disp(suma);
RESPUESTA

>> Untitled
30

4) Validación de entrada de usuario:

numero = input('Ingrese un número positivo: ');


while numero <= 0
disp('Error. Ingrese un número positivo.');
numero = input('Ingrese un número positivo:
');
end
disp(['Número ingresado: ', num2str(numero)]);

RESPUESTA

>> Untitled
Ingrese un número positivo: 12
Número ingresado: 12

5) Conteo de dígitos en un número:

numero = 54321;
contador = 0;
while numero > 0
contador = contador + 1;
numero = floor(numero / 10);
end
disp(['El número tiene ', num2str(contador), '
dígitos.']);

RESPUESTA

>> Untitled
El número tiene 5 dígitos.
6) Tabla de multiplicar:

numero = 7;
multiplicador = 1;
while multiplicador <= 10
resultado = numero * multiplicador;
disp([num2str(numero), ' x ',
num2str(multiplicador), ' = ',
num2str(resultado)]);
multiplicador = multiplicador + 1;
end

RESPUESTA

>> Untitled
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70

7) Juego adivina el número:

numero_secreto = randi([1, 100]);


adivinanza = 0;
intentos = 0;
while adivinanza ~= numero_secreto
adivinanza = input('Adivina el número: ');
intentos = intentos + 1;
if adivinanza < numero_secreto
disp('Demasiado bajo. Intenta de nuevo.');
elseif adivinanza > numero_secreto
disp('Demasiado alto. Intenta de nuevo.');
else
disp(['¡Correcto! El número era ',
num2str(numero_secreto), '.']);
disp(['Número de intentos: ', num2str(intentos)]);
end
end
RESPUESTA

>> Untitled
Adivina el número: 54232
Demasiado alto. Intenta de nuevo.
Adivina el número: 23
Demasiado bajo. Intenta de nuevo.
Adivina el número: 5555
Demasiado alto. Intenta de nuevo.
Adivina el número: 322

8) Simulación de lanzamiento de moneda hasta obtener 3 caras seguidas:

caras_seguidas = 0;
lanzamientos = 0;
while caras_seguidas < 3
resultado = randi([0, 1]); % 0 representa cruz, 1
representa cara
lanzamientos = lanzamientos + 1;
if resultado == 1
caras_seguidas = caras_seguidas + 1;
else
caras_seguidas = 0;
end
end
disp(['Se necesitaron ', num2str(lanzamientos), '
lanzamientos para obtener 3 caras seguidas.']);

RESPUESTA

>> Untitled
Se necesitaron 8 lanzamientos para obtener 3 caras
seguidas.
9) Validación de contraseña:

contrasena_correcta = 'secreto123';
contrasena_ingresada = input('Ingrese la
contraseña: ', 's');
intentos = 1;
while ~strcmp(contrasena_ingresada,
contrasena_correcta) && intentos < 3
disp('Contraseña incorrecta. Intenta de
nuevo.');
contrasena_ingresada = input('Ingrese la
contraseña: ', 's');
intentos = intentos + 1;
end
if strcmp(contrasena_ingresada,
contrasena_correcta)
disp('Contraseña correcta. Bienvenido.');
else
disp('Número máximo de intentos
alcanzado. Acceso denegado.');
end

RESPUESTA

>> Untitled
Ingrese la contraseña: 3332
Contraseña incorrecta. Intenta de nuevo.
Ingrese la contraseña: secreto123
Contraseña correcta. Bienvenido.
10) Calculadora simple:

opcion = 0;
while opcion = 4
disp('1. Sumar');
disp('2. Restar');
disp('3. Multiplicar');
disp('4. Salir');
opcion = input('Seleccione una opción: ');
switch opcion
case 1
num1 = input('Ingrese el primer
número: ');
num2 = input('Ingrese el segundo
número: ');
resultado = num1 + num2;
disp(['La suma es: ',
num2str(resultado)]);
case 2
num1 = input('Ingrese el primer
número: ');
num2 = input('Ingrese el segundo
número: ');
resultado = num1 - num2;
disp(['La resta es: ',
num2str(resultado)]);
case 3
num1 = input('Ingrese el primer
número: ');
num2 = input('Ingrese el segundo
número: ');
resultado = num1 * num2;
disp(['La multiplicación es: ',
num2str(resultado)]);
case 4
disp('Saliendo de la
calculadora.');
otherwise
disp('Opción no válida. Inténtelo
de nuevo.');
end
11) Conversión de temperatura Celsius a Fahrenheit:

celsius = 0;
while celsius <= 100
fahrenheit = (celsius * 9/5) + 32;
disp([num2str(celsius), '°C es igual a ',
num2str(fahrenheit), '°F']);
celsius = celsius + 10;
end
RESPUESTA

>> Untitled
0°C es igual a 32°F
10°C es igual a 50°F
20°C es igual a 68°F
30°C es igual a 86°F
40°C es igual a 104°F
50°C es igual a 122°F
60°C es igual a 140°F
70°C es igual a 158°F
80°C es igual a 176°F
90°C es igual a 194°F
100°C es igual a 212°F

12) Contador de vocales en una cadena:

cadena = 'hola mundo';


indice = 1;
contador_vocales = 0;
while indice <= length(cadena)
if any(cadena(indice) == 'aeiouAEIOU')
contador_vocales = contador_vocales + 1;
end
indice = indice + 1;
end
disp(['Número de vocales en la cadena: ',
num2str(contador_vocales)]);

RESPUESTA

>> Untitled
Número de vocales en la cadena: 4
20
ejercicios
con IF,
ELSE Y
ELSEIF
1. Número positivo o negativo:

num = input('Ingrese un número: ');


if num > 0
disp('El número es positivo');
elseif num < 0
disp('El número es negativo');
else
disp('El número es cero');
end

RESPUESTA

>> Untitled
Ingrese un número: 12
El número es positivo

2. Par o impar:

num = input('Ingrese un número: ');


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

RESPUESTA

>> Untitled
Ingrese un número: 15
El número es impar
>> Untitled
Ingrese un número: 12
3. Mayor de tres 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 primer número es el mayor');
elseif b >= a && b >= c
disp('El segundo número es el mayor');
else
disp('El tercer número es el mayor');
end

RESPUESTA

>> Untitled
Ingrese el primer número: 2
Ingrese el segundo número: 1
Ingrese el tercer número: 4
El tercer número es el mayor

4. Calculadora simple:

operacion = input('Ingrese la operación (+, -,


*, /): ', 's');
num1 = input('Ingrese el primer número: ');
num2 = input('Ingrese el segundo número: ');

if operacion == '+'
resultado = num1 + num2;
elseif operacion == '-'
resultado = num1 - num2;
elseif operacion == '*'
resultado = num1 * num2;
elseif operacion == '/'
resultado = num1 / num2;
else
disp('Operación no válida');
return;
end

disp(['El resultado es: ' num2str(resultado)]);


RESPUESTA

>> Untitled
Ingrese la operación (+, -, *, /): 5+4+6
Ingrese el primer número: 12
Ingrese el segundo número: 4
Operación no válida

5. Categoría de edad:

edad = input('Ingrese la edad: ');

if edad < 18
disp('Eres menor de edad');
elseif edad >= 18 && edad <= 65
disp('Eres adulto');
else
disp('Eres adulto mayor');
end

RESPUESTA

>> Untitled
Ingrese la edad: 34
Eres adulto

6. Día de la semana:

dia = input('Ingrese el día de la semana (1-


7): ');

if dia >= 1 && dia <= 5


disp('Es un día laboral');
elseif dia == 6 || dia == 7
disp('Es fin de semana');
else
disp('Número de día no válido');
end
RESPUESTA

Ingrese el día de la semana (1-7): 2


Es un día laboral

7. Ordenar tres 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


menor = a;
if b <= c
medio = b;
mayor = c;
else
medio = c;
mayor = b;
end
elseif b <= a && b <= c
menor = b;
if a <= c
medio = a;
mayor = c;
else
medio = c;
mayor = a;
end
else
menor = c;
if a <= b
medio = a;
mayor = b;
else
medio = b;
mayor = a;
end
end

disp(['Orden ascendente: ' num2str(menor)


', ' num2str(medio) ', ' num2str(mayor)]);
RESPUESTA
>> Untitled
Ingrese el primer número: 3
Ingrese el segundo número: 2
Ingrese el tercer número: 1
Orden ascendente: 1, 2, 3

8. Calificación de estudiantes:

calificacion = input('Ingrese la calificación del


estudiante: ');

if calificacion >= 90
disp('A');
elseif calificacion >= 80
disp('B');
elseif calificacion >= 70
disp('C');
elseif calificacion >= 60
disp('D');
else
disp('F');
end

RESPUESTA
>> Untitled
Ingrese la calificación del estudiante: 15
F

9. Comprobar si un año es bisiesto:

anio = input('Ingrese un año: ');

if rem(anio, 4) == 0 && (rem(anio, 100) ~= 0 ||


rem(anio, 400) == 0)
disp('El año es bisiesto');
else
disp('El año no es bisiesto');
end
RESPUESTA

>> Untitled
Ingrese un año: 2003
El año no es bisiesto
10. Categoría de IMC (Índice de Masa Corporal):

peso = input('Ingrese el peso (kg): ');


altura = input('Ingrese la altura (m): ');

imc = peso / (altura^2);

if imc < 18.5


disp('Bajo peso');
elseif imc >= 18.5 && imc < 25
disp('Peso normal');
elseif imc >= 25 && imc < 30
disp('Sobrepeso');
else
disp('Obesidad');
end

RESPUESTA
>> Untitled
Ingrese el peso (kg): 56
Ingrese la altura (m): 1.56
Peso normal

11. Convertir grados Celsius a Fahrenheit o viceversa:

opcion = input('Ingrese 1 para convertir de Celsius a


Fahrenheit, o 2 para convertir de Fahrenheit a Celsius: ');

if opcion == 1
celsius = input('Ingrese la temperatura en grados
Celsius: ');
fahrenheit = (celsius * 9/5) + 32;
disp(['La temperatura en Fahrenheit es: '
num2str(fahrenheit)]);
elseif opcion == 2
fahrenheit = input('Ingrese la temperatura en grados
Fahrenheit: ');
celsius = (fahrenheit - 32) * 5/9;
disp(['La temperatura en Celsius es: '
num2str(celsius)]);
else
disp('Opción no válida');
end
RESPUESTA

>> Untitled
Ingrese 1 para convertir de Celsius
a Fahrenheit, o 2 para convertir de
Fahrenheit a Celsius: 46
Opción no válida

12. Calculadora de descuento:

monto = input('Ingrese el monto de la compra: ');

if monto >= 1000


descuento = 0.1 * monto;
else
descuento = 0;
end

totalPagar = monto - descuento;


disp(['Descuento aplicado: $'
num2str(descuento)]);
disp(['Total a pagar: $' num2str(totalPagar)]);

RESPUESTA
>> Untitled
Ingrese el monto de la compra: 554
Descuento aplicado: $0
Total a pagar: $554

13. Clasificación de triángulos:

lado1 = input('Ingrese la longitud del primer lado del


triángulo: ');
lado2 = input('Ingrese la longitud del segundo lado del
triángulo: ');
lado3 = input('Ingrese la longitud del tercer lado del
triángulo: ');

if lado1 == lado2 && lado2 == lado3


disp('Triángulo equilátero');
elseif lado1 == lado2 || lado1 == lado3 || lado2 == lado3
disp('Triángulo isósceles');
else
disp('Triángulo escaleno');
end
RESPUESTA

>> Untitled
Ingrese la longitud del primer lado del triángulo: 12
Ingrese la longitud del segundo lado del triángulo: 31
Ingrese la longitud del tercer lado del triángulo: 42
Triángulo escaleno

14. Validar una contraseña:

contrasena = input('Ingrese la contraseña: ');

if length(contrasena) >= 8 &&


any(isletter(contrasena)) &&
any(isdigit(contrasena))
disp('Contraseña válida');
else
disp('Contraseña no válida');
end

RESPUESTA

>> Untitled
Ingrese la contraseña: 123
Contraseña no válida

15. Categoría de deporte según la edad:

edad = input('Ingrese la edad: ');

if edad >= 5 && edad <= 12


disp('Categoría infantil');
elseif edad >= 13 && edad <= 18
disp('Categoría juvenil');
else
disp('Categoría adulto');
end

RESPUESTA

>> Untitled
Ingrese la edad: 21
Categoría adulto
16. Número primo:

numero = input('Ingrese un número: ');

esPrimo = true;

for i = 2:sqrt(numero)
if rem(numero, i) == 0
esPrimo = false;
break;
end
end

if esPrimo
disp('El número es primo');
else
disp('El número no es primo');
end

RESPUESTA

>> Untitled
Ingrese un número: 53
El número es primo
>> Untitled
Ingrese un número: 21
El número no es primo

17. Determinar si un año es de la era actual o anterior:

anio = input('Ingrese un año: ');

if anio >= 2000


disp('Es de la era actual');
else
disp('Es de la era anterior');
end
RESPUESTA

>> Untitled
Ingrese un año: 2003
Es de la era actual
>> Untitled
Ingrese un año: 1982
Es de la era anterior

18. Calcular la factorial de un número:

numero = input('Ingrese un número entero


positivo: ');

if numero < 0 || rem(numero, 1) ~= 0


disp('Número no válido');
else
factorial = 1;
for i = 1:numero
factorial = factorial * i;
end
disp(['El factorial de ' num2str(numero) ' es
' num2str(factorial)]);
end

RESPUESTA

>> Untitled
Ingrese un número entero positivo: 32
El factorial de 32 es 2.631308369336935e+35

19. Simulador de semáforo:

color = input('Ingrese el color del


semáforo (rojo, amarillo, verde): ',
's');

if strcmpi(color, 'rojo')
disp('Alto');
elseif strcmpi(color, 'amarillo')
disp('Precaución');
elseif strcmpi(color, 'verde')
disp('Avance');
else
20. Verificar si un año es olímpico:

anio = input('Ingrese un año: ');

if rem(anio, 4) == 0 && rem(anio, 100) ~= 0 ||


rem(anio, 400) == 0
disp('Es un año olímpico');
else
disp('No es un año olímpico');
end

RESPUESTA

>> Untitled
Ingrese un año: 2010
No es un año olímpico
>> Untitled
Ingrese un año: 2023
No es un año olímpico

También podría gustarte