Programação Orientada a Objetos com Python
Tecnologia em
Análise e Desenvolvimento de Sistemas
A disciplina, o professor, como funciona o curso, as avaliações e o projeto final.
Uma atividade em grupo para entender o que é POO antes de ver qualquer código.
Configurar o ambiente, revisar os fundamentos da linguagem e fazer o primeiro exercício.
| item | detalhe |
|---|---|
| Carga horária | 120 horas · 30 aulas de 4h |
| Período | 01/04 a 17/07 de 2026 |
| 1ª Avaliação (VA) | 03/06 · prova prática |
| 2ª Avaliação (VA) | 14/07 · prova prática |
| Projeto final | Semana de 06 a 17/07 · em grupo |
| Linguagem | Python |
Engenheiro de Software · +10 anos de experiência
Se apresente com: seu nome, sua idade, onde trabalha, por que escolheu esse curso, e me traga uma coisa — pode ser física ou não — que te representa de alguma forma. Pode ser celular, carro, tênis, cachorro - qualquer coisa.
Cor, tamanho, marca, modelo... como você descreveria essa coisa para alguém que nunca viu?
O que você faz com ela no dia a dia? Ou o que ela faz por você?
📱
O celular que você escolheu
As características que você listou
marca = "Samsung"
bateria = 80
cor = "preto"
As ações que você listou
ligar()
tirar_foto()
carregar()
Imagine um programa com 3.000 linhas onde tudo são variáveis soltas e funções espalhadas.
Proteger dados internos e controlar acesso
Reaproveitar código de classe-pai
Mesma ação, comportamentos diferentes
Mostrar essencial, esconder complexidade
💡 Dica: Esses 4 pilares são a base de todo código orientado a objetos bem estruturado. Vamos explorar cada um nas próximas aulas!
Escreve e roda na hora — sem compilação
Você não declara o tipo — Python descobre pelo valor
Procedural, orientada a objetos e funcional
python.org/downloads → baixar o instalador → marcar "Add to PATH" durante a instalação
code.visualstudio.com → baixar e instalar normalmente
Ícone de extensões → pesquisar "Python" → instalar a da Microsoft
Criar ola.py → digitar print("Olá, mundo!") → rodar com ▶
Em Python você não precisa declarar o tipo — ele é definido pelo valor.
# Tipos básicos
nome = "Ana" # str
idade = 22 # int
altura = 1.68 # float
ativo = True # bool
# f-string
print(f"Olá, {nome}! Você tem {idade} anos.")
# input() sempre retorna str — converter!
idade = int(input("Sua idade: "))
Funções são blocos de código reutilizáveis. Defina uma vez, use várias.
def saudacao(nome):
print(f"Olá, {nome}!")
def soma(a, b):
return a + b
saudacao("turma") # Olá, turma!
resultado = soma(3, 7)
print(resultado) # 10
Tomando decisões com if, elif e else.
nota = float(input("Digite sua nota: "))
if nota >= 7:
print("Aprovado!")
elif nota >= 5:
print("Recuperação")
else:
print("Reprovado")
# Tratar divisão por zero
if b != 0:
print(10 / b)
else:
print("Não é possível dividir por zero!")
Crie um programa que pede dois números e exibe os resultados das quatro operações.
Pede dois números, exibe soma, subtração, multiplicação e divisão. Trata divisão por zero.
Usa funções para cada operação. Menu de escolha. Loop até o usuário digitar "sair".
Organiza tudo dentro de uma classe Calculadora. Spoiler do que vem na aula 2.
print("=== Calculadora ===")
a = float(input("Primeiro número: "))
b = float(input("Segundo número: "))
print(f"Soma: {a + b}")
print(f"Subtração: {a - b}")
print(f"Multiplicação: {a * b}")
if b != 0:
print(f"Divisão: {a / b:.2f}")
else:
print("Divisão: impossível dividir por zero!")
class Calculadora:
def somar(self, a, b):
return a + b
def dividir(self, a, b):
if b == 0:
return "Erro: divisão por zero"
return a / b
calc = Calculadora()
print(calc.somar(10, 5))
print(calc.dividir(10, 0))
Só com o que vimos hoje. Faça o máximo que conseguir e anote suas dúvidas para a aula 2.
Crie variáveis com seu nome, idade e cidade natal. Exiba uma
frase de apresentação completa usando f-string.
Exemplo de saída: Olá! Meu nome é Ana, tenho 22 anos e moro em
Peça a idade do usuário em anos e exiba quantos meses de vida ele tem.
Peça um número inteiro e exiba o dobro e o triplo.
Peça uma temperatura em Celsius e converta para Fahrenheit.
Fórmula: F = C × 1.8 + 32
Peça um número inteiro e informe se é par ou ímpar.
Dica: use o operador % (resto da divisão). Se n % 2 == 0, o
número é par.
Peça dois números e informe qual é o maior. Trate o caso em que são iguais.
Peça a idade do usuário e classifique de acordo com a faixa
etária:
• Criança: 0 a 12 anos
• Adolescente: 13 a 17 anos
• Adulto: 18 a 59 anos
• Idoso: 60 anos ou mais
Peça o nome do aluno e duas notas. Calcule a média e informe a
situação:
• Aprovado: média maior ou igual a 7
• Recuperação: média entre 5 e 6.9
• Reprovado: média menor que 5
Crie uma função chamada saudacao(nome, periodo) que receba o
nome da pessoa e o período do dia (manhã, tarde ou noite) e
retorne uma saudação personalizada.
Exemplo: saudacao("João", "tarde") → "Boa tarde, João!"
Crie quatro funções separadas: somar(a, b), subtrair(a, b),
multiplicar(a, b) e dividir(a, b).
A função dividir deve retornar uma mensagem de erro caso b seja
zero, em vez de travar o programa. Teste todas as funções com
valores à sua escolha
Crie uma função chamada verificar_senha(senha) que retorne True
se a senha tiver 8 ou mais caracteres, e False caso
contrário.
Peça uma senha ao usuário e exiba se ela é válida ou fraca,
informando quantos caracteres foram digitados.
Crie duas funções:
• calcular_imc(peso, altura): retorna o IMC (peso dividido pela
altura ao quadrado)
• classificar_imc(imc): retorna a classificação
Classificações:
• Abaixo do peso: IMC menor que 18.5
• Normal: 18.5 a 24.9
• Sobrepeso: 25 a 29.9
• Obesidade: 30 ou mais
Crie uma função chamada tabuada(numero) que imprima a tabuada
completa de 1 a 10 desse número.
Use um loop for com range(1, 11) para percorrer os
multiplicadores. Peça o número ao usuário.
Crie três funções de conversão:
• km_para_milhas(km): multiplica por 0.621371
• kg_para_libras(kg): multiplica por 2.20462
• celsius_para_fahrenheit(c): c × 1.8 + 32
Exiba um menu com as três opções, peça o valor ao usuário e
mostre o resultado da conversão escolhida usando if/elif.
Crie uma função pode_ser_triangulo(a, b, c) que verifique se
três lados formam um triângulo válido. A regra é: a soma de
quaisquer dois lados deve ser maior que o terceiro.
Se for válido, crie também uma função que classifique o
triângulo:
• Equilátero: três lados iguais
• Isósceles: dois lados iguais
• Escaleno: todos os lados diferentes
GitHub é onde você vai entregar todos os trabalhos, projetos e exercícios desta disciplina.
📺 Curso gratuito de GitHub:
Assistir no YouTube⚠️ Atenção: Todas as entregas de código, projetos e exercícios serão feitas via GitHub. Comece agora para não ficar para trás.
Vamos transformar a dinâmica de hoje em código real. A calculadora vira uma classe — e vai fazer muito mais sentido.