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


🧭 Navegação Pedagógica


🎯 Nível 1: Fundamentos

Problema 01.1 — Programa C++ Moderno com e Namespaces

Contexto: Programa C++ Moderno com e Namespaces no contexto de Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial.

Requisitos de Execução:

  1. Escrever programa utilizando std::cout, std::endl e inicialização uniforme {}.

Resultado Esperado

Programa C++20 compilado e executado com sucesso.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_1_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
#include <iostream>

int main() {
    int versao_cpp{2020};
    std::cout << "Ecossistema C++ Moderno (C++20/C++23)" << std::endl;
    std::cout << "Padrao ISO C++: " << versao_cpp << std::endl;
    return 0;
}

🔍 Nível 2: Prática

Problema 01.2 — Leitura e Escrita Segura com std::cin e Validação de Estado de Stream

Contexto: Leitura e Escrita Segura com std::cin e Validação de Estado de Stream no contexto de Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial.

Requisitos de Execução:

  1. Ler dados numéricos e verificar se o stream não entrou em estado de falha std::cin.fail().

Resultado Esperado

Entrada validada com recuperação automática em caso de caractere inválido.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_2_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
#include <iostream>

int main() {
    int valor{0};
    std::cout << "Digite um inteiro: ";
    if (std::cin >> valor) {
        std::cout << "Valor recebido com sucesso: " << valor << std::endl;
    } else {
        std::cerr << "Erro: entrada invalida." << std::endl;
        std::cin.clear();
    }
    return 0;
}

⚡ Nível 3: Integração

Problema 01.3 — Compilação com GCC/Clang no Padrão C++20 (-std=c++20)

Contexto: Compilação com GCC/Clang no Padrão C++20 (-std=c++20) no contexto de Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial.

Requisitos de Execução:

  1. Configurar flags de compilação estrita -std=c++20 -Wall -Wextra -Wpedantic.

Resultado Esperado

Código C++20 compilado sem avisos ou erros de compatibilidade.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_3_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
#include <iostream>

int main([[maybe_unused]] int argc, [[maybe_unused]] char* argv[]) {
    auto lambda = [](auto x, auto y) { return x + y; };
    std::cout << "Soma C++20: " << lambda(10, 25.5) << std::endl;
    return 0;
}

🏆 Nível 4: Desafio Corporativo

Problema 01.4 — Automação de Build Multiplataforma com CMake (CMakeLists.txt)

Contexto: Automação de Build Multiplataforma com CMake (CMakeLists.txt) no contexto de Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial.

Requisitos de Execução:

  1. Criar CMakeLists.txt configurando target com padrão C++20 exigido e flags de warning.

Resultado Esperado

Projeto configurado e gerado com sucesso via CMake.

📤 Instruções de Entrega (Microsoft Teams)

  1. Salve o arquivo como: Atividade_01_4_SeuNome
  2. Envie na tarefa: Atividade Cap 01 - Ecossistema C++20/C++23, Compiladores e Estrutura Sequencial
🔑 Gabarito de Código & Solução Comentada
cmake_minimum_required(VERSION 3.20)
project(EngineSistemas LANGUAGES CXX)

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)

add_executable(app_engine main.cpp)
target_compile_options(app_engine PRIVATE -Wall -Wextra -Wpedantic)

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