Cuenta las variables distintas: la tabla de verdad tiene 2ⁿ filas, y la primera tiene todas ellas en 1.
Dale a cada subfórmula su propia columna y rellena las columnas de dentro hacia fuera.
Aplica la regla de cada conectivo: → solo es 0 en 1 → 0, y ↔ vale 1 cuando ambos lados coinciden.
Para las equivalencias, compara las columnas finales fila por fila; para un argumento, mira solo las filas en las que todas las premisas valen 1.
Para negar un enunciado cuantificado, desplaza ¬ hacia dentro, intercambia ∀ y ∃ y niega la fórmula interior.
Lógica digital: puertas, mapas K y biestables
Puertas básicas
A·B, A + B, A′, (A·B)′, (A + B)′, A ⊕ B
Reglas de Boole
X + X′ = 1, X·X′ = 0, X + XY = X, XY + XY′ = X
De Morgan
(X·Y)′ = X′ + Y′, (X + Y)′ = X′·Y′
Orden del mapa de Karnaugh
00, 01, 11, 10 (Gray code)
Grupo de 2ᵏ celdas
pierde k variables
Multiplexor de 4 a 1
F = A′B′I0 + A′BI1 + AB′I2 + ABI3
Biestables
D: Q⁺ = D, T: Q⁺ = T ⊕ Q, JK: Q⁺ = JQ′ + K′Q
Contadores
n bits: 2ⁿ estados; módulo N: el menor n con 2ⁿ ≥ N; fsal = fclk/N
Contador asíncrono
fmax = 1/(n·tpd)
Contadores en anillo y Johnson
n y 2n estados
Método
En un circuito, trabaja desde las entradas hasta la salida puerta por puerta y escribe el valor en cada hilo, o escribe su expresión y rellena la tabla de verdad.
Para simplificar, coloca los 1 (y las indiferencias como X) en un mapa de Karnaugh con filas y columnas en código Gray: 00, 01, 11, 10.
Cubre los 1 con los menos grupos posibles y lo más grandes posible, de 1, 2, 4, 8 o 16 celdas, envolviendo los bordes; cada grupo es un término producto formado por las variables que permanecen constantes. Agrupa los 0 para la forma POS.
En biestables y contadores, lee las entradas en cada flanco activo del reloj, anota el estado tras cada flanco y recuerda que un contador de n bits da la vuelta tras 2ⁿ estados.
Teoría de números y aritmética modular
División con resto
a = q·n + r, 0 ≤ r < n
Euclides
gcd(a, b) = gcd(b, a mod b)
Mínimo común múltiplo
lcm(a, b) = a·b/gcd(a, b)
Inversa
a·a⁻¹ ≡ 1 (mod n), gcd(a, n) = 1
Congruencia lineal
a·x ≡ b → x ≡ a⁻¹·b (mod n)
Función φ de Euler
φ(n) = n·∏(1 − 1/p), φ(pᵏ) = pᵏ − pᵏ⁻¹
Fermat
aᵖ⁻¹ ≡ 1 (mod p)
RSA
n = pq, φ = (p − 1)(q − 1), d = e⁻¹ mod φ, c = mᵉ mod n, m = cᵈ mod n
Método
Reduce primero cada número módulo n; los restos están entre 0 y n − 1.
Para un mcd, divide repetidamente con el algoritmo de Euclides; el último resto distinto de cero es el mcd.
Para un inverso, aplica el algoritmo extendido y quédate con el coeficiente de a; suma n si es negativo.
Resuelve a·x ≡ b multiplicando por a⁻¹; combina dos congruencias escribiendo x = r₁ + m₁k.
Para las potencias, escribe el exponente en binario y eleva al cuadrado repetidamente; en RSA, d = e⁻¹ mod φ(n) con φ(n) = (p − 1)(q − 1).
Teoría de grafos
Lema del apretón de manos
Σ deg(v) = 2|E|
Grafos completos
|E(Kn)| = n(n − 1)/2, |E(Km,n)| = m·n
Grafo regular
|E| = n·k/2
Árbol y bosque
|E| = n − 1, |E| = n − c
Hojas de un árbol
L = 2 + Σ (deg(v) − 2) over deg(v) ≥ 3
Euler
circuito: todos los grados pares; camino: exactamente 2 grados impares
Circuitos de Hamilton en Kn
(n − 1)!/2
Actualización de Dijkstra
d(v) = min(d(v), d(u) + w(u, v))
Recorridos de longitud L
(Mᴸ)ij
Método
Anota el grado de cada vértice; los grados suman el doble del número de aristas.
En las preguntas de Euler, comprueba que el grafo sea conexo y cuenta los vértices de grado impar.
En los árboles, usa n − 1 aristas y el lema del apretón de manos.
En Dijkstra, lleva una tabla de distancias provisionales y fija en cada ronda el vértice no fijado de menor distancia.
Para un árbol generador mínimo, ordena las aristas por peso y descarta toda arista que cierre un ciclo (Kruskal), o haz crecer un único árbol desde un vértice inicial (Prim).
Subredes IPv4
Hosts por subred
2(32 − prefix) − 2 (/31: 2, /32: 1)
Tamaño de bloque
256 − (mask octet)
Dirección de red
IP AND máscara
Dirección de difusión
IP OR (NOT máscara): todos los bits de host a 1
Subredes con n bits prestados
2n
2Problemas de práctica
1.Sistemas de numeraciónMedia
Pon los bits para que almacenen −77 en complemento a dos de 8 bits. Leído como un número sin signo, ¿cuál es el valor U del patrón?
N = −778 bit
U =
2.Sistemas de numeraciónDifícil
Una imagen sin comprimir tiene 1920 × 1080 píxeles con 24 bits por píxel. ¿Cuánta memoria M ocupa, en KiB (1 KiB = 1024 bytes)?
1920 × 1080 px24 bit/px1 KiB = 1024 B
M = KiB
3.Lógica proposicional y demostracionesMedia
¿Qué fórmula es lógicamente equivalente a ¬(q ∨ p)? Haz clic en ella.
¬(q ∨ p)
1¬q ∧ ¬p
2¬q ∨ ¬p
3¬q ∧ p
4q ∨ ¬p
4.Lógica proposicional y demostracionesDifícil
Se dan las premisas p → q; q → r. ¿Qué conclusión se sigue de ellas? Haz clic en ella.
p → qq → r
1¬p → ¬r
2p → r
3p ∧ r
4r → p
5.Lógica digital: puertas, mapas K y biestablesMedia
Un multiplexor de 4 a 1 tiene sus entradas de selección S₁ = A y S₀ = B, y sus entradas de datos conectadas a I₀ = C′, I₁ = C′, I₂ = 0, I₃ = 1. ¿Para cuántas de las 8 combinaciones de A, B y C la salida es F = 1? Halla N.
I₀ = C′I₁ = C′I₂ = 0I₃ = 1
N =
6.Lógica digital: puertas, mapas K y biestablesDifícil
Halla la forma SOP mínima de F(A, B, C, D) = Σm(1, 4, 7, 10, 12, 13, 15) + d(2, 3, 8, 9), donde d marca las condiciones indiferentes. ¿Cuántos literales, L, contiene?
Halla la función φ de Euler φ(27), el número de enteros de 1 a 27 que son coprimos con 27.
n = 27 = 33
φ(27) =
8.Teoría de números y aritmética modularDifícil
Una clave RSA usa los primos p = 13 y q = 29 y el exponente público e = 17. Halla el exponente privado d (0 < d < φ(n)).
p = 13q = 29e = 17
d =
9.Algoritmos y complejidadMedia
¿Cuántos niveles tiene la recursión de merge sort para un array de n elementos?
AUnos log₂ n
BUnos √n
CUnos n / 2
DUnos n
10.Algoritmos y complejidadDifícil
¿Cómo detecta el algoritmo de Bellman-Ford un ciclo de peso negativo alcanzable desde el origen?
ATras V − 1 rondas, comprueba si alguna arista todavía puede relajarse
BComprueba si alguna arista tiene peso negativo
CCuenta los ciclos con una búsqueda en profundidad
DEjecuta dos veces el algoritmo de Dijkstra y compara los dos resultados de distancias
11.Estructuras de datosMedia
En una cola circular almacenada en un arreglo de capacidad n, ¿cómo se calcula la posición siguiente al índice i?
Ai + 1
B(i + 1) mod n
C2i + 1
D(i − 1) mod n
12.Estructuras de datosDifícil
Un nodo AVL está desequilibrado porque el subárbol derecho de su hijo izquierdo ha quedado demasiado alto (caso izquierda-derecha). ¿Qué corrección se aplica?
AUna rotación a la derecha en el hijo izquierdo y luego una rotación a la izquierda en el nodo
BUna rotación simple a la derecha en el nodo
CUna rotación a la izquierda en el hijo izquierdo y luego una rotación a la derecha en el nodo
DUna rotación simple a la izquierda en el nodo
13.Teoría de grafosMedia
¿Cuántos circuitos de Hamilton distintos, H, tiene el grafo completo K5? Los circuitos que solo difieren en el vértice inicial o en el sentido cuentan como el mismo.
K5
H =
14.Teoría de grafosDifícil
Usa el algoritmo de Dijkstra para hallar la longitud d(E) del camino más corto de A a E en el grafo ponderado.
inicio: Afin: E
d(E) =
15.Bases de datos y SQLMedia
¿Qué es un disparador (trigger) de base de datos?
AUna copia de seguridad programada de la base de datos
BUn tipo de índice que acelera las búsquedas
CCódigo que se ejecuta automáticamente cuando se produce en una tabla un evento determinado, como INSERT, UPDATE o DELETE
DUna consulta que un usuario ejecuta a mano
16.Bases de datos y SQLDifícil
Las puntuaciones son 90, 90 y 80. ¿Qué valores da RANK() OVER (ORDER BY score DESC)?
A1, 1, 2
B2, 2, 3
C1, 2, 3
D1, 1, 3
17.Redes de computadoresMedia
¿En qué se diferencia un cortafuegos con estado (stateful) de un simple filtro de paquetes?
ASolo comprueba la dirección MAC de cada trama
BSigue las conexiones y permite las respuestas que pertenecen a sesiones establecidas
CBloquea todo el tráfico entrante sin excepciones, incluidas las respuestas a peticiones salientes
DCifra cada paquete que reenvía
18.Redes de computadoresDifícil
¿Cómo mejora principalmente el rendimiento web una red de distribución de contenidos (CDN)?
AAumenta el ancho de banda de las propias conexiones domésticas de los usuarios
BElimina la necesidad de consultas DNS
CSirve contenido en caché desde servidores cercanos a los usuarios
DSustituye TCP por un protocolo de transporte más rápido
19.Subredes IPv4Media
La red 192.168.35.0/24 se divide en subredes /27, numeradas 1, 2, 3, … desde la dirección más baja (la subred 1 empieza en .0). ¿Cuál es el cuarto octeto x de la dirección de difusión de la subred 2?
192.168.35.0/24/27subred 2 (la subred 1 empieza en .0)
x =
20.Subredes IPv4Difícil
Un host tiene la dirección 172.20.223.1/17. ¿Cuál es el tercer octeto x de su dirección de red?
172.20.223.1/17
x =
3Disoluciones
1.Sistemas de numeración
Respuesta: U = 179
Poner bits: cada bit vale una potencia de dos (128, 64, …, 1). Un dígito hexadecimal son exactamente cuatro bits, y en complemento a dos de 8 bits el bit de más a la izquierda vale −128. Las operaciones bit a bit actúan sobre cada posición de bit por separado.
Invertir y sumar uno
77 = 0100 1101
invertido: 1011 0010
+1 → 1011 0011
Leerlo sin signo
1011 0011₂ = 256 − 77 = 179
Respuesta
U = 179
2.Sistemas de numeración
Respuesta: M = 6075 KiB
Sistemas de numeración posicionales: cada dígito vale su valor por una potencia de la base. En binario las posiciones valen 1, 2, 4, 8, 16, …; en hexadecimal 1, 16, 256, …, con A–F para 10–15. En complemento a dos de 8 bits, el bit de la izquierda vale −128 en vez de +128; así se guardan los números negativos.
Bits y bytes
1920·1080·24 = 49766400 bit = 6220800 B
Pasar a KiB
6220800/1024 = 6075 KiB
Respuesta
M = 6075 KiB
3.Lógica proposicional y demostraciones
Respuesta: ¬q ∧ ¬p
Equivalencia lógica: dos fórmulas son equivalentes (≡) cuando tienen el mismo valor en todas las filas de la tabla de verdad. Una tautología vale 1 en todas las filas, una contradicción vale 0 en todas las filas, y una contingencia no es ninguna de las dos. Leyes útiles: De Morgan, ¬(a ∧ b) ≡ ¬a ∨ ¬b y ¬(a ∨ b) ≡ ¬a ∧ ¬b; a → b ≡ ¬a ∨ b ≡ ¬b → ¬a (contrarrecíproca); ¬(a → b) ≡ a ∧ ¬b; y las leyes distributivas, a ∨ (b ∧ c) ≡ (a ∨ b) ∧ (a ∨ c).
La ley
De Morgan: ¬(a ∨ b) ≡ ¬a ∧ ¬b. El ∨ se convierte en ∧ y se niegan ambas partes.
¬(q ∨ p) ≡ ¬q ∧ ¬p
Comprueba con la tabla de verdad
p = 1, q = 1: 0 | 0 0 0 1
p = 1, q = 0: 0 | 0 1 1 0
p = 0, q = 1: 0 | 0 1 0 1
p = 0, q = 0: 1 | 1 1 0 1
Respuesta
¬q ∧ ¬p
Las columnas después de la barra son las opciones, en el orden mostrado.
4.Lógica proposicional y demostraciones
Respuesta: p → r
Cuantificadores y argumentos: ¬∀x P(x) ≡ ∃x ¬P(x) y ¬∃x P(x) ≡ ∀x ¬P(x). Desplaza la negación hacia dentro, intercambia cada cuantificador que atraviesa y niega la fórmula interior con las leyes proposicionales, como ¬(a → b) ≡ a ∧ ¬b. Un argumento es válido cuando la conclusión vale 1 en todas las filas en las que todas las premisas valen 1. Una sola fila con premisas verdaderas y conclusión falsa es un contraejemplo y demuestra que el argumento no es válido.
Filas con todas las premisas verdaderas
p = 1, q = 1, r = 1: ¬p → ¬r = 1, p → r = 1, p ∧ r = 1, r → p = 1
p = 0, q = 1, r = 1: ¬p → ¬r = 0, p → r = 1, p ∧ r = 0, r → p = 0
p = 0, q = 0, r = 1: ¬p → ¬r = 0, p → r = 1, p ∧ r = 0, r → p = 0
p = 0, q = 0, r = 0: ¬p → ¬r = 1, p → r = 1, p ∧ r = 0, r → p = 1
Conclusión
p → r (silogismo hipotético)
Respuesta
p → r
5.Lógica digital: puertas, mapas K y biestables
Respuesta: N = 4
Multiplexor: un multiplexor de 2ⁿ a 1 pasa una de sus entradas de datos a la salida; las líneas de selección, leídas como un número binario, eligen cuál. En un MUX de 4 a 1 con selecciones S₁S₀ = AB, F = A′B′·I₀ + A′B·I₁ + AB′·I₂ + AB·I₃. Conectar las entradas de datos a 0, 1, C o C′ hace que el MUX produzca cualquier función de A, B y C, lo que es una forma habitual de construir lógica con un solo chip.
Expresión de la salida
F = A′B′C′ + A′BC′ + AB
Filas con F = 1
ABC = 000, 010, 110, 111
N = 4
Respuesta
N = 4
6.Lógica digital: puertas, mapas K y biestables
Respuesta: L = 14
Mapas de Karnaugh: las celdas están ordenadas en código Gray (00, 01, 11, 10), por lo que las celdas vecinas, incluidas las que están a través de los bordes, difieren en exactamente una variable. Agrupa los 1 en rectángulos de 1, 2, 4, 8 o 16 celdas, lo más grandes y los menos posibles, hasta cubrir todos los 1. Cada grupo es un término producto: las variables que permanecen constantes dentro de él. Un grupo de 2ᵏ celdas pierde k variables. Las indiferencias (X) pueden usarse para agrandar grupos, pero nunca hace falta cubrirlas. Agrupar los 0 en su lugar da la forma POS mínima.
Implicantes primos
Los grupos más grandes que se pueden formar con 1 y X.
B′C′D, B′CD′, BC′D′, BCD, AC′, A′CD, A′B′D, AB′D′, ABD
Cobertura mínima
F = B′C′D + B′CD′ + BC′D′ + BCD + AC′
L = 14
Respuesta
L = 14
Existe otra agrupación del mismo tamaño; tiene el mismo número de términos y de literales.
7.Teoría de números y aritmética modular
Respuesta: φ(27) = 18
Inversos y congruencias: a tiene inverso módulo n exactamente cuando mcd(a, n) = 1. El algoritmo de Euclides extendido escribe 1 = s·n + t·a, y entonces a⁻¹ ≡ t (mod n). Una congruencia a·x ≡ b (mod n) con mcd(a, n) = 1 tiene la solución x ≡ a⁻¹·b. Dos congruencias x ≡ r₁ (mod m₁) y x ≡ r₂ (mod m₂) con módulos coprimos tienen una solución módulo m₁·m₂ (teorema chino del resto). La φ(n) de Euler cuenta los números de 1 a n que son coprimos con n: φ(n) = n·∏(1 − 1/p).
Factores primos
27 = 33
Función φ
φ(27) = 27 − 9 = 18
Respuesta
φ(27) = 18
8.Teoría de números y aritmética modular
Respuesta: d = 257
Potencias modulares y RSA: calcula aᵏ mod n por cuadrado repetido: escribe k en binario, eleva al cuadrado, reduce después de cada paso y multiplica las potencias cuyo bit es 1. Fermat: aᵖ⁻¹ ≡ 1 (mod p) para un primo p que no divide a a, así que el exponente se puede reducir módulo p − 1. RSA: elige los primos p y q, n = p·q y φ(n) = (p − 1)(q − 1); el exponente público e es coprimo con φ(n), y el exponente privado es d = e⁻¹ mod φ(n). Cifra con c = mᵉ mod n y descifra con m = cᵈ mod n.
Módulo y función φ
n = 13·29 = 377
φ(n) = 12·28 = 336
Algoritmo de Euclides extendido
r = 336, t = 0
r = 17, q = 19, t = 1
r = 13, q = 1, t = −19
r = 4, q = 3, t = 20
r = 1, q = 4, t = −79
Exponente privado
d = 257
comprobación: 17·257 = 4369 = 13·336 + 1
Respuesta
d = 257
9.Algoritmos y complejidad
Respuesta: A · Unos log₂ n
Por qué esta es la respuesta
Dividir por la mitad de n hasta 1 lleva unos log₂ n niveles, y cada nivel hace un trabajo de mezcla O(n), lo que da O(n log n).
Respuesta
A · Unos log₂ n
10.Algoritmos y complejidad
Respuesta: A · Tras V − 1 rondas, comprueba si alguna arista todavía puede relajarse
Por qué esta es la respuesta
Todas las distancias mínimas reales se hallan en V − 1 rondas; si una arista todavía puede mejorarse, debe existir un ciclo negativo.
Respuesta
A · Tras V − 1 rondas, comprueba si alguna arista todavía puede relajarse
11.Estructuras de datos
Respuesta: B · (i + 1) mod n
Por qué esta es la respuesta
La operación módulo hace que el índice n − 1 vuelva a 0, de modo que el arreglo se reutiliza sin desplazar elementos.
Respuesta
B · (i + 1) mod n
12.Estructuras de datos
Respuesta: C · Una rotación a la izquierda en el hijo izquierdo y luego una rotación a la derecha en el nodo
Por qué esta es la respuesta
La primera rotación convierte el caso izquierda-derecha en un caso izquierda-izquierda, que luego corrige una rotación a la derecha en el nodo desequilibrado.
Respuesta
C · Una rotación a la izquierda en el hijo izquierdo y luego una rotación a la derecha en el nodo
13.Teoría de grafos
Respuesta: H = 12
Euler, Hamilton y árboles: un grafo conexo tiene un circuito euleriano (cada arista una vez, volviendo al inicio) cuando todos los vértices tienen grado par, y un camino euleriano que no es un circuito cuando exactamente dos vértices tienen grado impar; entonces el camino va de un vértice impar al otro. Un circuito hamiltoniano visita cada vértice una vez; Kn tiene (n − 1)!/2 de ellos. Un árbol de n vértices tiene n − 1 aristas, y un grafo conexo con m aristas conserva un árbol generador tras quitarle m − n + 1 aristas.
Contar
H = (5 − 1)!/2 = 24/2 = 12
Respuesta
H = 12
14.Teoría de grafos
Respuesta: d(E) = 9
Caminos mínimos y árboles generadores: el algoritmo de Dijkstra fija un vértice por ronda: el vértice no fijado con la menor distancia provisional. Su distancia es entonces definitiva, y cada vecino v recibe d(v) = min(d(v), d(u) + w(u, v)). El algoritmo de Kruskal construye un árbol generador mínimo tomando las aristas de la más ligera a la más pesada y descartando toda arista que cierre un ciclo; el algoritmo de Prim hace crecer un único árbol desde un vértice inicial añadiendo siempre la arista más ligera que sale de él. Un árbol generador de n vértices tiene n − 1 aristas.
Dijkstra ronda a ronda
Cada línea: el vértice fijado, su distancia definitiva y los vecinos cuya distancia mejora.
A (0): B: 3, C: 7
B (3): D: 9, E: 9
C (7)
D (9): F: 14
E (9): F: 10
F (10)
Camino más corto
A → B → E
d(E) = 9
Respuesta
d(E) = 9
15.Bases de datos y SQL
Respuesta: C · Código que se ejecuta automáticamente cuando se produce en una tabla un evento determinado, como INSERT, UPDATE o DELETE
Por qué esta es la respuesta
Los disparadores se ejecutan automáticamente antes o después de los cambios en los datos, por ejemplo para escribir un registro de auditoría o imponer una regla compleja.
Respuesta
C · Código que se ejecuta automáticamente cuando se produce en una tabla un evento determinado, como INSERT, UPDATE o DELETE
16.Bases de datos y SQL
Respuesta: D · 1, 1, 3
Por qué esta es la respuesta
RANK da la misma posición a las filas empatadas y se salta los números siguientes (1, 1, 3); DENSE_RANK daría 1, 1, 2.
Respuesta
D · 1, 1, 3
17.Redes de computadores
Respuesta: B · Sigue las conexiones y permite las respuestas que pertenecen a sesiones establecidas
Por qué esta es la respuesta
Un cortafuegos con estado mantiene una tabla de conexiones activas, de modo que el tráfico de retorno se permite automáticamente. Un filtro sin estado juzga cada paquete de forma aislada.
Respuesta
B · Sigue las conexiones y permite las respuestas que pertenecen a sesiones establecidas
18.Redes de computadores
Respuesta: C · Sirve contenido en caché desde servidores cercanos a los usuarios
Por qué esta es la respuesta
Las CDN colocan copias del contenido en muchas ubicaciones periféricas y dirigen a los usuarios, a menudo mediante DNS, a un servidor cercano. Esto reduce la latencia y la carga del servidor de origen.
Respuesta
C · Sirve contenido en caché desde servidores cercanos a los usuarios
19.Subredes IPv4
Respuesta: x = 63
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).
Tamaño de bloque
25 = 32
Subred número 2
red: (2 − 1)·32 = 32
difusión: 32 + 32 − 1 = 63
Respuesta
x = 63
20.Subredes IPv4
Respuesta: x = 128
IPv4 subnetting: an address has 32 bits. The prefix /p says how many leading bits identify the network; the remaining 32 − p bits number the hosts. A subnet has 2³²⁻ᵖ addresses, but the first (network address) and last (broadcast address) cannot be given to hosts, so 2³²⁻ᵖ − 2 hosts fit. Exceptions: a /31 (point-to-point link, RFC 3021) uses both of its 2 addresses for hosts, and a /32 is one single address (a single host or a loopback).