Fluxograma e tabela de rastreio – seleção e repetição
ComputaçãoAlgoritmos e resolução de problemasIdades 13–14
Carregando…
Entre para usarO 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
- Quantas vezes o corpo de um laço FOR é executado quando n vale 0?
- Por que um laço REPEAT … UNTIL roda pelo menos uma vez e um WHILE pode não rodar nenhuma?
- Por que o algoritmo do máximo falha quando todas as entradas são negativas e como você o corrige?