Está en la página 1de 12

Desarrollo del componente práctico del curso Software para ingeniería

Estudiantes

CARLOS ANDRES GOMEZ– CC 1106894007 cagomezard@unadvirtual.edu.co

Docente
Francisco Javier

Programa
203036 - Software Para Ingeniería

Grupo:

203036_98

Universidad Nacional Abierta Y A Distancia – UNAD

Escuela De Ciencias Básicas, Tecnología E Ingeniería 2023

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
Desarrollo de la actividad

2. Bucles
a. Cree un programa que genere un vector aleatorio de orden m que contenga números
enteros en el rango de 0 a 100. El usuario debe indicar el valor de m.
Una vez creado el vector, se debe identificar si sus elementos son números 3 pares o impares
(indicarlo por cada número que haga parte del vector). Para determinar dicha condición (par o
impar) no se le permite utilizar funciones predefinidas en ninguna de las líneas de código que
tengan este propósito.

Solución:
% Pedir al usuario el valor de m
m = input('Ingrese el valor de m: ');

% Crear un vector de longitud m con valores aleatorios entre 0 y


100 vector = randi([0, 100], 1, m);

% Identificar si cada elemento del vector es par o


impar fprintf('Los elementos del vector son:\n')
for i = 1:m
valor = vector(i);
if mod(valor, 2) == 0
fprintf('%d es par\n',
valor)
else
fprintf('%d es impar\n', valor)
end

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
b. Cree un programa que solicite un número mayor o igual a cero y calcule el factorial de su
parte entera. Para el cálculo del factorial no se le permite hacer uso de funciones
predefinidas de Matlab.

Solución:

c. Cree un programa que le permita al usuario ingresar números mayores a 1. El usuario


podrá ingresar tantos números como desee y el programa finaliza la recepción sólo cuando
el usuario ingrese un cero. Los números ingresados se deben almacenar en un vector.
Además, debe indicar en pantalla cuáles números son primos.

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
Solución:

% Inicializar el vector de números


ingresados numeros = [];

% Pedir al usuario que ingrese números mayores a 1


while true
num = input('Ingrese un número mayor a 1 (o 0 para salir): ');
if num == 0
break
elseif num > 1
numeros(end+1) = num;
else
fprintf('Error: el número debe ser mayor a 1\n');
end
end

% Identificar cuáles números son primos y almacenarlos en un vector


primos = [];

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
for i = 1:length(numeros)
num = numeros(i);
if es_primo(num)
primos(end+1) = num;
end
end

% Imprimir los números primos


fprintf('Los números primos ingresados son: ');
for i = 1:length(primos)
fprintf('%d ', primos(i));
end fprintf('\
n');

% Función para verificar si un número es primo

function resultado =
es_primo(num) if num == 2
resultado =
true; return
elseif mod(num, 2) ==
0 resultado =
false; return
end
for i = 3:2:sqrt(num)
if mod(num, i) ==
0
resultado =
false; return
end
end
resultado = true;
end

3. Programación modular
a. Imprimir la sucesión de Fibonacci hasta un número determinado por el usuario.

b. Imprimir la sucesión de cubos perfectos (números enteros al cubo) para los números enteros
que se encuentran dentro de un rango determinado por el usuario.

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
Solución:

4. Gráficas bidimensionales y funciones gráficas


a. Representar gráficamente las siguientes funciones en ventanas diferentes, en el intervalo
[0,2𝜋]:
𝒇(𝒙) = 𝐜𝐨𝐬(𝒙)
Solución:

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
(𝒙𝟐 + 𝟑𝒙)
𝒈(𝒙) =
𝟐

b. Dibujar la función donde 𝑥 es un vector de 300 números que se encuentran en el rango de


0 a 10. El trazo de la gráfica debe ser de color magenta
𝒄𝒐𝒔(𝟐𝟎𝒙)
𝒇(𝒙) =
𝒆𝒙
Solución:

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
c. Represente las siguientes curvas en gráficos diferentes, pero en la misma ventana, es decir,
organizadas de manera vertical y horizontal utilizando el comando subplot:
2
𝑓(𝑥) = (𝑥)
2
𝑔(𝑥) = −𝑥2
ℎ(𝑥) = (𝑥 − 2)2
𝑘(𝑥) = 𝑥2 − 2
Solución:

5. Interfaz gráfica de usuario

a. Realice la interfaz gráfica de usuario para cualquiera de los puntos de las secciones “2. Bucles”
o “3. Programa modular” o “4. Gráficas bidimensionales y funciones gráficas” Nota:
Seleccionar solo un ítem, por ejemplo: el grupo desea realizar la interfaz gráfica asociada al
ítem de Bucles respecto al ejercicio 3.a

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
Solución:

function varargout =

interfas2(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @interfas2_OpeningFcn,
... 'gui_OutputFcn', @interfas2_OutputFcn,
... 'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State,
varargin{:}); else
gui_mainfcn(gui_State, varargin{:});
end

function interfas2_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = interfas2_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function button1_Callback(hObject, eventdata, handles)


x = linspace(0,2*pi);
y = cos(x);
plot(x,y,'b-s')

function button2_Callback(hObject, eventdata,


handles) b = linspace(0,2*pi);
axes(handles.axes1);
g = (b.^2+3*b)/(2);
plot(b,g,"r*");

function axes1_CreateFcn(hObject, eventdata, handles)

*Aplica para las sedes


José Celestino Mutis y
José Acevedo y Gómez
*Aplica para las sedes
José Celestino Mutis y
José Acevedo y Gómez
Conclusiones

La programación modular facilita la organización y estructuración del código de una manera


lógica y comprensible, lo que simplifica el mantenimiento y la solución de problemas a futuro.

Las gráficas bidimensionales constituyen una herramienta valiosa para visualizar datos de forma
clara y concisa. Es esencial elegir el tipo de gráfico apropiado para representar la información que se
desea presentar.

Estas herramientas son fundamentales en la programación y el análisis de datos en diversas áreas,


como ciencias, ingeniería y finanzas. Comprender cómo utilizarlas es crucial para aplicarlas de manera
efectiva en proyectos y análisis de datos.

*Aplica para las sedes


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

Hahn, B. D., & Valentine, D. T. (2013). Essential MATLAB for Engineers and Scientists (Vol.
Fifth edition). Waltham, MA: Academic Press. (Capítulos 8. Pp. 179-191. Capítulo 9. Pp.
197-215. Capítulo 11.).
https://bibliotecavirtual.unad.edu.co/login?url=https://search.ebscohost.com/login.aspx?d
irect=true&db=nlebk&AN=485981&lang=es&site=eds-
live&scope=site&ebv=EB&ppid=pp_179

Mircea Ancău, A. (2019). Practical Optimization with MATLAB. Cambridge Scholars Publishing
(Pp. 2-9)
https://bibliotecavirtual.unad.edu.co/login?url=https://search.ebscohost.com/login.aspx?d
irect=true&db=nlebk&AN=2270852&lang=es&site=eds-
live&scope=site&ebv=EB&ppid=pp_2

*Aplica para las sedes


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

También podría gustarte