Pular para conteúdo

💻 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

  1. Baixo Nível: Próximo do hardware (Binário, Assembly). Difícil para humanos, ultraveloz para a CPU.
  2. Médio Nível: C e C++. Equilíbrio entre velocidade e legibilidade.
  3. 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?

  1. Código Fonte: O texto que o programador escreve.
  2. Tradução: Um software (Compilador ou Interpretador) lê o texto.
  3. 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.

# Em Python é simples assim:
print("Olá, Mundo!")

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_final em vez de pf.
  • 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

  1. Programar é traduzir lógica em comandos.
  2. Linguagens de alto nível priorizam produtividade humana.
  3. Variáveis e Tipos organizam os dados na memória.
  4. 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."