Pular para conteúdo

Exercícios: Aula 14 – Organização de Projetos 📝

Aprenda a estruturar projetos de larga escala dividindo o código de forma lógica e modular.


🟢 Nível: Básico

1. Meu Primeiro Header

Crie um arquivo chamado saudacao.h com o protótipo de uma função void imprimirOla(). Em seguida, crie saudacao.c com a implementação dessa função. Por fim, crie um main.c que inclua o header e chame a função. Compile ambos os arquivos .c juntos.

2. Header Guards

Adicione os "Header Guards" (#ifndef, #define, #endif) ao arquivo saudacao.h que você criou no exercício anterior.


🟡 Nível: Intermediário

3. Biblioteca Matemática

Crie uma "mini-biblioteca" chamada math_util. - math_util.h: Protótipos para dobro(int), triplo(int) e quadrado(int). - math_util.c: Implementação das funções. - main.c: Peça um número ao usuário e exiba os três resultados usando sua biblioteca.

4. Compilação Manual

Descreva, em um comentário no topo do seu main.c, qual o comando exato que você deve digitar no terminal do VS Code para compilar um projeto que tenha 3 arquivos .c chamados main.c, player.c e enemy.c.


🔴 Nível: Desafio

5. O Pequeno Makefile

Crie um arquivo chamado Makefile (sem extensão) na pasta do seu projeto. Escreva as regras para compilar sua "Biblioteca Matemática" do exercício 3. O comando make no terminal deve gerar um executável chamado app_matematica.


Important

Dica: No Makefile, a indentação DEVE ser feita com a tecla TAB, não com espaços, caso contrário o comando falhará.


📚 Gabarito e Soluções Comentadas

Gabarito Explicado ### Questão 1: Meu Primeiro Header **Resposta Comentada:** - **Fundamentação:** No contexto de **Organização de Projetos**, o conceito abordado (Meu Primeiro Header) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 2: Header Guards **Resposta Comentada:** - **Fundamentação:** No contexto de **Organização de Projetos**, o conceito abordado (Header Guards) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 3: Biblioteca Matemática **Resposta Comentada:** - **Fundamentação:** No contexto de **Organização de Projetos**, o conceito abordado (Biblioteca Matemática) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 4: Compilação Manual **Resposta Comentada:** - **Fundamentação:** No contexto de **Organização de Projetos**, o conceito abordado (Compilação Manual) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais. ### Questão 5: O Pequeno Makefile **Resposta Comentada:** - **Fundamentação:** No contexto de **Organização de Projetos**, o conceito abordado (O Pequeno Makefile) é essencial para assegurar que os requisitos do sistema sejam estruturados de forma padronizada e escalável. - **Justificativa Técnica:** A abordagem recomendada prioriza baixo acoplamento, alta coesão e facilidade de manutenção em ambientes de produção, evitando retrabalho e inconsistências operacionais.