Está en la página 1de 16

Unidad 2 Paso 3 Recopilar información y esbozar solución.

Construcción individual

Trabajo presentado por:

Miguel Alberto Bueno Fernández

CC 91533616

Código Grupo: 203036A_474

Trabajo presentado a:

John Jairo Leiva

Tutor

Universidad Nacional Abierta y a Distancia UNAD

Software para Ingeniería

2018

1
Desarrollo de Actividad

1. Tabla Enlace video YouTube

Tabla 1. Enlace de video Youtube

Estudiante Enlace vídeo YouTube


MIGUEL https://youtu.be/ZzMAl0X50iQ
BUENO

2. Individual

2.1 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.

En el problema planteado tenemos:

 Capturar una palabra y mostrarla en pantalla en código Braille (solamente alfabeto,

incluyendo vocales tildadas, no representar números ni caracteres especiales)

Para poder dar inicio a la solución del problema debemos conocer que es el Sistema

Braille:

El origen del sistema Braille


2
El año 1825, Louis Braille, un francés ciego tras un accidente en su niñez, se interesó en un

sistema utilizado en unidades militares y que transmitía instrucciones mediante un código táctil a

descifrar basado en puntos en relieve, con la idea de esconderlas del enemigo.

De entonces 13 años, Louis Braille se dedicó a simplificarlo, adaptándolo a las capacidades y

necesidades de las personas ciegas, que lo utilizan no sólo para leer, sino también para escribir y

realizarse en diferentes áreas del conocimiento.

En qué consiste el sistema Braille

El sistema Braille se basa en seis puntos que se distribuyen de diferentes formas, cayendo dentro

de lo que se considera un sistema binario. No se trata de un idioma, sino que de un alfabeto

3
reconocido de forma internacional, capaz de exponer letras, números y hasta signos, lo que le

hace realmente completo.

En total, existen 256 caracteres en braille, muchos de los cuales deben su significado al que le

antecede o sigue. Incluso existe una traducción de las notas musicales al Braille.

Cada carácter está basado en seis puntos que se ordenan en dos hileras paralelas de tres. Según lo

que quiera representar, ciertos puntos están en relieve y, al tocarlos, quien sabe interpretar Braille

detecta a qué letra, número o signo corresponde.

Si bien el Braille es un alfabeto universal, existen pequeñas variaciones en cada idioma,

añadiendo letras o reemplazándolas por otras, propias de cierta lengua. Alfabetos como el

japonés y chino, combinan sonidos en caracteres braille, ya que de por si se basan en símbolos.

Mayor accesibilidad

La masificación del Braille es tal que hoy podemos encontrar escritura Braille no sólo en textos

creados para gente invidente, sino que también en billetes y ascensores. Las personas ciegas

disponen de computadoras con teclados en braille, teléfonos móviles e impresoras, que

transforman un texto a dicho alfabeto.

4
La enseñanza del braille comienza desde muy temprana edad entre quienes nacieron ciegos y, los

que se volvieron invidentes ya mayores, son capaces de aprenderlo rápidamente, siendo quizá la

puerta de comunicación desde y para el mundo más importante, reemplazando el sentido de la

vista con el del tacto de forma inteligente y ordenada.

COMANDO IMREAD
Leer imagen del archivo de gráficos

A = imread(filename)
Descripción
ejemplo
A = imread(filename) lee la imagen del archivo especificado por filename, infiriendo el
formato del archivo a partir de su contenido. Si filename es un archivo de varias
imágenes, imread lee la primera imagen del archivo.
https://www.lawebdelprogramador.com/foros/Matlab/186691-FUNCION-IMREAD.html

ESTRUCTURAS DE CONTROL
Control condicional: if, else, switch

Las instrucciones condicionales permiten seleccionar en tiempo de ejecución qué bloque de


código se va a ejecutar. La instrucción condicional más simple es una instrucción if. Por
ejemplo, este programa genera un número entero al azar, y si es par lo divide por 2:
% Generate a random number
a = randi(100, 1);
% If it is even, divide by 2
if rem(a, 2) == 0
disp('a is even')
b = a/2;
end
Las instrucciones if pueden incluir opciones alternativas mediante el uso de las palabras clave
opcionales elseif o else. Por ejemplo:
a = randi(100, 1);

if a < 30
disp('small')
elseif a < 80
disp('medium')
else
disp('large')
end

5
Alternativamente, cuando desee probar la igualdad frente a un conjunto de valores conocidos,
use una instrucción switch. Por ejemplo:
[dayNum, dayString] = weekday(date, 'long', 'en_US');

switch dayString
case 'Monday'
disp('Start of the work week')
case 'Tuesday'
disp('Day 2')
case 'Wednesday'
disp('Day 3')
case 'Thursday'
disp('Day 4')
case 'Friday'
disp('Last day of the work week')
otherwise
disp('Weekend!')
end
Tanto para if como para switch, MATLAB® ejecuta el código que corresponde a la primera
condición verdadera y luego sale del bloque de código. Cada instrucción condicional requiere
la palabra clave end.
En general, cuando los valores posibles tienen muchas opciones discretas y conocidas, las
instrucciones switch son más fáciles de leer que las instrucciones if. Sin embargo, no es
posible buscar desigualdades entre valores de switch y case. Por ejemplo, este tipo de
condición no se puede implementar con un 
switch:
yourNumber = input('Enter a number: ');

if yourNumber < 0
disp('Negative')
elseif yourNumber > 0
disp('Positive')
else
disp('Zero')
end

https://la.mathworks.com/help/matlab/learn_matlab/flow-control.html

EXPORTAR DATOS A HOJA ELECTRONICA DESDE MATLAB


Importando y manipulando datos entre Matlab y Excel
Empleamos los comandos xlsread y xlswrite
http://5minutosdematlab.blogspot.com/2012/06/importando-y-manipulando-datos-entre.html

ESTRUCTURAS DE CONTROL

6
Control condicional: if, else, switch
Las instrucciones condicionales permiten seleccionar en tiempo de ejecución qué bloque de
código se va a ejecutar. La instrucción condicional más simple es una instrucción if. Por
ejemplo, este programa genera un número entero al azar, y si es par lo divide por 2:

% Generate a random number


a = randi(100, 1);

% If it is even, divide by 2
if rem(a, 2) == 0
disp('a is even')
b = a/2;
end
Las instrucciones if pueden incluir opciones alternativas mediante el uso de las palabras clave
opcionales elseif o else. Por ejemplo:

a = randi(100, 1);

if a < 30
disp('small')
elseif a < 80
disp('medium')
else
disp('large')
end
Alternativamente, cuando desee probar la igualdad frente a un conjunto de valores conocidos,
use una instrucción switch. Por ejemplo:

[dayNum, dayString] = weekday(date, 'long', 'en_US');

switch dayString
case 'Monday'
disp('Start of the work week')
case 'Tuesday'
disp('Day 2')
case 'Wednesday'
disp('Day 3')
case 'Thursday'
disp('Day 4')
case 'Friday'
disp('Last day of the work week')
otherwise
disp('Weekend!')
end
Tanto para if como para switch, MATLAB® ejecuta el código que corresponde a la primera
condición verdadera y luego sale del bloque de código. Cada instrucción condicional requiere

7
la palabra clave end.

En general, cuando los valores posibles tienen muchas opciones discretas y conocidas, las
instrucciones switch son más fáciles de leer que las instrucciones if. Sin embargo, no es
posible buscar desigualdades entre valores de switch y case. Por ejemplo, este tipo de
condición no se puede implementar con un switch:

yourNumber = input('Enter a number: ');

if yourNumber < 0
disp('Negative')
elseif yourNumber > 0
disp('Positive')
else
disp('Zero')
end
Comparaciones de arreglos en instrucciones condicionales
Es importante comprender cómo funcionan los operadores relacionales y las instrucciones if
con las matrices. Cuando desee comprobar la igualdad entre dos variables, podría usar la
siguiente condición:

if A == B, ...
Este es un código válido de MATLAB, y actúa según lo esperado cuando A y B son escalares.
Pero cuando A y B son matrices, A == B no prueba si son iguales, sino dónde son iguales. El
resultado es otra matriz de ceros y unos que muestra la igualdad elemento por elemento.

A = magic(4); B = A; B(1,1) = 0;

A == B
ans =
0 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
La forma adecuada de comprobar la igualdad entre dos variables es usando la función isequal:

if isequal(A, B), ...


isequal devuelve un valor escalar lógico de 1 (que representa la variable true) o 0 (false), en
lugar de una matriz, como la expresión a evaluar por la función if. Si se utilizan las matrices A
y B anteriores, se obtiene:

isequal(A, B)
ans =
0
El siguiente ejemplo ayuda a enfatizar este punto. Si A y B son escalares, el siguiente
programa nunca alcanzará la “situación inesperada” del final. Sin embargo, para la mayoría de

8
los pares de matrices, incluyendo nuestros cuadrados mágicos con columnas intercambiadas,
ninguna de las condiciones A > B, A < B o A == B resulta válida para todos los elementos de
las matrices. Por lo tanto, se ejecuta la cláusula else:

if A > B
'greater'
elseif A < B
'less'
elseif A == B
'equal'
else
error('Unexpected situation')
end
Hay varias funciones que ayudan a convertir comparaciones de matrices en condiciones
escalares utilizables con if, incluyendo:

isequal
isempty
all
any
https://es.mathworks.com/help/matlab/learn_matlab/flow-control.html

COMANDO input(prompt)

x = input(prompt)
str = input(prompt,'s')
x = input(prompt) muestra el texto de prompt y espera a que el usuario introduzca un valor y
pulse la tecla Entrar. El usuario puede introducir expresiones, como pi/4 o rand(3), y puede
utilizar variables en el espacio de trabajo.
Si el usuario pulsa la tecla Entrar sin introducir nada, input devuelve una matriz vacía.
Si el usuario introduce una expresión no válida en el símbolo del sistema, MATLAB® muestra
el mensaje de error pertinente y, a continuación, vuelve a mostrar el símbolo del sistema.
https://la.mathworks.com/help/matlab/ref/input.html

COMANDO string: Array de cadenas

Puede representar texto mediante arreglos de cadena en lugar de matrices de caracteres. Cada
elemento de un arreglo de cadenas almacena una secuencia de caracteres. Las secuencias
pueden tener diferentes longitudes sin relleno, como "yes" y "no". Una matriz de cadena que
sólo tiene un elemento también se denomina escalar de cadena.

9
Puede indexar, cambiar la forma y concatenar matrices de cadenas mediante operaciones de
arreglo de discos estándar, y puede anexar texto a cadenas mediante el operador + . Si una
matriz de cadenas representa números, puede convertirla a una matriz numérica mediante la
función double
Creación
str = "Hello, world"
str =
"Hello, world"
https://la.mathworks.com/help/matlab/ref/string.html

2.2 Elaborar un algoritmo (diagrama de flujo o pseudocódigo) que represente la solución del

problema planteado en el curso.

10
%MIGUEL ALBERTO BUENO FERNANDEZ

%SOFTWARE PARA INGENIERIA

%UNAD

%PRACTICA 2

clc

clear all

acerto=0;

intentos=0;

fprintf('MIGUEL ALBERTO BUENO FERNANDEZ \nSOFTWARE PARA

INGENIERIA\nUNAD\n\n')

fprintf('Usted tiene un maximo de 6 intentos para acertar el numero \n')

for i=1:6

%%Se pide numero al usuario

11
num(1)=input('a continuacion ingrese un numero del 0 al 9 y presione ENTER\n' );

%Genero numero al azar y tomo el entero

azar=rand *9;

numazar=fix(azar);

A(i)=num(1);

B(i)=numazar;

intentos=intentos +1;

if num ==numazar

fprintf('\nACERTASTE');

%%imprmo los numeros digitados

fprintf('\n los numeros digitados');

%% Imprimo los numeros al azar

fprintf('\n los numeros generados al azar');

acerto=1;

12
%%imprimo contador de numero de intentos

fprintf('\n Numero de intentos realizados')

intentos

%exportar a excel

filename= 'datos.xlsx';

xlswrite(filename,acerto,'Acerto','A1');

xlswrite(filename,intentos,'intentos','A1');

xlswrite(filename,A,'NumDigitados','A1');

xlswrite(filename,B,'Numazar','A1');

break

end

end

if acerto==0

fprintf('\n NO ACERTASTE\n') ;

%%IMPRIMO LOS NUMEROS DIGITADOS

fprintf('\n LOS NUMEROS DIGITADOS:')

%%IMPRIMO LOS NUMEROS AL AZAR

13
fprintf('\n LOS NUMEROS GENERADOS AL AZAR:')

%IMPRIMO CONTADOR DE NUMERO DE INTENTOS

fprintf('\n NUMERO DE INTENTOS REALIZADOS')

intentos

%exportar a excel

filename='datos.xlsx';

xlswrite(filename,acerto,'No acerto','A1');

xlswrite(filename,intentos,'intentos','A1');

xlswrite(filename,A,'NumDigitados','A1');

xlswrite(filename,B,'Numazar','A1');

else

end

14
Referencias Bibliográficas

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

http://bibliotecavirtual.unad.edu.co:2077/lib/unadsp/reader.action?
ppg=1&docID=11059428&tm=1479848795401

15
MathWorks. (2009). TheMathworks. Capítulo 1. Pág. 1-10.  Recuperado de
http://www.mathworks.com/help/pdf_doc/matlab/getstart.pdf

16

También podría gustarte