1. Variables, tipos y operadores
Tipos de datos básicos:
- Entero (int): −3, 0, 7.
- Real / flotante (float): 3.14, −0.5.
- Booleano (bool): true / false.
- Cadena (string): "hola".
Operadores:
- Aritméticos: +, −, *, /, % (resto), ** (potencia).
- Relacionales: ==, !=, <, >, <=, >=. Devuelven booleano.
- Lógicos: AND, OR, NOT. (Equivalentes en Python: and, or, not; en C/Java: &&, ||, !).
Precedencia: paréntesis > ** > *, /, % > +, − > relacionales > NOT > AND > OR.
2. Estructuras de control
Condicional if/elif/else:
if condicion:
# ...
elif otra:
# ...
else:
# ...
Bucle while: se repite mientras la condición sea verdadera.
while x < 10:
x = x + 1
Bucle for: itera sobre una secuencia.
for i in range(1, n+1):
suma = suma + i
range(a, b): enteros desde a hasta b−1 inclusive ⇒ b−a iteraciones.
3. Sistemas binario y conversión
Sistema binario (base 2): solo 0 y 1.
- Con n bits: 2n combinaciones distintas (de 0 a 2n−1).
- Conversión binario→decimal: cada bit se multiplica por su peso 2k y se suman. Ej.: 10112 = 1·8 + 0·4 + 1·2 + 1·1 = 11.
- Conversión decimal→binario: divisiones sucesivas por 2 y se lee el resto desde abajo.
Sistema hexadecimal (base 16): 0-9 y A-F (10-15). Útil porque 16 = 2⁴ ⇒ 1 dígito hex = 4 bits.
Direcciones IP, colores y memorias se suelen expresar en hexadecimal o binario por compatibilidad con la arquitectura.
4. Funciones y algoritmos simples
Función: bloque con un nombre, parámetros y un valor de retorno.
def suma(a, b):
return a + b
Suma de los primeros n naturales: 1 + 2 + … + n = n·(n+1)/2. Comprobable con un for o aplicando la fórmula directa.
Máximo de una lista: recorrer comparando cada elemento con el máximo provisional. Coste O(n).
Pseudocódigo: descripción del algoritmo en lenguaje natural estructurado (inicio, repetir, hasta…, fin).
Diagrama de flujo: representación gráfica con óvalos (inicio/fin), rectángulos (acciones), rombos (decisiones), flechas (flujo).
Problemas resueltos paso a paso
1. Suma 1 + 2 + … + n
Calcula 1 + 2 + … + 10 aplicando la fórmula n·(n+1)/2.
1
S = 10·11/2 = 110/2.
Ver solución completa
S = n·(n+1)/2 = 10·11/2 = 55.
2. Suma de los primeros n pares
Suma 2 + 4 + 6 + … + 20. (Son 10 pares; equivale a 2·(1+2+…+10).)
1
S = 2·(10·11/2).
Ver solución completa
S = 2·(1+2+…+10) = 2·55 = 110.
3. Conversión decimal → binario · número de bits
¿Cuántos bits hacen falta como mínimo para representar el número 100 en binario (sin signo)?
1
2^6 = 64 < 100 < 128 = 2^7 ⇒ 7 bits.
Ver solución completa
2⁶ = 64 ≤ 100 < 128 = 2⁷ ⇒ se necesitan 7 bits.
4. Combinaciones de n bits
Con 5 bits, ¿cuántas combinaciones distintas pueden representarse?
1
2^5 = 32.
Ver solución completa
2⁵ = 32 combinaciones distintas (0 a 31).
5. Operador módulo · resto
Calcula el resto de 17 dividido entre 5 (17 % 5).
1
17 = 3·5 + 2 ⇒ resto 2.
Ver solución completa
17 % 5 = 2 (cociente 3, resto 2).
6. Estructura condicional · evaluación
Si x = 7 y y = 4, evalúa la expresión (x > y) AND (x < 10). Devuelve 1 si es verdadero, 0 si falso.
1
Ambas verdaderas ⇒ AND = true ⇒ 1.
Ver solución completa
(x > y) ⇒ true; (x < 10) ⇒ true; AND ⇒ true ⇒ 1.
7. Bucle for · iteraciones de range
¿Cuántas iteraciones ejecuta for i in range(3, 12)?
1
Iteraciones = 12 − 3.
Ver solución completa
range(3, 12) recorre 3, 4, …, 11 ⇒ 12 − 3 = 9 iteraciones.
8. Bucle while · veces que se ejecuta
Inicialmente x = 0. El bucle while x < 20: x = x + 4. ¿Cuántas iteraciones?
1
20/4 = 5.
Ver solución completa
x = 0, 4, 8, 12, 16, 20. Se ejecuta hasta que x = 20 no cumple x < 20: 5 iteraciones.
9. Función · evaluación
Define f(x) = 3·x + 5. Calcula f(7).
1
f(7) = 3·7 + 5 = 21 + 5.
Ver solución completa
f(7) = 21 + 5 = 26.
10. Binario → decimal
Convierte 1101₂ a decimal.
1
1·8 + 1·4 + 0·2 + 1·1.
Ver solución completa
1101₂ = 8 + 4 + 0 + 1 = 13.
11. Decimal → binario · suma de pesos
Convierte 25 a binario. Da el resultado tratado como número decimal con sus dígitos (ej. 11001 ⇒ 11001).
1
16 + 8 + 1 = 25 ⇒ 11001.
Ver solución completa
25 = 16 + 8 + 1 = 2⁴ + 2³ + 2⁰ ⇒ 11001₂.
12. AND/OR · evaluación
Evalúa NOT(false OR true). Devuelve 1 si verdadero, 0 si falso.
1
OR ⇒ true; NOT true = false ⇒ 0.
Ver solución completa
false OR true = true; NOT true = false ⇒ 0.
13. Algoritmo · máximo de tres
Dados a = 7, b = 12, c = 5, ¿cuál es el máximo?
1
max(7,12,5) = 12.
Ver solución completa
Recorrido: max ← 7; comparar con 12 ⇒ max = 12; comparar con 5 ⇒ max = 12. Resultado 12.
14. Algoritmo · contador
Cuenta de 0 a 20 sumando de 2 en 2. ¿Cuántos términos hay (incluye el 0 y el 20)?
1
(20−0)/2 + 1 = 10 + 1.
Ver solución completa
Términos = (último − primero)/paso + 1 = 20/2 + 1 = 11.
15. Complejidad · operaciones de bucle anidado
Bucle for i in range(5): for j in range(4). ¿Cuántas veces se ejecuta el cuerpo más interno?
1
5·4 = 20.
Ver solución completa
Bucle anidado: 5·4 = 20 ejecuciones del cuerpo interno.
Test de autoevaluación
Una variable de tipo booleano puede valer:
La estructura repetitiva while se ejecuta:
Con n bits se representan:
La fórmula 1 + 2 + … + n vale:
El operador % en programación devuelve:
Simuladores
Banco de exámenes (Tecnología e Ingeniería · 1º Bachillerato)
Cargando…
Generador aleatorio
El generador construye problemas numéricos aleatorios por bloque temático. Cada plantilla incluye su solución paso a paso.