|
@@ -4,7 +4,7 @@
|
4
|
4
|
![main2.png](images/main2.png)
|
5
|
5
|
![main3.png](images/main3.png)
|
6
|
6
|
|
7
|
|
-
|
|
7
|
+[Verano 2016 - Ive]
|
8
|
8
|
|
9
|
9
|
En casi todas las instancias en que queremos resolver un problema hay una o más opciones que dependen 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. En C++ las instrucciones de decisión (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 decisión completando el diseño de una aplicación que determina la fortaleza de una contraseña de acceso ("password").
|
10
|
10
|
|
|
@@ -87,27 +87,27 @@ Lo que sigue son algunos detalles adicionales y ejemplos de los criterios para *
|
87
|
87
|
|
88
|
88
|
4. **Dígitos** La puntuación es $$4n$$ si la contraseña consiste de una mezcla de dígitos **Y** al menos otro tipo de caracter (minúscula, mayúscula, símbolos). De otro modo la puntuación es $$0$$. Por ejemplo,
|
89
|
89
|
|
90
|
|
- a. la puntuación para `"ab453"` sería $$4 \cdot3 = 12$$ porque la contraseña contiene $$3$$ dígitos y contiene caracteres de otro tipo.
|
|
90
|
+ a. la puntuación para `"ab453"` sería $$4 \cdot3 = 12$$ porque la contraseña contiene $$3$$ dígitos y contiene caracteres de otro tipo.
|
91
|
91
|
|
92
|
|
- b. la puntuación para `"ALGO"` sería $$0$$ porque no tiene dígitos.
|
|
92
|
+ b. la puntuación para `"ALGO"` sería $$0$$ porque no tiene dígitos.
|
93
|
93
|
|
94
|
|
- c. la puntuación para `801145555` sería $$0$$ porque contiene **solo** dígitos.
|
|
94
|
+ c. la puntuación para `801145555` sería $$0$$ porque contiene **solo** dígitos.
|
95
|
95
|
|
96
|
96
|
5. **Símbolos** La puntuación es $$6n$$ si la contraseña contiene $n$ símbolos. De otro modo la puntuación es $$0$$. Por ejemplo,
|
97
|
97
|
|
98
|
|
- a. la puntuación para `"ab453"` sería $$0$$ porque no contiene símbolos.
|
|
98
|
+ a. la puntuación para `"ab453"` sería $$0$$ porque no contiene símbolos.
|
99
|
99
|
|
100
|
|
- b. la puntuación para `"ALGO!!"` sería $$6 \cdot 2$$ porque contiene $$2$$ símbolos y contiene otros tipos de caracteres.
|
|
100
|
+ b. la puntuación para `"ALGO!!"` sería $$6 \cdot 2$$ porque contiene $$2$$ símbolos y contiene otros tipos de caracteres.
|
101
|
101
|
|
102
|
|
- c. la puntuación para `”---><&&”` sería $$6 \cdot 7 = 42$$ porque contiene $$7$$ símbolos. Nota que en el caso de símbolos, se otorga puntuación incluso cuando no hay otro tipo de caracteres.
|
|
102
|
+ c. la puntuación para `”---><&&”` sería $$6 \cdot 7 = 42$$ porque contiene $$7$$ símbolos. Nota que en el caso de símbolos, se otorga puntuación incluso cuando no hay otro tipo de caracteres.
|
103
|
103
|
|
104
|
104
|
6. **Dígitos o símbolos en el medio** La puntuación es $$2n$$ si la contraseña contiene símbolos o dígitos que no están en la primera o última posición. Por ejemplo,
|
105
|
105
|
|
106
|
|
- a. la puntuación para `"ab453"` sería $$2 \cdot2 = 4$$ porque contiene dos dígitos que no están en la primera o última posición, estos son `4` y `5`.
|
|
106
|
+ a. la puntuación para `"ab453"` sería $$2 \cdot2 = 4$$ porque contiene dos dígitos que no están en la primera o última posición, estos son `4` y `5`.
|
107
|
107
|
|
108
|
|
- b. la puntuación para `"ALGO!"` sería $$0$$ porque no contiene dígitos ni símbolos en el medio, el único símbolo está al final.
|
|
108
|
+ b. la puntuación para `"ALGO!"` sería $$0$$ porque no contiene dígitos ni símbolos en el medio, el único símbolo está al final.
|
109
|
109
|
|
110
|
|
- c. la puntuación para `S&c8i7o!` sería $$2 \cdot 3 = 6$$ porque contiene $$3$$ símbolos o dígitos en el medio, estos son `&`, 8`, y `7`.
|
|
110
|
+ c. la puntuación para `S&c8i7o!` sería $$2 \cdot 3 = 6$$ porque contiene $$3$$ símbolos o dígitos en el medio, estos son `&`, 8`, y `7`.
|
111
|
111
|
|
112
|
112
|
7. **Requisitos**: Se otorga $$2n$$ solo si el criterio del largo **Y** 3 o 4 de los otros criterios se cumplen, donde $$n$$ es el número de *criterios* que se cumplen. Los criterios son:
|
113
|
113
|
|
|
@@ -115,18 +115,21 @@ Lo que sigue son algunos detalles adicionales y ejemplos de los criterios para *
|
115
|
115
|
|
116
|
116
|
b. Contener:
|
117
|
117
|
|
118
|
|
- 1. Letras mayúsculas
|
119
|
|
- 2. Letras minúsculas
|
120
|
|
- 3. Números
|
121
|
|
- 4. Símbolos
|
|
118
|
+ - Letras mayúsculas
|
|
119
|
+
|
|
120
|
+ - Letras minúsculas
|
|
121
|
+
|
|
122
|
+ - Números
|
|
123
|
+
|
|
124
|
+ - Símbolos
|
122
|
125
|
|
123
|
|
- Cada uno de los listados en la parte b. cuenta como un criterio individual. Por ejemplo,
|
|
126
|
+ Cada uno de los listados en la parte b. cuenta como un criterio individual. Por ejemplo,
|
124
|
127
|
|
125
|
|
- a. la puntuación para `"ab453"` sería $$0$$ porque el criterio del largo no se cumple.
|
|
128
|
+ a. la puntuación para `"ab453"` sería $$0$$ porque el criterio del largo no se cumple.
|
126
|
129
|
|
127
|
|
- 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
|
+ 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).
|
128
|
131
|
|
129
|
|
- 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
|
+ 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.
|
130
|
133
|
|
131
|
134
|
|
132
|
135
|
#### Restando puntos
|