Sesión 8
Unidad 1 · Indicadores D y E · Cierre de contenido
Navegación: ← → | Home End | F pantalla completa · Botones · Desliza
Unidad 1 · Indicadores D y E · Cierre de contenido
Navegación: ← → | Home End | F pantalla completa · Botones · Desliza
Esta es la última sesión de contenido de la Unidad 1. Los indicadores D y E — condicionales compuestas y pruebas de escritorio — son los más exigentes y los que más peso tienen en la evaluación del 05/03.
| Saber | Sesión(es) | Indicadores asociados |
|---|---|---|
| Algoritmos y estructura secuencial | S1, S2 | A |
| Modelo IPO · Razonamiento lógico y numérico | S2, S3 | B |
| Variables, tipos de datos y operadores | S3, S4 | B, C, E |
| Condicionales simples y anidadas | S4, S5 | D |
| Condicionales compuestas · Prueba de escritorio | S8 — HOY | D, E |
D y E son los indicadores que integran todo lo anterior. No se pueden demostrar sin dominar variables, operadores y lógica secuencial.
| Operador | Nombre | true cuando… |
|---|---|---|
| && | AND | Ambas condiciones son true |
| || | OR | Al menos una es true |
| ! | NOT | La condición es false |
Evaluación en cortocircuito: con &&, si la primera condición es false, C# ni evalúa la segunda. Con ||, si la primera es true, la segunda se omite.
| A | B | A && B | A || B | !A |
|---|---|---|---|---|
| true | true | true | true | false |
| true | false | false | true | false |
| false | true | false | true | true |
| false | false | false | false | true |
Memorizar no sirve. Entender qué pregunta hace cada operador sí: && = "¿se cumplen todas?", || = "¿se cumple alguna?".
Ante la duda de precedencia, usar paréntesis explícitos. Hacen el código más claro y evitan errores silenciosos.
Es una tabla que lista todas las combinaciones posibles de condiciones y el resultado esperado para cada una. Se construye antes de escribir el código, no después.
Ejemplo: sistema de acceso
| edad ≥ 18 | tieneCarne | Resultado |
|---|---|---|
| true | true | Puede conducir |
| true | false | No puede conducir |
| false | true | No puede conducir |
| false | false | No puede conducir |
Si el código produce una salida diferente a la tabla para alguna fila, hay un error lógico — no de sintaxis. El compilador no lo detecta; la tabla sí.
Es la ejecución manual del algoritmo: se recorre el código línea por línea registrando en una tabla el valor de cada variable en cada paso y qué rama toma cada condicional.
Un programa que "funciona" puede tener lógica incorrecta en casos que no se probaron. La traza lo evidencia.
| Paso | Línea | Variable | Valor | Condición / Rama |
|---|---|---|---|---|
| 1 | int x = 12 | x | 12 | — |
| 2 | bool activo = true | activo | true | — |
| 3 | if (x > 10 && activo) | — | — | true && true → true → rama if |
| 4 | resultado = "A" | resultado | "A" | — |
Cada fila es un paso de ejecución. La columna de condición se llena solo cuando hay un if o else if.
Con los valores temperatura = 28, esDeDia = false:
| Paso | Variable / Condición | Valor / Resultado |
|---|---|---|
| 1 | temperatura | 28 |
| 2 | esDeDia | false |
| 3 | temperatura > 30 && esDeDia | ? |
| 4 | temperatura > 30 || !esDeDia | ? |
| 5 | estado | ? |
| 6 | Console.WriteLine | ? |
Comprueba: ¿qué imprimiría si temperatura = 35 y esDeDia = false? ¿Cambia la rama tomada?
Caso A: promedio=3.2 · faltas=4 · entregoParcial=true
Caso B: promedio=2.8 · faltas=3 · entregoParcial=true
Pregunta adicional: ¿existe alguna combinación de valores que llegue al else final? Construye ese caso o argumenta por qué es imposible.
La prueba es individual. Está diseñada en dos niveles: base (comprensión mínima) y extendido (análisis crítico y escritura de código desde cero).
| Qué | Cuándo |
|---|---|
| Entrega 1 del proyecto | 03/03/2026 · 23:59 |
| Prueba Unidad 1 | 05/03/2026 · en clase |
| Inicio Unidad 2 | 12/03/2026 |
Navegación: ← → | Home End | F · Botones · Desliza