Guia do Instrutor: Portugol Studio
Este guia oferece suporte pedagógico e técnico para o professor na condução das aulas no laboratório de informática, oferecendo estratégias de nivelamento para turmas heterogêneas, diagnóstico de erros frequentes na sintaxe do Portugol Studio e rubricas claras para avaliação das tarefas no Microsoft Teams.
Sobre as “Atividades Bônus” deste guia
Cada capítulo já traz, na seção “🔥 Desafio de Fixação”, a atividade extra oficial do curso — a mesma que aparece resumida em desafios_de_fixacao.md e que o Questionário de 10 perguntas pode cobrar. As sugestões de "🎓 Atividade Bônus" listadas abaixo, capítulo a capítulo, são ideias adicionais e informais para o professor propor de improviso a alunos avançados que terminem tudo (Prática 1, Prática 2 e o Desafio oficial) antes do restante da turma — não substituem o Desafio oficial e não têm gabarito publicado nos materiais do aluno.
⏱️ Gestão do Tempo de Aula (Bloco de 50 minutos)
Para manter os alunos altamente engajados e garantir o aprendizado prático:
graph LR
A["1. Contexto & Teoria<br/>(10 - 15 min)<br/>Estudo de Caso FastLog"] --> B["2. Live Coding no Projetor<br/>(20 min)<br/>Construção Passo a Passo"]
B --> C["3. Prática 2 & Desafio<br/>(15 - 20 min)<br/>Autonomia / Monitoria"]
style A fill:#2980b9,stroke:#fff,stroke-width:2px,color:#fff
style B fill:#27ae60,stroke:#fff,stroke-width:2px,color:#fff
style C fill:#8e44ad,stroke:#fff,stroke-width:2px,color:#fff- 10 a 15 min: Apresente o problema corporativo da FastLog. Conecte o conceito de programação à sua aplicação no mundo dos negócios e da tecnologia.
- 20 min: Abra o Portugol Studio no projetor e execute a Prática Obrigatória 1 com a turma, explicando as chaves
{ }, os tipos de dados e rodando com o atalhoShift + F6. - 15 a 20 min: Libere os estudantes para desenvolverem a Prática Obrigatória 2 e o Desafio de Fixação individualmente ou em duplas.
🚀 Orientações Pedagógicas por Capítulo
🟢 Módulo 1: Fundamentos e Entrada/Saída (Cap. 01 a 04)
Capítulo 01: Introdução à Lógica, Algoritmos e Setup
- Ponto de Atenção: Alunos costumam apagar acidentalmente as chaves
{ }do blocoprogramaou da funçãoinicio(). - Dica Didática: Ensine o atalho de autoformatação/indentação no Portugol Studio (
Ctrl + Shift + F). Explique que as chaves{ }são como os parênteses de um texto: tudo o que abre precisa ser fechado. - 🎓 Atividade Bônus (além do Desafio oficial): Criar um programa que imprima uma mensagem formatada utilizando caracteres de escape
\n(quebra de linha) e\t(tabulação horizontal).
Capítulo 02: Memória, Declaração de Variáveis e Tipos de Dados
- Ponto de Atenção: Confusão entre
cadeia(texto entre aspas duplas"texto") ecaracter(um único caractere entre aspas simples'A'). - Dica Didática: Use a analogia das gavetas etiquetadas com divisórias rígidas. Reforce que nomes de variáveis não podem ter espaços nem acentos.
- 🎓 Atividade Bônus (além do Desafio oficial): Declarar variáveis para cadastrar uma carga completa (Código SKU, Peso em KG, Quantidade de Caixas, Valor Assegurado e Status de Vistoria).
Capítulo 03: Operadores Matemáticos, Expressões e Atribuição (=)
- Ponto de Atenção: Confundir o operador de atribuição
=(gravação de valor) com a comparação de igualdade==(teste lógico). - Dica Didática: Mostre o operador de resto da divisão
%(módulo) e os operadores de incremento++e+=. - 🎓 Atividade Bônus (além do Desafio oficial): Calcular o troco de uma fatura de frete decompondo o valor em cédulas de R$ 50, R$ 20 e R$ 10 utilizando divisões e
%.
Capítulo 04: Interação com o Usuário (leia e escreva)
- Ponto de Atenção: Esquecer a vírgula para separar textos e variáveis no comando
escreva("Nome: ", nome, "\n"). - Dica Didática: Demonstre como o
\nno final doescrevaorganiza a tela do console e melhora a experiência do usuário (UX). - 🎓 Atividade Bônus (além do Desafio oficial): Criar um gerador de nota fiscal de transporte formatando saídas numéricas com a biblioteca
Matematica.arredondar().
🟡 Módulo 2: Controle de Fluxo e Decisão (Cap. 05 a 08)
Capítulo 05: Condicionais Simples (se)
- Ponto de Atenção: Usar um único sinal de igual no teste condicional:
se (x = 10)gera erro de sintaxe! O correto ése (x == 10). - Dica Didática: Enfatize na lousa:
==faz uma pergunta (“x é igual a 10?”);=dá uma ordem (“guarde 10 em x”). - 🎓 Atividade Bônus (além do Desafio oficial): Criar uma trava de segurança que bloqueie caminhões com velocidade acima de 80 km/h.
Capítulo 06: Condicionais Compostas e Encadeadas (se / senao)
- Ponto de Atenção: Colocar parênteses ou condições na palavra
senao(ex:senao (x < 5)é inválido; deve sersenao se (x < 5)). - Dica Didática: Mostre que o
senaoé a saída padrão para quando nenhum teste anterior foi verdadeiro. - 🎓 Atividade Bônus (além do Desafio oficial): Construir um calculador de alíquota progressiva de frete com 4 faixas de peso.
Capítulo 07: Operadores Lógicos e Portas Booleanas (e, ou, nao)
- Ponto de Atenção: Omissão de parênteses em condições complexas compostas:
se ((peso > 500) e (urgente == verdadeiro)). - Dica Didática: Desenhe as Tabelas-Verdade na lousa e compare com sistemas de alarme predial.
- 🎓 Atividade Bônus (além do Desafio oficial): Validar se um caminhoneiro possui exame toxicológico em dia E seguro de carga ativo para liberar a viagem.
Capítulo 08: Seleção Múltipla (escolha-caso-pare)
- Ponto de Atenção: Esquecer o comando
pareao final de cadacaso. No Portugol Studio, a falta doparefaz o código “vazar” e executar os casos seguintes! - Dica Didática: Enfatize: “No Portugol Studio, cada caso precisa do seu freio de mão: o comando
pare!”. - 🎓 Atividade Bônus (além do Desafio oficial): Criar um menu de cotação por modal (1-Rodoviário, 2-Aéreo, 3-Marítimo, 4-Ferroviário).
🟠 Módulo 3: Laços de Repetição e Automação (Cap. 09 a 12)
Capítulo 09: Laço Pré-Testado enquanto
- Ponto de Atenção: Esquecer de atualizar a variável de controle dentro das chaves, causando Loop Infinito.
- Dica Didática: Mostre o botão vermelho de “Parar Execução” do Portugol Studio e ensine o uso de contadores
i++. - 🎓 Atividade Bônus (além do Desafio oficial): Acumular valores digitados até o usuário digitar o valor sentinela
0.
Capítulo 10: Laço Pós-Testado faca-enquanto
- Ponto de Atenção: Achar que o
faca-enquantodo Portugol funciona como orepita-atedo VisuAlg. No Portugol, ele roda ENQUANTO FOR VERDADEIRO (padrão C/Java)! - Dica Didática: Mostre que
faca-enquantoé perfeito para menus que devem rodar até que a opção seja diferente de sair (op != 0). - 🎓 Atividade Bônus (além do Desafio oficial): Criar um validador de senha de cofre com limite de 3 tentativas.
Capítulo 11: Laço Determinístico para
- Ponto de Atenção: Erro na sintaxe dos três blocos separados por ponto e vírgula:
para (inteiro i = 0; i < N; i++). - Dica Didática: Explique os 3 passos do cabeçalho: 1. Onde começa, 2. Até onde vai, 3. Como caminha.
- 🎓 Atividade Bônus (além do Desafio oficial): Gerar uma tabela de fretes com salto de 50 em 50 km utilizando
i += 50.
Capítulo 12: Laços Aninhados e Varredura
- Ponto de Atenção: Usar a mesma variável
ipara os dois laços. - Dica Didática: Padronize
ipara linhas (laço externo) ejpara colunas (laço interno). - 🎓 Atividade Bônus (além do Desafio oficial): Desenhar um mapa de assentos de ônibus ou posições de estantes no console.
🔴 Módulo 4: Estruturas de Dados Homogêneas (Cap. 13 a 16)
Capítulo 13: Vetores I: Arrays Unidimensionais
- Ponto de Atenção: A Regra do Zero! No Portugol Studio, o primeiro elemento é o índice
0e o último étamanho - 1. Acessarvetor[5]em um vetor de tamanho 5 causa erro de estouro de memória (Array Index Out of Bounds). - Dica Didática: Desenhe o vetor na lousa com os índices
0, 1, 2, 3, 4destacados em cores diferentes. - 🎓 Atividade Bônus (além do Desafio oficial): Armazenar 5 notas e exibir a lista na ordem inversa de digitação.
Capítulo 14: Vetores II: Pesquisa e Filtros
- Ponto de Atenção: Exibir “Item não encontrado” dentro do laço
paraa cada iteração. - Dica Didática: Ensine a técnica da Flag Booleana (
logico achou = falso). - 🎓 Atividade Bônus (além do Desafio oficial): Encontrar o maior e o menor valor de uma lista e suas respectivas posições.
Capítulo 15: Matrizes I: Arrays Bidimensionais
- Ponto de Atenção: Declarar ou acessar as coordenadas invertidas
matriz[coluna][linha]em vez dematriz[linha][coluna]. - Dica Didática: Mantenha a regra clássica LC (Linha primeiro, Coluna depois).
- 🎓 Atividade Bônus (além do Desafio oficial): Preencher e exibir uma matriz identidade $3 \times 3$ com laços aninhados.
Capítulo 16: Matrizes II: Processamento Complexo
- Ponto de Atenção: Não zerar o acumulador de linha antes de iniciar o laço interno
j. - Dica Didática: Mostre visualmente o fluxo: zere o total, varra as colunas daquela linha, imprima o resultado, pule para a próxima linha.
- 🎓 Atividade Bônus (além do Desafio oficial): Calcular o faturamento anual de 3 filiais em uma matriz $3 \times 4$.
🔵 Módulo 5: Modularização e Projeto Final (Cap. 17 a 20)
Capítulo 17: Funções I: Procedimentos sem Retorno (funcao vazio)
- Ponto de Atenção: Tentar declarar funções dentro de outras funções (no Portugol Studio, todas as funções devem ficar dentro do bloco
programa { }, mas no mesmo nível defuncao inicio()). - Dica Didática: Explique que a palavra
vaziosignifica que a função executa uma tarefa e não devolve valor de resposta. - 🎓 Atividade Bônus (além do Desafio oficial): Criar uma função de moldura visual personalizada.
Capítulo 18: Funções II: Parâmetros e Retorno Tipado
- Ponto de Atenção: Esquecer o comando
retorneem funções que possuem tipo de retorno (ex:funcao real). - Dica Didática: Diferença-chave: Função
vaziofaz e esquece; Função tipada faz e te entrega o resultado na mão. - 🎓 Atividade Bônus (além do Desafio oficial): Criar uma função que calcule o valor de frete com desconto e retorne o valor líquido.
Capítulo 19: Engenharia de Software e Decomposição
- Ponto de Atenção: Agrupar código em funções gigantescas (God Functions).
- Dica Didática: Ensine o princípio da Responsabilidade Única (SRP): cada função deve fazer apenas uma coisa bem feita.
- 🎓 Atividade Bônus (além do Desafio oficial): Modularizar um sistema completo de inventário com funções de cadastro, busca e relatório.
Capítulo 20: Projeto Integrador Final (FastLog TMS)
- Ponto de Atenção: Falta de integração entre os módulos do menu e a persistência nos vetores.
- Dica Didática: Conduza os alunos na validação dos testes funcionais.
- 🎓 Atividade Bônus (além do Desafio oficial): Adicionar funcionalidade de busca por placa do caminhão.
📋 Rubrica de Avaliação de Algoritmos no Microsoft Teams
| Critério de Avaliação | Excelente (100%) | Satisfatório (70%) | Insuficiente (30%) |
|---|---|---|---|
| 1. Correção Lógica e Execução | O código roda sem erros (Shift + F6) e atende a todos os casos de teste. | O código compila, mas falha em casos extremos ou limites de dados. | O código apresenta erros de sintaxe ou chaves { } desbalanceadas. |
| 2. Tipagem e Nomenclatura | Variáveis tipadas com precisão e nomes significativos em CamelCase ou snake_case. | Variáveis funcionam, mas com nomes genéricos (x, a, aux). | Incompatibilidade de tipos de dados ou variáveis não declaradas. |
| 3. Indentação e Organização | Código perfeitamente identado com blocos delimitados por chaves e comentários explicativos. | Código funcional, mas com identação irregular. | Código desorganizado sem recuo visual nos laços e condicionais. |
| 4. Interface e Experiência (UX) | Mensagens no console limpas, com uso de \n, menus organizados e validações. | Mensagens de saída básicas sem quebras de linha adequadas. | Console poluído sem orientação clara ao usuário. |
| 5. Autonomia e Desafio de Fixação | Concluiu o Desafio de Fixação com autonomia e raciocínio lógico avançado. | Tentou realizar o desafio com pequenas falhas lógicas. | Não realizou o desafio opcional. |
💡 Dica de Ouro: A Metodologia Peer Instruction
Sempre que um aluno avançado terminar as atividades antes do tempo previsto, designe-o como Monitor de Bancada. Ensinar um colega consolida o conhecimento de quem explica e acelera o aprendizado de quem recebe a ajuda.