Sumário do Curso
Curso de Algoritmos e Lógica de Programação 🚀
Bem-vindo ao curso definitivo para quem quer começar na programação com o pé direito. Aqui você aprende Lógica Pura e aplica em 12 Linguagens de Mercado.
Metodologia
Metodologia: Foco em prática, visualização (diagramas) e português claro. Sem "tech nês" desnecessário.
🎯 O Que Você Vai Aprender
-
Lógica Sólida
Domine algoritmos, fluxogramas, variáveis, condicionais e laços de repetição. A base de tudo.
-
O Poliglota
Aplique o que aprendeu em C, Java, Python, JS, Go e mais. Entenda os paradigmas.
-
Ferramentas Reais
Aprenda a configurar VS Code, Git, Compiladores e Ambientes Cloud.
-
Projetos Práticos
Saia da teoria com projetos reais: Calculadoras, Jogos, Sistemas Web e Apps.
📚 Estrutura do Curso (16 Aulas)
O curso é dividido em dois módulos estratégicos.
Módulo 1: Fundamentos (Aulas 01-08)
Construa seu modelo mental de programador. * Aula 01 - Introdução e Algoritmos 🧠 * Aula 02 - Ambiente e Ferramentas 🛠️ * Aula 03 - Estrutura Sequencial ➡️ * Aula 04 - Estrutura Condicional 🔀 * Aula 05 - Estruturas Repetitivas 🔁 * Aula 06 - Vetores (Arrays) 📊 * Aula 07 - Matrizes 📈 * Aula 08 - Funções e Modularização 🧩
Módulo 2: O Poliglota (Aulas 09-16)
Veja a mágica acontecer nas linguagens reais. * Aula 09 - Baixo Nível (C / C++) 🧱 * Aula 10 - Web Moderna (JS / TS) 🌐 * Aula 11 - Corporativo (Java) ☕ * Aula 12 - Microsoft (.NET / C# / F#) 🔷 * Aula 13 - Data Science (Python) 🐍 * Aula 14 - Sistemas (Rust / Go) ⚙️ * Aula 15 - Mobile (Dart / Kotlin) 📱 * Aula 16 - Legado e Web (PHP) 🐘
Success
Pronto para começar? Clique no botão abaixo e inicie sua jornada!
Plano de Ensino 🧭
Curso: Lógica e Algoritmos
Público-alvo: Estudantes de ADS, Ciência da Computação e Desenvolvedores de Software
Carga Horária: 20 Aulas (80 Horas Teórico-Práticas)
🎯 1. Objetivos do Curso
- Compreender os fundamentos conceituais e arquiteturais de Lógica e Algoritmos.
- Aplicar padrões de projeto, sintaxe moderna e boas práticas da indústria.
- Desenvolver soluções completas através de exercícios práticos e desafios de projeto.
📚 2. Cronograma de Aulas (Matriz de 20 Semanas)
| Aula | Tema Central | Atividades e Entregas |
|---|---|---|
| 01 | Introdução à Lógica de Programação | Teoria, Prática Guiada, Quiz e Exercícios |
| 02 | Ambiente e Ferramentas ️ | Teoria, Prática Guiada, Quiz e Exercícios |
| 03 | Estrutura Sequencial ️ | Teoria, Prática Guiada, Quiz e Exercícios |
| 04 | Estrutura Condicional | Teoria, Prática Guiada, Quiz e Exercícios |
| 05 | Estruturas Repetitivas | Teoria, Prática Guiada, Quiz e Exercícios |
| 06 | Estruturas de Dados I: Vetores | Teoria, Prática Guiada, Quiz e Exercícios |
| 07 | Estruturas de Dados II: Matrizes | Teoria, Prática Guiada, Quiz e Exercícios |
| 08 | Modularização: Funções e Procedimentos | Teoria, Prática Guiada, Quiz e Exercícios |
| 09 | C e C++: Baixo Nível e Performance | Teoria, Prática Guiada, Quiz e Exercícios |
| 10 | Web Moderna: JavaScript e TypeScript | Teoria, Prática Guiada, Quiz e Exercícios |
| 11 | Java e Orientação a Objetos | Teoria, Prática Guiada, Quiz e Exercícios |
| 12 | Ecossistema Microsoft: C# e .NET | Teoria, Prática Guiada, Quiz e Exercícios |
| 13 | Python e Ciência de Dados | Teoria, Prática Guiada, Quiz e Exercícios |
| 14 | Sistemas Modernos: Rust e Go | Teoria, Prática Guiada, Quiz e Exercícios |
| 15 | Desenvolvimento Mobile: Dart e Kotlin | Teoria, Prática Guiada, Quiz e Exercícios |
| 16 | PHP e o Legado Web | Teoria, Prática Guiada, Quiz e Exercícios |
| 17 | Análise de Complexidade de Algoritmos (Notação Big-O) | Teoria, Prática Guiada, Quiz e Exercícios |
| 18 | Algoritmos de Busca Avançada (Binária e Hashing) | Teoria, Prática Guiada, Quiz e Exercícios |
| 19 | Algoritmos de Ordenação Eficientes (QuickSort e MergeSort) | Teoria, Prática Guiada, Quiz e Exercícios |
| 20 | Projeto Capstone: Resolução Autônoma de Problemas Computacionais | Teoria, Prática Guiada, Quiz e Exercícios |
🧠 3. Metodologia de Ensino
- Teoria Fundamentada: Aulas com conceitos detalhados, diagramas arquiteturais e sintaxe de referência.
- Ciclo Teoria ⇄ Prática: Cada aula conta com Quiz Interativo (10 questões) para validação imediata, Lista de Exercícios Sanfonados (com Gabarito Explicado) e Desafio de Projeto Prático.
- Laboratório Contínuo: Ambientes configurados passo a passo na seção de Setups da plataforma.
💼 4. Competências e Perfil Desenvolvido
- Dominar as ferramentas e fluxos de desenvolvimento de Lógica e Algoritmos.
- Resolver problemas técnicos de alta complexidade com código limpo e performático.
- Construir portfólio prático com 20 projetos aplicados.
📊 5. Critérios de Avaliação
- 20 Listas de Exercícios: Resolução individual dividida em Básico, Intermediário e Desafio.
- 20 Quizzes Interativos: Validação formativa com feedback imediato via JavaScript.
- 20 Desafios de Projetos: Aplicações práticas consolidando o aprendizado de cada unidade.
Aulas
Aulas do Curso
Bem-vindo à seção de aulas! Aqui você encontra todo o conteúdo do curso organizado em 5 módulos estruturados.
📚 Módulos do Curso
-
Módulo 1: Fundamentos & Bases ---
-
Módulo 2: Arquitetura & Conceitos Essenciais ---
-
Módulo 3: Engenharia & Aplicação Prática ---
-
Módulo 4: Software, Ferramentas & Padrões ---
-
Módulo 5: Tópicos Avançados & Projeto Capstone ---
Aula 01 - Introdução à Lógica de Programação 🧠
Objetivo
Objetivo: Aprender a "pensar como um computador", entender o que é um algoritmo e como quebrar problemas complexos em passos simples.
1. O que é um Algoritmo? 💡
A palavra pode assustar, mas você usa algoritmos o tempo todo. Um Algoritmo nada mais é do que uma sequência de passos finitos e precisos para resolver um problema.
Conceito Chave
Conceito Chave: Um algoritmo precisa ter um início, um fim, e cada passo não pode gerar dúvidas (ambiguidade).
Visualizando um Algoritmo (Mermaid)
Vamos imaginar o algoritmo para "Trocar uma Lâmpada".
graph TD;
A([Início]) --> B{A lâmpada acende?};
B -- Sim --> C([Fim]);
B -- Não --> D{A lâmpada está plugada?};
D -- Não --> E[Plugar a lâmpada];
D -- Sim --> F{O bulbo queimou?};
F -- Sim --> G[Trocar o bulbo];
F -- Não --> H[Comprar nova luminária];
E --> B;
G --> B;
H --> C;
2. Abstração e Decomposição 🧩
Para escrever bons programas, usamos dois superpoderes:
- Decomposição: Quebrar um problema gigante em pedaços menores.
- Ex: Construir uma casa -> Fazer a fundação -> Levantar paredes -> Telhado.
- Abstração: Focar no que importa e ignorar os detalhes irrelevantes.
- Ex: Ao dirigir, você foca no volante e pedais, ignorando como o motor queima o combustível.
3. Reconhecimento de Padrões 🔍
Identificar similaridades entre problemas diferentes para aplicar soluções conhecidas.
- Ex: Se você sabe dirigir um carro, é mais fácil aprender a dirigir um caminhão, porque o padrão (volante, pedais, marchas) é similar.
3. Fluxogramas: A Linguagem Universal 🗺️
Se quisermos calcular a média de um aluno, não precisamos saber o nome dele ou o que ele comeu. Precisamos apenas das NOTAS.
ALGORITMO CalcularMedia
LER Nota1
LER Nota2
LER Nota3
Media = (Nota1 + Nota2 + Nota3) / 3
ESCREVER Media
FIM_ALGORITMO
3. Fluxogramas: A Linguagem Universal 🗺️
Antes de escrever código, desenhamos. O Fluxograma usa formas geométricas para representar os passos.
| Símbolo | Nome | Função |
|---|---|---|
([ ... ]) |
Terminador | Início ou Fim |
[ ... ] |
Processo | Cálculo ou Ação |
/ ... / |
Dados | Entrada (Ler) ou Saída (Escrever) |
{ ... } |
Decisão | Uma pergunta (Sim/Não) |
Exemplo: Passou de Ano?
graph TD;
Início([Início]) --> Ler[/Ler Notas/];
Ler --> Calc[Calcular Média];
Calc --> Decisão{Média >= 7?};
Decisão -- Sim --> Aprov[/Aprovado/];
Decisão -- Não --> Reprov[/Reprovado/];
Aprov --> Fim([Fim]);
Reprov --> Fim;
4. O Próximo Passo: VisualG 💻
Para sair do papel e ver o algoritmo "rodar", usaremos o VisualG. Ele é um interpretador de algoritmos em português (Portugol).
Exemplo de Código VisualG
Não se preocupe em entender agora, veremos isso na Aula 02!Mão na Massa: O Pensamento Computacional 💻
Antes de programar, simulamos no terminal mental:
<span data-ty="input">pensar como programador</span>
<span data-ty>Analisando problema...</span>
<span data-ty>Decompondo em passos...</span>
<span data-ty>Abstraindo detalhes...</span>
<span data-ty>PADRÃO ENCONTRADO! 🚀</span>
5. Mini-Projeto: O Algoritmo da Vida 🚀
Nesta aula, seu mini-projeto é criar um Fluxograma Digital.
Desafio do Projeto
Escolha um hábito diário (ex: fazer academia, estudar inglês, cozinhar) e transforme em um fluxograma usando as formas geométricas que aprendemos. Você deve apresentar pelo menos 2 decisões (losangos) e 4 processos (retângulos).
6. Exercícios de Fixação 📝
- Fácil: Escreva um algoritmo (em português) para fazer um café. Lembre-se de verificar se tem pó e água!
- Médio: Desenhe (no papel ou mentalmente) um fluxograma para atravessar a rua com segurança.
-
Desafio: Um fazendeiro precisa atravessar um rio com um lobo, uma ovelha e uma alface. O barco só leva o fazendeiro e mais um item.
- Se o lobo ficar sozinho com a ovelha, ele a come.
- Se a ovelha ficar sozinha com a alface, ela a come.
- Algoritmo: Qual a sequência de viagens para levar todos pro outro lado?
Dica do Desafio
O fazendeiro pode trazer algo de volta também! Tente levar a ovelha primeiro.
Próxima Aula: Vamos preparar nosso Ambiente e Ferramentas para começar a programar de verdade!
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 02 - Ambiente e Ferramentas 🛠️
Objetivo
Objetivo: Configurar sua "bancada de trabalho". Vamos conhecer onde os códigos são escritos, compilados e executados.
1. O Ciclo de Vida do Código 🔄
Você escreve texto, mas o computador entende energia (0 e 1). Como essa mágica acontece?
graph LR;
A["Código Fonte\n(Humano)"] -->|Compilador/Interpretador| B["Código de Máquina\n(Binário)"];
B -->|CPU| C["Execução\n(Ação)"];
style A fill:#f9f,stroke:#333;
style B fill:#bbf,stroke:#333;
style C fill:#bfb,stroke:#333;
- Código Fonte: O que você escreve (ex:
escreva("Olá")). - Compilador: O tradutor.
- Binário: O executável (
.exe).
2. Ferramentas de Aprendizado (Low Code) 🧩
Para começar sem frustração, usamos ferramentas que focam 100% na lógica.
VisualG & Portugol Studio
Usam Pseudocódigo (Português Estruturado). É como programar em português.
Exemplo no VisualG:
Algoritmo "Exemplo"
Var
nome : caractere
Inicio
escreva("Qual seu nome? ")
leia(nome)
escreva("Olá, ", nome)
Fimalgoritmo
Scratch
Lógica em blocos. Perfeito para entender estruturas sem erro de sintaxe.
Note
Acesse scratch.mit.edu para criar conta.
3. Visual Studio Code (VS Code) 💻
O editor profissional mais usado do mundo. Ele não faz nada sozinho, mas com Extensões, faz tudo.
Simulando o Terminal (Termynal)
Quando programamos ferramentas "reais" (C, Python, Java), usamos muito o terminal (tela preta).
Verificando Instalações
Podemos perguntar ao terminal "Quem é você?":
5. Mini-Projeto: Dashboard de Compilação 🚀
Seu desafio hoje é documentar seu ambiente.
Desafio do Projeto
Abra seu Editor de Código (pode ser o VS Code ou VisualG), escreva o código "Olá Mundo", tire um print da tela com o código e o resultado da execução (terminal ou console) e salve como projeto-02-setup.png.
O objetivo é garantir que seu "foguete" (ambiente) está pronto para o lançamento!
6. Exercícios de Configuração 📝
Preparamos guias detalhados para cada ferramenta. Salve estes links:
5. Exercícios de Configuração 📝
- Fácil: Baixe o VisualG (ou Portugol Studio) e execute o algoritmo "Olá Mundo".
- Médio: Crie uma conta no Scratch e explore os blocos de "Eventos".
- Desafio: Instale o VS Code, instale a extensão "Draw.io Integration" e tente desenhar um fluxograma dentro do próprio VS Code!
Próxima Aula: Agora sim, código! Vamos para a Estrutura Sequencial.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 03 - Estrutura Sequencial ➡️
Objetivo
Objetivo: Entender como o computador guarda informações (Variáveis) e executa comandos um após o outro.
1. Variáveis: As Caixas da Memória 📦
Imagine que a memória RAM do computador é um grande armário cheio de gavetas. Cada gaveta tem um endereço e guarda uma coisa por vez.
Visualizando a Memória (Mermaid)
graph TD;
Memoria[Memória RAM] --> Var1[Gaveta 'IDADE'];
Var1 --> Val1[Valor: 25];
Memoria --> Var2[Gaveta 'NOME'];
Var2 --> Val2["Valor: 'Maria'"];
style Var1 fill:#f9f,stroke:#333;
style Var2 fill:#bbf,stroke:#333;
2. Tipos de Dados (O Formato da Caixa) 📐
Nem tudo cabe na mesma gaveta. Precisamos definir o TIPO da variável.
| Tipo (Pseudocódigo) | O que guarda? | Exemplo | Tamanho (Bytes) |
|---|---|---|---|
| Inteiro | Números sem vírgula | 10, -5, 0 |
4 |
| Real | Números com vírgula | 10.5, 3.14 |
8 |
| Caractere | Texto (Letras/Palavras) | "Olá", 'A' |
Var |
| Lógico | Verdadeiro ou Falso | VERDADEIRO |
1 |
Erro Comum
Erro Comum: Tentar guardar texto numa variável numérica gera erro! inteiro x = "texto" ❌
3. Entrada, Processamento e Saída ⚙️
Todo algoritmo segue esse fluxo:
- Entrada (Input): Dados que chegam (Teclado, Arquivo).
- Processamento: Cálculos (
soma = a + b). - Saída (Output): Resultado (Tela).
Exemplo: Calculadora de Dobro (VisualG)
Algoritmo "Dobro"
Var
num, resultado : inteiro
Inicio
// Entrada
escreva("Digite um número: ")
leia(num)
// Processamento
resultado <- num * 2
// Saída
escreva("O dobro é: ", resultado)
Fimalgoritmo
Simulando a Execução (Termynal)
4. Operadores Aritméticos 🧮
O computador é uma calculadora gigante.
| Operador | Nome | Exemplo | Resultado |
|---|---|---|---|
+ |
Soma | 5 + 3 |
8 |
- |
Subtração | 10 - 2 |
8 |
* |
Multiplicação | 4 * 2 |
8 |
/ |
Divisão | 16 / 2 |
8 |
% |
Módulo (Resto) | 5 % 2 |
1 (Sobrou 1) |
^ |
Potência | 2 ^ 3 |
8 |
Dica: Resto da Divisão
O operador % é muito útil para saber se um número é Par ou Ímpar.
* x % 2 = 0 -> Par
* x % 2 = 1 -> Ímpar
5. Matemática Computacional (MathJax) 📐
Os computadores são EXCELENTES em resolver fórmulas complexas. Um exemplo famoso na Engenharia de Software é o Modelo COCOMO, usado para estimar o esforço de um projeto:
Fórmula de Es esforço
A fórmula básica para estimar o esforço em meses/pessoa é: $$ E = a \cdot (KLOC)^b $$ Onde:
- \(E\): Esforço (meses/pessoa)
- \(KLOC\): Milhares de linhas de código
- \(a, b\): Constantes do projeto
6. Mini-Projeto: O Conversor Universal 🚀
Agora que você sabe usar variáveis e operadores, vamos criar uma ferramenta útil.
Desafio do Projeto
Crie um algoritmo (Pseudocódigo) que receba um valor em Reais (R\()** e mostre quanto esse valor vale em **Dólares (US\)) e Euros (€). Considere cotações fixas para o teste (ex: US$ 1.00 = R$ 5.00).
7. Exercícios de Fixação 📝
- Fácil: Crie um algoritmo que leia o Nome e Idade de, pessoa e mostre: "Olá [Nome], você tem [Idade] anos".
- Médio: Leia dois números (A e B) e troque seus valores (A vira B, B vira A). ??? tip "Dica da Troca" Imagine dois copos (um com suco, outro com água). Para trocar o conteúdo, você precisa de um terceiro copo vazio (variável auxiliar)!
- Desafio: Um motorista deseja encher o tanque. Leia o preço da gasolina e o valor que ele tem em dinheiro. Calcule quantos litros ele consegue colocar.
Próxima Aula: E se precisarmos tomar decisões? Estrutura Condicional.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 04 - Estrutura Condicional 🔀
Objetivo
Objetivo: Ensinar o computador a tomar decisões baseadas em perguntas (Se/Então).
1. O Desvio Lógico ("Se...") 🤔
Até agora, nossos programas eram uma linha reta. Mas a vida é cheia de "Se": * SE chover, levo guarda-chuva. * SENÃO, vou de óculos escuros.
Visualizando a Decisão (Mermaid)
graph TD;
Início([Início]) --> Ler[/Ler Idade/];
Ler --> Decisão{Idade >= 18?};
Decisão -- "Sim (Verdadeiro)" --> Aprov[Liberar Acesso];
Decisão -- "Não (Falso)" --> Bloq[Bloquear Acesso];
Aprov --> Mensagem[/Mostrar 'Bem-vindo'/];
Bloq --> MensagemBloq[/Mostrar 'Sai daqui'/];
Mensagem --> Fim([Fim]);
MensagemBloq --> Fim;
style Decisão fill:#ff9,stroke:#333;
2. Sintaxe Básica (Se-Entao-Senao) 📝
Em Portugol, a estrutura é muito legível.
Operadores Relacionais (A Pergunta)
Para fazer a pergunta dentro do se, usamos comparadores:
| Símbolo | Significado | Exemplo | Resultado |
|---|---|---|---|
> |
Maior que | 10 > 5 |
Verdadeiro |
< |
Menor que | 5 < 10 |
Verdadeiro |
== |
Igual a | 5 == 5 |
Verdadeiro |
!= |
Diferente | 5 != 3 |
Verdadeiro |
>= |
Maior ou Igual | 10 >= 10 |
Verdadeiro |
3. Operadores Lógicos (Combinando Perguntas) 🔗
Às vezes, uma única condição não basta.
| Operador | Significado | Exemplo | Regra |
|---|---|---|---|
E |
E (And) | x > 5 E x < 10 |
Verdadeiro só se AMBOS forem verdadeiros. |
OU |
OU (Or) | dia == "Sábado" OU dia == "Domingo" |
Verdadeiro se PELO MENOS UM for verdadeiro. |
NÃO |
NÃO (Not) | NÃO (x > 0) |
Inverte o resultado (Vira Falso). |
Tabela Verdade (Resumida)
- V e V = V
- V e F = F
- V ou F = V
- F ou F = F
4. Múltiplas Escolhas (Switch/Caso) 🚦
Quando temos muitas opções fixas (Menu), usar vários se fica feio. Usamos a estrutura Escolha-Caso.
escolha (opcao)
caso 1
escreva("Ligando...")
caso 2
escreva("Reiniciando...")
caso 3
escreva("Sair")
outrocaso
escreva("Opção Inválida")
fimescolha
Simulando um Menu (Termynal)
5. Mini-Projeto: Calculadora de IMC 🚀
Vamos aplicar as condicionais em algo prático e saudável.
Desafio do Projeto
Crie um algoritmo que receba o Peso e a Altura de uma pessoa.
1. Calcule o IMC: \(IMC = Peso / (Altura \cdot Altura)\).
2. Mostre a classificação:
* Menor que 18.5: Abaixo do peso
* Entre 18.5 e 24.9: Peso normal
* A partir de 25: Sobrepeso
Use se...entao...senao para decidir.
6. Exercícios de Fixação 📝
- Fácil (Par ou Ímpar): Leia um número inteiro. Se o resto da divisão por 2 for 0 (
num % 2 == 0), escreva PAR, senão, ÍMPAR. - Médio (Média): Leia 2 notas. Calcule a média.
- Se média >= 7: APROVADO.
- Se média >= 5 e < 7: RECUPERAÇÃO.
- Se média < 5: REPROVADO.
-
Desafio (Bhaskara): Leia A, B e C. Calcule o Delta (
B*B - 4*A*C).- Se Delta < 0: Não existe raiz real.
- Se Delta >= 0: Calcule e mostre X1 e X2.
Dica: Raiz Quadrada
No VisualG, use a função
RaizQ(Delta)para calcular \(\sqrt{\Delta}\).
Próxima Aula: Como repetir uma tarefa 1000 vezes sem escrever 1000 linhas? Estruturas Repetitivas.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 05 - Estruturas Repetitivas 🔁
Objetivo
Objetivo: Aprender a automatizar tarefas repetitivas. Se você precisa fazer algo mais de uma vez, use um laço (loop).
1. O Poder da Repetição 🔄
Imagine ter que escrever escreva("Oi") mil vezes. Inviável, certo?
As estruturas de repetição permitem executar um bloco de código várias vezes enquanto uma condição for verdadeira.
Visualizando o Loop (Mermaid)
graph TD;
Inicio([Início]) --> Cond{Contador < 5?};
Cond -- Sim --> Acao["Escrever 'Olá'"];
Acao --> Inc[Contador + 1];
Inc --> Cond;
Cond -- Não --> Fim([Fim]);
style Cond fill:#ff9,stroke:#333;
style Inc fill:#bbf,stroke:#333;
2. Enquanto (While) ⏳
É o laço mais simples. Testa a condição antes de executar. Se a condição for falsa logo de cara, ele nem entra.
Simulando (Termynal)
3. Repita-Até (Do-While) 🛡️
Executa pelo menos uma vez, pois testa a condição no final. Útil para menus ou validação de entrada (ex: "Digite a senha correta").
4. Para (For) 🎯
O melhor para quando você sabe exatamente quantas vezes quer repetir (ex: 10 vezes, do dia 1 ao 30). Ele agrupa Inicialização, Condição e Incremento em uma linha só.
5. Controle de Fluxo (Interrompa) 🛑
Às vezes, precisamos sair do loop antes da hora (ex: achamos o que procurávamos).
No VisualG, usamos o comando interrompa.
enquanto (verdadeiro) faca
escreva("Digite 0 para sair: ")
leia(num)
se (num == 0) entao
interrompa
fimse
fimenquanto
6. O Teste de Mesa (Debug Mental) 🧠
Como saber se o loop está certo? Fazemos uma tabela simulando as variáveis passo a passo. Exemplo: Contador de 1 a 3.
| Passo | Variável i |
Condição i <= 3? |
Ação |
|---|---|---|---|
| 1 | 1 | Sim (Verdadeiro) | Escreve "1" |
| 2 | 2 | Sim (Verdadeiro) | Escreve "2" |
| 3 | 3 | Sim (Verdadeiro) | Escreve "3" |
| 4 | 4 | Não (Falso) | Para! |
7. Mini-Projeto: O Gerador de Tabuada 🚀
Automatizar cálculos repetitivos é a alma da programação.
Desafio do Projeto
Crie um algoritmo que pergunte ao usuário qual número ele deseja ver a tabuada.
Use um laço para ou enquanto para mostrar o resultado do 1 ao 10 na tela.
Extra: Tente fazer o programa perguntar se o usuário deseja ver outra tabuada antes de encerrar (usando repita).
8. Exercícios de Fixação 📝
- Fácil (Contagem Regressiva): Faça um algoritmo que conte de 10 até 0 e escreva "FOGO!".
- Médio (Tabuada): Leia um número (ex: 7) e mostre sua tabuada do 1 ao 10.
- Desafio (Números Primos): Leia um número e diga se ele é primo (divisível apenas por 1 e por ele mesmo). ??? tip "Dica: Primos" Um número Primo só tem 2 divisores. Use um laço de 1 até Ele Mesmo e conte quantos divisores existem. Se o contador for 2, é Primo!
Próxima Aula: Como guardar 100 nomes sem criar 100 variáveis? Vetores (Arrays).
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 06 - Estruturas de Dados I: Vetores 📊
Objetivo
Objetivo: Aprender a guardar múltiplos dados do mesmo tipo em uma única variável "comprida".
1. O Problema das Muitas Variáveis 😫
Imagine guardar a nota de 50 alunos.
nota1, nota2, nota3... nota50.
E para calcular a média? (nota1 + nota2 + ... + nota50) / 50.
Isso é caótico. Para isso existem os Vetores (Arrays).
2. O Que é um Vetor? 📏
Um vetor é como uma suqueira de remédios ou uma planilha de uma linha só. Ele tem um Nome, um Tamanho e posições numeradas (Índices).
Visualizando um Vetor (Mermaid)
graph LR;
subgraph Vetor NOTAS
direction LR
A[Índice 0\nValor: 8.5] --- B[Índice 1\nValor: 7.0] --- C[Índice 2\nValor: 10.0] --- D[Índice 3\nValor: 5.5];
end
style A fill:#f9f;
style B fill:#bbf;
Atenção
Atenção: Na maioria das linguagens (C, Java, Python), o primeiro índice é 0, não 1!
3. Manipulando Vetores 🛠️
Em Portugol, a sintaxe é simples.
Declaração
Acesso (Ler e Escrever)
Percorrendo com 'Para'
A combinação perfeita: Vetor + Loop Para.
Simulando (Termynal)
4. Ordenação de Vetores (Bubble Sort) 🫧
E se quisermos colocar os números em ordem crescente? (1, 2, 3...). O método mais famoso é a "Ordenação Bolha". A ideia é simples: O maior valor "flutua" para o topo.
- Compare o vizinho da esquerda com o da direita.
- Se o da esquerda for maior, TROQUE.
- Repita até tudo estar ordenado.
// Exemplo Simples: Troca
se (vet[0] > vet[1]) entao
temp <- vet[0]
vet[0] <- vet[1]
vet[1] <- temp
fimse
5. Mini-Projeto: Dashboard de Notas 🚀
Vetores são perfeitos para organizar dados de uma turma.
Desafio do Projeto
Crie um algoritmo que peça a nota de 5 alunos e guarde em um vetor. 1. Calcule a média da turma. 2. Conte quantos alunos ficaram acima dessa média. 3. Mostre o resultado no final.
6. Exercícios de Fixação 📝
- Fácil: Crie um vetor de 5 números inteiros. Preencha-o e depois mostre a soma de todos eles.
- Médio (Inverso): Leia 10 números e mostre-os na ordem inversa (do último para o primeiro).
- Desafio (Maior/Menor): Leia 10 números. No final, diga qual foi o Maior valor digitado e em qual posição ele está.
??? tip "Dica: Rei da Montanha"
Crie uma variável
maiorcom um valor bem pequeno. A cada número lido, pergunte: "Esse número é maior que o meu atualmaior?". Se sim, atualize!
Próxima Aula: E se precisarmos de linhas E colunas? Matrizes.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 07 - Estruturas de Dados II: Matrizes 📈
Objetivo
Objetivo: Expandir o conceito de vetor para duas dimensões. Pense em uma planilha do Excel ou um tabuleiro de Xadrez.
1. O Mundo em 2D 🗺️
Nem tudo é uma lista simples. Um cinema tem fileiras e cadeiras. Uma planilha tem linhas e colunas. Para isso, usamos Matrizes (Vetores de Vetores).
Visualizando uma Matriz (Mermaid)
graph TD;
subgraph Matriz [3 Linhas x 3 Colunas]
direction TB
L0[Linha 0] --- C00[Col 0: X] --- C01[Col 1: O] --- C02[Col 2: X]
L1[Linha 1] --- C10[Col 0: O] --- C11[Col 1: X] --- C12[Col 2: O]
L2[Linha 2] --- C20[Col 0: X] --- C21[Col 1: O] --- C22[Col 2: X]
end
2. Coordenadas (Linha, Coluna) 📍
Para achar alguém no cinema, você precisa de duas informações: "Fileira F, Cadeira 12".
Na matriz é igual: matriz[linha][coluna].
// Declaração: Matriz de 3 linhas e 3 colunas
matriz : vetor [0..2, 0..2] de inteiro
// Acessando o centro
matriz[1][1] <- 50
2.5 Aplicações Práticas (Onde usam isso?) 🌍
Matrizes estão em todos os lugares: * Imagens Digitais: Cada pixel é uma célula de uma matriz gigante de cores. * Planilhas (Excel): Linhas e colunas de dados. * Jogos de Tabuleiro: Xadrez, Dama, Batalha Naval. * Mapas: Coordenadas de Latitude e Longitude (GPS).
3. Percorrendo uma Matriz 🔄🔄
Se um vetor precisa de 1 loop, uma matriz precisa de 2 loops aninhados (um dentro do outro).
para linha de 0 ate 2 faca
para coluna de 0 ate 2 faca
escreva("Digite valor para [", linha, ",", coluna, "]: ")
leia(matriz[linha][coluna])
fimpara
fimpara
Simulando a Execução (Termynal)
4. Mini-Projeto: Jogo da Velha (Esqueleto) 🚀
As matrizes são a base de quase todos os jogos de tabuleiro digitais.
Desafio do Projeto
Crie um algoritmo que declare uma matriz 3x3 de caracteres (para guardar "X" ou "O").
1. Preencha todas as posições com um traço -.
2. Peça para o usuário digitar uma linha e uma coluna.
3. Coloque um "X" na posição escolhida.
4. Mostre a matriz resultante na tela.
5. Exercícios de Fixação 📝
- Fácil (Identidade): Crie uma matriz 3x3 onde a diagonal principal (0,0 | 1,1 | 2,2) seja preenchida com 1 e o resto com 0.
- Médio (Soma): Leia uma matriz 2x2 e mostre a soma de todos os seus elementos.
- Desafio (Batalha Naval): Crie um tabuleiro 5x5 zerado. Esconda um "Navio" (valor 1) em uma posição aleatória. Peça para o usuário "atirar" (digitar linha e coluna). Se acertar, escreva "FOGO!", senão, "ÁGUA".
??? tip "Dica: Aleatoriedade"
Para gerar números aleatórios no VisualG, use
randi(5). Ele gera um número entre 0 e 4.
Próxima Aula: Como organizar códigos gigantes sem perder a cabeça? Modularização e Funções.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 08 - Modularização: Funções e Procedimentos 🧩
Objetivo
Objetivo: Aprender a dividir um problema grande em pequenos pedaços reutilizáveis. "Dividir para conquistar".
1. O Que é Modularização? 🧱
Imagine construir um carro. Você não faz o motor, os pneus e o vidro ao mesmo tempo num bloco só. Você monta peças separadas e as encaixa. Funções são essas peças.
Visualizando a Chamada (Mermaid)
sequenceDiagram
participant Principal
participant CalcularMedia
Principal->>CalcularMedia: Envia (Nota1, Nota2)
Note right of CalcularMedia: Processa (N1+N2)/2
CalcularMedia-->>Principal: Retorna (Média)
Principal->>Principal: Mostra Resultado
2. Tipos de Módulos 🛠️
Em Portugol (e muitas linguagens), temos dois tipos:
Procedimento (Sem Retorno)
Faz uma ação e não devolve número matemático. Ex: LimparTela(), MostrarMenu().
Função (Com Retorno)
Calcula algo e devolve uma resposta. Ex: RaizQuadrada(x), Soma(a, b).
3. Escopo de Variáveis (Onde ela vive?) 🏠
Isso é CRÍTICO. * Variável Global: Todo mundo vê. (Perigoso!) * Variável Local: Só existe dentro da função. (Seguro)
Warning
Se você criar uma variável x dentro da função somar, o programa principal NÃO enxerga ela.
3.5 Passagem de Parâmetros (Valor vs Referência) 🚚
Como a função recebe os dados?
- Por Valor (Padrão): A função recebe uma CÓPIA. Se mudar lá dentro, não afeta fora.
- Por Referência (
var): A função recebe o ENDEREÇO da variável original. Se mudar lá dentro, muda fora também!
// Exemplo: Trocar valor (Precisa ser referência!)
procedimento trocar(var a, var b : inteiro)
// ... código de troca ...
fimprocedimento
4. Simulando (Termynal)
5. Mini-Projeto: Fábrica de Áreas 🚀
Funções permitem que você crie sua própria linguagem de comandos.
Desafio do Projeto
Crie uma função chamada AreaRetangulo(base, altura) que retorne o cálculo da área.
No seu programa principal, peça para o usuário os dados e chame a função para mostrar o resultado.
Lembre-se: O programa principal não deve saber como a área é calculada, apenas pedir o resultado para a função!
6. Exercícios de Fixação 📝
- Fácil: Crie um procedimento
DesenharLinha()que escreva "----------" na tela. Use-o para separar títulos. - Médio: Crie uma função
ConverterParaFahrenheit(celsius)que recebe o valor em C e retorna em F. - Desafio (Calculadora): Crie funções para
Somar,Subtrair,MultiplicareDividir. No programa principal, peça dois números e a operação desejada, chamando a função correta. - 🏆 PROJETO FINAL MÓDULO 1: Crie um "Sistema de Notas" que use tudo que aprendeu:
- Um vetor para nomes e um vetor para médias.
- Um procedimento
LerDados()para preencher os vetores. - Uma função
VerificarAprovacao(media)que retorna "Aprovado" ou "Reprovado". - Um loop para mostrar o boletim final de 5 alunos.
Próxima Aula: Fim dos Fundamentos! Agora vamos aplicar tudo isso em linguagens reais, começando pelos pais da programação: C e C++.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 09 - C e C++: Baixo Nível e Performance 🧱
Objetivo
Objetivo: Entender o que acontece "por baixo do capô". C e C++ te dão controle total sobre a memória do computador.
1. Linguagem C: O Pai das Linguagens Modernas 👴
Criada em 1972, quase tudo que você usa hoje (Windows, Linux, Android) tem C no núcleo. É uma linguagem Estruturada e Compilada.
A Estrutura Básica
Anatomia do Código 🦴
| Parte | O que faz? |
|---|---|
#include <stdio.h> |
Traz ferramentas de Entrada/Saída (printf). É como pegar a caixa de ferramentas. |
int main() { ... } |
O Ponto de Partida. Todo programa C começa aqui. |
printf(...) |
Imprime na tela. (Print Formatted). |
return 0; |
Diz ao sistema operacional: "Terminei sem erros!". |
Visualizando a Memória (Stack vs Heap)
Em C, você gerencia onde os dados ficam.
graph TD;
subgraph RAM
Stack["Stack (Pilha)"] --- V["Variáveis Locais\nRápidas"];
Heap["Heap (Monte)"] --- D["Dados Dinâmicos\nLentos"];
end
style Stack fill:#f9f;
style Heap fill:#bbf;
Simulando Compilação (Termynal)
2. Ponteiros: O Superpoder (e o Perigo) ⚡
Um ponteiro não guarda um valor (como 10), ele guarda o Endereço da Memória onde o 10 está.
Warning
Ponteiros errados podem travar o sistema (o famoso "Segmentation Fault").
3. C++: Adicionando Objetos 🚀
C++ mantém a velocidade do C, mas adiciona Classes e Objetos para organizar códigos gigantes.
Classes e Objetos
#include <iostream>
using namespace std;
class Carro {
public:
string marca;
void buziar() {
cout << "Bi Bi!" << endl;
}
};
int main() {
Carro meuCarro;
meuCarro.marca = "Ferrari";
meuCarro.buziar();
return 0;
}
Compilando C++ (Termynal)
4. Mini-Projeto: Gerenciador de Registros em C 🚀
C te permite ver como os dados são organizados no nível mais baixo.
Desafio do Projeto
Crie um programa em C que use uma struct (estrutura) chamada Aluno com os campos id (inteiro) e media (float).
1. Peça para o usuário digitar os dados de um aluno.
2. Mostre os dados na tela.
3. Use um ponteiro para alterar a média do aluno através de uma função atualizarMedia().
5. Exercícios de Fixação 📝
- Fácil: Escreva um programa em C que leia a idade e mostre se é maior de idade.
- Médio (C++): Crie uma classe
Retangulocom atributoslarguraealturae um métodocalcularArea(). - Desafio (Ponteiros): Crie duas variáveis
aeb. Use uma funçãotrocar(&a, &b)que receba ponteiros e troque os valores das variáveis originais. ??? tip "Dica: Operador " Use*ppara acessar o VALOR* que o ponteiro aponta.temp = *p1;
Próxima Aula: Vamos sair da "tela preta" e ir para a Web! JavaScript e TypeScript.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 10 - Web Moderna: JavaScript e TypeScript 🌐
Objetivo
Objetivo: Entender o papel do JavaScript na web e como o TypeScript ajuda a escrever códigos mais robustos e seguros.
4. Mini-Projeto: To-Do Console 🚀
JS é excelente para manipular listas e objetos.
Desafio do Projeto
Crie um array (vetor) de objetos chamado tarefas. Cada objeto deve ter descricao e concluida (booleano).
1. Adicione 3 tarefas iniciais.
2. Crie uma função que liste apenas as tarefas que NÃO foram concluídas.
3. Use o Node.js para rodar seu script no terminal.
5. Exercícios de Fixação 📝
O JavaScript (JS) é a única linguagem que roda nativamente em todos os navegadores. Ele manipula o DOM (Document Object Model), que é a estrutura da página HTML.
Visualizando o DOM (Mermaid)
graph TD;
Doc[Document] --> HTML;
HTML --> Head;
HTML --> Body;
Head --> Meta;
Body --> H1[Título];
Body --> P[Parágrafo];
Body --> Button[Botão];
style Doc fill:#f9f;
style Button fill:#bbf;
2. JavaScript: Dinamismo ⚡
// Seleciona o botão e adiciona um evento
const botao = document.querySelector('button');
botao.addEventListener('click', () => {
alert("Você clicou no botão!");
});
Node.js: JS fora do Navegador
Hoje, JS também roda no servidor com o Node.js.
A Revolução do Express.js
Para criar sites complexos, usamos frameworks. O Express é o padrão da indústria.
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Olá do Backend!');
});
app.listen(3000);
3. Variáveis Modernas (Esqueça o var) 🆕
O JS é "fracamente tipado" (você pode somar texto com número e ele deixa). O TypeScript (TS) adiciona Tipagem Estática para evitar erros bobos.
| Código JS (Suscetível a erro) | Código TS (Seguro) |
|---|---|
function soma(a, b) { return a + b; } |
function soma(a: number, b: number): number { return a + b; } |
Note
O navegador não entende TS. Ele precisa ser transpilado para JS.
4. Exercícios de Fixação 📝
- Fácil: Crie um arquivo HTML com um botão. Use JS para mudar a cor de fundo da página quando clicar nele.
- Médio (Node): Crie um script
tabuada.jsque mostre a tabuada do 7 no terminal. - Desafio (TS): Crie uma interface
Pessoacom nome e idade. Crie uma função que receba um objeto desse tipo e diga se é maior de idade.
Próxima Aula: O gigante corporativo. Vamos aprender sobre Classes e Objetos robustos com Java.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 11 - Java e Orientação a Objetos ☕
Objetivo
Objetivo: Entender como organizar sistemas grandes e complexos usando Classes, Objetos e Herança.
1. O Mundo dos Objetos 🌍
Na programação estruturada (C, Pascal), focamos em ações (funções). Na Orientação a Objetos (OO), focamos em coisas (objetos).
- Classe: A forma, o molde (ex: Planta da Casa).
- Objeto: A coisa concreta (ex: A Casa construída).
Visualizando Classes (Mermaid UML)
classDiagram
class Animal {
+String nome
+int idade
+fazerSom()
}
class Cachorro {
+latir()
}
class Gato {
+miar()
}
Animal <|-- Cachorro : Herança
Animal <|-- Gato : Herança
2. Java: "Escreva uma vez, rode em qualquer lugar" ♻️
Java usa uma Máquina Virtual (JVM).
3. Encapsulamento, Herança e Polimorfismo 🛡️
Os 3 pilares da OO em Java:
1. Encapsulamento: Proteger os dados (private) e dar acesso controlado (get/set).
2. Herança: Cachorro é um Animal. Reaproveita código.
3. Polimorfismo: Animal faz som, mas o Cachorro late e o Gato mia.
Código Java
public class Animal {
private String nome; // Encapsulado
public void fazerSom() {
System.out.println("Som genérico...");
}
}
public class Cachorro extends Animal {
@Override
public void fazerSom() {
System.out.println("Au Au!");
}
}
3.5 O Poder do Spring Boot (Web Moderno) 🍃
Java não é só "tela preta". Com Spring Boot, criamos APIs em segundos.
@RestController
public class OlaController {
@GetMapping("/ola")
public String dizerOla() {
return "Olá, Mundo Spring Boot!";
}
}
4. Mini-Projeto: Mini Petshop OO 🚀
A Orientação a Objetos brilha quando temos diferentes categorias de coisas que compartilham comportamentos.
Desafio do Projeto
Crie uma estrutura em Java que represente um Petshop.
1. Crie uma classe base Animal (nome, especie).
2. Crie subclasses Cachorro e Gato.
3. Implemente um método emitirSom() que seja diferente para cada um.
4. No seu programa principal, crie uma lista (ArrayList) de animais e mande todos emitirem seus sons.
5. Exercícios de Fixação 📝
- Fácil: Crie uma classe
Pessoacomnomeeidade. Crie um métodoapresentar(). - Médio: Crie uma classe
ContaBancariacomsaldoprivado. Crie métodosdepositar(valor)esacar(valor). Não deixe o saldo ficar negativo! - Desafio (Herança): Crie uma classe
Funcionarioe uma subclasseGerente. O gerente tem um método extraautorizarPagamento().
Próxima Aula: O ecossistema da Microsoft. Vamos ver como C# e .NET facilitam a vida do desenvolvedor: C# e .NET.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 12 - Ecossistema Microsoft: C# e .NET 🔷
Objetivo
Objetivo: Produtividade máxima. Aprender a linguagem C# e a plataforma .NET, muito usadas em empresas.
1. O Que é .NET? 🏗️
Não confunda: C# é a linguagem. .NET é a plataforma (bibliotecas, runtime, ferramentas). É similar ao Java, mas com foco extremo em facilidade de uso e integração.
2. Ferramentas: Onde programar? 🛠️
- Visual Studio (Roxo): A IDE completa. Pesada, mas quase programa por você.
- VS Code (Azul): Leve, rápido e funciona em qualquer lugar.
Criando um Projeto (Termynal)
3. LINQ: A Mágica do C# 🪄
O recurso mais amado do C#. Permite tratar listas como se fossem banco de dados.
Visualizando o LINQ (Mermaid)
graph LR;
Input[Lista de Números\n1, 2, 3, 4, 5, 6] -->|Where| Filtro[Filtro: Pares\n2, 4, 6];
Filtro -->|Select| Transf[Transformação: Ao Quadrado\n4, 16, 36];
Transf --> Output[Resultado];
style Input fill:#f9f;
style Output fill:#bfb;
Código C
int[] numeros = { 1, 2, 3, 4, 5, 6 };
var resultado = numeros
.Where(n => n % 2 == 0) // Filtra pares
.Select(n => n * n) // Eleva ao quadrado
.ToList();
// Resultado: 4, 16, 36
4. F# : O Lado Funcional (Bônus) 🟣
O .NET também tem uma linguagem chamada F#, focada em matemática e funções puras. O C# pegou muitas ideias dela (como o LINQ e as expressões lambda).
5. Mini-Projeto: Dashboard de Vendas com LINQ 🚀
O C# é extremamente poderoso para processar coleções de dados de forma expressiva.
Desafio do Projeto
Crie uma lista de objetos Venda (Produto, Valor, Data).
1. Use LINQ para calcular o valor total das vendas.
2. Liste apenas as vendas acima de R$ 100,00 ordenadas por valor.
3. Mostre o resultado no console de forma organizada.
6. Exercícios de Fixação 📝
- Fácil: Crie um programa C# "Olá Mundo" no Console.
- Médio (LINQ): Dada uma lista de nomes
["Ana", "Bruno", "Carlos", "Amanda"], use LINQ para filtrar apenas os que começam com "A". ??? tip "Dica: StartsWith" Use.Where(nome => nome.StartsWith("A")). - Desafio (Mini-Sistema): Crie uma classe
Produto(Nome, Preço). Crie uma lista de produtos. Use LINQ para achar o produto mais caro e a média de preços.
Próxima Aula: A linguagem da Ciência de Dados e IA: Python.
🔗 Materiais da Aula
-
Slides
Material visual com diagramas e conceitos-chave.
-
Quiz
Teste seu conhecimento com 10 questões interativas.
-
Exercícios
5 exercícios progressivos (básico → desafio).
-
Projeto
Aplicação prática dos conceitos da aula.
Aula 13 - Python e Ciência de Dados 🐍
Objetivo
Objetivo: Programar rápido, com poucas linhas e muita clareza. A linguagem favorita da IA e Data Science.
1. Por que Python? 🚀
Python lê-se como inglês. Não usa chaves {} nem ponto-e-vírgula ;. Usa Indentação (espaços).
Visualizando Estruturas de Dados (Mermaid)
Python brilha com Listas e Dicionários.
graph LR;
subgraph Lista [Lista: Compras]
L0[0: Maçã] --- L1[1: Banana] --- L2[2: Uva]
end
subgraph Dicionario [Dicionário: Pessoa]
D1[Chave: 'Nome'\nValor: 'Ana'] --- D2[Chave: 'Idade'\nValor: 25]
end
style Lista fill:#bbf;
style Dicionario fill:#f9f;
2. Dicionários: A Chave do Sucesso 🔑
Em C ou Java, usamos vetores. Em Python, usamos Dicionários (Chave: Valor). É extremamente rápido.
3. Python Interativo (REPL) ⌨️
Python é interpretado. Você pode testar ideias na hora.