UC 3 - ALGORITMO
Algoritmo
Com
Python
Prof. Rafael Vinicius Germinari Gonçalves
Bacharel em Ciência da Computação - UFMS
Por que Python?
O que é: Uma linguagem de alto nível, interpretada e muito próxima da
linguagem humana.
Onde é usada: Netflix, Instagram, NASA, Inteligência Artificial e Ciência de Dados.
Vantagem: Sintaxe limpa. Menos tempo brigando com o código, mais tempo
resolvendo problemas.
Visual studio code
O VS Code é um Editor de
Código Fonte. Diferente de
um IDE (Ambiente de
Desenvolvimento Integrado)
pesado, ele é leve, rápido e
altamente personalizável
através de extensões.
Variável
O que é uma Variável?
Imagine que uma variável é uma caixa onde guardamos uma informação para
usar depois.
O Nome da Variável: É a etiqueta que colamos na caixa (ex: nome, idade,
preco).
O Conteúdo: É o que está dentro da caixa (ex: "João", 25, 19.90).
A Atribuição: No Python, usamos o sinal de igual (=) para dizer que a caixa
agora contém aquele valor.
Inteiros (int)
São números inteiros, sem casas decimais. Podem ser positivos ou negativos.
Exemplos: 10, -5, 1000, 0.
Uso: Idade, quantidade de produtos, ano.
Decimais / Ponto Flutuante (float)
São números com casas decimais (números "quebrados").
Atenção: Em programação, usamos ponto (.) e não vírgula para separar as casas
decimais.
Exemplos: 1.75, 9.90, -0.5.
Uso: Altura, preço, peso, média escolar.
Strings / Textos (str)
Qualquer conjunto de caracteres (letras, números, símbolos).
Regra: Devem estar sempre entre aspas simples (' ') ou aspas duplas (" ").
Exemplos: "Ana", "Python123", "Rua das Flores, 50".
Uso: Nomes, endereços, mensagens.
Booleanos (bool)
Representam estados lógicos: Verdadeiro ou Falso.
Importante: Em Python, a primeira letra é sempre maiúscula.
Valores: True (Verdadeiro) ou False (Falso).
Uso: Perguntas do tipo "O utilizador está logado?", "A luz está acesa?", "A idade
é maior que 18?".
Saida de dados (print)
A função print() é responsável por exibir informações no console (tela). Ela pode
mostrar textos, números, resultados de cálculos e o conteúdo de variáveis.
Formas de usar o print():
Simples: print("Olá Mundo")
Múltiplos valores: print("Nome:", nome, "Idade:", 25)
F-strings (A mais moderna e recomendada): Permite inserir variáveis
diretamente dentro do texto usando chaves {}.
Entrada de Dados: A função input()
A função input() faz o programa parar e esperar que o usuário digite algo.
Regra de Ouro: Tudo o que entra pelo input() chega ao Python como texto
(string), mesmo que o usuário digite um número.
Conversão (Casting)
Como o input() sempre retorna texto, se você quiser fazer cálculos matemáticos,
precisa converter esse dado para um número inteiro (int) ou decimal (float).
Caso contrário, o Python tentará "somar letras", o que causará um erro ou uma
concatenação.
Operadores Aritméticos
Exercício 1
Façam um programa que:
[Link] o nome do aluno.
[Link] o ano de nascimento.
[Link] a idade (considerando que estamos em 2026).
[Link] uma frase como: "Olá [Nome], você tem [Idade] anos!"
Exercício 1 - resposta
Exercício 2
Faça um programa que calcule a média de duas notas.
[Link] nota 1;
[Link] nota 2
[Link] media
[Link] uma frase como “A média final do aluno é [media]”
Exercício 2 - resposta
Exercício 3
Faça um programa que peça:
1.A distância da viagem (em km).
2.O consumo do carro (km por litro).
3.O preço da gasolina.
O programa deve calcular e exibir:
Quantos litros de gasolina serão gastos.
O custo total da viagem em reais.
Exercício 3 - resposta
Exercício 3 - importantes
O .2f dentro das chaves: Serve para limitar o número a 2 casas
decimais (muito importante para dinheiro e litros). Se não usar, o
Python pode exibir algo como 5.3333333333333.
O \n no print: Serve para pular uma linha no terminal e deixar o visual
mais limpo.
Estruturas Condicionais (if, elif,
else).
Até agora, o código é uma "rua de mão única": ele executa a linha 1, depois
a 2, depois a 3 e acaba. Com as condicionais, o programa ganha um
cérebro para tomar decisões.
Estrutura - Bloco de instrução
As instruções são executadas na sequência que foram escritas. Para isso, usamos
um bloco de instruções para indicar onde ele se inicia, se desenvolve e termina. Um
bloco de instruções é delimitado pelas palavras início e fim
Os Operadores de Comparação
Antes do if, é necessário
conhecer os símbolos que
"fazem perguntas" ao Python:
A Sintaxe do if
No Python, o que está "dentro" do if precisa estar empurrado para a
direita.
A Sintaxe do elif
O elif (Para mais de duas opções)
Se houver várias faixas de resposta, usamos o elif (abreviação de else if).
Exercicio iF 1
Escreva um programa que leia a velocidade de um carro.
Se ele ultrapassar 80 km/h, mostre uma mensagem dizendo que ele
foi multado.
A multa vai custar R$ 7,00 por cada km acima do limite.
Se ele estiver abaixo do limite, diga "Boa viagem! Dirija com
segurança".
Dica:
(velocidade - 80) para descobrir apenas o "excesso"
Exercicio if 1 - Resposta
Operadores Lógicos (and, or, not)
Desafio: "Banco Python"
Loops
Loop é uma estrutura que permite repetir um bloco de código várias vezes.
Usamos quando:
Precisamos repetir uma ação
Queremos contar valores
Precisamos repetir até uma condição ser satisfeita
While
O while executa enquanto a condição for verdadeira.
Passo a passo interno:
1. Verifica a condição
2. Se for True, executa o bloco
3. Volta para o início
4. Verifica novamente
5. Repete até a condição ser False
While - Exemplo
Estrutura lógica do while:
Inicialização
Condição
Atualização
Se faltar a atualização → loop infinito.
For
É uma estrutura de repetição que permite executar um bloco de código várias
vezes. Em Python, ele é frequentemente usado com a função range() para
controlar quantas vezes o loop será executado.
range(fim)
Quando usamos range(fim), ele gera números de 0 até fim - 1.
range(início, fim)
Com dois argumentos, range(início, fim) gera números a partir do início até
fim - 1.
Lista
As Listas são a forma mais comum de armazenar vários dados em uma
única variável no Python. Se uma variável comum é uma "caixa", uma lista é
um armário com várias gavetas numeradas.
O Conceito de Índice
O Python começa a contar do ZERO.
O primeiro item está na posição 0.
O segundo item está na posição 1.
E assim por diante.
Operações Básicas com Listas
O Python tem algumas funções de lista.
append(item)
insert(indice, item)
remove(valor)
pop(indice)
del lista[indice]
Medir o tamanho (len)
Adicionar itens (.append)
O método append coloca o novo item sempre no final da lista.
Inserir em posição específica (.insert)
Diferente do append, aqui você escolhe a "gaveta". Os outros itens são
empurrados para a frente.
Remover por valor/nome (.remove)
remove(valor) — Busca pelo CONTEÚDO
Você não sabe onde o item está, você apenas sabe o que ele é.
Como funciona: Ele percorre a lista e apaga o primeiro item que encontrar com esse
nome.
Destino: O item é destruído.
Exemplo: "Apague o nome 'João' da lista, não importa em qual cadeira ele esteja
sentado."
Remover por posição (.pop)
pop(índice) — Busca pela POSIÇÃO (com retorno)
Você sabe exatamente em qual "gaveta" o item está e quer usar esse item para alguma
coisa.
Como funciona: Ele remove o item da posição informada. Se você não informar a
posição, ele remove o último.
Destino: Ele retira o item da lista e o "entrega" para uma variável.
Exemplo: "Tire quem está na cadeira 2 e me diga o nome dele para eu colocar no
relatório."
Deletar por posição (del)
É mais direto que o pop, mas não devolve o item. Apenas apaga da
memória.
Medir o tamanho (len)
A função len() (de length) diz quantos itens existem na lista.
Unindo Listas com o Loop
For com enumerate()
O for com enumerate() (Pegando o índice e o valor).
Às vezes, você não quer apenas o nome, mas também a posição (o número
da gaveta). Para isso, usamos o enumerate.
Exemplo
Crie um programa que peça 4 notas
de um aluno, guarde-as em uma lista
e, ao final, use um loop para somar
tudo e calcular a média.
Dicionários (Objeto)
Se uma variável comum é uma caixa e uma lista é
um armário com gavetas numeradas, um dicionário
é uma estante organizada por etiquetas.
+1
A Chave (Key): É a etiqueta que você usa para
encontrar a informação (ex: "nome", "cpf", "ano").
O Valor (Value): É a informação guardada
naquela etiqueta (ex: "João", "123.456.789-00",
2024).
Sintaxe: Em Python, usamos chaves { } para criar
dicionários e dois pontos : para ligar a chave ao
seu valor.
Criando seu primeiro Dicionário
Diferente das listas, onde você busca pela posição (0, 1, 2...), no dicionário você busca pelo nome da chave.
Regra: As chaves devem ser únicas. Você não pode ter duas etiquetas com o mesmo nome na mesma
estante.
Para que servem os Dicionários?
A limitação das Listas: Em uma lista, os dados são identificados por índices numéricos (0, 1, 2...).
Imagine tentar guardar os dados de um cliente: [ "João", 30, "São Paulo" ].
O que o índice 1 representa? A idade? O número da casa? O peso? Fica confuso!
A solução dos Dicionários: Os dicionários servem para organizar dados de forma semântica (com significado).
Em vez de um número, usamos uma etiqueta (chave).
É ideal para representar objetos do mundo real.
Principais usos:
1. Mapeamento de Dados: Relacionar um termo a uma definição (como um dicionário real).
2. Registros (Records): Agrupar características de um único objeto (ex: um produto de e-commerce, um perfil
de usuário, um personagem de jogo).
3. Rapidez na Busca: É muito mais rápido encontrar um valor pela "chave" do que percorrer uma lista inteira
procurando um item.
4. Integração com APIs: Quase todos os dados que trafegam na internet (JSON) seguem a estrutura de
dicionário.
Manipulação Básica de Dicionários
Como interagir com a nossa "Estante"? Ao contrário das listas, não usamos o número da gaveta, mas sim o
nome da etiqueta (Chave).
Acessar um valor: Para ler uma informação,
usamos o nome da variável seguido da
chave entre colchetes
Adicionar ou Alterar: Se a chave não existir,
o Python a cria. Se já existir, ele substitui o
valor antigo.
Remover um item Temos duas formas
principais
Loops com Dicionário
Para percorrer o dicionário:
Usamos o método .items(). Aqui, o for recebe duas variáveis: uma para a chave e outra para o valor.
Exemplo
Listas de Dicionários
O que é?
É uma lista onde cada "gaveta" contém um dicionário completo.
A Lista: Representa o conjunto (ex: todos os alunos da sala).
O Dicionário: Representa as características individuais (ex: nome, nota e faltas de cada um).
Analogia Visual: Imagine um arquivo de metal (Lista) cheio de pastas suspensas (Dicionários). Para achar uma
informação, você primeiro escolhe a pasta pela posição e depois lê a etiqueta dentro dela.
Estrutura e Acesso
Manipulação adicionando item
Para adicionar um novo "objeto" à
nossa lista, usamos o conhecido
.append(), mas passando um
dicionário completo.
Exemplo
O que são Funções?
Analogia Visual: Se uma variável é uma "caixa" e uma lista é um "armário", uma Função é uma máquina ou
uma receita.
O Conceito: É um bloco de código que fica "guardado" e só funciona quando você o chama.
Para que serve?
Evitar repetição: Não escreva o mesmo cálculo dez vezes.
Organização: Deixa o código mais limpo e fácil de entender.
Manutenção: Se precisar mudar algo, muda em um só lugar.
Como criar uma Função?
Regra de Ouro: Assim como no if, o
que está "dentro" da função precisa
estar empurrado para a direita
(indentação)
Parâmetros da função
os parâmetros são as variáveis listadas entre parênteses na definição da função. Eles funcionam como
"espaços reservados" para os dados que a função receberá para trabalhar.
Parâmetros com Valor Padrão (Default)
Você pode definir um valor "reserva". Se quem chamar a função não enviar esse dado, a função usa o valor
padrão. Isso torna o parâmetro opcional.
Retorno de uma função (return)
O retorno de uma função é o valor que ela "devolve" para quem a chamou. Imagine que a função é um
funcionário: os parâmetros são as ferramentas que você dá a ele, e o retorno é o relatório pronto que ele te
entrega no final.
Em Python, usamos a palavra-chave return. Assim que o computador encontra um return, a função para de
executar imediatamente e envia o valor para fora.
Retornando Valores Booleanos (Útil para validações)
Muito comum em sistemas para verificar se algo é permitido ou não.
Retornando Múltiplos Valores
O Python permite devolver mais de uma informação ao mesmo tempo. Ele faz isso criando uma tupla
automaticamente.
Exemplo