Planning & pseudocode · Planificación y pseudocódigo
Plan before you code
- An algorithm is a clear list of steps that solves a problem.
- Good programmers plan the steps before they type code.
- A plan helps you spot mistakes early and explain your idea.
Planifica antes de programar
- Un algoritmo es una lista clara de pasos que resuelve un problema.
- Los buenos programadores planifican los pasos antes de escribir código.
- Una planificación te ayuda a detectar errores pronto y a explicar tu idea.
Decomposition
- Decomposition means breaking a big problem into smaller parts.
- Solve each small part on its own.
- Small parts are easier to write, test, and fix.
Descomposición
- La descomposición significa dividir un problema grande en partes más pequeñas.
- Resuelve cada parte pequeña por separado.
- Las partes pequeñas son más fáciles de escribir, probar y corregir.
Abstraction
- Abstraction means keeping only the details that matter.
- You hide the parts you do not need right now.
- A map is an abstraction: it shows roads, not every tree.
Abstracción
- La abstracción significa conservar solo los detalles que importan.
- Ocultas las partes que no necesitas ahora mismo.
- Un mapa es una abstracción: muestra carreteras, no cada árbol.
Structured English
- Structured English writes the steps as plain numbered sentences.
- It is not real code, so anyone can read it.
Inglés estructurado
- El inglés estructurado escribe los pasos como oraciones numeradas simples.
- No es código real, por lo que cualquiera puede leerlo.
1. Read the number.
2. If it can be divided by 2 with no remainder, it is even.
3. Otherwise it is odd.
4. Output the answer.
Flowcharts
- A flowchart draws the steps as boxes joined by arrows.
- A rectangle is a step; a diamond is a decision (yes / no).
Diagramas de flujo
- Un diagrama de flujo dibuja los pasos como cajas unidas por flechas.
- Un rectángulo representa un paso; un rombo representa una decisión (sí / no).
( start )
|
[ read n ]
|
< n > 0 ? > --no--> [ output "not positive" ]
| yes
[ output "positive" ]
|
( end )
Three building blocks
- Sequence: steps run one after another.
- Selection:
if/elif/elsechooses a path. - Iteration:
for/whilerepeats steps.
Tres bloques básicos
- Secuencia: los pasos se ejecutan uno tras otro.
- Selección:
if/elif/elseelige un camino. - Iteración:
for/whilerepite pasos.
In Cambridge pseudocode
- The same plan in pseudocode, then in Python below.
En pseudocódigo de Cambridge
- El mismo plan en pseudocódigo, seguido del código Python a continuación.
Total ← 0
FOR I ← 0 TO LENGTH(Numbers) - 1
Total ← Total + Numbers[I]
NEXT I
Average ← Total / LENGTH(Numbers)
OUTPUT Average
numbers = [4, 8, 6]
total = 0
for n in numbers:
total = total + n
average = total / len(numbers)
print(average)
Common mistakes
- Pseudocode is a plan in plain words — it does not have to run.
- Break the problem into small steps before you write any code.
- Plan the input → process → output.
Errores comunes
- El pseudocódigo es una planificación en palabras simples — no necesita ejecutarse.
- Divide el problema en pasos pequeños antes de escribir cualquier código.
- Planifica la entrada → proceso → salida.
Now you try
- Each task gives you a plan in words. Turn it into Python.
- Press Check answer to test your code.
Ahora tú intentas
- Cada tarea te ofrece una planificación en palabras. Conviértela en Python.
- Pulsa Comprobar respuesta para poner a prueba tu código.
An algorithm is ordered steps · Un algoritmo es pasos ordenados
Pseudocode is just the steps in order, before you write real code. · El pseudocódigo son simplemente los pasos en orden, antes de escribir el código real.
Follow this plan: read a whole number; if it divides by 2 with no remainder print Even, otherwise print Odd. For input 4, print Even. · Sigue este plan: lee un número entero; si se divide por 2 sin residuo imprime Even, de lo contrario imprime Odd. Para la entrada 4, imprime Even.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
Follow this plan: read a number N; add up every whole number from 1 to · hasta N; print the total. For input 5, print 15. · Sigue este plan: lee un número N; suma todos los números enteros desde 1 hasta N; imprime el total. Para la entrada 5, imprime 15.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
Decompose this into a function. Write count_vowels(word) that returns · retornos how many letters of word are vowels (a e i o u, lowercase). · Descompón esto en una función. Escribe count_vowels(word) que devuelva cuántas letras de word son vocales (a e i o u, minúsculas).
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.
Follow this plan for every number from 1 to · hasta 15: if it divides by both 3 and · y 5, print FizzBuzz; else if it divides by 3, print Fizz; else if it divides by 5, print Buzz; otherwise print the number. · Sigue este plan para cada número del 1 al 15: si se divide tanto por 3 como por 5, imprime FizzBuzz; si no, si se divide por 3, imprime Fizz; si no, si se divide por 5, imprime Buzz; de lo contrario imprime el número.
Click Run to see the output here. · Haz clic en Ejecutar para ver la salida aquí.