Está en la página 1de 11

Paso 3 – Resuelve algoritmos mediante sentencias de programación

NOMBRE DEL ESTUDIANTE


()

TUTOR A CARGO
()

GRUPO
()

LUGAR Y FECHA DE ELABORACION


()

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
Evidencia de interacción en el foro de discusión Paso 3:

Desarrollo de actividades:

1. Instrucciones de entrada y salida de información

Codigo:

% Solicitar al usuario que ingrese una frecuencia en Hz dentro del rango


permitido
frecuenciaHz = input('Ingrese la frecuencia en Hz (debe estar entre 500000 y
9000000 Hz): ');

% Comprobar que la frecuencia esté dentro del rango permitido


while (frecuenciaHz < 500000) || (frecuenciaHz > 9000000)
fprintf('Error: La frecuencia debe estar entre 500000 y 9000000 Hz.\n');
frecuenciaHz = input('Por favor, ingrese la frecuencia en Hz nuevamente: ');
end

% Preguntar al usuario en qué unidad desea convertir la frecuencia


opcion = input('¿Desea convertir la frecuencia a GHz (1) o a kHz (2)? Ingrese 1
para GHz y 2 para kHz: ');

% Verificar la opción ingresada y calcular la conversión adecuada


if opcion == 1
% Convertir Hz a GHz
frecuenciaGHz = frecuenciaHz / 1e9;
fprintf('La frecuencia es %.6f GHz.\n', frecuenciaGHz);
elseif opcion == 2
% Convertir Hz a kHz
frecuenciaKHz = frecuenciaHz / 1e3;
fprintf('La frecuencia es %.3f kHz.\n', frecuenciaKHz);
else
fprintf('Opción no válida. Ejecute el programa nuevamente y seleccione una
opción correcta.\n');
end

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
Descripción del Código

Input de Frecuencia: El script comienza solicitando al usuario que


ingrese una frecuencia en Hz. Se asegura de que la entrada esté
en el rango de 500,000 a 9,000,000 Hz usando un bucle while.

Selección de Unidad para Conversión: El usuario debe elegir si


quiere convertir la frecuencia a GHz o kHz.

Conversión y Resultados: Dependiendo de la elección del usuario,


el programa realiza la conversión correspondiente. Utiliza 1e9 para

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
GHz y 1e3 para kHz, y luego muestra el resultado en la unidad
seleccionada.

Validación: Se incluyen comprobaciones para asegurar que la


selección de unidad es válida.

2. Sentencia – bucle While

Código:

3. % Solicitar al usuario que ingrese los valores de resistencia


4. R1 = input('Ingrese el valor de la resistencia R1 (en Ohm): ');
5. R2 = input('Ingrese el valor de la resistencia R2 (en Ohm): ');
6. R3 = input('Ingrese el valor de la resistencia R3 (en Ohm): ');
7. R4 = input('Ingrese el valor de la resistencia R4 (en Ohm): ');
8.
9. % Calcular la resistencia total en paralelo
10. RP = 1 / (1/R1 + 1/R2 + 1/R3 + 1/R4);
11.
12. % Mostrar el valor de la resistencia total
13. fprintf('La resistencia total en paralelo es: %.2f Ohm\n', RP);
14.
15. % Determinar el mayor y menor valor de resistencia ingresado
16. valores_resistencias = [R1, R2, R3, R4];
17. mayor_valor = max(valores_resistencias);
18. menor_valor = min(valores_resistencias);
19.
20. % Mostrar el mayor y menor valor de resistencia ingresado
21. fprintf('El mayor valor de resistencia ingresado es: %.2f Ohm\n',
mayor_valor);
22. fprintf('El menor valor de resistencia ingresado es: %.2f Ohm\n',
menor_valor);
23.

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
3. Sentencias if

Codigo:

% Pedir al usuario las dimensiones de la matriz A


filasA = input('Ingrese el número de filas de la matriz A: ');
columnasA = input('Ingrese el número de columnas de la matriz A: ');

% Crear y llenar la matriz A


A = zeros(filasA, columnasA);
disp('Ingrese los elementos de la matriz A:');
for i = 1:filasA
for j = 1:columnasA
A(i,j) = input(['Elemento (', num2str(i), ',', num2str(j), '): ']);
end

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
end

% Pedir al usuario las dimensiones de la matriz B


filasB = input('Ingrese el número de filas de la matriz B: ');
columnasB = input('Ingrese el número de columnas de la matriz B: ');

% Crear y llenar la matriz B


B = zeros(filasB, columnasB);
disp('Ingrese los elementos de la matriz B:');
for i = 1:filasB
for j = 1:columnasB
B(i,j) = input(['Elemento (', num2str(i), ',', num2str(j), '): ']);
end
end

% Verificar si las dimensiones de A y B son compatibles para la suma


if filasA == filasB && columnasA == columnasB
% Realizar la suma de las matrices
C = A + B;
disp('La suma de las matrices A y B es:');
disp(C);
else
disp('Error: Las dimensiones de las matrices A y B no son compatibles para
la suma.');
end

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
Explicación del Código:

Definir Dimensiones de Matrices: El programa primero pide al usuario


que ingrese las dimensiones de las matrices A y B.

Entrada de Datos de Matrices: Luego, el programa solicita al usuario que


ingrese los elementos de cada matriz. Aquí se usan bucles for anidados
para recorrer cada elemento de las matrices.

Verificación de Dimensiones: Antes de sumar las matrices, el programa


verifica si las dimensiones de A y B son compatibles, es decir, si tienen
el mismo número de filas y columnas.

Suma de Matrices: Si las matrices son compatibles, se suman y se


muestra el resultado.

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
Manejo de Errores: Si las dimensiones no son compatibles, se muestra
un mensaje de error.

4. Tipos de formatos

Codigos:

clear clc
% Pedir al usuario que ingrese los valores definidos
gamma_dot = input('Ingrese el valor de gamma punto (gamma_dot): ');
mu_infinity = input('Ingrese el valor de mu infinito (mu_infinity): ');
n = input('Ingrese el valor de n: ');
lambda = input('Ingrese el valor de lambda: ');
mu_0 = input('Ingrese el valor de mu_0: ');

% Calcular la viscosidad utilizando la ecuación proporcionada


mu_gamma = mu_infinity + (mu_0 - mu_infinity) * (1 + (lambda * gamma_dot)^2)^((n
- 1) / 2);

% Mostrar el resultado con 15 dígitos a la derecha del punto decimal


format long
fprintf('El valor de la viscosidad es: %.15f\n', mu_gamma);

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
5. Matrices

Código:

% Solicitar al usuario que ingrese los términos de la matriz M fila por fila
disp('Ingrese los términos de la matriz M fila por fila (separe los elementos
con comas):');
fila1 = input('Ingrese la primera fila: ');
fila2 = input('Ingrese la segunda fila: ');
fila3 = input('Ingrese la tercera fila: ');

% Construir la matriz M a partir de las filas ingresadas


M = [fila1; fila2; fila3];

% Mostrar la matriz ingresada


disp('Matriz M ingresada:');
disp(M);

% Preguntar al usuario si desea salir del algoritmo o cambiar los valores de la


primera fila
opcion = input('¿Desea salir del algoritmo (S) o cambiar los valores de la
primera fila por 1 (C)? [S/C]: ', 's');

% Verificar la opción ingresada por el usuario


if opcion == 'C' || opcion == 'c'
% Cambiar los valores de la primera fila por 1
M(1, :) = 1;

% Mostrar la matriz modificada


disp('Matriz M con los valores de la primera fila cambiados por 1:');

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
disp(M);
elseif opcion == 'S' || opcion == 's'
disp('Saliendo del algoritmo...');
else
disp('Opción no válida. Saliendo del algoritmo...');
end

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
6. Bibliografía:

Flórez, A. (2022). Comandos de entrada y salida de información con


software especializado.

Weeks, M. (2020). Programming Fundamentals Using MATLAB (pp. 50-


65).

Trujillo Cedeño, M. (2017). Introducción al modelado matemático con


MatLab (pp. 34-46).

El documento en formato pdf debe tener el siguiente nombre:


Nombre_Apellido_Grupo_xx_Paso_3, donde xx es el número del
grupo al que pertenece el estudiante.

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez

También podría gustarte