تحليل وتشخيص الأمراض (برمجة) - كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 - المملكة العربية السعودية

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

الدرس: دالة diagnose_v2 لتشخيص الأمراض باستخدام بايثون

📚 معلومات الصفحة

الكتاب: كتاب الذكاء الإصطناعي - الصف 12 - الفصل 1 | المادة: الذكاء الإصطناعي | المرحلة: الصف 12 | الفصل الدراسي: 1

الدولة: المملكة العربية السعودية | المنهج: المنهج السعودي - وزارة التعليم

نوع المحتوى: درس تعليمي

مستوى الصعوبة: متوسط

📝 ملخص الصفحة

تقدم هذه الصفحة شرحًا لدالة `diagnose_v2` في لغة بايثون، المصممة لتشخيص الأمراض بناءً على قائمة أعراض المريض. تعمل الدالة على تحميل ملف JSON يحتوي على معلومات الأمراض والأعراض المرتبطة بها، ثم تقارن أعراض المريض مع كل مرض محتمل باستخدام حلقات تكرار. يتم زيادة عداد عند كل تطابق بين الأعراض، وإذا تجاوز عدد التطابقات حدًا أدنى محددًا، يُضاف المرض إلى قائمة التشخيص.

يتميز هذا الإصدار بعدم استخدام عبارات IF الشرطية الثابتة، مما يجعله أكثر مرونة وقابلية للتوسع. بدلاً من ذلك، يعتمد على حلقة `FOR` الأولى لفحص كل مرض، وحلقة داخلية لمقارنة كل عرض على حدة مع الأعراض المعروفة للمرض.

يُعد هذا النهج مثالاً على تطبيق البرمجة في مجال تحليل البيانات الطبية، حيث يمكن استخدامه لبناء أنظمة تشخيص آلية تعتمد على البيانات المدخلة. الصفحة تهدف إلى تعليم الطلاب كيفية دمج البرمجة مع التطبيقات العملية في مجال الصحة.

📄 النص الكامل للصفحة

--- SECTION: دالة diagnose_v2 --- def diagnose_v2(patient_symptoms:list, symptom_mapping_file:str, matching_symptoms_lower_bound:int):diagnosis=[]with open(symptom_mapping_file) as f: mapping=json.load(f)# access the disease information disease_info=mapping['diseases']# for every disease for disease in disease_info:counter=0disease_symptoms=disease_info[disease]# for each patient symptom for symptom in patient_symptoms:# if this symptom is included in the known symptoms for the disease if symptom in disease_symptoms: counter+=1if counter>=matching_symptoms_lower_bound: diagnosis.append(disease)return diagnosisلا يحتوي هذا الإصدار على عبارات IF الشرطية المحددة بتعليمات برمجية ثابتة. بعد تحميل مخطط الأعراض من ملف JSON (جيسون)، يبدأ الإصدار في أخذ كل مرض محتمل في الاعتبار باستخدام حلقة التكرار الأولى FOR. تتحقق الحلقة من كل عَرَض على حدة بمقارنته بالأعراض المعروفة للمرض وزيادة العداد (Counter) في كل مرة يجد فيها النظام تطابقًا.2025 - 1447--- VISUAL CONTEXT --- **IMAGE**: Untitled Context: شعار الجهة الناشرة للمحتوى التعليمي.

🎴 بطاقات تعليمية للمراجعة

عدد البطاقات: 4 بطاقة لهذه الصفحة

ما هي الخطوة الأولى التي يقوم بها إصدار الدالة diagnose_v2 بعد تحميل مخطط الأعراض؟

الإجابة: بعد تحميل مخطط الأعراض من ملف JSON، يبدأ الإصدار في أخذ كل مرض محتمل في الاعتبار باستخدام حلقة التكرار الأولى FOR.

الشرح: تشرح هذه الخطوة أن الدالة تبدأ بمراجعة كل مرض بناءً على البيانات المحملة.

تلميح: فكر في التسلسل المنطقي لعملية معالجة البيانات بعد تحميلها.

كيف تتحقق الدالة diagnose_v2 من تطابق أعراض المريض مع أعراض مرض معين؟

الإجابة: تتحقق الدالة من كل عرض على حدة بمقارنته بالأعراض المعروفة للمرض وزيادة العداد (Counter) في كل مرة يجد فيها النظام تطابقًا.

الشرح: توضح هذه العملية آلية المقارنة والمتابعة التي تستخدمها الدالة لتحديد مدى تطابق الأعراض.

تلميح: ما هي العملية التي تتبعها الدالة لكل عرض يتم إدخاله؟

ما هو الشرط الذي يؤدي إلى إضافة مرض إلى قائمة التشخيص (diagnosis) في دالة diagnose_v2؟

الإجابة: يتم إضافة المرض إلى قائمة التشخيص إذا كان عدد الأعراض المتطابقة (counter) أكبر من أو يساوي الحد الأدنى للأعراض المتطابقة (matching_symptoms_lower_bound).

الشرح: يشرح هذا الشرط متى يتم اعتبار تطابق الأعراض كافياً لتشخيص المرض.

تلميح: ما هو المعيار النهائي لاتخاذ قرار التشخيص؟

ما الذي يميز إصدار الدالة diagnose_v2 الحالي عن الإصدارات السابقة فيما يتعلق بالتعليمات البرمجية الثابتة؟

الإجابة: لا يحتوي هذا الإصدار على عبارات IF الشرطية المحددة بتعليمات برمجية ثابتة.

الشرح: يشير هذا إلى أن منطق الدالة يعتمد بشكل أكبر على البيانات الخارجية (ملف JSON) بدلاً من الشروط المبرمجة مسبقًا.

تلميح: ابحث عن وصف يوضح التغيير في بنية الكود فيما يتعلق بالشروط.