import 'dart:io'; // --- السؤال الأول: Smart Home Automation System --- // 1. تعريف المتغيرات التي تمثل حالة الأجهزة bool lightsOn = false; int temperature = 20; bool securityArmed = false; // 8. استخدام const للقيم الثابتة const int minTemp = 15; const int maxTemp = 30; void main() { // 3. حلقة التفاعل مع المستخدم while (true) { // عرض قائمة الخيارات print('\n--- Smart Home Control ---'); print('1. تشغيل/إيقاف الإضاءة (Toggle Lights)'); print('2. ضبط درجة الحرارة (Set Temperature)'); print('3. تفعيل/تعطيل نظام الأمان (Toggle Security)'); print('4. عرض حالة الأجهزة (Display Status)'); print('5. الخروج (Exit)'); stdout.write('اختر خيارك (1-5): '); // قراءة إدخال المستخدم String? choice = stdin.readLineSync(); // 5. استخدام switch لتنفيذ الأوامر switch (choice) { case '1': lightsOn = !lightsOn; print('💡 تم تغيير حالة الإضاءة.'); break; case '2': stdout.write('ادخل درجة الحرارة الجديدة (بين $minTemp و $maxTemp): '); String? tempInput = stdin.readLineSync(); if (tempInput != null) { int? newTemp = int.tryParse(tempInput); // 4. التحقق من الإدخال if (newTemp != null && newTemp >= minTemp && newTemp <= maxTemp) { temperature = newTemp; print('🌡️ تم ضبط درجة الحرارة على $temperature°C.'); } else { print('خطأ: الرجاء إدخال درجة حرارة صالحة بين $minTemp و $maxTemp.'); } } break; case '3': securityArmed = !securityArmed; print('🛡️ تم تغيير حالة نظام الأمان.'); break; case '4': displayStatus(); break; case '5': print('👋 شكراً لاستخدامك النظام. إلى اللقاء!'); return; // الخروج من البرنامج default: print('خيار غير صالح. الرجاء إدخال رقم بين 1 و 5.'); } } } void displayStatus() { print('\n--- حالة الأجهزة الحالية ---'); // 8. طباعة الحالة باستخدام string interpolation print('- الإضاءة (Lights): ${lightsOn ? "تشغيل (ON)" : "إيقاف (OFF)"}'); print('- درجة الحرارة (Temperature): $temperature°C'); // 6. تمرين FizzBuzz if (temperature % 3 == 0 && temperature % 5 == 0) { print(' - إنه يوم مثالي (Perfect Day)'); } else if (temperature % 3 == 0) { print(' - إنه يوم بارد (Cool Day)'); } else if (temperature % 5 == 0) { print(' - إنه يوم دافئ (Warm Day)'); } print('- نظام الأمان (Security): ${securityArmed ? "مُفعّل (ARMED)" : "مُعطّل (DISARMED)"}'); }