2.1 Estructuras condicionales y lógica booleana

Enunciado del ejercicio

1. Bifurcaciones de control con if, elif y else Las sentencias condicionales permiten ejecutar bloques de código específicos en función de proposiciones lógicas: \(\text{if } \text{condición_1:}\) $$\text{bloque_1}$$ $$\text{elif } \text{condición_2:}$$ $$\text{bloque_2}$$ $$\text{else:}$$ \(\text{bloque_defecto}\) Ejemplo: Para clasificar si una longitud de onda pertenece al espectro ultravioleta, visible o infrarrojo: \(\text{if lambda_nm < 380:}\) $$\text{print("Ultravioleta")}$$ $$\text{elif lambda_nm <= 750:}$$ $$\text{print("Visible")}$$ $$\text{else:}$$ \(\text{print("Infrarrojo")}\) 2. Operadores lógicos de cortocircuito: and, or y not Python evalúa condiciones compuestas de forma perezosa (short-circuit evaluation): \(\text{p and q} \quad \text{(verdadero si ambos lo son)}, \quad \text{p or q} \quad \text{(verdadero si al menos uno lo es)}, \quad \text{not p} \quad \text{(inversión)}\) Ejemplo: Para validar que la presión de una cámara de alto vacío esté en rango de seguridad y la válvula cerrada: \(\text{seguro} = (\text{presion_torr} < 1.0\text{e-}6) \text{ and not } \text{valvula_abierta}\) 3. Expresiones condicionales ternarias Para asignaciones compactas condicionales en una sola línea física: \(\text{variable} = \text{valor_si_cierto } \text{if } \text{condicion } \text{else } \text{valor_si_falso}\) Ejemplo: Para etiquetar el régimen de transporte según el tamaño característico: \(\text{regimen} = "\text{Cuántico}" \text{ if } \text{diametro_nm} < 10.0 \text{ else } "\text{Clásico}"\) 4. Encadenamiento de comparaciones e identidad Python permite encadenar operadores de comparación de forma algebraica: \(a < x <= b \quad \Longleftrightarrow \quad (a < x) \text{ and } (x <= b)\) Ejemplo: Para comprobar si una temperatura de recocido se sitúa en el intervalo óptimo [400, 600] °C: \(\text{optimo} = (400.0 <= \text{temp_c} <= 600.0)\) Ejemplo 1: Clasificación de nanopartículas de oro según su diámetro en régimen de plasmón localizado o cuántico.

PASO 1

Definición del diámetro en nanómetros.

Asignamos el diámetro medido por dispersión de luz dinámica:

$$\text{diametro} = 4.5$$
PASO 2

Evaluación condicional por umbrales físicos.

Clasificamos el comportamiento óptico de la partícula:

$$\text{if diametro < 2.0:}$$
$$\text{categoria} = "\text{Nanocluster con niveles cuánticos discretos}"$$
$$\text{elif diametro <= 100.0:}$$
$$\text{categoria} = "\text{Plasmón de resonancia superficial localizada}"$$
$$\text{else:}$$
$$\text{categoria} = "\text{Partícula macroscópica / Dispersión Mie}"$$
Conclusión

Para 4.5 nm, la partícula se clasifica en régimen de plasmón de resonancia superficial localizada.

Ejemplo 2:

Control de temperatura en un reactor químico hidrotérmico con alarma de emergencia.

PASO 1

Especificación de la temperatura medida y el umbral crítico.

Declaramos las variables en grados Celsius:

$$\text{temp_reactor} = 215.0; \text{temp_critica} = 200.0$$
$$\text{alarma_activa} = \text{False}$$
PASO 2

Disparo de la lógica de seguridad.

Activamos el protocolo de refrigeración automática:

$$\text{if temp_reactor > temp_critica:}$$
$$\text{alarma_activa} = \text{True}$$
$$\text{print("PELIGRO: Sobrecalentamiento. Activando refrigerante.")}$$
$$\text{else:}$$
$$\text{print("Temperatura nominal dentro de límites tolerables.")}$$
Conclusión

Al sobrepasar los 200 °C, el sistema activa inmediatamente el protocolo de refrigerante.

Ejemplo 3:

Calificación de calidad de grafeno monocapa a partir del cociente espectroscópico de bandas Raman ID/IG.

PASO 1

Asignación de intensidades espectrales.

Definimos las intensidades de la banda D (defectos) y la banda G (red grafítica):

$$\text{intensidad_d} = 120.0; \text{intensidad_g} = 1500.0$$
$$\text{cociente} = \text{intensidad_d} / \text{intensidad_g}$$
PASO 2

Clasificación de la integridad estructural de la muestra.

Evaluamos la densidad de defectos:

$$\text{if cociente < 0.1:}$$
$$\text{calidad} = "\text{Grafeno prístino de grado electrónico}"$$
$$\text{elif cociente < 0.5:}$$
$$\text{calidad} = "\text{Grafeno con defectos puntuales moderados}"$$
$$\text{else:}$$
$$\text{calidad} = "\text{Óxido de grafeno altamente desordenado}"$$
Conclusión

El cociente 0.08 clasifica la muestra como grafeno prístino de grado electrónico.

Ejemplo 4:

Asignación ternaria de estado de polarización en una nanounión túnel según el signo del voltaje.

PASO 1

Asignación del voltaje de polarización.

Definimos el potencial aplicado a la sonda:

$$\text{voltaje_bias} = -0.45$$
PASO 2

Selección mediante operador ternario.

Asignamos el modo de inyección túnel en una sola instrucción:

$$\text{modo} = "\text{Emisión de electrones}" \text{ if } \text{voltaje_bias} < 0 \text{ else } "\text{Atracción de electrones}"$$
Conclusión

Para voltaje negativo, el modo se establece en emisión de electrones hacia el sustrato.

Ejemplo 5:

Comprobación de condiciones múltiples para inicio de evaporación por haz de electrones (E-beam).

PASO 1

Verificación de sensores de alto vacío, corriente de filamento y obturador.

Asignamos el estado de tres sensores físicos:

$$\text{vacio_ok} = \text{True}$$
$$\text{filamento_ok} = \text{True}$$
$$\text{obturador_cerrado} = \text{True}$$
PASO 2

Evaluación lógica conjunta de seguridad de encendido.

Validamos que todos los subsistemas estén autorizados:

$$\text{puede_encender} = \text{vacio_ok and filamento_ok and obturador_cerrado}$$
$$\text{if puede_encender:}$$
$$\text{print("Sistema listo para iniciar evaporación de metal.")}$$
$$\text{else:}$$
$$\text{print("Abortando: Subsistema de seguridad no conforme.")}$$
Conclusión

El enclavamiento lógico confirma que el sistema está preparado para iniciar el proceso de recubrimiento.