🧩 Exercícios: Estruturas Condicionais e Operador Ternário
Spec Sistemas Com C • Trilha Progressiva em 4 Níveis
🎯 Nível 1: Fundamentos
Problema 04.1 — Estrutura if-else Aninhada para Classificação de Faixa Etária
Contexto: Estrutura if-else Aninhada para Classificação de Faixa Etária no contexto de Estruturas Condicionais e Operador Ternário.
Requisitos de Execução:
- Classificar usuário em Menor de Idade, Adulto ou Idoso conforme idade informada.
Resultado Esperado
Classificação correta emitida no console.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_04_1_SeuNome - Envie na tarefa:
Atividade Cap 04 - Estruturas Condicionais e Operador Ternário
🔑 Gabarito de Código & Solução Comentada
#include <stdio.h>
int main(void) {
int idade = 28;
if (idade < 18) {
puts("Categoria: Menor de Idade");
} else if (idade < 65) {
puts("Categoria: Adulto");
} else {
puts("Categoria: Idoso");
}
return 0;
}
🔍 Nível 2: Prática
Problema 04.2 — Operador Ternário Aninhado para Determinação de Status
Contexto: Operador Ternário Aninhado para Determinação de Status no contexto de Estruturas Condicionais e Operador Ternário.
Requisitos de Execução:
- Atribuir string de status utilizando operador ternário
condicao ? valor1 : valor2.
Resultado Esperado
Status atribuído com expressão ternária compacta.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_04_2_SeuNome - Envie na tarefa:
Atividade Cap 04 - Estruturas Condicionais e Operador Ternário
🔑 Gabarito de Código & Solução Comentada
#include <stdio.h>
int main(void) {
int score = 85;
const char *status = (score >= 70) ? "APROVADO" : (score >= 50 ? "RECUPERACAO" : "REPROVADO");
printf("Resultado da avaliacao: %s (Score: %d)\n", status, score);
return 0;
}
⚡ Nível 3: Integração
Problema 04.3 — Validação de Coordenadas em Quadrantes Cartesianos 2D
Contexto: Validação de Coordenadas em Quadrantes Cartesianos 2D no contexto de Estruturas Condicionais e Operador Ternário.
Requisitos de Execução:
- Determinar em qual quadrante (Q1, Q2, Q3, Q4) ou eixo cartesiano um ponto (x, y) se encontra.
Resultado Esperado
Ponto classificado corretamente no quadrante cartesiano.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_04_3_SeuNome - Envie na tarefa:
Atividade Cap 04 - Estruturas Condicionais e Operador Ternário
🔑 Gabarito de Código & Solução Comentada
#include <stdio.h>
int main(void) {
double x = -3.5, y = 4.2;
if (x > 0 && y > 0) puts("Quadrante: Q1");
else if (x < 0 && y > 0) puts("Quadrante: Q2");
else if (x < 0 && y < 0) puts("Quadrante: Q3");
else if (x > 0 && y < 0) puts("Quadrante: Q4");
else puts("Sobre o Eixo");
return 0;
}
🏆 Nível 4: Desafio Corporativo
Problema 04.4 — Cálculo de Imposto de Renda Progressivo com Faixas Salariais
Contexto: Cálculo de Imposto de Renda Progressivo com Faixas Salariais no contexto de Estruturas Condicionais e Operador Ternário.
Requisitos de Execução:
- Calcular alíquotas de imposto de renda progressivas com deduções por faixa salarial.
Resultado Esperado
Cálculo de imposto retido na fonte executado com precisão monetária.
📤 Instruções de Entrega (Microsoft Teams)
- Salve o arquivo como:
Atividade_04_4_SeuNome - Envie na tarefa:
Atividade Cap 04 - Estruturas Condicionais e Operador Ternário
🔑 Gabarito de Código & Solução Comentada
#include <stdio.h>
double calcular_irrf(double salario) {
if (salario <= 2259.20) return 0.0;
if (salario <= 2826.65) return (salario * 0.075) - 169.44;
if (salario <= 3751.05) return (salario * 0.15) - 381.44;
return (salario * 0.275) - 896.00;
}
int main(void) {
double sal = 5000.00;
printf("Salario: R$ %.2f | IRRF: R$ %.2f\n", sal, calcular_irrf(sal));
return 0;
}