Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante   Click to listen highlighted text! Seja Bem-Vindo. Este site tem recursos de leitura de texto, basta marcar o texto e clicar no ícone do alto-falante

Linguagem de Programação (Subsequente de Infraestrutura) – Aula 02

📘 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/null evita 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

Click to listen highlighted text!