Lógica de Programação: Algoritmos de Busca e Organização de Dados
O Coração da Programação: Lógica e Estrutura
Programar não é apenas escrever comandos, é resolver problemas de forma eficiente. Um dos maiores desafios de um desenvolvedor é gerenciar volumes de dados. Como encontrar um item em uma lista de milhões? Como garantir que as informações estejam organizadas?
Nesta aula, exploramos como o Python utiliza Listas e Dicionários para estruturar dados e como criar funções de busca inteligente.
🛠️ Projeto Prático: Simulador de Biblioteca
Vamos construir um script que cadastra livros, armazena seus dados em uma estrutura composta e permite realizar buscas por título ou autor.
# --- Simulador de Biblioteca: Aula de Lógica ---
# Estrutura de dados inicial (Lista de Dicionários)
biblioteca = [
{"titulo": "Aprenda Python em 24h", "autor": "Sams Teach Yourself", "ano": 2014},
{"titulo": "Web Scraping Profissional", "autor": "Código da Hora", "ano": 2026},
{"titulo": "Lógica de Programação", "autor": "Alan Turing", "ano": 1940}
]
def buscar_livro(termo):
print(f"\\n🔍 Iniciando busca por: '{termo}'...")
resultados = []
# Lógica de Busca Iterativa
for livro in biblioteca:
if termo.lower() in livro["titulo"].lower() or termo.lower() in livro["autor"].lower():
resultados.append(livro)
return resultados
def exibir_resultados(lista):
if not lista:
print("❌ Nenhum livro encontrado.")
else:
print(f"✅ Sucesso! Encontramos {len(lista)} livro(s):")
for item in lista:
print(f"- {item['titulo']} ({item['autor']}), {item['ano']}")
if __name__ == "__main__":
exibir_resultados(buscar_livro("Python"))
exibir_resultados(buscar_livro("Código"))
Análise Técnica
Utilizamos .lower() para uma busca Case-Insensitive. A estrutura de Lista de Dicionários simula como bancos de dados modernos organizam informações, permitindo que cada item tenha múltiplas propriedades acessíveis por chaves.