Sunteți pe pagina 1din 12

1

Software para Ingeniería

Jairo Alberto Martínez Jaimes


Grupo 203036A_616

Oscar Alberto Torres Bermúdez


Febrero 2020.

Docente
Pedro Javier Puentes

Universidad abierta y a distancia UNAD.


Vicerrectoría de Servicios a Aspirantes Estudiantes y Egresados -VISAE.
Software para Ingeniería
2

INTRODUCCIÓN

En el presente documento se verá plasmado el desarrollo de la fase 5, la cual consiste


en emplear herramientas de tratamiento matemático, en la solución o representación
matemática a problemas dentro del campo de la ingeniería de software (el término es
discutido por cuanto el desarrollo de software no es en muchas ocasiones considerado
como una ingeniería) es la aplicación de un enfoque sistemático, disciplinado y
cuantificable al desarrollo, operación y mantenimiento de software, y el estudio de
estos enfoques, es decir, el estudio de las aplicaciones de la ingeniería al software.
Integra matemáticas, ciencias de la computación y prácticas cuyos orígenes se
encuentran en la ingeniería.
3

1. Volver a leer el problema a resolver en el curso.

 Presente una idea solución al problema a resolver diligenciando la siguiente


tabla.

Tabla 1. Descripción de la idea propuesta para resolver el problema (no las


prácticas)

Ítem a resolver Respuesta


Descripción de la idea, 1. Inicio
realizarla a través de 2. contador = 0
Algoritmo o texto 3. puntuación = 0
explicativo. 4. Escribir "Ingrese el primer número de la matriz"
5. Leer primer número
6. matriz<-Generar Matriz (primer número)
7. Escribir "Ingrese de qué manera lo desea
solucionar
1)Horizontal
2)Vertical
8. Leer orden solución
9. Si orden solución = 1 Entonces
10. contador = 0
11. matriz = Movimientos(1, matriz)
12. puntación = Puntuación final(1, matriz)
13. Escribir "Se realizaron", contador "movimientos,
con una puntuación de: " ,puntuación
14. SiNo
15. contador = 0
16. matriz = Movimientos(0, matriz)
17. puntuación = Puntuación final(0, matriz)
18. Escribir "Se realizaron", contador, “movimientos,
con una puntuación de: " ,puntuación
19. Finsi
20. FinAlgoritmo
21. Función puntuación interna <- Puntuacion_final (
tipo solución, matriz )
22. Escribir "Parámetros de cálculo de los puntos"
23. Fin Función
24. Función matriz interna <- Movimientos (tipo
solución , matriz interna)
25. Mientras matriz = matriz ordenada o movimiento
= 5 Hacer
26. Escribir "Digite el número del movimiento a
realizar, 1)Arriba 2)Derecha 3)Abajo 4)Izquierda
5) Finalizar"
27. Según movimiento Hacer
28. 1: Si, existe número una posición arriba
Entonces matriz(posicion_numero_arriba) =
blanco matriz(posicion_blanco) =
posicion_numero_arriba
 Escribir matriz
 Si solución(tipo solución, matriz) == Verdadero
Entonces
 matriz interna = matriz
4

 FinSi
 contador(+)
 SiNo
 Escribir "Movimiento invalido"
 FinSi
28. 2: Si existe número una posición derecha
Entonces
 matriz(posicion_numero_derecha) = blanco
 matriz(posicion_blanco) =
posicion_numero_derecha
 Escribir matriz
 Si solución(tipo solución, matriz) == Verdadero
Entonces
 matriz interna = matriz
 FinSi
 contador++
 SiNo
 Escribir "Movimiento invalido"
 FinSi
29. 3:Si existe número una posición abajo Entonces
 matriz(posicion_numero_abajo) = blanco
 matriz(posicion_blanco) =
posicion_numero_abajo
 Escribir matriz
 Si solución(tipo solución, matriz) = Verdadero
Entonces
 matriz interna = matriz
 FinSi
 contador++
 SiNo
 Escribir "Movimiento invalido"
 Fin Si
30. 4: Si existe numero una posición izquierda
Entonces
 matriz(posicion_numero_izquierda) = blanco
 matriz(posicion_blanco) =
posicion_numero_izquierda
 Escribir matriz
 Si solución(tipo solución, matriz) == Verdadero
Entonces
 matriz interna = matriz
 FinSi
 contador++
 SiNo
 Escribir "Movimiento invalido"
 Fin Si
31. 5: matriz interna = matriz
 Fin Según
 Fin Mientras
 Fin Función
 Función solucionado <- solución ( tipo solución,
matriz )
5

Si matriz == matriz ordenada Entonces


solucionado = Verdadero
SiNo
solucionado = Falso
Fin Si
Fin Función
 Función matriz_ramdon <- Generar Matriz (
primer número)
Fin Función
32. FinAlgoritmo
Información de entrada  Ingresar contador
 Ingresar puntuación
 Ingresar el primer número de la matriz con el que
se iniciara el juego.
 Ingresar de qué manera lo desea solucionar
1)Horizontal
2)Vertical
Procesos  Movimientos de matriz de acuerdo con el primer
número ingresado.
 Mostrar matriz interna
 Mostrar puntaje interno
Información de salida  Mostrar Solución ( tipo solución, matriz )
 Mostrar Numero de movimientos
 Mostrar Puntaje final
Temas a consultar y la  Monroy, J. (2016). Conceptos Básicos de
referencia bibliográfica de programación. [Archivo de video] Recuperado
donde lo va a extraer. de http://hdl.handle.net/10596/10293
 Monroy, J. (2018). Fundamentos de
Programación en Software de Tratamiento
Matemático. [Archivo de video] Recuperado
de http://hdl.handle.net/10596/22302
 Scilab for very beginners. (2013). Capítulos 1-3.
pág. 1-18. Recuperado
de https://www.scilab.org/tutorials/scilab-
beginners-%E2%80%93-tutorial
 Scott Hudson (2014). Scilab Lectures. Pág. 1-9.
Recuperado
de http://users.tricity.wsu.edu/~hudson/Teaching/
EE221/Text/03%20Programming%20structures.p
df
 Gil, R. M. (2003). Introducción rápida a Matlab y
Simulink para ciencia e ingeniería. Madrid, ES:
Ediciones Díaz de Santos. Capítulo 1. pág. 1-21.
Capítulo 3. pág. 35-37 Recuperado
de http://bibliotecavirtual.unad.edu.co:2077/lib/un
adsp/reader.action?ppg=1&docID=11059428&tm
=1479848795401
6

ITEM A RESOLVER RESPUESTA


1. Inicio.
2. Ingresar número con que se inicializará la matriz.
3. Ingresar 1 para armado Horizontal ó 2 para
armado Vertical.
4. Con un comando como “rand(n,m)” generar la
matriz de 3x3 aleatoriamente con números
Descripción de la idea, consecutivos. Una de las 9 casillas deberá
realizarla a través de quedar aleatoriamente en blanco o con valor
Algoritmo ó texto cero la cual se moverá.
explicativo. 5. Mover la casilla estipulada haciendo uso de
variables definidas, condicionales, sentencias y
operaciones matemáticas con matrices.
6. Validar (horizontal o vertical): Recorrer matriz
según parámetro. Si número siguiente menos 1
es igual a número actual entonces seguir si no
salir. Si fin entonces matriz está ordenada.
7. Indicar cuando la matriz esté armada.
8. Mostrar la matriz, cantidad de movimientos y
puntaje obtenido.
9. Fin.
 Primer número entero con que se empezará el
juego de la matriz.
Información de entrada  Orden de armado que puede ser un segundo
número entero (Ingrese 1 para armado
Horizontal o 2 para armado vertical).
 Generación de matriz aleatoria de acuerdo con el
primer número ingresado.
 Movimiento de filas o columnas.
Procesos
 Mostrar matriz y puntaje.

 Refrescar la matriz con cada último movimiento y


Información de salida mostrarla en pantalla (Comando “Disp”).
 Número de movimientos y puntaje final.

Secuencial, condicionales, operadores, matrices, ciclos


(while, do, for, etc.), sentencias (Break, Abort, continue,
IF, Select-case, etc.).

 Scilab for very beginners. (2013). Capítulos 1-3.


Pág. 1-18. Recuperado de
https://www.scilab.org/tutorials/scilab-beginners-
%E2%80%93-tutorial
 Monroy, J. (2016). Conceptos Básicos de
Temas a consultar y la programación. [Archivo de video] Recuperado
referencia bibliográfica de de: http://hdl.handle.net/10596/10293
donde lo va a extraer.  Monroy, J. (2018). Fundamentos de
Programación en Software de Tratamiento
Matemático. [Archivo de video] Recuperado de:
http://hdl.handle.net/10596/22302
 Guía de comandos en scilab. (2013) recuperado
de:
7

ITEM A RESOLVER RESPUESTA


https://campusvirtual.univalle.edu.co/moodle/plug
infile.php/965100/mod_resource/content/0/Guia%
20de%20Introduccion%20a%20Scilab.pdf

2. Establecer como mínimo un criterio de viabilidad puede ser: técnico, de


interacción, económico, entre otros, para que posteriormente en grupo
los apliquen y puedan seleccionar la mejor de las ideas.

Tabla 2. Criterio propuesto para evaluar las ideas

Descripción del criterio Rango de puntuación a proponer


Originalidad 0a5
Fluidez 0a5
Elaboración 0a5
Flexibilidad 0a5

Descripción del criterio Rango de puntuación a proponer


Practicidad (Fácil implementación) 0 a 5.
Visualización en pantalla. 0 a 5.

DESARROLLO DEL ALGORITMO

En esta sección solo crearemos matrices al ser ´estas los arreglos con los que más familiaridad
tenemos. Para crear una matriz es necesario: 1. Usar corchetes para colocar, dentro de ellos, a
los elementos de la matriz. 2. Separar los elementos de cada renglón por comas (o espacios en
blanco; en general intenta siempre usar comas porque los programas que no son Matlab
funcionan con comas). 3. Usar punto y coma para separar renglones. Por ejemplo, la matriz: A
= [2 4 6 1 3 5] se escribe en Matlab como sigue:

>> A = [2, 4, 6; 1, 3, 5]

A=

246135

Así como en algebra lineal denotamos Ai,j la entrada de la matriz A en el renglón i y la columna
j, en Matlab usamos A(i,j). Por ejemplo, para obtener la entrada A2,3 en Matlab basta con
correr el siguiente código:

>> A (2, 3)

ans =

Para cambiar dicha entrada basta con usar un igual y poner el nuevo valor:

>> A (2, 3) = 100; >> A


8

A=

2 4 6 1 3 100

También es posible preguntar por columnas específicas de la matriz (o renglones específicos)


usando ((:)):

Ejemplo:

>> A(:, 2) % Selecciona la columna 2

ans =

43

>> A(1, :) % Selecciona el renglón 1

ans =

246

Un truco útil consiste en usar un vector para seleccionar columnas o renglones específicos por
ejemplo:

>> cols = [2, 3]; % Seleccionar e segunda y tercer columna >> A(:, cols)

ans =

4 6 3 100

>> rengs = [1, 2]; % Seleccionare´ renglón 1 y 2 >> A(rengs, :)

ans =

2 4 6 1 3 100

Creemos una matriz cuadrada a partir de A y A'; para ello basta con multiplicarlas:

>> B = A*A';

Podemos preguntar por el tamaño de una matriz usando size. Este comando regresa un vector
con dos valores: el primero es el número de filas y el segundo el de columnas de una matriz:

>> dimensiones = size(A)

dimensiones =

2 3

>> mayor_dim = length(A)


9

mayor_dim =

Cuadro 3.

Todos los comandos de Matlab sobre matrices que querías saber y nunca te atreviste a
preguntar resumidos en (obviamente) una matriz.

Comando Descripción

A = eye(n) Matriz identidad de orden n.

A = ones(n, m) Matriz de n×m donde todas las entradas son 1.

A = zeros(n, m) Matriz nula de tamaño n×m.

A = rand(n, m) Matriz de n×m donde cada entrada es un valor pseudoaleatorio (uniforme)


entre 0 y 1.

[n, m] = size(A) Dimensiones de la matriz A. El vector salida guarda en su primera entrada el


número de renglones y en la segunda el de columnas.

l = length(A) Máxima dimensión de la matriz A. Es equivalente a max(size(A)).

bool = any(A) Analiza si existe al menos una entrada de A distinta de cero.

bool = all(A) Determina si todas las entradas de A son no cero.

v = max(A) Estima un vector renglón donde cada entrada es el máximo valor de cada columna
de A. Observación: si A es un vector, entonces max(A) devuelve el máximo elemento.

m = max(max(A)) Calcula el elemento de valor máximo en la matriz.

[m, i] = max(A) Devuelve el vector m de máximos elementos por columna de A y los índices i de
los renglones donde se encuentran los susodichos.
10

CONCLUSIONES

 Matlab sin lugar a dudas ofrece muchas ventajas prácticas y didácticas de


programación.
 Este laboratorio y práctica ha permitido profundizar en el manejo del Matlab y
muchas de sus funciones.
 Aprender sobre el código braille y buscar soluciones automatizadas sin lugar a
dudas puede ser un espacio valido en la contribución para la comunicación con
falencias en la visión.
 Existe mucho material disponible pero no hay muchos aplicativos prácticos.
 Este trabajo colaborativo permitió integrar esfuerzos individuales y elementos
de aprendizaje que ayudan en la práctica profesional.
 Plantear cada idea y evaluarla y planificar cada paso es importante en la fase
final de obtener los resultados previstos.

11

REFERENCIAS BIBLIOGRÁFICAS


 Monroy, J. (2014). PLE Matlab-Scilab. Recuperado de.
http://www.netvibes.com/juanolmv#Donde_relacionarme_con_otros

 Scilab 5.1.1. (2009). Capítulos 1-6. pág. 1-64. Recuperado de:


http://www.scilab.org/content/download/247/1702/file/introscilab.pdf

 MathWorks. (2009). TheMathworks. Capítulo 1. Pág. 1-10. Recuperado de


http://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf.

 Material uso de Matlab (2016). Recuperado de.


http://ocw.mit.edu/resources/res-18-002-introduction-to-matlab-spring-2008/

 Gil, R. M. (2003). Introducción rápida a Matlab y Simulink para ciencia e


ingeniería. Madrid, ES: Ediciones Díaz de Santos. Capítulo 1. pág. 1-21.
Recuperado de:
http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?ppg=1&docID
=11059428&tm=1479848795401

 Monroy, J. (2016). Conceptos Básicos de programación. [Archivo de video]


Recuperado de: http://hdl.handle.net/10596/10293

 Raczynski (1993). Simulación por Computadoras. México: Noriega.

 Ross. (1999). Simulación (2da Ed). México: Prentice Hall.

 Hahn Brian D. (2007). Essential Matlab for Engineers and Scientist.


(ThirdEdition). Elsevier.
12

 Hunt Brian R. (2001), A guide to Matlab for beginners and experienced users.
Cambridge University: Press.

 McMahon David. (2007). Matlab Demystified: McGraw-Hill.

 Sayood Khalid. (2007). Learning Programing Using Matlab. (FirstEdition):


Morgan &Claypool.

 Sigmon Kermit, (2002). Matlab Primer. (Sixth Edition). Chapman& Hall/CRC:


Press.

S-ar putea să vă placă și