💻 Aula 16: Introdução à Programação
Fundamentos da Computação
🎯 Objetivos de Hoje
- Compreender o que é uma Linguagem de Programação
- Diferenciar linguagens de Baixa e Alta camada
- Conhecer os conceitos de Compilador e Interpretador
- Entender os blocos básicos: Variáveis, Tipos e Funções
🧩 O que é Programar?
Programar é o ato de dar instruções precisas a um computador para que ele execute uma tarefa.
É traduzir a lógica humana (Algoritmos) para uma linguagem que a máquina entenda.
🏗️ Níveis de Linguagem
- Baixo Nível: Próximo do hardware (Binário, Assembly). Difícil para humanos, ultraveloz para a CPU.
- Médio Nível: C e C++. Equilíbrio entre velocidade e legibilidade.
- Alto Nível: Python, JS, Java. Muito parecido com inglês, focado na produtividade.
🔄 A Jornada do Código
Como o texto que você escreve vira ação?
- Código Fonte: O texto que o programador escreve.
- Tradução: Um software (Compilador ou Interpretador) lê o texto.
- Código de Máquina: O resultado final são os 0s e 1s que a CPU executa.
⚙️ Compilado vs Interpretado
- Compilada (Ex: C, Rust): O código é traduzido uma única vez em um arquivo
.exe. Super rápido. - Interpretada (Ex: Python, JS): O código é lido linha por linha durante a execução. Mais flexível e fácil de testar.
🧱 Bloco 1: Variáveis
Pense na variável como uma gaveta identificada na RAM.
- Você dá um nome à gaveta (Ex:
idade). - Você guarda um valor nela (Ex:
25). - Você pode trocar o conteúdo a qualquer momento.
📦 Bloco 2: Tipos de Dados
O computador precisa saber o que tem na gaveta para calcular certo:
- int: Números inteiros (10, -5).
- float: Números decimais (1.75).
- str: Texto (Strings - "Olá").
- bool: Lógica (True ou False).
🚦 Bloco 3: Estruturas de Controle
- IF (Se): Desvios Condicionais.
- FOR / WHILE (Laços): Repetições automáticas.
- Sem essas estruturas, o programa seria apenas uma lista linear e burra.
🛠️ Bloco 4: Funções
Uma função é um bloco de código que você "empacota" para reutilizar depois.
Em vez de escrever 10 linhas para "Enviar E-mail" toda vez, você cria a função enviar_email() e a chama pelo nome.
🌍 Olá Mundo! (Hello World)
A primeira tradição de todo programador.
Parece pouco, mas aqui você já usou: uma função (print) e uma String.
🐛 O Que é um Bug?
O nome vem de um besouro real que travou um computador valvulado nos anos 40.
Hoje, um bug é um erro na lógica ou na sintaxe do código que faz o programa se comportar de forma inesperada. Depurar (Debug) é o ato de caçar esses erros.
🎨 Clean Code (Código Limpo)
"Código é feito para humanos lerem, e ocasionalmente para máquinas executarem."
- Use nomes claros:
preco_finalem vez depf. - Comente o "porquê", não o "quê".
- Organize o código de forma lógica.
✍️ Exercício Rápido 1
Qual tipo de dado deve ser usado para guardar o preço de um produto: int ou float?
- Resposta: float (pois preços têm centavos/decimais).
✍️ Exercício Rápido 2
Qual a diferença entre uma linguagem de Alto Nível e uma de Baixo Nível?
- Resposta: Alto nível é mais fácil para humanos; baixo nível é mais próximo do hardware.
🏗️ Desafio: O Loop Infinito
O que acontece se um algoritmo de repetição (WHILE) nunca encontrar sua condição de parada?
- O programa entra em loop infinito, consumindo 100% da CPU e parando de responder (travando).
🚀 Onde Começar?
Não existe "melhor" linguagem, existe a ferramenta certa para o trabalho:
- Web: JavaScript.
- Dados/IA: Python.
- Sistemas/Games: C++, C#, Rust.
🎓 A Grande Revisão (Módulos 1-4)
- Os bits viraram números (Bases).
- Os números viraram lógica (Booleana).
- A lógica virou física (Circuitos).
- A física virou arquitetura (Von Neumann).
- E agora, a arquitetura obedece ao seu código!
🏆 Parabéns!
Você concluiu os Fundamentos da Computação.
A partir daqui, qualquer linguagem de programação que você escolher será muito mais fácil de aprender, pois você entende como as coisas funcionam por baixo do capô.
📝 Resumo da Aula
- Programar é traduzir lógica em comandos.
- Linguagens de alto nível priorizam produtividade humana.
- Variáveis e Tipos organizam os dados na memória.
- O aprendizado nunca para!
🏁 Dúvidas Finais?
"O único limite para o que o computador pode fazer é a sua imaginação e a sua paciência para debugar."