📘 Módulo II – Estruturas de Dados Homogêneas e Heterogêneas
🧩 Semana 4 – Estruturas de Repetição (Laços)
🧪 Aula 7 – Loop while e condições de parada
🎯 Objetivos
-
Compreender repetição baseada em condição
-
Aplicar em verificações contínuas (monitoramento)
📚 Conteúdo
-
Estrutura
while -
Condição de parada
-
Risco de loop infinito
💻 Exemplo Didático
# Contador simples
contador = 1
while contador <= 5:
print("Execução número:", contador)
contador += 1
🧠 Explicação
-
Loop executa enquanto a condição for verdadeira
-
Incremento evita loop infinito
🧪 Aula 8 – Loop for e função range()
🎯 Objetivos
-
Trabalhar com repetições controladas
-
Aplicar em varreduras de rede
💻 Exemplo Prático (PING em faixa de IPs)
📌 Problema:
Testar conectividade em uma rede local
import os
# Base da rede
base_ip = "192.168.0."
# Loop em 10 IPs
for i in range(1, 11):
ip = base_ip + str(i)
print(f"Testando {ip}...")
# Executa ping (1 pacote)
resposta = os.system(f"ping -c 1 {ip} > /dev/null 2>&1")
if resposta == 0:
print(f"{ip} está ONLINE")
else:
print(f"{ip} está OFFLINE")
🧠 Explicação
-
range(1,11)→ gera IPs de 1 a 10 -
os.system()executa comando do sistema -
> /dev/nullevita poluição de saída
⚠ Validação importante
-
Funciona em Linux (ajustar para Windows:
-n 1) -
Testar com rede real ou simulada
🧩 Semana 5 – Vetores (Listas)
🧪 Aula 9 – Listas: criação e acesso
🎯 Objetivos
-
Entender estruturas homogêneas
-
Trabalhar com coleções de dados
💻 Exemplo
# Lista de servidores
servidores = ["web01", "db01", "backup01"]
# Acesso por índice
print("Primeiro servidor:", servidores[0])
🧠 Explicação
-
Lista = coleção ordenada
-
Índices iniciam em 0
🧪 Aula 10 – Métodos de listas
🎯 Objetivos
-
Manipular listas dinamicamente
-
Aplicar em gestão de arquivos
💻 Exemplo Prático (Gestão de Backups)
📌 Problema:
Remover backups antigos
# Lista simulada de backups (mais antigo primeiro)
backups = [
"backup_2026_03_01.tar",
"backup_2026_03_02.tar",
"backup_2026_03_03.tar"
]
print("Backups atuais:")
for b in backups:
print(b)
# Mantendo apenas os 2 mais recentes
while len(backups) > 2:
removido = backups.pop(0) # remove o mais antigo
print(f"Removendo backup antigo: {removido}")
print("\nBackups atualizados:")
for b in backups:
print(b)
🧠 Explicação
-
pop(0)remove primeiro elemento -
Estratégia comum em retenção de backups
-
Simula política de armazenamento
✅ Validação
Entrada:
3 backups
Saída:
Remove o mais antigo
Mantém os mais recentes
🧩 Semana 6 – Matrizes e Registros
🧪 Aula 11 – Matrizes (listas bidimensionais)
🎯 Objetivos
-
Representar estruturas tabulares
-
Aplicar em monitoramento múltiplo
💻 Exemplo
# Matriz: servidores x uso de CPU
dados = [
["web01", 70],
["db01", 85],
["backup01", 40]
]
for linha in dados:
print(f"Servidor: {linha[0]} - CPU: {linha[1]}%")
🧠 Explicação
-
Lista dentro de lista
-
Representa tabelas simples
-
Muito usado em coleta de métricas
🧪 Aula 12 – Dicionários (Registros)
🎯 Objetivos
-
Trabalhar com dados heterogêneos
-
Representar ativos de rede
💻 Exemplo Prático (Inventário de Servidores)
📌 Problema:
Criar inventário estruturado
# Inventário de servidores
inventario = {
"web01": {
"ip": "192.168.0.10",
"os": "Linux",
"local": "Data Center 1"
},
"db01": {
"ip": "192.168.0.20",
"os": "Linux",
"local": "Data Center 2"
}
}
# Exibição
for servidor, dados in inventario.items():
print("\nServidor:", servidor)
print("IP:", dados["ip"])
print("Sistema:", dados["os"])
print("Local:", dados["local"])
🧠 Explicação
-
Dicionário = chave → valor
-
Permite estruturação rica (tipo JSON)
-
Ideal para inventários e CMDB simplificada
🔍 Versão com entrada do usuário
inventario = {}
nome = input("Nome do servidor: ")
ip = input("IP: ")
os = input("Sistema Operacional: ")
local = input("Localização: ")
inventario[nome] = {
"ip": ip,
"os": os,
"local": local
}
print("\nInventário cadastrado:")
print(inventario)
✅ Validação
-
Estrutura deve manter consistência
-
Testar múltiplas inserções
📊 Considerações Pedagógicas
✔ Progressão cognitiva
| Semana | Conceito | Aplicação |
|---|---|---|
| 4 | Repetição | Varredura de rede |
| 5 | Listas | Gestão de backups |
| 6 | Matrizes + Dicionários | Inventário de ativos |
✔ Alinhamento com Redes
-
Ping → diagnóstico
-
Backups → administração
-
Inventário → governança de TI
✔ Fundamentação
-
Listas e estruturas sequenciais conforme
-
Uso prático para automação conforme
Fim da aula 02
