Planning & pseudocode · Planejamento e 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.
Planeje antes de codificar
- Um algoritmo é uma lista clara de passos que resolve um problema.
- Bons programadores planejam os passos antes de digitar código.
- Um plano ajuda a identificar erros cedo e explicar sua ideia.
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.
Decomposição
- Decomposição significa dividir um grande problema em partes menores.
- Resolva cada parte pequena separadamente.
- Partes pequenas são mais fáceis de escrever, testar e corrigir.
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.
Abstração
- Abstração significa manter apenas os detalhes que importam.
- Você esconde as partes que não precisa agora.
- Um mapa é uma abstração: mostra estradas, não cada árvore.
Structured English
- Structured English writes the steps as plain numbered sentences.
- It is not real code, so anyone can read it.
Inglês Estruturado
- Inglês Estruturado escreve os passos como frases numeradas simples.
- Não é código real, então qualquer pessoa pode lê-lo.
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).
Fluxogramas
- Um fluxograma desenha os passos como caixas ligadas por setas.
- Um retângulo é um passo; um losango é uma decisão (sim / não).
( 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.
Três blocos construtivos
- Sequência: passos rodam um após o outro.
- Seleção:
if/elif/elseescolhe um caminho. - Iteração:
for/whilerepete passos.
In Cambridge pseudocode
- The same plan in pseudocode, then in Python below.
Em pseudocódigo do Cambridge
- O mesmo plano em pseudocódigo, depois em Python abaixo.
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.
Erros comuns
- Pseudocódigo é um plano em palavras simples — não precisa rodar.
- Divida o problema em pequenos passos antes de escrever qualquer código.
- Planeje entrada → processo → saída.
Now you try
- Each task gives you a plan in words. Turn it into Python.
- Press Check answer to test your code.
Agora você tenta
- Cada tarefa oferece um plano em palavras. Transforme em Python.
- Clique em Check answer para testar seu código.
An algorithm is ordered steps · Um algoritmo é passos ordenados
Pseudocode is just the steps in order, before you write real code. · Pseudocódigo são apenas os passos em ordem, antes de escrever 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. · Siga este plano: leia um número inteiro; se ele dividir por 2 sem resto imprima Even, caso contrário imprima Odd. Para entrada 4, imprima Even.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.
Follow this plan: read a number N; add up every whole number from 1 to · até N; print the total. For input 5, print 15. · Siga este plano: leia um número N; some todos os números inteiros de 1 a N; imprima o total. Para entrada 5, imprima 15.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.
Decompose this into a function. Write count_vowels(word) that returns · decrescentes how many letters of word are vowels (a e i o u, lowercase). · Decomponha isso em uma função. Escreva count_vowels(word) que retorne quantas letras de word são vogais (a e i o u, minúsculas).
Click Run to see the output here. · Clique em Executar para ver a saída aqui.
Follow this plan for every number from 1 to · até 15: if it divides by both 3 and · e 5, print FizzBuzz; else if it divides by 3, print Fizz; else if it divides by 5, print Buzz; otherwise print the number. · Siga este plano para cada número de 1 a 15: se divisível por ambos 3 e 5, imprima FizzBuzz; senão se divisível por 3, imprima Fizz; senão se divisível por 5, imprima Buzz; caso contrário imprima o número.
Click Run to see the output here. · Clique em Executar para ver a saída aqui.