Spec Sistemas Com Go • Trilha Progressiva em 4 Níveis


🧭 Navegação Pedagógica


🎯 Nível 1: Fundamentos

Problema 04.1 — Laço for Tradicional (Inicialização, Condição e Pós-instrução)

Contexto: Laço for Tradicional (Inicialização, Condição e Pós-instrução) no contexto de Estruturas de Repetição: O Laço for Unificado.

Requisitos de Execução:

  1. Somar os primeiros 100 números inteiros com laço for de 3 cláusulas.

Resultado Esperado

Somatório acumulado com laço for tradicional.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_04_1_SeuNome
  2. Envie na tarefa: Atividade Cap 04 - Estruturas de Repetição: O Laço for Unificado
🔑 Gabarito de Código & Solução Comentada
package main

import "fmt"

func main() {
    soma := 0
    for i := 1; i <= 100; i++ {
        soma += i
    }
    fmt.Printf("Soma 1 a 100: %d\n", soma)
}

🔍 Nível 2: Prática

Problema 04.2 — Laço for como While (Apenas Condição) e for Infinito

Contexto: Laço for como While (Apenas Condição) e for Infinito no contexto de Estruturas de Repetição: O Laço for Unificado.

Requisitos de Execução:

  1. Implementar laço condicional for n > 0 e laço infinito com parada controlada break.

Resultado Esperado

Iteração controlada terminando no valor zero.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_04_2_SeuNome
  2. Envie na tarefa: Atividade Cap 04 - Estruturas de Repetição: O Laço for Unificado
🔑 Gabarito de Código & Solução Comentada
package main

import "fmt"

func main() {
    n := 5
    for n > 0 {
        fmt.Printf("Contagem: %d\n", n)
        n--
    }
}

⚡ Nível 3: Integração

Problema 04.3 — Iteração com for range em Slices com Descarte de Índice (_)

Contexto: Iteração com for range em Slices com Descarte de Índice (_) no contexto de Estruturas de Repetição: O Laço for Unificado.

Requisitos de Execução:

  1. Percorrer lista de servidores com for _, srv := range servidores.

Resultado Esperado

Lista percorrida com cópia de valores sem alocação extra.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_04_3_SeuNome
  2. Envie na tarefa: Atividade Cap 04 - Estruturas de Repetição: O Laço for Unificado
🔑 Gabarito de Código & Solução Comentada
package main

import "fmt"

func main() {
    servidores := []string{"srv-01", "srv-02", "srv-03"}
    for i, s := range servidores {
        fmt.Printf("Servidor #%d: %s\n", i+1, s)
    }
}

🏆 Nível 4: Desafio Corporativo

Problema 04.4 — Iteradores Personalizados no Go 1.22+ (range sobre Inteiros e Funções)

Contexto: Iteradores Personalizados no Go 1.22+ (range sobre Inteiros e Funções) no contexto de Estruturas de Repetição: O Laço for Unificado.

Requisitos de Execução:

  1. Utilizar a nova sintaxe do Go 1.22 for i := range 5 simplificando iterações numéricas.

Resultado Esperado

Iteração moderna de Go 1.22 homologada com concisão.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_04_4_SeuNome
  2. Envie na tarefa: Atividade Cap 04 - Estruturas de Repetição: O Laço for Unificado
🔑 Gabarito de Código & Solução Comentada
package main

import "fmt"

func main() {
    // Sintaxe Go 1.22+ range sobre inteiros
    for i := range 4 {
        fmt.Printf("Tick Go 1.22: %d\n", i)
    }
}

⬅️ Voltar ao Índice de Exercícios 📚 Sumário de Tópicos