Plano de Curso: Lógica de Programação com VisuAlg 3.0

Público-alvo: Estudantes dos Cursos Técnicos em Administração, Logística, Informática e iniciantes em Engenharia de Software.
Carga Horária: 20 Capítulos (40 a 60 horas-aula).
Metodologia: Aprendizagem Baseada em Problemas (PBL) com estudos de caso corporativos da transportadora fictícia FastLog, contextualização prática e desenvolvimento de software estruturado no ambiente VisuAlg 3.0.


🎯 Visão Geral e Competências Desenvolvidas

Este curso foi estruturado para desenvolver o pensamento computacional rigoroso, a capacidade de decomposição de problemas e a construção de algoritmos confiáveis através da sintaxe baseada em Pascal do VisuAlg.

Ao final do curso, o aluno será capaz de:

  1. Declarar e manipular variáveis e constantes com tipagem estática e forte (inteiro, real, caractere, logico).
  2. Implementar fluxos de decisão simples, encadeados e de múltipla escolha (se-entao-senao, escolha-caso).
  3. Construir laços de repetição determinísticos e condicionais (enquanto, repita-ate, para).
  4. Armazenar e pesquisar conjuntos de dados estruturados em vetores e matrizes bidimensionais.
  5. Modularizar programas complexos utilizando procedimentos e funções com passagem de parâmetros por valor e referência.
  6. Desenvolver um sistema completo de gestão logística integrando todas as camadas de software em modo console.

📚 Estrutura Programática Detalhada

Módulo 1: Fundamentos da Computação e Tipagem Estática

Capítulo 01: Introdução à Lógica, Algoritmos e Ambiente VisuAlg 3.0

  • Teoria: O que é lógica de programação e pensamento computacional? O que são algoritmos? A estrutura formal do VisuAlg (algoritmo, var, inicio, fimalgoritmo). O interpretador VisuAlg e atalhos de execução (F9 e F8).
  • Prática (Atividade 01): Construção do primeiro algoritmo funcional, saída de mensagens formatadas e crachá digital da empresa FastLog.

Capítulo 02: Memória, Declaração de Variáveis e Tipos Primitivos

  • Teoria: Como a memória RAM armazena dados. A seção var. Os quatro tipos primitivos fundamentais: inteiro (números inteiros), real (números decimais de ponto flutuante), caractere (strings e textos) e logico (booleanos VERDADEIRO/FALSO). Regras de nomenclatura de identificadores.
  • Prática (Atividade 02): Mapeamento de variáveis para cadastro de veículos da frota e cálculo manual de tributos.

Capítulo 03: Operadores Aritméticos, Expressões e Atribuição (<-)

  • Teoria: O operador de atribuição (<-). Operadores aritméticos: soma (+), subtração (-), multiplicação (*), divisão real (/), divisão inteira (\), módulo/resto (mod ou %) e exponenciação (^). Ordem de precedência matemática.
  • Prática (Atividade 03): Calculadora de consumo médio de combustível (KM/L) e simulador de custos de frete por tonelada.

Capítulo 04: Interação com o Usuário (Entrada e Saída de Dados)

  • Teoria: Comandos de entrada leia(variavel) e saída escreva() vs escreval() (com quebra de linha). Formatação de casas decimais em números reais (valor:5:2).
  • Prática (Atividade 04): Construção de um formulário de cadastro de cargas e emissor automático de recibos de expedição.

Módulo 2: Controle de Fluxo e Estruturas de Decisão

Capítulo 05: Condicionais Simples (se-entao-fimse)

  • Teoria: Lógica condicional e desvios de rota. A estrutura se (condicao) entao ... fimse. Operadores relacionais (=, <>, >, <, >=, <=).
  • Prática (Atividade 05): Sistema de alerta de excesso de peso e bloqueio de balança rodoviária.

Capítulo 06: Condicionais Compostas (se-entao-senao-fimse)

  • Teoria: A bifurcação completa se ... entao ... senao ... fimse (If / Else). Aninhamento de condições para tomada de decisões com múltiplos caminhos.
  • Prática (Atividade 06): Classificador de risco de transporte e apólice de seguro de cargas valiosas.

Capítulo 07: Operadores Lógicos Booleanos (e, ou, nao, xou)

  • Teoria: Álgebra Booleana e tabelas-verdade. A conjunção e (AND), a disjunção ou (OR), a negação nao (NOT) e a disjunção exclusiva xou (XOR).
  • Prática (Atividade 07): Triagem de fornecedores qualificados para obtenção do Selo Ouro baseado em prazo e taxa de avarias.

Capítulo 08: Estrutura de Seleção Múltipla (escolha-caso)

  • Teoria: A estrutura escolha (variavel) caso ... outrocaso ... fimescolha (Switch/Case). Quando usar escolha em vez de múltiplos se-senao.
  • Prática (Atividade 08): Menu interativo do SAC da transportadora e tarifador de frete por modal de transporte (Terrestre, Aéreo, Marítimo).

Módulo 3: Laços de Repetição e Iterações

Capítulo 09: Laço Pré-Testado enquanto-faca (While Loop)

  • Teoria: Estruturas de repetição condicionais com teste no início (enquanto (condicao) faca ... fimenquanto). Variáveis contadoras (cont <- cont + 1) e acumuladoras (soma <- soma + valor). Prevenção contra loops infinitos.
  • Prática (Atividade 09): Leitor de volumes descarregados com parada por sentinela (valor zero).

Capítulo 10: Laço Pós-Testado repita-ate (Until Loop)

  • Teoria: Estrutura de repetição com teste no final (repita ... ate (condicao)). A inversão lógica do repita (ele executa ENQUANTO for falso e PARA quando se torna verdadeiro!). Ideal para menus de navegação.
  • Prática (Atividade 10): Validação de senha de operador com número limitado de tentativas e menu principal interativo.

Capítulo 11: Laço Determinístico para-de-ate-passo-faca (For Loop)

  • Teoria: A estrutura de contagem fixa para variavel de inicio ate fim [passo incremento] faca ... fimpara. Contagem progressiva e regressiva (passo -1).
  • Prática (Atividade 11): Gerador automático de tabela progressiva de fretes e cronômetro de contagem regressiva de embarque.

Capítulo 12: Laços Aninhados e Algoritmos de Varredura

  • Teoria: Laços dentro de laços (para dentro de para). Complexidade de tempo quadrática ($O(N^2)$). Varredura de coordenadas bidimensionais.
  • Prática (Atividade 12): Mapeamento de posições de prateleiras em um galpão logístico (Andares × Prateleiras).

Módulo 4: Estruturas de Dados Homogêneas (Vetores e Matrizes)

Capítulo 13: Vetores Unidimensionais (Listas de Dados)

  • Teoria: O que são vetores (Arrays 1D). Declaração vetor [1..N] de tipo. Indexação baseada em 1 no VisuAlg. Acesso por índice vetor[i].
  • Prática (Atividade 13): Registro de ocupação de vagas de caminhões no pátio e cálculo de faturamento trimestral.

Capítulo 14: Algoritmos de Pesquisa e Manipulação em Vetores

  • Teoria: Algoritmo de Busca Linear (Linear Search). Encontrando o Maior e Menor elemento. Acumulação e cálculo de médias estatísticas em vetores.
  • Prática (Atividade 14): Localizador de SKUs no estoque e auditoria do motorista com maior quilometragem rodada.

Capítulo 15: Matrizes Bidimensionais (Tabelas em Memória)

  • Teoria: O que são matrizes (Arrays 2D). Declaração vetor [1..Linhas, 1..Colunas] de tipo. Coordenadas cartesianas matriz[lin, col]. Preenchimento com laços aninhados.
  • Prática (Atividade 15): Grade de ocupação de posições em galpão logístico (3×3) e controle de estoque por filial.

Capítulo 16: Operações Avançadas em Matrizes

  • Teoria: Somatório de linhas, somatório de colunas, cálculo da Diagonal Principal e matriz transposta.
  • Prática (Atividade 16): Matriz de custos de fretes cruzados entre 4 capitais brasileiras (Origem × Destino) e consolidação de faturamento semestral.

Módulo 5: Modularização, Funções e Projeto Integrador

Capítulo 17: Procedimentos e Escopo de Variáveis

  • Teoria: O que é modularização? Princípio DRY (Don’t Repeat Yourself). A estrutura procedimento Nome(parametros) ... fimprocedimento. Variáveis Locais vs Variáveis Globais. Passagem de parâmetros por valor.
  • Prática (Atividade 17): Criação de procedimentos para cabeçalho visual, molduras de interface e rotina de cálculo de ICMS.

Capítulo 18: Funções com Retorno Tipado

  • Teoria: Diferença entre Procedimento (executa ação sem retorno) e Função (calcula e devolve um valor). A estrutura funcao Nome(params): tipo_retorno ... retorne valor ... fimfuncao. Passagem de parâmetros por referência com a palavra-chave var.
  • Prática (Atividade 18): Biblioteca modular de funções de frete: cálculo de pedagio, seguro de carga e conversor de moedas.

Capítulo 19: Engenharia de Software e Decomposição Algorítmica

  • Teoria: Como projetar sistemas antes de codificar. Refatoração de código, tratamento de entradas inválidas e criação de menus de navegação robustos.
  • Prática (Atividade 19): Construção de um módulo de controle de estoque com operações de inserção, busca e listagem em memória.

Capítulo 20: Projeto Integrador Final - FastLog Fleet & Inventory System

  • Teoria: Arquitetura de Software em Camadas (Interface, Processamento e Dados). Consolidação de variáveis, loops, matrizes, procedimentos e funções em um único sistema executável.
  • Prática (Atividade 20): Desenvolvimento, teste e apresentação do sistema completo de gestão de frota e estoque da FastLog, com menu interativo, relatórios estatísticos e pesquisa dinâmica.