Capítulo 01: Introdução à Lógica, Algoritmos e Setup do Portugol Studio
🎯 Objetivo da Aula
Nesta aula inicial, você iniciará sua jornada no Pensamento Computacional e na Lógica de Programação Estruturada. O Portugol Studio adota uma sintaxe muito próxima de linguagens industriais como C, C++, Java, C# e JavaScript, utilizando blocos delimitados por chaves { } e funções formais.
Ao final desta aula, você será capaz de:
- Compreender o conceito formal de Algoritmo e como os computadores processam instruções sequenciais.
- Reconhecer e dominar o esqueleto básico de um programa no Portugol Studio (
programa { funcao inicio() { } }). - Utilizar o comando
escreva()combinado com os Caracteres de Escape\n(quebra de linha) e\t(tabulação). - Executar e testar seus programas utilizando o atalho
Shift + F6ou o botão Executar.
📥 Material de Apoio e Código-Fonte da Aula:
- 📄 Arquivo Pronto (.por): Baixar Capitulo_01.por (abra diretamente no Portugol Studio)
- 📦 Exercícios Separados (.zip): Baixar Capitulo_01.zip
🏢 O Cenário Prático (Seu Desafio)
Situação: Você acaba de ingressar na equipe de tecnologia e logística da transportadora FastLog. O pátio central de triagem precisa de uma mensagem padronizada no painel digital para orientar os motoristas terceirizados sobre os procedimentos de segurança assim que eles estacionam na portaria.
Missão: Você deve construir o Painel Digital de Boas-Vindas FastLog, garantindo que o nome da empresa, o setor e as instruções de identificação sejam impressos de forma clara, organizada e profissional no console.
🧠 Fundamentos: A Teoria Traduzida
1. O que é um Algoritmo?
Um Algoritmo é uma sequência finita, ordenada e não ambígua de instruções que orientam o computador a realizar uma tarefa ou resolver um problema.
Pense no algoritmo como o manual de procedimentos operacionais de uma empresa aérea ou transportadora:
- Cada instrução é executada estritamente de cima para baixo, uma linha após a outra.
- Se uma instrução for omitida ou colocada na ordem errada, o sistema apresentará comportamento falho.
graph TD
A[Início: Chegada na Portaria] --> B[1. Ler Placa do Caminhão]
B --> C[2. Checar Cadastro no Banco]
C --> D{Cadastro Regular?}
D -- "Sim (Verdadeiro)" --> E[3. Liberar Acesso à Doca]
D -- "Não (Falso)" --> F[3. Encaminhar para a Guarita]
E --> G[Fim do Algoritmo]
F --> G
style D fill:#f39c12,stroke:#fff,stroke-width:2px,color:#fff
style E fill:#27ae60,stroke:#fff,stroke-width:2px,color:#fff
style F fill:#c0392b,stroke:#fff,stroke-width:2px,color:#fff2. A Estrutura Canônica do Portugol Studio
Todo programa no Portugol Studio é envolvido pelo bloco programa e possui uma função principal chamada inicio():
O Poder das Chaves { }:
As chaves { (abre) e } (fecha) definem o início e o término de um bloco de código. Cada chave aberta deve ter sua respectiva chave de fechamento.
3. Caracteres de Escape: Formatando Textos no Console
| Caractere | Função | Exemplo de Código | Efeito Visual |
|---|---|---|---|
\n | Pula para a próxima linha (New Line). | escreva("Linha 1\nLinha 2") | Quebra o texto em duas linhas. |
\t | Insere um espaço de tabulação (Tab). | escreva("Item:\tPreço:") | Cria um espaçamento em colunas. |
\" | Exibe aspas duplas literais no texto. | escreva("Empresa \"FastLog\"") | Mostra: Empresa "FastLog" |
Repetindo \t para alinhar colunas de tamanhos diferentes
Um único \t pode não ser suficiente para alinhar textos de tamanhos bem diferentes (ex: “Expedição” e “Frotas”). Nesses casos, use \t\t (dois tabs seguidos) nas palavras mais curtas, para que todas as colunas terminem alinhadas visualmente no console.
4. 🌐 Quadro Comparativo de Sintaxe
| Conceito | Portugol Studio | C / C++ | Java | Python |
|---|---|---|---|---|
| Início Principal | funcao inicio() | int main() | public static void main() | (Execução direta) |
| Delimitadores | { e } | { e } | { e } | (Indentação) |
| Imprimir Texto | escreva("Texto") | printf("Texto"); | System.out.println("Texto"); | print("Texto") |
| Comentário de Linha | // Comentário | // Comentário | // Comentário | # Comentário |
📖 Exemplo Guiado: Painel de Inicialização da Portaria
Código do Programa:
✅ Resultado Esperado no Console (Shift + F6):
🛠️ Prática Obrigatória 1: Crachá Digital de Operador
Passo 1: Construindo o Layout
No Portugol Studio, crie um novo arquivo (Ctrl + N). Construa um programa que exiba a identificação funcional do colaborador da FastLog com moldura dupla em #:
- Linha 1: Moldura superior com
# - Linha 2: Nome da Empresa (
FASTLOG LOGÍSTICA S.A.) - Linha 3: Nome do Colaborador (
Operador: Carlos Eduardo) - Linha 4: Setor Operacional (
Depto: Expedição Noturna) - Linha 5: Moldura inferior com
#
✅ Resultado Esperado (Prática 1):
🛠️ Prática Obrigatória 2: Protocolo de Segurança do Galpão
Crie o programa protocolo_seguranca.por exibindo os 4 passos obrigatórios para entrada no armazém utilizando o caractere de escape \n:
[1] Uso obrigatório de EPI (Botina com bico de aço e colete refletivo)[2] Conferência de crachá funcional com foto[3] Velocidade máxima no pátio: 20 km/h[4] Proibido fumar nas imediações do galpão de inflamáveis
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_01_SeuNome_SeuSobrenome.por. - No Portugol Studio, pressione
Shift + F6e certifique-se de que o texto aparece sem erros no console. - No Microsoft Teams, envie na tarefa “Portugol Cap 01 - Introdução e Algoritmos”.
- Clique em Entregar (Turn In).
💡 Checkpoint de Lógica & Engenharia de Software
Você acabou de aplicar o conceito de Instruções Sequenciais e Formatação de Saída. Em ambientes de desenvolvimento profissional (como consoles de servidores em nuvem AWS e terminais Linux), o domínio dos caracteres de escape é fundamental para construir logs limpos e legíveis.
🔥 Desafio de Fixação: Organograma em Colunas com Tabulação (\t)
Utilize o caractere de tabulação \t para criar uma tabela no console com 3 colunas: ID, SETOR e RESPONSÁVEL.
🔑 Gabarito de Código Completo
Prática 1:
Prática 2:
Desafio:
📝 Atividade Extra: Questionário de Fixação (Caderno)
Instruções: Responda no caderno, de próprio punho, as 10 perguntas abaixo com base no que foi estudado neste capítulo. Ao concluir, leve o caderno até o professor para correção e visto.
- O que é um Algoritmo, segundo a definição apresentada no capítulo?
- Qual é a estrutura básica obrigatória que envolve todo programa em Portugol Studio, incluindo o nome da função de ponto de entrada?
- Qual atalho de teclado é utilizado para executar e testar um programa no Portugol Studio?
- Para que serve o caractere de escape
\ndentro do comandoescreva()? - Para que serve o caractere de escape
\t? - Como se exibe aspas duplas literais dentro de um texto em Portugol (qual caractere de escape deve ser usado)?
- No quadro comparativo de sintaxe do capítulo, qual é o comando equivalente a
escreva("Texto")na linguagem C/C++? - Que par de símbolos delimita o início e o término de um bloco de código no Portugol Studio?
- Na Prática Obrigatória 1 (Crachá Digital de Operador), quais informações deveriam ser exibidas dentro da moldura dupla de
#? - Segundo o Checkpoint de Lógica, por que o domínio dos caracteres de escape é importante em ambientes profissionais como consoles de servidores em nuvem?