Explorar el Código

README-es.md edited online with Bitbucket

Jose R Ortiz Ubarri hace 8 años
padre
commit
43283e8811
Se han modificado 1 ficheros con 21 adiciones y 19 borrados
  1. 21
    19
      README-es.md

+ 21
- 19
README-es.md Ver fichero

@@ -5,39 +5,41 @@
5 5
 ![main2.png](images/main2.png)
6 6
 ![main3.png](images/main3.png)
7 7
 
8
-[version 2016.05.04]
8
+[Verano 2016 - Ive]
9 9
 
10 10
 Una de las ventajas de utilizar programas de computadoras es que podemos realizar tareas repetitivas fácilmente. Los ciclos como `for`, `while`, y `do-while` son  estructuras de control que nos permiten repetir un conjunto de instrucciones. A estas estructuras también se les llama *estructuras de repetición*. En la experiencia de laboratorio de hoy utilizarás ciclos `for`  para completar una aplicación de cifrado.
11 11
 
12
-##Objetivos:
12
+## Objetivos:
13 13
 
14 14
 1. Aplicar estructuras de repetición para cifrar un mensaje.
15 15
 2. Practicar operaciones aritméticas con caracteres.
16 16
 
17
-##Pre-Lab:
17
+## Pre-Lab:
18 18
 
19
-Antes de llegar al laboratorio debes:
19
+Antes de llegar al laboratorio debes haber:
20 20
 
21
-1. Haber repasado los conceptos básicos relacionados a estructuras de repetición.
21
+1. Repasado los conceptos básicos relacionados a estructuras de repetición.
22 22
 
23
-2. Haber repasado conceptos básicos de la clase `string` de C++,las funciones `length`, `toupper` y `push_back`, `isalpha` y las operaciones aritméticas con caracteres.
23
+2. Repasado conceptos básicos de la clase `string` de C++,las funciones `length`, `toupper` y `push_back`, `isalpha` y las operaciones aritméticas con caracteres.
24 24
 
25
-3. Haber visto el video sobre el "Ceasar Cypher" del Khan Academy, colocado en <https://www.youtube.com/watch?v=sMOZf4GN3oc>.
25
+3. Visto el video sobre el "Ceasar Cypher" del Khan Academy, colocado en <https://www.youtube.com/watch?v=sMOZf4GN3oc>.
26 26
 
27
-4. Haber visto el video sobre el "Vigenere Cypher", colocado en <https://www.youtube.com/watch?v=9zASwVoshiM>.
27
+4. Visto el video sobre el "Vigenere Cypher", colocado en <https://www.youtube.com/watch?v=9zASwVoshiM>.
28 28
 
29
-5. Haber estudiado los conceptos e instrucciones para la sesión de laboratorio.
29
+5. Estudiado los conceptos e instrucciones para la sesión de laboratorio.
30
+
31
+6. Tomado el quiz Pre-Lab disponible en Moodle.
30 32
 
31 33
 
32 34
 ---
33 35
 
34 36
 ---
35 37
 
36
-##Criptografía 
38
+## Criptografía 
37 39
 
38 40
 La *criptografía* es un área que estudia la teoría y los métodos utilizados para proteger información de modo que personas que no estén autorizadas no puedan tener acceso a ella. Un *sistema criptográfico* es un sistema en el que la información (*mensaje* entendible por humanos)  es tranformada a un texto cifrado inentendible para las personas no autorizadas a verlo. Las personas autorizadas a ver el mensaje usan un *descifrador* para revertir el texto cifrado al mensaje original.  
39 41
 
40
-###El Cifrado César (Ceasar Cypher)
42
+### El Cifrado César (Ceasar Cypher)
41 43
 
42 44
 El Cifrado César es una técnica muy simple de cifrado por sustitución. Se dice que el sistema se basa en el sistema utilizado por Julio César, líder militar y político de Roma en años antes de Cristo, para comunicarse con sus generales. La técnica cifra un mensaje de texto sustituyendo cada letra del mensaje por la letra que se encuentra a un número dado de posiciones más adelante en el alfabeto. Esto puede pensarse como un desplazamiento ("shift") del alfabeto. El diagrama de la Figura 1 representa un desplazamiento de 3 espacios. La letra ‘B’ es sustituida por la letra ‘E’.
43 45
 
@@ -59,7 +61,7 @@ El Cifrado César es una técnica muy simple de cifrado por sustitución. Se dic
59 61
 
60 62
 ---
61 63
 
62
-###Utilizando el operador módulo
64
+### Utilizando el operador módulo
63 65
 
64 66
 La operación de suma modular es esencial para implementar sistemas de cifrado en programación. En la aplicación de cifrado César de arriba podemos pensar que a cada letra del alfabeto (en inglés) le asignamos un número entre 0 y 25 (La `A` es 0, la`B` es 1, …, la `Z` es 25). El cifrador César convierte cada letra al número correspondiente en el intervalo [0, 25] y luego suma el desplazamiento. Para hacer el desplazamiento cíclico, cada vez que nuestro desplazamiento nos dé una letra que corresponda a un número mayor que 25, tomamos el residuo al dividir por 26 y usamos la letra que corresponda a ese residuo. Nota que tomar el residuo al dividir por 26 los resultados estarán entre 0 y 25, que son los valores asociados al alfabeto.
65 67
 
@@ -94,7 +96,7 @@ El cifrado César no es muy seguro ya que puede descifrarse fácilmente con un a
94 96
 
95 97
 
96 98
 
97
-###El Cifrado Vigenere 
99
+### El Cifrado Vigenere 
98 100
 
99 101
 La debilidad principal del cifrador César es que cada letra en el mensaje se desplaza por el mismo número de posiciones. El cifrado Vigenere es un método de cifrado un poco más fuerte porque el desplazamiento en cada letra no es constante. El cifrado César recibe como datos de entrada el mensaje y un desplazamiento, mientras que el cifrado Vigenere recibe como dato de entrada el mensaje y una **clave** que determina el desplazamiento que se le hará a cada letra del mensaje.
100 102
 
@@ -135,7 +137,7 @@ Si la palabra clave es más corta que el mensaje, entonces repetimos la palabra
135 137
 
136 138
 ---
137 139
 
138
-##Funciones que se utilizarán en esta experiencia de laboratorio:
140
+## Funciones que se utilizarán en esta experiencia de laboratorio:
139 141
 
140 142
 El programa que estarás modificando en la sesión de hoy utiliza los siguientes métodos de la clase `string`:
141 143
 
@@ -170,16 +172,16 @@ También utilizaremos las funciones:
170 172
 ---
171 173
 
172 174
 
173
-##Sesión de laboratorio:
175
+## Sesión de laboratorio:
174 176
 
175 177
 En esta experiencia de laboratorio completarás una aplicación para cifrar un mensaje de texto utilizando el cifrado Vigenere. Para simplificar el código, la clave y el mensaje deben consistir solo de letras y tu programa debe cambiar todas las letras del mensaje y la clave a mayúsculas.
176 178
 
177
-###Ejercicio 1: Cifrador con clave y mensaje del mismo largo (solo letras)
179
+### Ejercicio 1 - Cifrador con clave y mensaje del mismo largo (solo letras)
178 180
 
179 181
 En este ejercicio completarás la aplicación para cifrar un mensaje de texto, 
180 182
 que solo contiene letras, utilizando una palabra clave que también consiste solo de letras y que tiene el mismo largo del mensaje. 
181 183
 
182
-####Instrucciones
184
+#### Instrucciones:
183 185
 
184 186
 1. Descarga la carpeta Repetitions-VigenereCypher de Bitbucket usando un terminal, moviéndote al directorio Documents/eip, y escribiendo el comando git clone http://bitbucket.org/eip-uprrp/repetitions-vigenerecypher.
185 187
 
@@ -192,11 +194,11 @@ que solo contiene letras, utilizando una palabra clave que también consiste sol
192 194
 4. Al terminar tu código, ve a la función `main` y descomenta la invocación a la función de prueba unitaria  `test_cypher1`. Esa función realiza varias invocaciones a la función `cypher` para validar si sus resultados son correctos. Tu función `cypher` debe pasar todas las pruebas antes de continuar con la próxima parte de este laboratorio. 
193 195
 
194 196
 
195
-###Ejercicio 2: Cifrador con clave y mensaje de largos arbitrarios 
197
+### Ejercicio 2 - Cifrador con clave y mensaje de largos arbitrarios 
196 198
 
197 199
 En este ejercicio modificarás el código de la función `cypher` que creaste para el Ejercicio 1 de modo que la aplicación ahora pueda cifrar cualquier mensaje  utilizando una palabra clave que consista solo de letras pero que tenga cualquier largo. 
198 200
 
199
-####Instrucciones
201
+#### Instrucciones:
200 202
 
201 203
 1. Escribe el código de la función `cypher` para que reciba un mensaje y una clave y devuelva el mensaje cifrado por el cifrador Vigenere. En esta ocasión, el mensaje y la clave pueden tener cualquier largo y el mensaje puede tener cualquier caracter (la clave solo puede tener letras). 
202 204