[DESAFIO] Exercícios REXX: Sua Hora de Brilhar!
Consolidando aulas 01-03 com problemas reais do mainframe
🎯 DESAFIO 1: Calculadora de IMC
/* OBJETIVO: Criar calculadora de IMC ENTRADA: Peso (kg) e Altura (m) SAÍDA: IMC e classificação Classificação: - Abaixo de 18.5: Abaixo do peso - 18.5 a 24.9: Normal - 25 a 29.9: Sobrepeso - Acima de 30: Obesidade DICA: Use SAY, PULL e IF/ELSE */
🎯 DESAFIO 2: Validador de Dataset Name
/* OBJETIVO: Validar nomes de dataset REGRAS: 1. Máximo 44 caracteres 2. Deve começar com letra 3. Partes separadas por ponto 4. Cada parte: 1-8 caracteres 5. Caracteres válidos: A-Z, 0-9, @#$ (apenas no primeiro caractere da parte) EXEMPLOS VÁLIDOS: - USER.DATA01 - PROJ#.TEST.COBOL DICA: Use LENGTH, SUBSTR, DATATYPE */
🎯 DESAFIO 3: Formatador de Data Mainframe
/* OBJETIVO: Converter data do mainframe ENTRADA: "DDMMYYYY" (ex: "15032024") SAÍDA: "15/MAR/2024" MESES: 01=JAN, 02=FEV, ..., 12=DEZ EXTRA: Validar se data é válida - Dia: 01-31 - Mês: 01-12 - Ano: 1900-2100 DICA: Use SUBSTR para separar partes */
💡 SOLUÇÃO do Desafio 1 (após tentativa):
/* SOLUCAO_IMC.rex */ SAY '=== CALCULADORA IMC ===' SAY 'Digite seu peso (kg):' PULL peso SAY 'Digite sua altura (m):' PULL altura imc = peso / (altura * altura) SAY 'Seu IMC é:' FORMAT(imc, , 2) /* 2 casas decimais */ SELECT WHEN imc < 18.5 THEN classificacao = 'Abaixo do peso' WHEN imc <= 24.9 THEN classificacao = 'Peso normal' WHEN imc <= 29.9 THEN classificacao = 'Sobrepeso' OTHERWISE classificacao = 'Obesidade' END SAY 'Classificação:' classificacao SAY '========================'
CTA: 💬 Poste sua solução nos comentários e ajude outros alunos!