rafaym commited on
Commit
cea1b9a
·
verified ·
1 Parent(s): 4ea6bd6

feat(es): replace placeholder exercises with PDF exercises (Tier 1-3)

Browse files
Files changed (1) hide show
  1. exercises.json +202 -170
exercises.json CHANGED
@@ -1,170 +1,202 @@
1
- {
2
- "zh": {
3
- "tier1": [
4
- {
5
- "id": "zh-t1-fizzbuzz",
6
- "title": "FizzBuzz",
7
- "tier": 1,
8
- "prompt": "写一个程序,打印从 1 到 30 的数字。\n\n规则:\n- 如果数字能被 3 整除,打印 \"嘶嘶\" 而不是数字\n- 如果数字能被 5 整除,打印 \"嗡嗡\" 而不是数字\n- 如果数字既能被 3 又能被 5 整除,打印 \"嘶嘶嗡嗡\"\n\n预期输出示例:1, 2, 嘶嘶, 4, 嗡嗡, 嘶嘶, 7, ...",
9
- "expected_output": "1\n2\n嘶嘶\n4\n嗡嗡\n嘶嘶\n7\n8\n嘶嘶\n嗡嗡\n11\n嘶嘶\n13\n14\n嘶嘶嗡嗡",
10
- "time_estimate_min": 10
11
- },
12
- {
13
- "id": "zh-t1-factorial",
14
- "title": "阶乘",
15
- "tier": 1,
16
- "prompt": "写一个函数,计算一个正整数的阶乘。\n\n例如:\n- 阶乘(5) → 120\n- 阶乘(0) → 1\n- 阶乘(7) → 5040\n\n提示:阶乘(n) = n × (n-1) × ... × 1",
17
- "expected_output": "120\n1\n5040",
18
- "time_estimate_min": 10
19
- },
20
- {
21
- "id": "zh-t1-palindrome",
22
- "title": "回文检测",
23
- "tier": 1,
24
- "prompt": "写一个函数,检测一个字符串是否是回文(正读反读都一样)。\n\n例如:\n- \"racecar\" → 是回文\n- \"hello\" → 不是回文\n- \"上海自来水来自海上\" → 是回文\n\n忽略大小写和空格。",
25
- "expected_output": "是\n否\n是",
26
- "time_estimate_min": 15
27
- }
28
- ],
29
- "tier2": [
30
- {
31
- "id": "zh-t2-calculator",
32
- "title": "计算器",
33
- "tier": 2,
34
- "prompt": "写一个简单的命令行计算器,支持以下功能:\n\n- 加法、减法、乘法、除法\n- 处理除以零的错误\n- 循环接受用户输入,直到用户输入 '退出'\n\n输入格式:\"数字 运算符 数字\"(例如:\"10 + 5\")",
35
- "expected_output": "计算器已启动(输入'退出'结束)\n>>> 10 + 5 = 15",
36
- "time_estimate_min": 25
37
- },
38
- {
39
- "id": "zh-t2-word-count",
40
- "title": "词频统计",
41
- "tier": 2,
42
- "prompt": "写一个程序,统计一段文字中每个词出现的频率,并按频率从高到低排序输出前 10 个词。\n\n输入:一段中文或英文文字(可以硬编码在程序中)\n输出:词语及其出现次数,按频率排序",
43
- "expected_output": "词频统计结果:\n\"的\": 15次\n\"是\": 12次\n...",
44
- "time_estimate_min": 30
45
- }
46
- ],
47
- "tier3": [
48
- {
49
- "id": "zh-t3-data-analysis",
50
- "title": "数据分析脚本",
51
- "tier": 3,
52
- "prompt": "写一个数据分析脚本,分析一组学生成绩数据。\n\n功能要求:\n1. 定义一组学生数据(姓名 + 成绩列表,至少 10 名学生)\n2. 计算班级平均分、最高分、最低分\n3. 按成绩分组(优秀 90+、良好 75-89、及格 60-74、不及格 <60)\n4. 找出成绩高于平均分的学生\n5. 输出完整报告",
53
- "expected_output": "班级成绩分析报告\n=================\n平均分:78.5\n最高分:98(李明)\n最低分:45(王芳)\n...",
54
- "time_estimate_min": 45
55
- }
56
- ]
57
- },
58
- "es": {
59
- "tier1": [
60
- {
61
- "id": "es-t1-fizzbuzz",
62
- "title": "FizzBuzz",
63
- "tier": 1,
64
- "prompt": "Escribe un programa que imprima los números del 1 al 30.\n\nReglas:\n- Si el número es divisible entre 3, imprime \"Fizz\" en lugar del número\n- Si el número es divisible entre 5, imprime \"Buzz\" en lugar del número\n- Si es divisible entre ambos, imprime \"FizzBuzz\"\n\nEjemplo de salida: 1, 2, Fizz, 4, Buzz, Fizz, 7, ...",
65
- "expected_output": "1\n2\nFizz\n4\nBuzz\nFizz\n7\n8\nFizz\nBuzz\n11\nFizz\n13\n14\nFizzBuzz",
66
- "time_estimate_min": 10
67
- },
68
- {
69
- "id": "es-t1-factorial",
70
- "title": "Factorial",
71
- "tier": 1,
72
- "prompt": "Escribe una función que calcule el factorial de un número entero positivo.\n\nEjemplos:\n- factorial(5) → 120\n- factorial(0) → 1\n- factorial(7) → 5040\n\nPista: factorial(n) = n × (n-1) × ... × 1",
73
- "expected_output": "120\n1\n5040",
74
- "time_estimate_min": 10
75
- },
76
- {
77
- "id": "es-t1-palindrome",
78
- "title": "Palíndromo",
79
- "tier": 1,
80
- "prompt": "Escribe una función que verifique si una cadena de texto es un palíndromo (se lee igual de izquierda a derecha que de derecha a izquierda).\n\nEjemplos:\n- \"reconocer\" → es palíndromo\n- \"hola\" → no es palíndromo\n- \"A man a plan a canal Panama\" → es palíndromo\n\nIgnora mayúsculas/minúsculas y espacios.",
81
- "expected_output": "\nNo\nSí",
82
- "time_estimate_min": 15
83
- }
84
- ],
85
- "tier2": [
86
- {
87
- "id": "es-t2-calculator",
88
- "title": "Calculadora",
89
- "tier": 2,
90
- "prompt": "Escribe una calculadora de línea de comandos que soporte:\n\n- Suma, resta, multiplicación y división\n- Manejo del error de división por cero\n- Ciclo que acepta entradas hasta que el usuario escriba 'salir'\n\nFormato de entrada: \"número operador número\" (por ejemplo: \"10 + 5\")",
91
- "expected_output": "Calculadora iniciada (escribe 'salir' para terminar)\n>>> 10 + 5 = 15",
92
- "time_estimate_min": 25
93
- },
94
- {
95
- "id": "es-t2-word-count",
96
- "title": "Contador de palabras",
97
- "tier": 2,
98
- "prompt": "Escribe un programa que cuente la frecuencia de cada palabra en un texto y muestre las 10 más frecuentes ordenadas de mayor a menor.\n\nEntrada: Un texto (puede estar codificado directamente en el programa)\nSalida: Palabras y su conteo, ordenadas por frecuencia",
99
- "expected_output": "Resultado del conteo:\n\"el\": 15 veces\n\"la\": 12 veces\n...",
100
- "time_estimate_min": 30
101
- }
102
- ],
103
- "tier3": [
104
- {
105
- "id": "es-t3-data-analysis",
106
- "title": "Análisis de datos",
107
- "tier": 3,
108
- "prompt": "Escribe un script de análisis de datos para calificaciones de estudiantes.\n\nRequisitos:\n1. Define un conjunto de datos de al menos 10 estudiantes (nombre + calificación)\n2. Calcula el promedio, la calificación más alta y la más baja\n3. Agrupa por desempeño (Excelente 90+, Bueno 75-89, Suficiente 60-74, Insuficiente <60)\n4. Identifica estudiantes con calificación superior al promedio\n5. Genera un informe completo",
109
- "expected_output": "Informe de calificaciones\n========================\nPromedio: 78.5\nMás alta: 98 (María García)\nMás baja: 45 (Juan López)\n...",
110
- "time_estimate_min": 45
111
- }
112
- ]
113
- },
114
- "ur": {
115
- "tier1": [
116
- {
117
- "id": "ur-t1-fizzbuzz",
118
- "title": "فز بز",
119
- "tier": 1,
120
- "prompt": "ایک پروگرام لکھیں جو 1 سے 30 تک کے اعداد پرنٹ کرے۔\n\nقواعد:\n- اگر عدد 3 پر پوری طرح تقسیم ہو تو \"فز\" پرنٹ کریں\n- اگر عدد 5 پر پوری طرح تقسیم ہو تو \"بز\" پرنٹ کریں\n- اگر دونوں پر تقسیم ہو تو \"فز بز\" پرنٹ کریں\n\nمثال: 1، 2، فز، 4، بز، فز، 7، ...",
121
- "expected_output": "1\n2\nفز\n4\nبز\nفز\n7\n8\nفز\nبز\n11\nفز\n13\n14\nفز بز",
122
- "time_estimate_min": 10
123
- },
124
- {
125
- "id": "ur-t1-factorial",
126
- "title": "فیکٹوریل",
127
- "tier": 1,
128
- "prompt": "ایک فنکشن لکھیں جو کسی مثبت پورے عدد کا فیکٹوریل حساب کرے۔\n\nمثالیں:\n- فیکٹوریل(5) ← 120\n- فیکٹوریل(0) ← 1\n- فیکٹوریل(7) ← 5040\n\nیاد رہے: فیکٹوریل(ن) = ن × (ن-1) × ... × 1",
129
- "expected_output": "120\n1\n5040",
130
- "time_estimate_min": 10
131
- },
132
- {
133
- "id": "ur-t1-palindrome",
134
- "title": "پیلنڈروم جانچ",
135
- "tier": 1,
136
- "prompt": "ایک فنکشن لکھیں جو یہ بتائے کہ کوئی لفظ یا جملہ پیلنڈروم ہے یا نہیں (یعنی آگے پیچھے سے ایک جیسا پڑھا جائے)۔\n\nمثالیں:\n- \"ملم\" ← پیلنڈروم ہے\n- \"سلام\" ← پیلنڈروم نہیں\n- \"racecar\" ← پیلنڈروم ہے\n\nبڑے اور چھوٹے حروف اور خالی جگہوں کو نظرانداز کریں۔",
137
- "expected_output": "ہاں\nنہیں\nہاں",
138
- "time_estimate_min": 15
139
- }
140
- ],
141
- "tier2": [
142
- {
143
- "id": "ur-t2-calculator",
144
- "title": "حساب کتاب",
145
- "tier": 2,
146
- "prompt": "ایک کمانڈ لائن کیلکولیٹر لکھیں جو یہ کام کرے:\n\n- جمع، تفریق، ضرب اور تقسیم\n- صفر سے تقسیم کی غلطی کو سنبھالنا\n- لوپ جو 'خروج' لکھنے تک جاری رہے\n\nاندراج کی شکل: \"عدد آپریٹر عدد\" (مثلاً: \"10 + 5\")",
147
- "expected_output": "کیلکولیٹر شروع ہو گیا ('خروج' لکھیں بند کرنے کے لیے)\n>>> 10 + 5 = 15",
148
- "time_estimate_min": 25
149
- },
150
- {
151
- "id": "ur-t2-word-count",
152
- "title": "الفاظ شمار",
153
- "tier": 2,
154
- "prompt": "ایک پروگرام لکھیں جو کسی متن میں ہر لفظ کتنی بار آیا یہ گنے اور سب سے زیادہ استعمال ہونے والے 10 الفاظ دکھائے۔\n\nاندراج: کوئی بھی متن (پروگرام میں لکھا جا سکتا ہے)\nنتیجہ: الفاظ اور ان کی تعداد، زیادہ سے کم ترتیب میں",
155
- "expected_output": "الفاظ شماری کا نتیجہ:\n\"کا\": 15 بار\n\"اور\": 12 بار\n...",
156
- "time_estimate_min": 30
157
- }
158
- ],
159
- "tier3": [
160
- {
161
- "id": "ur-t3-data-analysis",
162
- "title": "ڈیٹا تجزیہ",
163
- "tier": 3,
164
- "prompt": "طلبہ کے نمبروں کے ڈیٹا کا تجزیہ کرنے والا اسکرپٹ لکھیں۔\n\nضروریات:\n1. کم از کم 10 طلبہ کا ڈیٹا تیار کریں (نام + نمبر)\n2. اوسط، سب سے زیادہ اور سب سے کم نمبر حساب کریں\n3. کارکردگی کے مطابق گروپ بنائیں (اعلیٰ 90+، اچھا 75-89، ٹھیک 60-74، کمزور <60)\n4. اوسط سے زیادہ نمبر والے طلبہ کی فہرست بنائیں\n5. مکمل رپورٹ تیار کریں",
165
- "expected_output": "طلبہ کی کارکردگی رپورٹ\n====================\nاوسط: 78.5\nسب سے زیادہ: 98 (احمد علی)\nسب سے کم: 45 (سارہ خان)\n...",
166
- "time_estimate_min": 45
167
- }
168
- ]
169
- }
170
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "zh": {
3
+ "tier1": [
4
+ {
5
+ "id": "zh-t1-fizzbuzz",
6
+ "title": "FizzBuzz",
7
+ "tier": 1,
8
+ "prompt": "写一个程序,打印从 1 到 30 的数字。\n\n规则:\n- 如果数字能被 3 整除,打印 \"嘶嘶\" 而不是数字\n- 如果数字能被 5 整除,打印 \"嗡嗡\" 而不是数字\n- 如果数字既能被 3 又能被 5 整除,打印 \"嘶嘶嗡嗡\"\n\n预期输出示例:1, 2, 嘶嘶, 4, 嗡嗡, 嘶嘶, 7, ...",
9
+ "expected_output": "1\n2\n嘶嘶\n4\n嗡嗡\n嘶嘶\n7\n8\n嘶嘶\n嗡嗡\n11\n嘶嘶\n13\n14\n嘶嘶嗡嗡",
10
+ "time_estimate_min": 10
11
+ },
12
+ {
13
+ "id": "zh-t1-factorial",
14
+ "title": "阶乘",
15
+ "tier": 1,
16
+ "prompt": "写一个函数,计算一个正整数的阶乘。\n\n例如:\n- 阶乘(5) → 120\n- 阶乘(0) → 1\n- 阶乘(7) → 5040\n\n提示:阶乘(n) = n × (n-1) × ... × 1",
17
+ "expected_output": "120\n1\n5040",
18
+ "time_estimate_min": 10
19
+ },
20
+ {
21
+ "id": "zh-t1-palindrome",
22
+ "title": "回文检测",
23
+ "tier": 1,
24
+ "prompt": "写一个函数,检测一个字符串是否是回文(正读反读都一样)。\n\n例如:\n- \"racecar\" → 是回文\n- \"hello\" → 不是回文\n- \"上海自来水来自海上\" → 是回文\n\n忽略大小写和空格。",
25
+ "expected_output": "是\n否\n是",
26
+ "time_estimate_min": 15
27
+ }
28
+ ],
29
+ "tier2": [
30
+ {
31
+ "id": "zh-t2-calculator",
32
+ "title": "计算器",
33
+ "tier": 2,
34
+ "prompt": "写一个简单的命令行计算器,支持以下功能:\n\n- 加法、减法、乘法、除法\n- 处理除以零的错误\n- 循环接受用户输入,直到用户输入 '退出'\n\n输入格式:\"数字 运算符 数字\"(例如:\"10 + 5\")",
35
+ "expected_output": "计算器已启动(输入'退出'结束)\n>>> 10 + 5 = 15",
36
+ "time_estimate_min": 25
37
+ },
38
+ {
39
+ "id": "zh-t2-word-count",
40
+ "title": "词频统计",
41
+ "tier": 2,
42
+ "prompt": "写一个程序,统计一段文字中每个词出现的频率,并按频率从高到低排序输出前 10 个词。\n\n输入:一段中文或英文文字(可以硬编码在程序中)\n输出:词语及其出现次数,按频率排序",
43
+ "expected_output": "词频统计结果:\n\"的\": 15次\n\"是\": 12次\n...",
44
+ "time_estimate_min": 30
45
+ }
46
+ ],
47
+ "tier3": [
48
+ {
49
+ "id": "zh-t3-data-analysis",
50
+ "title": "数据分析脚本",
51
+ "tier": 3,
52
+ "prompt": "写一个数据分析脚本,分析一组学生成绩数据。\n\n功能要求:\n1. 定义一组学生数据(姓名 + 成绩列表,至少 10 名学生)\n2. 计算班级平均分、最高分、最低分\n3. 按成绩分组(优秀 90+、良好 75-89、及格 60-74、不及格 <60)\n4. 找出成绩高于平均分的学生\n5. 输出完整报告",
53
+ "expected_output": "班级成绩分析报告\n=================\n平均分:78.5\n最高分:98(李明)\n最低分:45(王芳)\n...",
54
+ "time_estimate_min": 45
55
+ }
56
+ ]
57
+ },
58
+ "es": {
59
+ "tier1": [
60
+ {
61
+ "id": "es-t1-juego-del-7",
62
+ "title": "El Juego del 7",
63
+ "tier": 1,
64
+ "prompt": "Este es el clásico juego de conteo español. Cuenta desde 1 hasta 21.\n\nReglas:\n- Si el número contiene el dígito 7 o es múltiplo de 7 imprime \"¡Boom!\"\n- Si el número es múltiplo de 3 imprime \"¡Zas!\"\n- Si se cumplen ambas condiciones imprime \"¡Boom-Zas!\"\n- De lo contrario → imprime el número\n\nEjemplo de salida (primeros valores): 1, 2, ¡Zas!, 4, 5, ¡Zas!, ¡Boom!, 8, ¡Zas!, 10 ...",
65
+ "expected_output": "1\n2\n¡Zas!\n4\n5\n¡Zas!\n¡Boom!\n8\n¡Zas!\n10\n11\n¡Zas!\n13\n¡Boom!\n¡Zas!\n16\n¡Boom!\n¡Zas!\n19\n20\n¡Boom-Zas!",
66
+ "time_estimate_min": 10
67
+ },
68
+ {
69
+ "id": "es-t1-factorial",
70
+ "title": "Factorial",
71
+ "tier": 1,
72
+ "prompt": "Escribe una función que acepte un número entero no negativo n y devuelva el factorial de n.\n\nEjemplos:\n- factorial(0) → 1\n- factorial(4) → 24\n- factorial(6) → 720\n\nPista: factorial(n) = n × (n-1) × ... × 1",
73
+ "expected_output": "1\n24\n720",
74
+ "time_estimate_min": 10
75
+ },
76
+ {
77
+ "id": "es-t1-palindromo",
78
+ "title": "Palíndromo",
79
+ "tier": 1,
80
+ "prompt": "Escribe una función que determine si una palabra en español es un palíndromo (se lee igual de izquierda a derecha que de derecha a izquierda). Devuelve verdadero o falso.\n\nEjemplos:\n- \"arenera\" → verdadero\n- \"somos\" → verdadero\n- \"ananá\" verdadero\n- \"hola\" falso\n- \"casa\"falso\n- \"perro\" falso",
81
+ "expected_output": "True\nTrue\nTrue\nFalse\nFalse\nFalse",
82
+ "time_estimate_min": 10
83
+ },
84
+ {
85
+ "id": "es-t1-ordenamiento",
86
+ "title": "Ordenamiento de Lista",
87
+ "tier": 1,
88
+ "prompt": "Sin usar funciones de ordenamiento incorporadas, implementa un algoritmo de ordenamiento para ordenar la lista [3, 1, 4, 2, 5] de menor a mayor.\n\nSalida esperada:\n[1, 2, 3, 4, 5]",
89
+ "expected_output": "[1, 2, 3, 4, 5]",
90
+ "time_estimate_min": 15
91
+ }
92
+ ],
93
+ "tier2": [
94
+ {
95
+ "id": "es-t2-analizador",
96
+ "title": "Analizador de Archivos",
97
+ "tier": 2,
98
+ "prompt": "Escribe un script que lea un archivo CSV jugadores.csv (con columnas nombre, equipo, goles), imprima cada fila y cuente el total de goles.\n\nCrea el archivo jugadores.csv con este contenido:\nnombre,equipo,goles\nLionel Messi,Inter Miami,32\nKarim Benzema,Al-Ittihad,28\nVinicius Jr,Real Madrid,23\nRobert Lewandowski,Barcelona,19\n\nSalida esperada:\nJugador: Lionel Messi | Equipo: Inter Miami | Goles: 32\nJugador: Karim Benzema | Equipo: Al-Ittihad | Goles: 28\nJugador: Vinicius Jr | Equipo: Real Madrid | Goles: 23\nJugador: Robert Lewandowski | Equipo: Barcelona | Goles: 19\nTotal de goles: 102",
99
+ "expected_output": "Jugador: Lionel Messi | Equipo: Inter Miami | Goles: 32\nJugador: Karim Benzema | Equipo: Al-Ittihad | Goles: 28\nJugador: Vinicius Jr | Equipo: Real Madrid | Goles: 23\nJugador: Robert Lewandowski | Equipo: Barcelona | Goles: 19\nTotal de goles: 102",
100
+ "time_estimate_min": 20
101
+ },
102
+ {
103
+ "id": "es-t2-transformador",
104
+ "title": "Transformador de Datos",
105
+ "tier": 2,
106
+ "prompt": "Escribe una función que convierta notas numéricas a calificaciones españolas.\n\nEscala de calificaciones:\n- 9–10 → Sobresaliente\n- 7–8 → Notable\n- 5–6 → Aprobado\n- 0–4 → Suspenso\n\nEjemplos:\n- convertir_calificacion(9) → \"Sobresaliente\"\n- convertir_calificacion(7) → \"Notable\"\n- convertir_calificacion(5) → \"Aprobado\"\n- convertir_calificacion(3) → \"Suspenso\"\n\nLuego imprime los resultados para una lista de estudiantes: María García (9), Carlos López (7), Ana Martínez (5), Juan Rodríguez (3).",
107
+ "expected_output": "Nombre: María García | Nota: 9 | Calificación: Sobresaliente\nNombre: Carlos López | Nota: 7 | Calificación: Notable\nNombre: Ana Martínez | Nota: 5 | Calificación: Aprobado\nNombre: Juan Rodríguez | Nota: 3 | Calificación: Suspenso",
108
+ "time_estimate_min": 25
109
+ },
110
+ {
111
+ "id": "es-t2-calculadora",
112
+ "title": "Calculadora",
113
+ "tier": 2,
114
+ "prompt": "Escribe una calculadora que acepte dos números y un operador (+ - * /) como entrada del usuario e imprima el resultado. Maneja la división por cero.\n\nUsa variables de prueba hardcodeadas en lugar de input() para que el código se pueda ejecutar sin interacción:\n\nnumero1 = 10\noperador = \"*\"\nnumero2 = 5\n\nSalida esperada:\nResultado: 50.0",
115
+ "expected_output": "Resultado: 50.0",
116
+ "time_estimate_min": 25
117
+ }
118
+ ],
119
+ "tier3": [
120
+ {
121
+ "id": "es-t3-fifa-rating",
122
+ "title": "Sistema de Calificación FIFA",
123
+ "tier": 3,
124
+ "prompt": "Eres el jefe de scouts de un club español. Escribe un script que calcule una calificación FIFA personalizada para cada jugador basada en sus estadísticas.\n\nFórmula:\nCalificación = (goles × 3) + (asistencias × 2) + (pases_clave × 1.5) - (tarjetas_amarillas × 1) - (tarjetas_rojas × 3)\nCalificación_final = (Calificación / partidos) × 10 → escala 0–99\n\nUsa estos jugadores (hardcodeados como lista):\n- Lionel Messi: 25 partidos, 32 goles, 16 asistencias, 45 pases_clave, 2 amarillas, 0 rojas\n- Karim Benzema: 20 partidos, 28 goles, 8 asistencias, 30 pases_clave, 1 amarilla, 0 rojas\n- Vinicius Jr: 28 partidos, 23 goles, 11 asistencias, 38 pases_clave, 5 amarillas, 1 roja\n- Kylian Mbappe: 24 partidos, 28 goles, 9 asistencias, 35 pases_clave, 2 amarillas, 0 rojas\n- Luka Modric: 26 partidos, 5 goles, 12 asistencias, 55 pases_clave, 4 amarillas, 0 rojas\n- Pedri: 24 partidos, 7 goles, 10 asistencias, 48 pases_clave, 2 amarillas, 0 rojas\n\nImprime la tabla ordenada por calificación (mayor a menor) e indica el MVP.",
125
+ "expected_output": "===== SISTEMA DE CALIFICACIÓN FIFA — TEMPORADA 2023/24 =====\nLionel Messi | 25 | 32 | 16 | 99\nKylian Mbappe | 24 | 28 | 9 | 88\nKarim Benzema | 20 | 28 | 8 | 86\nVinicius Jr | 28 | 23 | 11 | 72\nPedri | 24 | 7 | 10 | 61\nLuka Modric | 26 | 5 | 12 | 58\n\n🏆 MVP de la Temporada: Lionel Messi (Calificación: 99)\n📊 Promedio del equipo: 77.33",
126
+ "time_estimate_min": 40
127
+ },
128
+ {
129
+ "id": "es-t3-piedra-papel-tijera",
130
+ "title": "Piedra, Papel, Tijera",
131
+ "tier": 3,
132
+ "prompt": "Escribe el clásico juego español de Piedra, Papel, Tijera. El jugador compite contra la computadora en una serie de rondas.\n\nRequisitos:\n- El juego lleva la puntuación (victorias, derrotas, empates)\n- La computadora elige aleatoriamente\n- Muestra el resultado de cada ronda\n- Al final muestra estadísticas: victorias, derrotas, empates y porcentaje de victorias\n\nComo el código se ejecuta sin input(), simula 3 rondas hardcodeadas:\nelecciones_jugador = [\"piedra\", \"papel\", \"tijera\"]\n\nUsa random.seed(42) para resultados reproducibles.",
133
+ "expected_output": "===== PIEDRA, PAPEL, TIJERA =====\n--- Ronda 1 ---\n🤖 La computadora eligió: tijera\n✅ ¡Ganaste esta ronda!\n--- Ronda 2 ---\n🤖 La computadora eligió: papel\n🤝 ¡Empate!\n--- Ronda 3 ---\n🤖 La computadora eligió: piedra\n❌ ¡Perdiste esta ronda!\n===== RESULTADO FINAL =====\nVictorias: 1 | Derrotas: 1 | Empates: 1\nPorcentaje de victorias: 33.33%",
134
+ "time_estimate_min": 45
135
+ },
136
+ {
137
+ "id": "es-t3-cribo",
138
+ "title": "El Cribo de Eratóstenes",
139
+ "tier": 3,
140
+ "prompt": "El Cribo de Eratóstenes es un algoritmo matemático de la antigua Grecia, enseñado en todas las escuelas de España. Escribe una implementación del cribo que encuentre todos los números primos hasta n=50 y muestre estadísticas.\n\nEstadísticas requeridas:\n- Total de primos encontrados\n- Primo más pequeño y más grande\n- Primo más cercano a n/2\n- Suma y promedio de todos los primos\n- Porcentaje de primos en el rango\n\nUsa n = 50 (hardcodeado).",
141
+ "expected_output": "===== EL CRIBO DE ERATÓSTENES =====\nCalculando números primos hasta 50...\n\nPrimos encontrados:\n2 3 5 7 11 13 17 19 23 29 31 37 41 43 47\n\n===== ESTADÍSTICAS =====\nTotal de primos encontrados: 15\nPrimo más pequeño: 2\nPrimo más grande: 47\nPrimo más cercano a n/2: 23\nSuma de todos los primos: 328\nPromedio de primos: 21.87\nPorcentaje de primos en rango 1-50: 30.0%",
142
+ "time_estimate_min": 40
143
+ }
144
+ ]
145
+ },
146
+ "ur": {
147
+ "tier1": [
148
+ {
149
+ "id": "ur-t1-fizzbuzz",
150
+ "title": "فز بز",
151
+ "tier": 1,
152
+ "prompt": "ایک پروگرام لکھیں جو 1 سے 30 تک کے اعداد پرنٹ کرے۔\n\nقواعد:\n- اگر عدد 3 پر پوری طرح تقسیم ہو تو \"فز\" پرنٹ کریں\n- اگر عدد 5 پر پوری طرح تقسیم ہو تو \"بز\" پرنٹ کریں\n- اگر دونوں پر تقسیم ہو تو \"فز بز\" پرنٹ کریں\n\nمثال: 1، 2، فز، 4، بز، فز، 7، ...",
153
+ "expected_output": "1\n2\nفز\n4\nبز\nفز\n7\n8\nفز\nبز\n11\nفز\n13\n14\nفز بز",
154
+ "time_estimate_min": 10
155
+ },
156
+ {
157
+ "id": "ur-t1-factorial",
158
+ "title": "فیکٹوریل",
159
+ "tier": 1,
160
+ "prompt": "ایک فنکشن لکھیں جو کسی مثبت پورے عدد کا فیکٹوریل حساب کرے۔\n\nمثالیں:\n- فیکٹوریل(5) ← 120\n- فیکٹوریل(0) ← 1\n- فیکٹوریل(7) ← 5040\n\nیاد رہے: فیکٹوریل(ن) = ن × (ن-1) × ... × 1",
161
+ "expected_output": "120\n1\n5040",
162
+ "time_estimate_min": 10
163
+ },
164
+ {
165
+ "id": "ur-t1-palindrome",
166
+ "title": "پیلنڈروم جانچ",
167
+ "tier": 1,
168
+ "prompt": "ایک فنکشن لکھیں جو یہ بتائے کہ کوئی لفظ یا جملہ پیلنڈروم ہے یا نہیں (یعنی آگے پیچھے سے ایک جیسا پڑھا جائے)۔\n\nمثالیں:\n- \"ملم\" ← پیلنڈروم ہے\n- \"سلام\" ← پیلنڈروم نہیں\n- \"racecar\" ← پیلنڈروم ہے\n\nبڑے اور چھوٹے حروف اور خالی جگہوں کو نظرانداز کریں۔",
169
+ "expected_output": "ہاں\nنہیں\nہاں",
170
+ "time_estimate_min": 15
171
+ }
172
+ ],
173
+ "tier2": [
174
+ {
175
+ "id": "ur-t2-calculator",
176
+ "title": "حساب کتاب",
177
+ "tier": 2,
178
+ "prompt": "ایک کمانڈ لائن کیلکولیٹر لکھیں جو یہ کام کرے:\n\n- جمع، تفریق، ضرب اور تقسیم\n- صفر سے تقسیم کی غلطی کو سنبھالنا\n- لوپ جو 'خروج' لکھنے تک جاری رہے\n\nاندراج کی شکل: \"عدد آپریٹر عدد\" (مثلاً: \"10 + 5\")",
179
+ "expected_output": "کیلکولیٹر شروع ہو گیا ('خروج' لکھیں بند کرنے کے لیے)\n>>> 10 + 5 = 15",
180
+ "time_estimate_min": 25
181
+ },
182
+ {
183
+ "id": "ur-t2-word-count",
184
+ "title": "الفاظ شمار",
185
+ "tier": 2,
186
+ "prompt": "ایک پروگرام لکھیں جو کسی متن میں ہر لفظ کتنی بار آیا یہ گنے اور سب سے زیادہ استعمال ہونے والے 10 الفاظ دکھائے۔\n\nاندراج: کوئی بھی متن (پروگرام میں لکھا جا سکتا ہے)\nنتیجہ: الفاظ اور ان کی تعداد، زیادہ سے کم ترتیب میں",
187
+ "expected_output": "الفاظ شماری کا نتیجہ:\n\"کا\": 15 بار\n\"اور\": 12 بار\n...",
188
+ "time_estimate_min": 30
189
+ }
190
+ ],
191
+ "tier3": [
192
+ {
193
+ "id": "ur-t3-data-analysis",
194
+ "title": "ڈیٹا تجزیہ",
195
+ "tier": 3,
196
+ "prompt": "طلبہ کے نمبروں کے ڈیٹا کا تجزیہ کرنے والا اسکرپٹ لکھیں۔\n\nضروریات:\n1. کم از کم 10 طلبہ کا ڈیٹا تیار کریں (نام + نمبر)\n2. اوسط، سب سے زیادہ اور سب سے کم نمبر حساب کریں\n3. کارکردگی کے مطابق گروپ بنائیں (اعلیٰ 90+، اچھا 75-89، ٹھیک 60-74، کمزور <60)\n4. اوسط سے زیادہ نمبر والے طلبہ کی فہرست بنائیں\n5. مکمل رپورٹ تیار کریں",
197
+ "expected_output": "طلبہ کی کارکردگی رپورٹ\n====================\nاوسط: 78.5\nسب سے زیادہ: 98 (احمد علی)\nسب سے کم: 45 (سارہ خان)\n...",
198
+ "time_estimate_min": 45
199
+ }
200
+ ]
201
+ }
202
+ }