|
@@ -6,7 +6,7 @@
|
6
|
6
|
|
7
|
7
|
[Verano 2016 - Ive]
|
8
|
8
|
|
9
|
|
-En casi todas las instancias en que queremos resolver un problema seleccionamos una o más opciones dependiendo de si se cumplen o no ciertas condiciones. Los programas de computadoras se construyen para resolver problemas y, por lo tanto, deben tener una estructura que permita tomar decisiones y seleccionar alternativas. En C++ las selecciones (o condicionales) se estructuran utilizando `if`, `else`, `else if` o `switch`. Muchas veces el uso de estas estructuras también envuelve el uso de expresiones de relación y operadores lógicos. En la experiencia de laboratorio de hoy practicarás el uso de algunas estructuras de selección completando el diseño de una aplicación que determina la fortaleza de una contraseña de acceso ("password").
|
|
9
|
+En casi todas las instancias en que queremos resolver un problema seleccionamos una o más opciones dependiendo de si se cumplen o no ciertas condiciones. Los programas de computadoras se construyen para resolver problemas y, por lo tanto, deben tener una estructura que permita tomar decisiones y seleccionar alternativas. En C++ las selecciones se estructuran utilizando `if`, `else`, `else if` o `switch`. Muchas veces el uso de estas estructuras también envuelve el uso de expresiones de relación y operadores lógicos. En la experiencia de laboratorio de hoy practicarás el uso de algunas estructuras de selección completando el diseño de una aplicación que determina la fortaleza de una contraseña de acceso ("password").
|
10
|
10
|
|
11
|
11
|
## Objetivos:
|
12
|
12
|
|
|
@@ -125,11 +125,11 @@ Lo que sigue son algunos detalles adicionales y ejemplos de los criterios para *
|
125
|
125
|
|
126
|
126
|
Cada uno de los listados en la parte b. cuenta como un criterio individual. Por ejemplo,
|
127
|
127
|
|
128
|
|
- a. la puntuación para `"ab453"` sería $$0$$ porque el criterio del largo no se cumple.
|
|
128
|
+ i. la puntuación para `"ab453"` sería $$0$$ porque el criterio del largo no se cumple.
|
129
|
129
|
|
130
|
|
- b. la puntuación para `"abABCDEF"` sería $$0$$ debido a que, a pesar de que se cumple el criterio del largo, solo 2 de los 4 otros criterios se cumplen (mayúsculas y minúsculas).
|
|
130
|
+ ii. la puntuación para `"abABCDEF"` sería $$0$$ debido a que, a pesar de que se cumple el criterio del largo, solo 2 de los 4 otros criterios se cumplen (mayúsculas y minúsculas).
|
131
|
131
|
|
132
|
|
- c. la puntuación para `"abAB99!!"` sería $$2 \cdot 5 = 10$$ debido a que cumple la condición del largo y también los otros 4 criterios.
|
|
132
|
+ iii. la puntuación para `"abAB99!!"` sería $$2 \cdot 5 = 10$$ debido a que cumple la condición del largo y también los otros 4 criterios.
|
133
|
133
|
|
134
|
134
|
|
135
|
135
|
#### Restando puntos
|
|
@@ -197,7 +197,7 @@ Lo que sigue son algunos detalles adicionales y ejemplos de los criterios para *
|
197
|
197
|
|
198
|
198
|
## Sesión de laboratorio:
|
199
|
199
|
|
200
|
|
-En esta experiencia de laboratorio practicarás el uso de expresiones matemáticas y estructuras condicionales para computar la puntuación de resistencia o fortaleza de una contraseña combinando las puntuaciones de los criterios individuales.
|
|
200
|
+En esta experiencia de laboratorio practicarás el uso de expresiones matemáticas y estructuras de selección para computar la puntuación de resistencia o fortaleza de una contraseña combinando las puntuaciones de los criterios individuales.
|
201
|
201
|
|
202
|
202
|
Tu tarea es completar el diseño de una aplicación para medir la fortaleza de las contraseñas de acceso ("password strength"). Al final obtendrás un programa que será una versión simplificada de la aplicación en http://www.passwordmeter.com/. Como no existe un sistema oficial para medir las contraseñas, se utilizarán las fórmulas creadas por el "passwordmeter" para evaluar la fortaleza general de una contraseña dada. La aplicación permitirá al usuario entrar una contraseña y calculará su fortaleza utilizando una serie de reglas.
|
203
|
203
|
|
|
@@ -217,7 +217,7 @@ El primer paso en esta experiencia de laboratorio es familiarizarte con las func
|
217
|
217
|
1. Carga a `QtCreator` el proyecto `PassworStrength`. Hay dos maneras de hacer esto:
|
218
|
218
|
|
219
|
219
|
* Utilizando la máquina virtual: Haz doble “click” en el archivo `PassworStrength.pro` que se encuentra en el directorio `/home/eip/labs/selections-passwordstrength` de la máquina virtual.
|
220
|
|
- * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el commando `git clone http:/bitbucket.org/eip-uprrp/selections-passwordstrength` para descargar la carpeta `tema-nombre` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `PassworStrength.pro`.
|
|
220
|
+ * Descargando la carpeta del proyecto de `Bitbucket`: Utiliza un terminal y escribe el commando `git clone http:/bitbucket.org/eip-uprrp/selections-passwordstrength` para descargar la carpeta `selections-passwordstrength` de `Bitbucket`. En esa carpeta, haz doble “click” en el archivo `PassworStrength.pro`.
|
221
|
221
|
|
222
|
222
|
2. Configura el proyecto. El proyecto consiste de varios archivos. **Solo escribirás código en el archivo `readpassword.cpp`. No debes cambiar nada en los demás archivos.** Sin embargo, debes familiarizarte con las funciones que ya están definidas en ellos, ya que usarás algunas de ellas para crear tu código.
|
223
|
223
|
|