ALGORITMOS – AULA 04 DE 100
| Unidade | 1 – Fundamentos e estruturas de controle |
|---|---|
| Bloco | Algoritmos e lógica (aulas 1 a 6) |
| Duração e tipo | 45 minutos – teórica e prática |
| Aula anterior | Aula 03 – Diagrama de blocos I: símbolos e fluxo sequencial |
| Próxima aula | Aula 05 – Resolução de problemas: entrada, processamento, saída e teste de mesa |
1 Objetivos da aula
- Reconhecer os padrões básicos com que todo programa é construído.
- Escrever condições com operadores relacionais (=, ≠, >, <, ≥, ≤).
- Representar decisões simples, compostas e encadeadas no diagrama de blocos.
- Representar repetições com contador e explicar por que um laço precisa terminar.
2 Roteiro da aula
| Tempo | Momento | Atividade |
|---|---|---|
| 0–5 min | Retomada | Como mostrar “Aprovado” ou “Não aprovado” (tarefa da Aula 03). |
| 5–22 min | Exposição dialogada | Padrões de construção; condições; decisão simples, composta e encadeada; repetição. |
| 22–38 min | Prática guiada | Três diagramas com decisão e repetição, em papel, simulados em duplas. |
| 38–42 min | Demonstração | Os diagramas da média e da contagem em Python. |
| 42–45 min | Síntese e ponte | Resumo e tarefa para a Aula 05. |
3 Conhecimentos prévios
Aula 03: símbolos de terminal, entrada manual, processamento, exibição, conector e linha de fluxo; construção e simulação de diagramas sequenciais.
4 Conteúdo
4.1 Os blocos de construção de qualquer programa
Os programas, em qualquer linguagem, são montados a partir de poucos padrões. A lista abaixo é adaptada de Severance (2020, cap. 1, seção “A construção de blocos de programas”):
| Padrão | O que faz | Onde aparece nesta disciplina |
|---|---|---|
| Entrada | Obtém dados do mundo externo: teclado, arquivo, sensor. | Aula 03 (símbolo de entrada manual) |
| Saída | Mostra ou guarda resultados: tela, arquivo, alto-falante. | Aula 03 (símbolo de exibição) |
| Execução sequencial | Executa as instruções uma após a outra, na ordem escrita. | Aula 03 |
| Execução condicional | Verifica uma condição e executa ou pula um conjunto de instruções. | Esta aula: decisão |
| Execução repetida | Executa um conjunto de instruções várias vezes, geralmente com alguma variação. | Esta aula: repetição |
| Reuso | Dá um nome a um conjunto de instruções para usá-lo de novo. | Unidade 2: funções |
Severance resume: parece simples demais, e de fato a arte de programar está em combinar esses elementos muitas vezes para produzir algo útil. Hoje vamos acrescentar ao diagrama de blocos a execução condicional e a execução repetida.
4.2 Condições
Uma condição é uma pergunta cuja resposta é verdadeiro ou falso. No diagrama de blocos, ela é escrita dentro do símbolo de decisão, usando operadores relacionais:
| Operador | Significado | Exemplo | Resultado com idade = 17 |
|---|---|---|---|
| = | igual a | idade = 18 | falso |
| ≠ | diferente de | idade ≠ 18 | verdadeiro |
| > | maior que | idade > 16 | verdadeiro |
| < | menor que | idade < 18 | verdadeiro |
| ≥ | maior ou igual a | idade ≥ 18 | falso |
| ≤ | menor ou igual a | idade ≤ 17 | verdadeiro |
Atenção
No diagrama usamos =, ≠, ≥ e ≤, como na matemática. Em Python a escrita é outra: == para igualdade, != para diferença, >= e <=. Isso será visto na Aula 17.
4.3 Decisão simples
Na decisão simples, uma ação só é executada se a condição for verdadeira; se for falsa, nada de diferente acontece. Exemplo: uma loja dá 10% de desconto em compras a partir de R$ 200,00 (Figura 1). O losango tem duas saídas, rotuladas Sim e Não, e os dois caminhos se reencontram no conector.

Figura 1 – Decisão simples: desconto de 10% em compras a partir de R$ 200,00
Simulando: com valor 250, a condição 250 ≥ 200 é verdadeira, o valor passa a 250 × 0,9 = 225 e a exibição mostra 225. Com valor 150, a condição é falsa, o processamento é pulado e a exibição mostra 150.
4.4 Decisão composta
Na decisão composta, há uma ação para o caso verdadeiro e outra para o caso falso: exatamente um dos dois caminhos é executado. A Figura 2 responde à tarefa da Aula 03.

Figura 2 – Decisão composta: aprovado ou não aprovado
4.5 Decisões encadeadas
Quando há mais de duas possibilidades, uma decisão pode levar a outra. Pela regra desta disciplina, quem tem média a partir de 7,0 é aprovado; quem tem média a partir de 2,0 (e abaixo de 7,0) faz a prova final; abaixo de 2,0, o estudante é reprovado. A Figura 3 representa essa regra (sem considerar a frequência).

Figura 3 – Decisões encadeadas: aprovado, prova final ou reprovado
Repare que a segunda decisão só é testada quando a primeira é falsa. Por isso basta perguntar “media ≥ 2”: quando chegamos ali, já sabemos que a média é menor que 7.
4.6 Repetição
Para exibir os números de 1 a 5, poderíamos desenhar cinco símbolos de exibição. Mas e se fossem 1.000? A repetição (ou laço) executa o mesmo trecho várias vezes enquanto uma condição for verdadeira. No diagrama, ela aparece como uma decisão com uma seta que volta para antes do teste (Figura 4).

Figura 4 – Repetição: exibir os números de 1 a 5
A variável cont é um contador: começa em 1 e aumenta de 1 em 1 a cada volta. A condição é testada antes de cada volta; quando cont chega a 6, o teste dá falso e o algoritmo segue para o Fim.
| Volta | cont antes do teste | cont ≤ 5? | Exibe |
|---|---|---|---|
| 1 | 1 | verdadeiro | 1 |
| 2 | 2 | verdadeiro | 2 |
| 3 | 3 | verdadeiro | 3 |
| 4 | 4 | verdadeiro | 4 |
| 5 | 5 | verdadeiro | 5 |
| – | 6 | falso | (sai do laço) |
O perigo do laço infinito
Se esquecermos o passo cont ← cont + 1, cont fica sempre igual a 1, o teste é sempre verdadeiro e o algoritmo nunca termina (Figura 5). Ele viola a propriedade de finitude vista na Aula 02. Todo laço precisa de algo que, a cada volta, aproxime a condição de ficar falsa.

Figura 5 – Laço infinito: falta atualizar o contador
Para saber mais
Manzano e Oliveira (2019) usam também o símbolo de preparação (hexágono) para laços com número fixo de voltas. Nesta disciplina representamos todos os laços com o símbolo de decisão, que mostra a condição de forma explícita.
5 Prática guiada
Desenhe no papel, em duplas, os diagramas abaixo (16 minutos). Simule cada um com pelo menos dois valores, um que faça a condição ser verdadeira e outro que a faça ser falsa.
- Ler dois números e mostrar o maior deles (decisão composta).
- Ler a idade de uma pessoa e mostrar “Pode votar” se ela tiver 16 anos ou mais, ou “Ainda não pode votar” caso contrário.
- Ler um número n e mostrar a tabuada de n, de n × 1 até n × 10 (repetição com contador).
Desafio: ler 5 números, um de cada vez, e mostrar a soma deles. Dica: além do contador, use uma variável soma que começa em 0 e recebe soma + número a cada volta.
6 Demonstração: decisão e repetição em Python
O professor vai executar o programa abaixo, que junta as Figuras 2 e 4. Compare cada trecho com o símbolo correspondente.
nota1 = float(input("Nota 1: "))
nota2 = float(input("Nota 2: "))
media = (nota1 + nota2) / 2
if media >= 7: # decisão
print("Aprovado")
else:
print("Não aprovado")
cont = 1
while cont <= 5: # repetição
print(cont)
cont = cont + 1
Uma execução possível (os valores 8 e 5 foram digitados pelo usuário):
Nota 1: 8
Nota 2: 5
Não aprovado
1
2
3
4
5
Em Python, os comandos que ficam “dentro” da decisão ou do laço são escritos com recuo (quatro espaços). Esse recuo faz o papel das setas do diagrama. As decisões serão estudadas a partir da Aula 17 e as repetições a partir da Aula 23.
7 Síntese
- Programas combinam poucos padrões: entrada, saída, execução sequencial, condicional, repetida e reuso.
- A decisão (losango) testa uma condição e segue por Sim ou Não; pode ser simples, composta ou encadeada.
- A repetição volta para antes do teste; o laço precisa de algo que o leve ao fim, senão nunca termina.
8 Exercícios de fixação
- Classifique cada situação como sequência, decisão ou repetição: (a) calcular o IMC e mostrá-lo; (b) se chover, levar o guarda-chuva; (c) bater os ovos até a massa ficar homogênea; (d) conferir a presença de cada estudante da lista de chamada.
- Desenhe o diagrama de blocos que lê o valor de uma compra e mostra o valor a pagar, com 5% de desconto para compras a partir de R$ 100,00.
- Desenhe o diagrama de blocos que lê uma temperatura em °C e mostra “Frio” (abaixo de 15), “Agradável” (de 15 a 25) ou “Quente” (acima de 25).
- Desenhe o diagrama de blocos que mostra os números pares de 2 a 20.
- No diagrama da Figura 4, o que acontece se a condição for trocada por cont < 5? E se o contador começar em 0? Simule e responda.
9 Para a próxima aula
Aula 05 – Resolução de problemas: entrada, processamento, saída e teste de mesa. Vamos aprender um método para sair do enunciado e chegar ao algoritmo, e uma técnica para verificar se ele está certo.
- Tarefa: traga o diagrama do exercício 4 (pares de 2 a 20). Vamos verificá-lo com teste de mesa.
- Leitura recomendada: SEVERANCE (2020), Python para Todos, capítulo 1, seção “A construção de blocos de programas”. Download gratuito: http://do1.dr-chuck.com/pythonlearn/PT_br/pythonlearn.pdf.
- Leitura complementar: SOUZA et al. (2019), capítulo 3, seções 3.5.3 e 3.5.4; MANZANO e OLIVEIRA (2019), capítulo 2, seção 2.3.3.
Referências
- MANZANO, José Augusto N. G.; OLIVEIRA, Jayr Figueiredo de. Algoritmos: lógica para desenvolvimento de programação de computadores. 29. ed. São Paulo: Érica, 2019.
- SEVERANCE, Charles R. Python para todos: explorando dados com Python 3. Tradução: Yuri Loia et al. [S. l.: s. n.], 2020. Licença CC BY-NC-SA 3.0. Disponível em: http://do1.dr-chuck.com/pythonlearn/PT_br/pythonlearn.pdf. Acesso em: 9 out. 2026.
- SOUZA, Marco Antonio Furlan de et al. Algoritmos e lógica de programação. 3. ed. São Paulo: Cengage Learning, 2019.
Licença
Esta aula adapta trechos marcados do livro Python para Todos (SEVERANCE, 2020), distribuído sob a licença Creative Commons Atribuição-NãoComercial-CompartilhaIgual 3.0 (CC BY-NC-SA 3.0). Por isso, esta aula também é distribuída sob a licença CC BY-NC-SA 3.0: pode ser copiada e adaptada para fins não comerciais, com citação da fonte e mantendo a mesma licença. Texto da licença: https://creativecommons.org/licenses/by-nc-sa/3.0/deed.pt-br.
