Fluxograma e tabela de rastreio – seleção e repetição

ComputaçãoAlgoritmos e resolução de problemasIdades 13–14

Carregando…

Usar com minha turma ✨ Personalizar com IA Relatar um problema

O mesmo algoritmo aparece lado a lado como fluxograma e como pseudocódigo, Python ou blocos. Os estudantes definem as entradas e avançam passo a passo por IF … ELSE, IF aninhados e laços FOR, WHILE e REPEAT … UNTIL, enquanto o caminho percorrido se acende e uma tabela de rastreio é preenchida linha a linha com um contador de voltas. Há tarefas de acumular, contar, máximo, mínimo e média, condições compostas com AND/OR/NOT, leis de De Morgan, avaliação de curto-circuito e tratadores de eventos, além de um modo de edição para montar ou corrigir um algoritmo e conferi-lo com dados de teste.

Aula: Estruturas de controle: seleção e repetição

O que mostra

Os algoritmos são construídos com três estruturas de controle: sequência, seleção e repetição. Esta simulação executa um algoritmo uma instrução por vez e mostra o mesmo programa como fluxograma e como pseudocódigo, Python ou blocos. Cada passo acrescenta uma linha à tabela de rastreio, o jeito clássico de fazer um teste de mesa. Você pode comparar laços FOR controlados por contador, laços WHILE controlados por condição, que podem rodar zero vezes, e laços REPEAT … UNTIL, que rodam pelo menos uma vez, junto com tabelas-verdade, leis de De Morgan e avaliação de curto-circuito.

Como usar

Escolha uma Tarefa, confira as Entradas e clique em Passo. A figura recém-executada fica destacada, a seta grossa mostra o ramo seguido e uma nova linha aparece na tabela de rastreio. Clique em Executar para rodar sozinho. Troque a Visão do código entre Pseudocódigo, Python e Blocos. Clique em Editar algoritmo para incluir, alterar ou apagar passos e depois em Rodar testes para conferir seu algoritmo com os dados de teste.

Parâmetros que você pode mudar

  • Tarefa Seleção IF … ELSE: aprovado ou não, IF aninhados: conceitos A, B, C, Laço FOR: acumular, Laço FOR: contar, Máximo, mínimo e média, Laço WHILE com sentinela (−1), REPEAT … UNTIL: validar entradas, Condições compostas AND, OR, NOT, Leis de De Morgan, Avaliação de curto-circuito, Eventos: clique e tecla, Desafio: corrija o algoritmo do máximo, Desafio: contar negativos, Em branco: monte seu algoritmo
  • Entradas separadas por vírgulas (vazio = as da tarefa)
  • Visão do código Pseudocódigo, Python, Blocos
  • Curto-circuito AND/OR
  • Velocidade 1–10 passos/s

Perguntas para explorar

  1. Quantas vezes o corpo de um laço FOR é executado quando n vale 0?
  2. Por que um laço REPEAT … UNTIL roda pelo menos uma vez e um WHILE pode não rodar nenhuma?
  3. Por que o algoritmo do máximo falha quando todas as entradas são negativas e como você o corrige?