Está en la página 1de 12

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD

Software para Ingeniería 203036A_474


Paso 3
PASO 3 – CONSTRUCCIÓN INDIVIDUAL

SOFTWARE PARA INGENIERIA

DIRECTOR / TUTOR:
JUAN MONROY

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD


ESCUELA DE CIENCIAS BÁSICAS TECNOLOGIA E INGENIERIA
NOVIEMBRE 01 DEL 2018

1
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3
Contenido
ACTIVIDADES A DESARROLLAR PASO 3 ...................................................................................................................... 3
1. PARA EL COMPONENTE PRÁCTICO ............................................................................................................... 3
1.1 Descargar la guía para el desarrollo del componente práctico que encuentra en el entorno de
aprendizaje práctico y desarrollar la práctica No 2 descrita allí. ............................................................................. 3
1.2 Crear y publicar un video (en su cuenta de youtube), donde se explique el funcionamiento de los
programas desarrollados para dar solución a la actividad práctica No 2, tanto a nivel de programador
(código) como de usuario .............................................................................................................................................. 3
2. PARA CONTINUAR LA CONSTRUCCIÓN DE LA SOLUCIÓN DEL PROBLEMA PLANTEADO EN
EL CURSO ........................................................................................................................................................................ 4
2.1 Releer el problema a resolver........................................................................................................................... 4
2.2 Recopile información concreta que le permita construir la solución del problema (teorías, conceptos,
manuales, videos, ejercicios resueltos, entre otros), resúmala y digítela en un procesador de texto con sus
respectivas referencias con normas APA .................................................................................................................... 4
2.3 Elaborar un algoritmo (diagrama de flujo o pseudocódigo) que represente la solución del problema
planteado en el curso................................................................................................................................................... 11

2
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3

ACTIVIDADES A DESARROLLAR PASO 3


Individual

1. PARA EL COMPONENTE PRÁCTICO


1.1 Descargar la guía para el desarrollo del componente práctico que encuentra en el entorno de
aprendizaje práctico y desarrollar la práctica No 2 descrita allí.

Práctica no 2
 Realice un programa donde el usuario ingrese una matriz de orden m*n y en ella se puedan rotar sus
elementos ya sea de izquierda a derecha y viceversa; o de arriba abajo y viceversa. Las veces que el
usuario determine
- Por ejemplo, si el usuario ingresa la matriz A
1 2 3
4 5 6
7 8 9
Y el usuario desea rotarla 2 veces a la derecha, la matriz debe quedar

2 3 1
5 6 4
8 9 7
 Realice un programa que genere un número aleatorio y le dé la opción al usuario de adivinar cuál
número se generó. El programa debe permitirle cierta cantidad de intentos (mínimo 5), que los establece
el programador y lo informa al usuario

Una vez el usuario acierte o no, se debe exportar a un archivo en Excel:

- el número aleatorio generado


- Cada uno de los números que el usuario digitó
- La palabra ACERTÓ o no ACERTÓ, según corresponda
- La cantidad de intentos empleados.

1.2 Crear y publicar un video (en su cuenta de youtube), donde se explique el funcionamiento de los
programas desarrollados para dar solución a la actividad práctica No 2, tanto a nivel de
programador (código) como de usuario

Link del video: https://www.youtube.com/watch?v=32Ezozm93A0

3
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3

2. PARA CONTINUAR LA CONSTRUCCIÓN DE LA SOLUCIÓN DEL PROBLEMA


PLANTEADO EN EL CURSO

2.1 Releer el problema a resolver

Se requiere diseñar e implementar un programa que muestre un menú que le dé la posibilidad al usuario de:
 Capturar una palabra y mostrarla en pantalla en código Braille (solamente alfabeto, incluyendo vocales
tildadas, no representar números ni caracteres especiales)
 Digitar una letra y mostrar la imagen (*.jpg) del código Braille correspondiente
 Ingresar una letra y representar el código Braille de la letra que ocupa la posición anterior y posterior a
ella dentro del alfabeto, dicho código exportarlo a una hoja electrónica. Por ejemplo, si ingresa la letra
“b”, se debe representar en Braille la letra “a” y “c” y exportar éstos códigos.

2.2 Recopile información concreta que le permita construir la solución del problema (teorías,
conceptos, manuales, videos, ejercicios resueltos, entre otros), resúmala y digítela en un
procesador de texto con sus respectivas referencias con normas APA

 Indexado de Vectores

Un vector renglón de dimensión 1Xn, puede ser indexado utilizando solamente un índice numérico, de esta
manera si se considera a este vector como v, se elegirá el primer elemento sis e indexa como v (1), de la misma
forma se elegirá el elemento número 2 del vector si se indexa v (2). Esto puede ejemplificarse de la siguiente
forma:
>>v=[1 2 3 4 5 6 7];
Para elegir un valor de la matriz escribimos:
>>v (2) % indica la posición del elemento en la matriz v

Para elegir un rango de valores de una matriz, escribimos:


>>v (2:4) % indica las posiciones del elemento en la matriz v

4
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3

Para describir los valores de la matriz desde la segunda posición hasta el valor final tenemos:
>>v (2:end) % indica las posiciones del elemento en la matriz v

Para obtener un rango personalizado, podemos realizarlo con este ejemplo:

 Indexado de Matrices

La siguiente notación es la que se usa para representar una matriz con 3 filas y 3 columnas

En la forma reducida A = (aᵢj) є M₃ (k), donde k es el cuerpo (por ejemplo, K= R o K = C. el símbolo aᵢj se
refiere a la entrada situada en la fila i y columna j. MATLAB usa una notación similar para representar los
elementos de una matriz.
% pascal no funciona en octave
>> A=pascal (5)
>> A (1,2)
>> A (3,4)
En general, A (i, j) se refiere al elemento de la fila i, columna j de la matriz A. También es fácil cambiar el valor
de una entrada.
>> A (3,3) =11111
5
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3

 Cadenas de Caracteres (Array)

Los caracteres de una cadena se almacenan en un vector, con un carácter por elemento. Cada carácter ocupa dos
bytes. Las cadenas de caracteres van entre apóstrofos o comillas simples, como por ejemplo: 'cadena'. Si la
cadena debe contener comillas, éstas se representan por un doble carácter comilla, de modo que se pueden
distinguir fácilmente del principio y final de la cadena. Por ejemplo, para escribir la cadena ni ’idea’ se
escribiría ’ni’’idea’’’. Una matriz de caracteres es una matriz cuyos elementos son caracteres, o bien una matriz
cuyas filas son cadenas de caracteres. Todas las filas de una matriz de caracteres deben tener el mismo número
de elementos. Si es preciso, las cadenas (filas) más cortas se completan con blancos.

A continuación, se pueden ver algunos ejemplos y practicar con ellos:

 COMANDOS EN MATLAB (imread, rgb2gray, imresize, size, cat, montage).

Imread lee la imagen del archive especificado por filename, deduciendo el formato del archive de
su contenido. Si filename es un archivo de imágenes múltiples, entonces lee la primera
imagen del archivo.
Rgb2gray convierte imagen RGB o mapa de colores a escalas de grises.
Imresize cambia el tamaño de la imagen.
Size leer el tamaño de una matriz en filas y columnas.
Cat concatenar matrices a lo largo de la dimensión especifica.
Montage mostrar múltiples marcos de imagen como montaje rectangular
Double (c) convierte en números ASCII cada carácter
Char (v) convierte un vector de números v en una cadena de caracteres

6
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3
Char (cl, c2) crea una matriz de caracteres, completando con blancos las cadenas mas cortas
Deblank (c) elimina los blancos al final de una cadena de caracteres
Disp (c) imprime el texto contenido en la variable c
ischar(c) detecta si una variable es una cadena de caracteres
isletter() detecta si un carácter es una letra del alfabeto. Devuelve un vector o matriz de unos y
ceros
isspace() detecta si un carácter es un espacio en blanco. Devuelve un vector o matriz de unos y
ceros
strcmp(c1,c2) comparación de cadenas. Si las cadenas son iguales devuelve un uno, y si no lo son,
devuelve un cero (funciona de modo diferente que la correspondiente función de C)
strcmpi(c1,c2) igual que strcmp(c1,c2), pero ignorando la diferencia entre mayúsculas y minúsculas
strncmp(c1,c2, n) compara los n primeros caracteres de dos cadenas
c1==c2 compara dos cadenas carácter a carácter. Devuelve un vector o matriz de unos y ceros
s=[s,' y más'] concatena cadenas, añadiendo la segunda a continuación de la primera
findstr(c1,c2) devuelve un vector con las posiciones iniciales de todas las veces en que la cadena más
corta aparece en la más larga
strmatch(cc,c) devuelve los índices de todos los elementos de la matriz de caracteres (o vector de celdas)
cc, que empiezan por la cadena c
strrep(c1,c2,c3) sustituye la cadena c2 por c3, cada vez que c2 es encontrada en c1
[p,r]=strtok(t) separa las palabras de una cadena de caracteres t. Devuelve la primera palabra p y el resto
de la cadena r
int2str(v) convierte un número entero en cadena de caracteres
num2str(x,n) convierte un número real x en su expresión por medio de una cadena de caracteres, con cuatro
cifras decimales por defecto (pueden especificarse más cifras, con un argumento opcional n)
vc=cellstr(cc) convierte una matriz de caracteres cc en un vector de celdas vc, eliminando los blancos
adicionales al final de cada cadena. La función char() realiza las conversiones opuestas
sprintf Convierte valores numéricos en cadenas de caracteres, de acuerdo con las reglas y formatos de
conversión del lenguaje C. Esta es la función más general para este tipo de conversión y se verá con más detalle
en otro lugar
Con las funciones anteriores se dispone en MATLAB de una amplia gama de posibilidades para trabajar con
cadenas de caracteres.
A continuación, se pueden ver algunos ejemplos:

7
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3

Es habitual convertir los valores numéricos en cadenas de caracteres para poder imprimirlos
como títulos en los dibujos o gráficos. Véase el siguiente ejemplo:

 Estructuras de Control

Las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa. Quiere
decir, que permite que unas condiciones se lleven a cabo cuando el programador lo desee, ya sea un número
determinado de veces o hasta un cierto error, etc. Las estructuras de control tienen un único punto de entrada y
un único punto de salida, por lo que están estructuradas.
Se clasifica en
Estructura de bifurcación: Se utilizan cuando en el programa se debe decidir en qué situación se tiene que
cumplir una cierta condición. Su estructura básica es el IF o el SWITCH.
Estructuras repetitivas: Se utilizan cuando hay que repetir más de una vez un grupo de instrucciones. Pueden
ser FOR o WHILE.
Sentencias break y continue: Se utilizan para manipular el comportamiento normal de los bucles.
Estructuras repetitivas: Se utilizan cuando hay que repetir más de una vez un grupo de instrucciones. Hay dos
tipos fundamentales:
1. Bucle FOR: Una variable tomará valores desde un número inicial, hasta uno final, con un determinado paso
(que es la distancia entre dos valores). En Matlab, el paso por defecto es de valor 1, pero se puede cambiar.
Cada vez que la variable cambie su valor, se realizarán las operaciones que se hayan programado después.
El bucle FOR se utiliza cuando se sabe previamente el número de iteraciones que se van a realizar.
El parámetro inicial, final y el paso pueden ser variables previamente definidas. El paso puede ser negativo,
siempre que el valor inicial sea mayor que el final.
El bucle FOR escribe en Matlab del siguiente modo:
For variable = inicial : paso : final(grupo de instrucciones)
End

8
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3
Veremos un ejemplo del bucle FOR para calcular un factorial.

2. Bucle WHILE: Se da una condición que se tiene que evaluar, que se realizará siempre que sea verdadera. En
el momento en el que la condición sea falsa, cesará. Por tanto, no se conoce de antemano el número de
iteraciones a realizar.
Las variables utilizadas tienen que estar inicializadas antes del bucle, que cumplan la condición la primera vez
por lo menos y cambiar de valor en cada iteración dentro del bucle (de lo contrario se producirá un bucle
infinito). En Matlab, se escribe como:
While (condición lógica)
(grupo de instrucciones)
End
veremos un ejemplo de bucle WHILE para calcular un factorial.

Hay una variante del bucle WHILE que es el DO-WHILE, que es similar, pero con la diferencia de que las
instrucciones se tienen que cumplir por lo menos una vez, y una vez cumplida, se evalúa la condición. Si la
condición se cumple, se entra en el bucle hasta que sea falsa, que se acaba la iteración. Se escribe de este modo:
(instrucciones 1)
While (condición lógica)
(instrucciones 1)
End

9
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3

 Código ASCII

El ASCII es un código numérico que representa los caracteres, usando una escala decimal del 0 al 127. Esos
números decimales son convertidos por la computadora en números binarios para ser posteriormente
procesados. Por lo tanto, cada una de las letras que escribas va a corresponder a uno de estos códigos.
Tal es la importancia que ha cobrado el código ASCII en la informática, que es prácticamente imposible utilizar
una computadora o dispositivo sin que este código ASCII se encuentre presente, tal es la importancia que tiene
todavía en nuestros días.

10
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3

2.3 Elaborar un algoritmo (diagrama de flujo o pseudocódigo) que represente la solución del
problema planteado en el curso

DIAGRAMA DE FLUJO

INICIO

Digite una letra de Ingrese una letra para


Ingrese una conocer el código
la cual quiera ver SALIR
palabra que desee Braille de la letra
su imagen en
convertir a Braille anterior y posterior
Braille

Se hace la comparación del


código ASCII de la letra
Se hace la comparación del ingresada
Se hace la comparación del
código ASCII de la letra
código ASCII de cada letra
ingresada

El código de la letra (j)


ingresada coincide con el
El código de la letra (j) El código de la letra (j) código (a) previamente
ingresada coincide con el ingresada coincide con el definido?
código (a) previamente código (a) previamente
definido? definido?

Busca la imagen
correspondiente al código
Crear un vector con que coincide dentro de un
Busca la imagen
los diferentes códigos vector
correspondiente al código
que coinciden
que coincide

Busca la imagen
correspondiente a cada Muestra imagen en
codigo y forma una imagen Muestra imagen código Braille de la letra
compuesta con cada uno en código Braille ubicada en el índice
de la letra anterior y posterior a
Ingresada donde se encuentra el
código ingresado

Muestra imagen
en código Braille
de la palabra
Ingresada

Desea continuar?
FIN

11
UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA – UNAD
Software para Ingeniería 203036A_474
Paso 3
BIBLIOGRAFIA

Zeta, J. (2014). Ingeniería mecatrónica. Indexado de vectores y matrices MATLAB. Disponible en


http://ute-mecatronica.blogspot.com/2014/02/indexado-de-vectores-y-matrices-en.html
Ojeda, I & Gago,J. (2018). Departamento de matemáticas. Vectores y MATLAB. Practica 1.
Universidad de Extremadura. Disponible en
http://matematicas.unex.es/~sancho/Asignatura.%20Algebra%20y%20Geometria/practicas/practica1/pr
actica1.pdf
Valentín, J & Cobos,J.(2018).Wikidot. Guía Matlab para ¨nodos¨. Estructuras repetitivas. Disponible
en http://guiamatlabnoobs.wikidot.com/estructuras-repetitivas
Anónimo. (2018). The MathWords, Inc. MATLAB. Estados Unidos. Disponible en
http://www.mathworks.com/help/matlab/index.html
Anónimo. (2018). Tecnología & Informática. Que es el código ASCII. Disponible en
https://tecnologia-informatica.com/que-es-codigo-ascii/#

Link de soporte: https://www.youtube.com/watch?v=uFGXZG0cJm0


http://personales.unican.es/segurajj/mii/matlab.pdf
https://es.wikibooks.org/wiki/Matlab/Entrada_de_valores_por_teclado
Variables, Vectores Y matrices
https://www.youtube.com/watch?v=Z_hPq0JRPss

strings en Matlab
https://www.youtube.com/watch?v=V7e_CrocUU4

12