Pasos para resolver un problema
- Analizar el problema: entender qué se da (entrada), qué se pide (salida) y cuáles son las reglas.
- Crear un algoritmo: escribir la solución como pasos claros y ordenados.
- Programar: convertir el algoritmo en un programa en un lenguaje como Python.
- Probar: ejecutarlo con muchos datos, también casos extremos (0, números negativos, valores muy grandes).
- Depurar: encontrar y arreglar los errores; después, probar otra vez.
Un algoritmo debe tener: entrada y salida claras, pasos finitos (tiene que terminar), pasos precisos (sin dudas) y dar el resultado correcto.
Diagramas de flujo
Un diagrama de flujo es el dibujo de un algoritmo con símbolos estándar unidos por flechas.
- Óvalo (terminal): Inicio / Fin.
- Paralelogramo: Entrada / Salida.
- Rectángulo: Proceso (un cálculo o una asignación).
- Rombo: Decisión; una entrada y dos salidas (Sí/No).
- Flecha: dirección del flujo.
Los diagramas de flujo se entienden fácil con la vista, pero se hacen enormes cuando el problema es grande.
Pseudocódigo
El pseudocódigo escribe un algoritmo con frases sencillas, parecidas al lenguaje diario, y palabras clave como LEER, CALCULAR, ESCRIBIR, SI…SI NO, MIENTRAS. No es un lenguaje real, así que no importa la sintaxis exacta.
LEER A, B
SI A > B ENTONCES
ESCRIBIR A
SI NO
ESCRIBIR BLos algoritmos pueden tener secuencia (pasos uno tras otro), selección (decisiones con SI) y repetición (bucles).
Descomposición
Descomponer es dividir un problema complejo en problemas más pequeños y simples. Cada parte se resuelve (muchas veces por una persona o función distinta) y después se juntan.
Ejemplo: un sistema de reservas de trenes se descompone en: buscar trenes, comprobar asientos, reservar el billete, cobrar e imprimir el billete.
Ventajas: es más fácil de entender, el trabajo se reparte, los errores se encuentran mejor y las partes se pueden reutilizar.
Lo que suele caer en el examen
Suelen pedir: dibujar un diagrama de flujo o escribir pseudocódigo de tareas simples (el mayor de dos números, la suma de los primeros n números, par o impar, nota según la puntuación), nombrar los símbolos, enumerar los pasos de la resolución de problemas y explicar la descomposición con un ejemplo.
Fórmulas y definiciones clave
- Resolver problemas: Analizar → Algoritmo → Código → Prueba → Depuración
- Algoritmo = pasos finitos, precisos y ordenados con entrada y salida
- Óvalo = inicio/fin; Paralelogramo = E/S; Rectángulo = proceso; Rombo = decisión
- Bloques básicos: secuencia, selección, repetición
Ejemplos resueltos
1. Escribe un algoritmo para hallar el área de un rectángulo.
1. Inicio. 2. Leer largo L y ancho B. 3. Área = L × B. 4. Escribir Área. 5. Fin.
2. Escribe pseudocódigo para saber si un número es par o impar.
LEER N SI N MOD 2 = 0 ENTONCES ESCRIBIR "Par" SI NO ESCRIBIR "Impar"
3. Describe un diagrama de flujo que escriba la suma de los números del 1 al 10.
Inicio → proceso: suma = 0, i = 1 → decisión: ¿i <= 10? → Sí: proceso suma = suma + i, i = i + 1, flecha de vuelta a la decisión → No: salida suma → Fin.
4. Descompón 'organizar un día de deportes en el colegio'.
Subproblemas: hacer la lista de pruebas, inscribir a los alumnos, preparar el campo y el material, fijar el horario, juzgar y anotar resultados, entregar premios. Cada uno lo puede llevar un equipo y luego se juntan.
5. Sigue el diagrama del número mayor para A = 5, B = 12.
Inicio → entrada A = 5, B = 12 → ¿5 > 12? No → escribir B = 12 → Fin.
6. Escribe pseudocódigo para dar la nota: puntos ≥ 90 → A, ≥ 75 → B, si no C.
LEER M SI M >= 90 ENTONCES ESCRIBIR "A" SI NO, SI M >= 75 ENTONCES ESCRIBIR "B" SI NO ESCRIBIR "C"
Errores comunes
- Usar un rectángulo para una decisión. Las decisiones siempre llevan un rombo con salidas Sí/No.
- Escribir un algoritmo que nunca termina. Un algoritmo tiene que ser finito.
- No probar con datos raros como 0 o números negativos.
- Confundir entrada/salida (paralelogramo) con proceso (rectángulo).