Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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
PROGRAMACIÓN:
RESPUESTA
>> Untitled
Valor encontrado en la posición 4
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
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:
RESPUESTA
>> Untitled
30
PROGRAMACIÓN:
>> Untitled
Ingrese un número positivo: 43
Número ingresado: 43
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
PROGRAMACIÓN
Adivina el número: 24
Incorrecto. Intenta de nuevo.
Adivina el número: 11
Incorrecto. Intenta de nuevo.
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
>> Untitled
Opción 1
Opción 2
Opción 3
Saliendo de la calculadora.
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
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
PROGRAMACIÓN
RESPUESTA
>> Untitled
Número de vocales en la cadena: 4
p) Impresión de patrón numérico:
PROGRAMACIÓN
RESPUESTA
>> Untitled
1
1 3
2 4
1 1
2 2
3 3
1 4
2 5
PROGRAMACIÓN
RESPUESTA
>> Untitled
El promedio es: 20
r) Adivina el número (versión simplificada):
PROGRAMACIÓN
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
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
>> Untitled
30
RESPUESTA
>> Untitled
Ingrese un número positivo: 12
Número ingresado: 12
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
>> 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
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
RESPUESTA
>> Untitled
Número de vocales en la cadena: 4
20
ejercicios
con IF,
ELSE Y
ELSEIF
1. Número positivo o negativo:
RESPUESTA
>> Untitled
Ingrese un número: 12
El número es positivo
2. Par o impar:
RESPUESTA
>> Untitled
Ingrese un número: 15
El número es impar
>> Untitled
Ingrese un número: 12
3. Mayor de tres números:
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:
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
>> 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:
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:
8. Calificación de estudiantes:
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
>> Untitled
Ingrese un año: 2003
El año no es bisiesto
10. Categoría de IMC (Índice de Masa Corporal):
RESPUESTA
>> Untitled
Ingrese el peso (kg): 56
Ingrese la altura (m): 1.56
Peso normal
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
RESPUESTA
>> Untitled
Ingrese el monto de la compra: 554
Descuento aplicado: $0
Total a pagar: $554
>> 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
RESPUESTA
>> Untitled
Ingrese la contraseña: 123
Contraseña no válida
RESPUESTA
>> Untitled
Ingrese la edad: 21
Categoría adulto
16. Número primo:
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
>> Untitled
Ingrese un año: 2003
Es de la era actual
>> Untitled
Ingrese un año: 1982
Es de la era anterior
RESPUESTA
>> Untitled
Ingrese un número entero positivo: 32
El factorial de 32 es 2.631308369336935e+35
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:
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