Tema 4 · Programación introductoria

Variables y tipos, operadores aritméticos/relacionales/lógicos, estructuras de control (if, while, for), funciones, conversión binario↔decimal, complejidad básica y algoritmos sencillos.

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…

Ver banco completo →

Generador aleatorio

El generador construye problemas numéricos aleatorios por bloque temático. Cada plantilla incluye su solución paso a paso.