<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://staging.moocwiki.org/index.php?action=history&amp;feed=atom&amp;title=Arabic%3A%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86</id>
	<title>Arabic:البرمجة باستخدام بايثون - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://staging.moocwiki.org/index.php?action=history&amp;feed=atom&amp;title=Arabic%3A%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86"/>
	<link rel="alternate" type="text/html" href="https://staging.moocwiki.org/index.php?title=Arabic:%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86&amp;action=history"/>
	<updated>2026-08-29T05:38:36Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in MOOCsWiki Staging</subtitle>
	<generator>MediaWiki 1.45.4</generator>
	<entry>
		<id>https://staging.moocwiki.org/index.php?title=Arabic:%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86&amp;diff=47675&amp;oldid=prev</id>
		<title>Glanz: aiMOOC über GPT aiMOOC Action erstellt</title>
		<link rel="alternate" type="text/html" href="https://staging.moocwiki.org/index.php?title=Arabic:%D8%A7%D9%84%D8%A8%D8%B1%D9%85%D8%AC%D8%A9_%D8%A8%D8%A7%D8%B3%D8%AA%D8%AE%D8%AF%D8%A7%D9%85_%D8%A8%D8%A7%D9%8A%D8%AB%D9%88%D9%86&amp;diff=47675&amp;oldid=prev"/>
		<updated>2026-08-29T00:32:55Z</updated>

		<summary type="html">&lt;p&gt;aiMOOC über GPT aiMOOC Action erstellt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{T}}&lt;br /&gt;
[[Category:Sprache:العربية]]&lt;br /&gt;
[[Category:Locale:ar]]&lt;br /&gt;
[[Category:بايثون]]&lt;br /&gt;
[[Category:البرمجة]]&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= مقدمة =&lt;br /&gt;
مرحبًا بك في دورة &amp;#039;&amp;#039;&amp;#039;البرمجة باستخدام بايثون&amp;#039;&amp;#039;&amp;#039;. ستتعلم هنا كيف تحوّل فكرة بسيطة إلى خطوات واضحة ثم إلى برنامج يعمل. صُممت الدورة لطلاب المرحلة الثانوية المبكرة تقريبًا، ولا تحتاج قبل البدء إلى خبرة برمجية سابقة؛ يكفي أن تستطيع استخدام لوحة المفاتيح وفتح محرر نصوص أو بيئة لتشغيل بايثون.&lt;br /&gt;
&lt;br /&gt;
البرمجة ليست حفظ أوامر، بل طريقة منظمة لحل المشكلات. ستقرأ أمثلة قصيرة، وتتوقع نتائجها، ثم تشغّلها وتعدّلها. عندما يختلف الناتج عن توقعك ستتعلم كيف تبحث عن السبب بدل أن تتعامل مع الخطأ كفشل. هذا الأسلوب يجمع بين [[Arabic:التفكير الحاسوبي|التفكير الحاسوبي]] و[[Arabic:حل المشكلات|حل المشكلات]] والتجريب.&lt;br /&gt;
&lt;br /&gt;
[[File:Python-logo.png|500px|frameless|center|alt=شعار لغة بايثون|شعار لغة بايثون، وهي لغة برمجة مناسبة لتعلم المفاهيم الأساسية بتركيب واضح.]]&lt;br /&gt;
&lt;br /&gt;
يمكنك مشاهدة هذا الشرح العربي التمهيدي الذي يبدأ من معنى البرمجة ويصل إلى المتغيرات والشروط وتحليل الأخطاء وحل المشكلات:&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=XhQsG1YRvOg|500|center}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;كيف تستفيد من الدورة؟&amp;#039;&amp;#039;&amp;#039; اقرأ الفكرة أولًا، ثم اكتب الكود بنفسك بدل نسخه فقط. قبل التشغيل دوّن توقعك للناتج. بعد ذلك غيّر قيمة أو شرطًا واحدًا ولاحظ ما يحدث. هذه الدورة تستخدم أمثلة قصيرة لأن فهم كل خطوة أهم من كتابة برنامج طويل بسرعة.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= أهداف التعلم =&lt;br /&gt;
بنهاية الدورة يُتوقع أن تستطيع:&lt;br /&gt;
* تفسير معنى البرنامج والخوارزمية والمدخلات والمخرجات.&lt;br /&gt;
* إنشاء متغيرات واختيار أنواع بيانات مناسبة مثل الأعداد والنصوص والقيم المنطقية والقوائم.&lt;br /&gt;
* استخدام الشروط لاتخاذ قرارات داخل البرنامج.&lt;br /&gt;
* استخدام حلقات &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; و&amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; للتكرار بطريقة آمنة.&lt;br /&gt;
* بناء القوائم والوصول إلى عناصرها وتعديلها وإضافة عناصر جديدة إليها.&lt;br /&gt;
* تعريف دوال تستقبل مدخلات وتعيد نتائج قابلة لإعادة الاستخدام.&lt;br /&gt;
* قراءة رسائل الخطأ والتمييز بين الخطأ النحوي وخطأ وقت التشغيل والخطأ المنطقي.&lt;br /&gt;
* تفكيك مشكلة إلى خطوات، وتصميم حل، واختباره على حالات عادية وحدّية.&lt;br /&gt;
* دمج المفاهيم السابقة في مشروع نصي صغير ببايثون.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= من الفكرة إلى أول برنامج =&lt;br /&gt;
أي برنامج يتعامل عادة مع ثلاثة أمور: &amp;#039;&amp;#039;&amp;#039;مدخلات&amp;#039;&amp;#039;&amp;#039; يحصل عليها، و&amp;#039;&amp;#039;&amp;#039;معالجة&amp;#039;&amp;#039;&amp;#039; ينفذها، و&amp;#039;&amp;#039;&amp;#039;مخرجات&amp;#039;&amp;#039;&amp;#039; يعرضها. لنفترض أنك تريد برنامجًا يحيّي المستخدم باسمه. المدخل هو الاسم، والمعالجة هي تكوين رسالة الترحيب، والمخرج هو الرسالة التي تظهر على الشاشة.&lt;br /&gt;
&lt;br /&gt;
في بايثون تعرض الدالة &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt; معلومات، بينما تقرأ الدالة &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; نصًا من المستخدم. جرّب المثال:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
name = input(&amp;quot;ما اسمك؟ &amp;quot;)&lt;br /&gt;
print(&amp;quot;مرحبًا&amp;quot;, name)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
السطر الأول يخزن الاسم في متغير يسمى &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt;. السطر الثاني يستخدم القيمة المخزنة. لاحظ أن بايثون تنفذ التعليمات بالترتيب من الأعلى إلى الأسفل ما لم نستخدم شرطًا أو حلقة أو دالة تغير مسار التنفيذ.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;نشاط برمجي تفاعلي:&amp;#039;&amp;#039;&amp;#039; شغّل البرنامج ثلاث مرات بأسماء مختلفة. قبل كل تشغيل توقّع شكل المخرجات، ثم غيّر كلمة الترحيب إلى عبارة عربية من اختيارك. بعد ذلك أضف سؤالًا ثانيًا عن الهواية واطبع جملة تجمع الاسم والهواية.&lt;br /&gt;
&lt;br /&gt;
من الأخطاء الشائعة الاعتقاد أن الحاسوب &amp;quot;يفهم المقصود&amp;quot; حتى لو لم نكتب التعليمات بدقة. في الواقع ينفذ الحاسوب التعليمات المكتوبة، لذلك تكون صياغة الخطوات واختبارها جزءًا أساسيًا من البرمجة.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= المتغيرات وأنواع البيانات =&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;المتغير&amp;#039;&amp;#039;&amp;#039; اسم يرتبط بقيمة يمكن للبرنامج استخدامها أو تغييرها. اختر أسماء تصف الغرض من القيمة. فاسم &amp;lt;code&amp;gt;score&amp;lt;/code&amp;gt; أوضح من اسم مثل &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; عندما تتعامل مع درجة طالب. في بايثون لا تحتاج إلى إعلان نوع المتغير مسبقًا؛ يتحدد النوع من القيمة التي تسندها إليه، وقد يرتبط الاسم لاحقًا بقيمة من نوع مختلف، لكن تغيير النوع دون سبب واضح قد يجعل البرنامج أصعب في الفهم.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
age = 15&lt;br /&gt;
height = 1.62&lt;br /&gt;
student_name = &amp;quot;سلمى&amp;quot;&lt;br /&gt;
is_ready = True&lt;br /&gt;
scores = [18, 16, 20]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! نوع البيانات&lt;br /&gt;
! مثال&lt;br /&gt;
! استخدام مبسط&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;15&amp;lt;/code&amp;gt; || عدد صحيح مثل العمر أو عدد المحاولات&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;1.62&amp;lt;/code&amp;gt; || عدد عشري مثل الطول أو المتوسط&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;str&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;&amp;quot;سلمى&amp;quot;&amp;lt;/code&amp;gt; || نص مثل اسم أو رسالة&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; || قيمة منطقية تمثل صحيحًا أو خطأ&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;list&amp;lt;/code&amp;gt; || &amp;lt;code&amp;gt;[18, 16, 20]&amp;lt;/code&amp;gt; || مجموعة مرتبة قابلة للتعديل&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
مهم جدًا: الدالة &amp;lt;code&amp;gt;input&amp;lt;/code&amp;gt; تعيد نصًا. إذا أردت إجراء حساب على عمر يكتبه المستخدم فحوّل النص إلى عدد صحيح:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
age = int(input(&amp;quot;أدخل عمرك: &amp;quot;))&lt;br /&gt;
next_age = age + 1&lt;br /&gt;
print(&amp;quot;سيصبح عمرك في العام القادم&amp;quot;, next_age)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;نشاط برمجي تفاعلي:&amp;#039;&amp;#039;&amp;#039; أنشئ متغيرات لاسم كتاب، وعدد صفحاته، وسعره، وهل أنهيت قراءته. حاول توقع نوع كل قيمة قبل كتابة الكود. ثم غيّر قيمة واحدة إلى نوع غير مناسب ولاحظ كيف يؤثر ذلك في العمليات التي تريد تنفيذها.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= اتخاذ القرار بالشروط =&lt;br /&gt;
تسمح الشروط للبرنامج باختيار مسار بناء على نتيجة منطقية. في بايثون تبدأ البنية غالبًا بـ &amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;، ويمكن إضافة &amp;lt;code&amp;gt;elif&amp;lt;/code&amp;gt; لحالة أخرى و&amp;lt;code&amp;gt;else&amp;lt;/code&amp;gt; للحالة المتبقية. تستخدم المقارنات مثل &amp;lt;code&amp;gt;&amp;amp;gt;&amp;lt;/code&amp;gt; و&amp;lt;code&amp;gt;&amp;amp;lt;&amp;lt;/code&amp;gt; و&amp;lt;code&amp;gt;==&amp;lt;/code&amp;gt; لإنتاج قيم منطقية.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
score = int(input(&amp;quot;أدخل درجتك: &amp;quot;))&lt;br /&gt;
&lt;br /&gt;
if score &amp;gt;= 90:&lt;br /&gt;
    print(&amp;quot;أداء ممتاز&amp;quot;)&lt;br /&gt;
elif score &amp;gt;= 60:&lt;br /&gt;
    print(&amp;quot;أداء ناجح&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;راجع الدرس وحاول مرة أخرى&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
المسافات البادئة في بايثون ليست للزينة؛ إنها جزء من بنية البرنامج وتحدد التعليمات التابعة لكل شرط.&lt;br /&gt;
&lt;br /&gt;
[[File:If-else flowchart example-ar.svg|500px|frameless|center|alt=مخطط تدفقي عربي يوضح قرارا باستخدام إذا وإلا|مخطط تدفقي عربي يوضح كيف يقود شرط واحد إلى مسارين مختلفين.]]&lt;br /&gt;
&lt;br /&gt;
يمكن دمج الشروط باستخدام &amp;lt;code&amp;gt;and&amp;lt;/code&amp;gt; عندما يجب تحقق أكثر من شرط، و&amp;lt;code&amp;gt;or&amp;lt;/code&amp;gt; عندما يكفي تحقق أحدها، و&amp;lt;code&amp;gt;not&amp;lt;/code&amp;gt; لعكس القيمة المنطقية.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
age = 15&lt;br /&gt;
has_permission = True&lt;br /&gt;
&lt;br /&gt;
if age &amp;gt;= 14 and has_permission:&lt;br /&gt;
    print(&amp;quot;يمكنك المشاركة في النشاط&amp;quot;)&lt;br /&gt;
else:&lt;br /&gt;
    print(&amp;quot;تحقق من الشروط المطلوبة&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;نشاط برمجي تفاعلي:&amp;#039;&amp;#039;&amp;#039; اكتب برنامجًا يسأل عن درجة حرارة الغرفة. اجعله يطبع &amp;quot;باردة&amp;quot; إذا كانت أقل من 18، و&amp;quot;معتدلة&amp;quot; إذا كانت من 18 إلى أقل من 26، و&amp;quot;دافئة&amp;quot; فيما عدا ذلك. اختبر القيم 17 و18 و25 و26 لأنها تكشف أخطاء الحدود بسهولة.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= التكرار بالحلقات =&lt;br /&gt;
نستخدم الحلقة عندما نريد تكرار عمل بدل كتابة السطر نفسه مرات كثيرة. حلقة &amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt; مناسبة عندما نكرر على عناصر مجموعة أو على مدى معلوم، بينما &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; مناسبة عندما يستمر التكرار ما دام شرط معين صحيحًا.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
for number in range(1, 6):&lt;br /&gt;
    print(&amp;quot;العدد هو&amp;quot;, number)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
الدالة &amp;lt;code&amp;gt;range&amp;lt;/code&amp;gt; في المثال تنتج القيم من 1 حتى 5؛ الحد الأخير لا يدخل في التسلسل. ويمكن استخدام الحلقة مع قائمة مباشرة:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
subjects = [&amp;quot;رياضيات&amp;quot;, &amp;quot;علوم&amp;quot;, &amp;quot;لغة عربية&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
for subject in subjects:&lt;br /&gt;
    print(&amp;quot;سأراجع&amp;quot;, subject)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
أما حلقة &amp;lt;code&amp;gt;while&amp;lt;/code&amp;gt; فتحتاج إلى شرط يتغير في النهاية، وإلا قد تصبح حلقة لا نهائية:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
count = 3&lt;br /&gt;
&lt;br /&gt;
while count &amp;gt; 0:&lt;br /&gt;
    print(&amp;quot;المتبقي&amp;quot;, count)&lt;br /&gt;
    count = count - 1&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;ابدأ&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:For Flowchart example ar.svg|500px|frameless|center|alt=مخطط تدفقي عربي يوضح فكرة حلقة فور|مخطط تدفقي عربي يوضح منطق التكرار في حلقة؛ قارن المسار المرئي بكود for في بايثون.]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;نشاط برمجي تفاعلي:&amp;#039;&amp;#039;&amp;#039; غيّر قيمة البداية والنهاية في مثال &amp;lt;code&amp;gt;range&amp;lt;/code&amp;gt;، ثم توقع عدد مرات الطباعة قبل التشغيل. بعد ذلك عدّل حلقة العد التنازلي بحيث تبدأ من 5. احذف مؤقتًا سطر تقليل &amp;lt;code&amp;gt;count&amp;lt;/code&amp;gt; وفكر: لماذا لا تتوقف الحلقة؟ أعد السطر قبل التشغيل المطول.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= تنظيم البيانات بالقوائم =&lt;br /&gt;
القائمة تجمع عدة قيم بترتيب واحد، ويمكن تعديلها أثناء تشغيل البرنامج. تبدأ فهارس عناصر القائمة من الصفر، لذلك العنصر الأول فهرسه 0 والثاني فهرسه 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
colors = [&amp;quot;أحمر&amp;quot;, &amp;quot;أزرق&amp;quot;, &amp;quot;أخضر&amp;quot;]&lt;br /&gt;
print(colors[0])&lt;br /&gt;
&lt;br /&gt;
colors.append(&amp;quot;أصفر&amp;quot;)&lt;br /&gt;
print(colors)&lt;br /&gt;
print(&amp;quot;عدد الألوان&amp;quot;, len(colors))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
يمكن المرور على القائمة بحلقة، ويمكن حساب مجموع قائمة أعداد بالدالة &amp;lt;code&amp;gt;sum&amp;lt;/code&amp;gt; ثم المتوسط بقسمة المجموع على عدد العناصر. يجب الانتباه إلى أن حساب المتوسط لقائمة فارغة يؤدي إلى مشكلة لأن القسمة على صفر غير ممكنة.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
scores = [14, 17, 19, 16]&lt;br /&gt;
total = 0&lt;br /&gt;
&lt;br /&gt;
for score in scores:&lt;br /&gt;
    total = total + score&lt;br /&gt;
&lt;br /&gt;
average = total / len(scores)&lt;br /&gt;
print(&amp;quot;المتوسط&amp;quot;, average)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
القوائم مهمة أيضًا عند دراسة الخوارزميات. توضح الرسوم المتحركة التالية كيف تتغير مواقع عناصر قائمة تدريجيًا أثناء خوارزمية الفرز الفقاعي. لا تحتاج الآن إلى حفظ الخوارزمية؛ راقب فقط فكرة أن الحل الحاسوبي يتكون من خطوات صغيرة متكررة تؤدي إلى نتيجة منظمة.&lt;br /&gt;
&lt;br /&gt;
[[File:Bubble sort animation.gif|500px|frameless|center|alt=رسوم متحركة لترتيب قائمة من القيم تدريجيا|رسوم متحركة تبين إعادة ترتيب عناصر قائمة خطوة بعد خطوة باستخدام خوارزمية الفرز الفقاعي.]]&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;نشاط برمجي تفاعلي:&amp;#039;&amp;#039;&amp;#039; أنشئ قائمة من خمس درجات. اطبع الدرجة الأولى والأخيرة، ثم أضف درجة جديدة. استخدم حلقة لطباعة كل درجة في سطر. تحدّ إضافي: احسب كم درجة تساوي 15 أو أكثر باستخدام عداد يبدأ من الصفر.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= إعادة الاستخدام بالدوال =&lt;br /&gt;
الدالة كتلة تعليمات لها اسم، وتساعدك على تنظيم البرنامج وتجنب التكرار. نعرّف الدالة بالكلمة &amp;lt;code&amp;gt;def&amp;lt;/code&amp;gt;. يمكن للدالة استقبال معاملات، ويمكنها إعادة نتيجة باستخدام &amp;lt;code&amp;gt;return&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
def greet(name):&lt;br /&gt;
    return &amp;quot;مرحبًا &amp;quot; + name&lt;br /&gt;
&lt;br /&gt;
message = greet(&amp;quot;نور&amp;quot;)&lt;br /&gt;
print(message)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
الدالة التالية تحسب متوسط قائمة غير فارغة:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
def average(values):&lt;br /&gt;
    total = sum(values)&lt;br /&gt;
    return total / len(values)&lt;br /&gt;
&lt;br /&gt;
scores = [18, 15, 17]&lt;br /&gt;
print(&amp;quot;المتوسط&amp;quot;, average(scores))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
فكر في الدالة كآلة صغيرة: تعطيها مدخلات محددة، فتجري عملًا واضحًا، ثم قد تعيد نتيجة. كلما كانت مهمة الدالة محددة واسمها واضحًا أصبح البرنامج أسهل في القراءة والاختبار.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;نشاط برمجي تفاعلي:&amp;#039;&amp;#039;&amp;#039; اكتب دالة اسمها &amp;lt;code&amp;gt;is_even&amp;lt;/code&amp;gt; تستقبل عددًا وتعيد &amp;lt;code&amp;gt;True&amp;lt;/code&amp;gt; إذا كان زوجيًا و&amp;lt;code&amp;gt;False&amp;lt;/code&amp;gt; إذا كان فرديًا. اختبرها بالقيم 2 و7 و0. ثم اكتب دالة أخرى تعيد أكبر عدد من عددين باستخدام شرط.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= تصحيح الأخطاء وحل المشكلات حاسوبيًا =&lt;br /&gt;
حتى المبرمجون ذوو الخبرة يكتبون برامج تحتوي على أخطاء. المهم هو امتلاك طريقة للعثور على السبب. يمكن تقسيم الأخطاء إلى ثلاثة أنواع مبسطة:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! النوع&lt;br /&gt;
! ماذا يعني&lt;br /&gt;
! مثال&lt;br /&gt;
|-&lt;br /&gt;
| خطأ نحوي || كتابة لا تتبع قواعد بايثون || نسيان النقطتين بعد شرط&lt;br /&gt;
|-&lt;br /&gt;
| خطأ وقت التشغيل || البرنامج يبدأ ثم يتوقف عند تعليمة لا يمكن تنفيذها || القسمة على صفر&lt;br /&gt;
|-&lt;br /&gt;
| خطأ منطقي || البرنامج يعمل لكنه يعطي نتيجة غير صحيحة || قسمة مجموع ثلاث درجات على 2 بدل 3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
عند ظهور رسالة خطأ، ابدأ من آخر سطر مفيد فيها، وحدد اسم الخطأ ورقم السطر. اقرأ السطر المشار إليه وما قبله. بعد ذلك كوّن مثالًا صغيرًا يعيد المشكلة، وغيّر شيئًا واحدًا في كل مرة. يمكن استخدام &amp;lt;code&amp;gt;print&amp;lt;/code&amp;gt; مؤقتًا لمراقبة قيم المتغيرات أثناء التنفيذ.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
price = 12&lt;br /&gt;
quantity = 3&lt;br /&gt;
print(&amp;quot;قبل الحساب&amp;quot;, price, quantity)&lt;br /&gt;
total = price * quantity&lt;br /&gt;
print(&amp;quot;المجموع&amp;quot;, total)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
حل المشكلة حاسوبيًا يبدأ قبل الكود. استخدم هذه الدورة العملية:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! المرحلة&lt;br /&gt;
! السؤال الذي تطرحه على نفسك&lt;br /&gt;
|-&lt;br /&gt;
| فهم المشكلة || ما المدخلات وما المخرجات المطلوبة؟&lt;br /&gt;
|-&lt;br /&gt;
| التفكيك || ما الأجزاء الصغيرة التي يمكن حلها منفصلة؟&lt;br /&gt;
|-&lt;br /&gt;
| تصميم الخوارزمية || ما ترتيب الخطوات والشروط والتكرارات؟&lt;br /&gt;
|-&lt;br /&gt;
| التنفيذ || كيف أمثل الخطوات بمتغيرات وشروط وحلقات ودوال؟&lt;br /&gt;
|-&lt;br /&gt;
| الاختبار || ما الحالات العادية والحدّية التي يجب تجربتها؟&lt;br /&gt;
|-&lt;br /&gt;
| التحسين || هل يمكن جعل الكود أوضح أو أقل تكرارًا؟&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
من الأخطاء الشائعة تعديل عدة أسطر دفعة واحدة ثم عدم معرفة أي تعديل أصلح المشكلة أو أنشأ مشكلة جديدة. الأفضل أن تغير شيئًا واحدًا، ثم تعيد الاختبار. ومن المفاهيم الخاطئة أيضًا أن البرنامج الصحيح هو الذي يعمل مرة واحدة؛ البرنامج الجيد يجب اختباره على مدخلات مختلفة، خاصة القيم القريبة من حدود الشروط.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;نشاط برمجي تفاعلي للتصحيح:&amp;#039;&amp;#039;&amp;#039; أصلح البرنامج التالي. فيه خطأ نحوي وخطأ منطقي. هدفه حساب متوسط ثلاث درجات ثم طباعة &amp;quot;ناجح&amp;quot; إذا كان المتوسط 60 أو أكثر:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
a = 70&lt;br /&gt;
b = 50&lt;br /&gt;
c = 80&lt;br /&gt;
average = (a + b + c) / 2&lt;br /&gt;
&lt;br /&gt;
if average &amp;gt;= 60&lt;br /&gt;
    print(&amp;quot;ناجح&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
بعد الإصلاح، اختبر مجموعة درجات متوسطها أقل من 60، وأخرى متوسطها يساوي 60 تمامًا. اشرح كيف ساعدك كل اختبار في التأكد من صحة الحل.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= مشروع جامع: متابع الدرجات =&lt;br /&gt;
في هذا المشروع ستجمع المتغيرات والقوائم والحلقات والدوال والشروط. يطلب البرنامج ثلاث درجات، يخزنها في قائمة، يحسب المتوسط، ثم يصنف النتيجة.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre dir=&amp;quot;ltr&amp;quot;&amp;gt;&lt;br /&gt;
def classify(score):&lt;br /&gt;
    if score &amp;gt;= 90:&lt;br /&gt;
        return &amp;quot;ممتاز&amp;quot;&lt;br /&gt;
    elif score &amp;gt;= 60:&lt;br /&gt;
        return &amp;quot;ناجح&amp;quot;&lt;br /&gt;
    else:&lt;br /&gt;
        return &amp;quot;يحتاج إلى مراجعة&amp;quot;&lt;br /&gt;
&lt;br /&gt;
scores = []&lt;br /&gt;
&lt;br /&gt;
for turn in range(3):&lt;br /&gt;
    score = int(input(&amp;quot;أدخل درجة: &amp;quot;))&lt;br /&gt;
    scores.append(score)&lt;br /&gt;
&lt;br /&gt;
average_score = sum(scores) / len(scores)&lt;br /&gt;
print(&amp;quot;الدرجات&amp;quot;, scores)&lt;br /&gt;
print(&amp;quot;المتوسط&amp;quot;, average_score)&lt;br /&gt;
print(&amp;quot;التصنيف&amp;quot;, classify(average_score))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
حلل المشروع قبل تعديله: القائمة تخزن البيانات، والحلقة تكرر الإدخال، والدالة تجمع منطق التصنيف في مكان واحد، والشرط يختار النتيجة، والمتغيرات تحفظ القيم الوسيطة. بهذه الطريقة ترى أن مفاهيم البرمجة لا تعمل منفصلة بل تتعاون لحل مشكلة كاملة.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;تحديات تطوير المشروع:&amp;#039;&amp;#039;&amp;#039; اجعل عدد الدرجات يحدده المستخدم بدل أن يكون ثابتًا، ثم امنع إدخال درجة خارج المجال الذي تختاره لمشروعك. أضف أعلى درجة وأدنى درجة، واكتب حالات اختبار قبل كل تعديل.&lt;br /&gt;
&lt;br /&gt;
للمراجعة المرئية الشاملة يمكنك الرجوع إلى هذا الدرس العربي الذي يغطي أساسيات بايثون من المتغيرات وأنواع البيانات إلى الشروط والقوائم والحلقات والدوال:&lt;br /&gt;
{{#ev:youtube|https://www.youtube.com/watch?v=37YPyDx7Zj8|500|center}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= مهام تفاعلية =&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== اختبار: اختبر معرفتك ==&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ما الوصف الأدق للمتغير في برنامج بايثون؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(اسم يرتبط بقيمة يستخدمها البرنامج)&lt;br /&gt;
(!تعليمة تكرر الكود دائمًا)&lt;br /&gt;
(!نوع من رسائل الخطأ)&lt;br /&gt;
(!رسم يوضح خطوات الحل)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ما نوع القيمة التي تعيدها دالة الإدخال قبل أي تحويل؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(نص)&lt;br /&gt;
(!عدد صحيح دائمًا)&lt;br /&gt;
(!قيمة منطقية دائمًا)&lt;br /&gt;
(!قائمة دائمًا)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;في ماذا تستخدم القيمة المنطقية غالبًا؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(تمثيل نتيجة صحيحة أو خاطئة)&lt;br /&gt;
(!تخزين مجموعة مرتبة من العناصر)&lt;br /&gt;
(!تعريف اسم دالة جديدة)&lt;br /&gt;
(!رسم مخطط تدفقي)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ما الغرض الأساسي من تعليمة if؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(اختيار تنفيذ تعليمات عند تحقق شرط)&lt;br /&gt;
(!إضافة عنصر إلى قائمة)&lt;br /&gt;
(!تكرار التعليمات عددًا ثابتًا فقط)&lt;br /&gt;
(!تحويل النص إلى صورة)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;متى تكون حلقة for مناسبة بصورة خاصة؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(عند المرور على عناصر قائمة أو مدى معلوم)&lt;br /&gt;
(!عند تعريف متغير نصي فقط)&lt;br /&gt;
(!عند إنهاء البرنامج فورًا)&lt;br /&gt;
(!عند إصلاح كل الأخطاء تلقائيًا)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ما الخطر عند استخدام while بشرط لا يتغير إلى قيمة خاطئة؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(قد تستمر الحلقة بلا نهاية)&lt;br /&gt;
(!تتحول القائمة إلى نص)&lt;br /&gt;
(!يصبح كل عدد عشريًا)&lt;br /&gt;
(!تختفي الدالة من البرنامج)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ما فهرس العنصر الأول في قائمة بايثون؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(الصفر)&lt;br /&gt;
(!الواحد)&lt;br /&gt;
(!السالب واحد)&lt;br /&gt;
(!يعتمد دائمًا على طول القائمة)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;أي كلمة تبدأ بها صياغة تعريف دالة جديدة في بايثون؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(الكلمة def)&lt;br /&gt;
(!الكلمة list)&lt;br /&gt;
(!الكلمة print)&lt;br /&gt;
(!الكلمة while)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ما دور return داخل الدالة؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(إعادة نتيجة إلى المكان الذي استدعى الدالة)&lt;br /&gt;
(!تكرار الدالة بلا توقف)&lt;br /&gt;
(!إضافة تعليق إلى البرنامج)&lt;br /&gt;
(!حذف جميع المتغيرات)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{MC}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;أي وصف ينطبق على الخطأ المنطقي؟&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
(البرنامج يعمل لكنه يعطي نتيجة غير صحيحة)&lt;br /&gt;
(!قواعد كتابة بايثون تمنع بدء التنفيذ دائمًا)&lt;br /&gt;
(!الحاسوب لا يستطيع فتح محرر النصوص)&lt;br /&gt;
(!كل قائمة تحتوي على عنصر واحد فقط)&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== لعبة الذاكرة ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;memo-quiz&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| المتغير || اسم يرتبط بقيمة يمكن استخدامها أو تغييرها&lt;br /&gt;
|-&lt;br /&gt;
| السلسلة النصية || بيانات تتكون من محارف ونصوص&lt;br /&gt;
|-&lt;br /&gt;
| القيمة المنطقية || قيمة تمثل صحيحًا أو خطأ&lt;br /&gt;
|-&lt;br /&gt;
| الشرط || اختيار مسار تنفيذ اعتمادًا على نتيجة منطقية&lt;br /&gt;
|-&lt;br /&gt;
| الحلقة || تكرار مجموعة من التعليمات&lt;br /&gt;
|-&lt;br /&gt;
| القائمة || مجموعة مرتبة قابلة للتعديل من العناصر&lt;br /&gt;
|-&lt;br /&gt;
| الدالة || كتلة تعليمات ذات اسم قابلة لإعادة الاستخدام&lt;br /&gt;
|-&lt;br /&gt;
| التصحيح || عملية البحث عن الأخطاء وفهمها وإصلاحها&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== السحب والإفلات ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;lueckentext-quiz&amp;quot;&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! طابق المفهوم مع وظيفته الصحيحة.&lt;br /&gt;
! الوظيفة&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;الإدخال&amp;#039;&amp;#039;&amp;#039; || قراءة قيمة يكتبها المستخدم&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;الإخراج&amp;#039;&amp;#039;&amp;#039; || عرض نتيجة أو رسالة على الشاشة&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;الشرط&amp;#039;&amp;#039;&amp;#039; || اختيار تعليمات وفق تحقق قاعدة منطقية&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;حلقة فور&amp;#039;&amp;#039;&amp;#039; || تكرار على عناصر مجموعة أو مدى معلوم&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;حلقة وايل&amp;#039;&amp;#039;&amp;#039; || تكرار يستمر ما دام شرط معين صحيحًا&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;الإلحاق بالقائمة&amp;#039;&amp;#039;&amp;#039; || إضافة عنصر جديد إلى نهاية قائمة&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;الإرجاع من الدالة&amp;#039;&amp;#039;&amp;#039; || إرسال نتيجة من الدالة إلى موضع الاستدعاء&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
== كلمات متقاطعة ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;kreuzwort-quiz&amp;quot;&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|-&lt;br /&gt;
| متغير || ما الاسم الذي يرتبط بقيمة داخل البرنامج؟&lt;br /&gt;
|-&lt;br /&gt;
| منطقي || ما نوع البيانات الذي يمثل صحيحًا أو خطأ؟&lt;br /&gt;
|-&lt;br /&gt;
| قائمة || ما البنية المرتبة القابلة للتعديل التي تجمع عدة عناصر؟&lt;br /&gt;
|-&lt;br /&gt;
| دالة || ما الكتلة ذات الاسم التي يمكن استدعاؤها لأداء مهمة؟&lt;br /&gt;
|-&lt;br /&gt;
| حلقة || ما البنية التي تستخدم لتكرار التعليمات؟&lt;br /&gt;
|-&lt;br /&gt;
| تصحيح || ما العملية التي نبحث فيها عن أخطاء البرنامج ونصلحها؟&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{E}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= مهام مفتوحة =&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
=== سهل ===&lt;br /&gt;
# [[Arabic:بطاقة متغيرات|بطاقة متغيرات]]: أنشئ برنامجًا يعرّف أربعة متغيرات عن كتاب أو لعبة تعليمية ويطبعها، ثم اكتب بجانب كل متغير نوع بياناته المتوقع.&lt;br /&gt;
# [[Arabic:مخطط قرار|مخطط قرار]]: ارسم على الورق أو بأداة رسم مجانية مخططًا يقرر هل يحتاج الطالب إلى مظلة اعتمادًا على قيمة منطقية للطقس، ثم حوّله إلى شرط في بايثون.&lt;br /&gt;
# [[Arabic:تجربة حلقة|تجربة حلقة]]: اكتب حلقة تطبع الأعداد من 1 إلى 10، ثم عدّلها لتطبع الأعداد الزوجية فقط وسجل ما غيرته.&lt;br /&gt;
# [[Arabic:قائمة هوايات|قائمة هوايات]]: أنشئ قائمة من خمس هوايات، اطبع أول عنصر وآخر عنصر، أضف هواية جديدة، ثم مر على القائمة بحلقة.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
=== متوسط ===&lt;br /&gt;
# [[Arabic:مختبر أنواع البيانات|مختبر أنواع البيانات]]: صمّم مجموعة صغيرة من الأمثلة التي تستخدم عددًا صحيحًا وعددًا عشريًا ونصًا وقيمة منطقية وقائمة، ثم فسّر في فقرة عربية لماذا اخترت كل نوع.&lt;br /&gt;
# [[Arabic:برنامج اختبار قصير|برنامج اختبار قصير]]: ابنِ اختبارًا نصيًا من ثلاثة أسئلة يستخدم الشروط لزيادة العداد عند الإجابة الصحيحة ويعرض النتيجة في النهاية.&lt;br /&gt;
# [[Arabic:مكتبة دوال صغيرة|مكتبة دوال صغيرة]]: اكتب ثلاث دوال تؤدي مهامًا مختلفة مثل حساب المتوسط والتحقق من العدد الزوجي وتكوين رسالة ترحيب، ثم اختبر كل دالة بثلاث حالات.&lt;br /&gt;
# [[Arabic:مقابلة عن التصحيح|مقابلة عن التصحيح]]: أجر مقابلة قصيرة بإذن الشخص مع معلم أو مبرمج أو طالب أكبر حول كيفية اكتشاف الأخطاء البرمجية، ثم لخّص ثلاث استراتيجيات دون نشر أي بيانات شخصية.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
=== متقدم ===&lt;br /&gt;
# [[Arabic:متابع درجات مطور|متابع درجات مطور]]: طوّر مشروع الدرجات ليقبل عددًا يحدده المستخدم، ويرفض القيم غير المقبولة، ويعرض المتوسط وأعلى درجة وأدنى درجة وتصنيفًا مناسبًا.&lt;br /&gt;
# [[Arabic:فيديو شرح برمجي|فيديو شرح برمجي]]: أنشئ فيديو قصيرًا أو تسجيل شاشة يشرح مثالًا من اختيارك يجمع قائمة وحلقة ودالة، مع إخفاء أي معلومات شخصية وعدم اشتراط نشر التسجيل علنًا.&lt;br /&gt;
# [[Arabic:تجربة خوارزمية|تجربة خوارزمية]]: مثّل يدويًا خطوات ترتيب قائمة صغيرة من خمسة أعداد بطريقة واضحة، ثم اكتب جدول تتبع يبين كيف تتغير العناصر وناقش الفرق بين الخوارزمية والكود.&lt;br /&gt;
# [[Arabic:مشروع حل مشكلة|مشروع حل مشكلة]]: اختر مشكلة مدرسية بسيطة مثل تنظيم مهام الأسبوع، حلل المدخلات والمخرجات، ارسم خوارزمية، نفذ نموذجًا نصيًا ببايثون، واختبره على حالات عادية وحدّية ثم قيّم ما ستغيره في نسخة ثانية.&lt;br /&gt;
&lt;br /&gt;
{{:Open Task - Create a MOOC}}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= مجالات تعلم مرتبطة =&lt;br /&gt;
&lt;br /&gt;
{| align=center&lt;br /&gt;
{{:D-Tab}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;[[Arabic:البرمجة باستخدام بايثون|البرمجة باستخدام بايثون]]&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
# [[Arabic:الخوارزميات|الخوارزميات]]&lt;br /&gt;
# [[Arabic:التفكير الحاسوبي|التفكير الحاسوبي]]&lt;br /&gt;
# [[Arabic:حل المشكلات|حل المشكلات]]&lt;br /&gt;
# [[Arabic:أنواع البيانات|أنواع البيانات]]&lt;br /&gt;
# [[Arabic:هياكل البيانات|هياكل البيانات]]&lt;br /&gt;
# [[Arabic:تصحيح الأخطاء|تصحيح الأخطاء البرمجية]]&lt;br /&gt;
# [[Arabic:علوم الحاسوب|علوم الحاسوب]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
تتصل هذه الدورة بالرياضيات من خلال الأنماط والحساب والمنطق، وباللغة من خلال وصف الخوارزميات بدقة، وبالعلوم من خلال بناء نماذج وتجارب تعتمد على بيانات. كما تمهد لموضوعات أوسع مثل الخوارزميات وهياكل البيانات وتطوير البرمجيات وعلوم البيانات.&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= مسرد =&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! المصطلح&lt;br /&gt;
! التعريف&lt;br /&gt;
|-&lt;br /&gt;
| بايثون || لغة برمجة عامة الغرض ذات تركيب واضح وتستخدم في مجالات متعددة.&lt;br /&gt;
|-&lt;br /&gt;
| متغير || اسم يرتبط بقيمة داخل البرنامج.&lt;br /&gt;
|-&lt;br /&gt;
| نوع البيانات || وصف لطبيعة القيمة والعمليات المناسبة لها مثل عدد أو نص أو قائمة.&lt;br /&gt;
|-&lt;br /&gt;
| قيمة منطقية || قيمة تكون صحيحة أو خاطئة وتستخدم كثيرًا في الشروط.&lt;br /&gt;
|-&lt;br /&gt;
| شرط || بنية تختار مسار التنفيذ اعتمادًا على نتيجة منطقية.&lt;br /&gt;
|-&lt;br /&gt;
| حلقة || بنية تكرر مجموعة من التعليمات.&lt;br /&gt;
|-&lt;br /&gt;
| قائمة || مجموعة مرتبة قابلة للتعديل من القيم.&lt;br /&gt;
|-&lt;br /&gt;
| فهرس || موضع عنصر في بنية مرتبة؛ يبدأ فهرس القائمة في بايثون من الصفر.&lt;br /&gt;
|-&lt;br /&gt;
| دالة || كتلة تعليمات ذات اسم تنفذ مهمة ويمكن استدعاؤها أكثر من مرة.&lt;br /&gt;
|-&lt;br /&gt;
| معامل || قيمة أو اسم يستقبل مدخلًا عند استدعاء دالة.&lt;br /&gt;
|-&lt;br /&gt;
| خوارزمية || خطوات محددة ومنظمة لحل مشكلة أو تنفيذ مهمة.&lt;br /&gt;
|-&lt;br /&gt;
| تصحيح الأخطاء || عملية تحديد سبب الخطأ واختباره وإصلاحه بصورة منهجية.&lt;br /&gt;
|-&lt;br /&gt;
| حالة حدّية || مدخل قريب من حدود المسألة أو الشروط ويستخدم لاختبار متانة الحل.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{BR}}&lt;br /&gt;
= مشروعات aiMOOC =&lt;br /&gt;
[[Category:Sprache:العربية]]&lt;br /&gt;
[[Category:Locale:ar]]&lt;br /&gt;
[[Category:بايثون]]&lt;br /&gt;
[[Category:البرمجة]]&lt;br /&gt;
[[Category:علوم الحاسوب]]&lt;br /&gt;
[[Category:التعليم الثانوي]]&lt;br /&gt;
[[Category:AI_MOOC]]&lt;br /&gt;
[[Category:GPT aiMOOC]]&lt;br /&gt;
{{MT}}&lt;/div&gt;</summary>
		<author><name>Glanz</name></author>
	</entry>
</feed>