Skip to content

📥 تمارين المدخلات والمخرجات (30 تمرين)

تمارين متدرجة من السهل إلى الصعب لإتقان عمليات الإدخال والإخراج في لغة ص.

المستوى الأول: أساسيات الطباعة والإخراج ⭐

الطباعة هي أول وأهم عملية إخراج في أي برنامج. في لغة ص، لديك دالتان أساسيتان:

  • اطبع() — تطبع النص على الشاشة بدون الانتقال لسطر جديد
  • اطبع_سطر() — تطبع النص مع سطر جديد تلقائياً في النهاية

هاتان الدالتان مدمجتان في اللغة ولا تحتاجان أي استيراد. تدعمان جميع أنواع البيانات: النصوص، الأرقام، القيم المنطقية، المصفوفات، والخرائط.

دمج القيم مع النصوص

يمكنك دمج المتغيرات مع النصوص باستخدام عامل +:

sad
متغير الاسم = "أحمد"
متغير العمر = 25
اطبع_سطر("مرحباً " + الاسم + "، عمرك " + العمر + " سنة")

التحكم في الأسطر

sad
# اطبع على نفس السطر
اطبع("الاسم: ")
اطبع("محمد")
اطبع_سطر("")  # سطر جديد

# اطبع في أسطر منفصلة
اطبع_سطر("السطر الأول")
اطبع_سطر("السطر الثاني")
تمرين 1⭐ سهل

طباعة نص بسيط

اكتب برنامجاً يطبع "مرحباً من لغة ص!" على الشاشة باستخدام اطبع_سطر.

💡 تلميح

استخدم دالة اطبع_سطر() مع النص بين علامتي تنصيص

تمرين_1.ص
2 سطر · 21 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
2 سطر · 29 حرفCtrl+Enter للتشغيل
تمرين 2⭐ سهل

طباعة عدة أسطر

اطبع ثلاثة أسطر منفصلة: اسمك، عمرك، ومدينتك.

تمرين_2.ص
2 سطر · 38 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
4 سطر · 74 حرفCtrl+Enter للتشغيل
تمرين 3⭐ سهل

الفرق بين اطبع واطبع_سطر

استخدم اطبع() لطباعة "مرحباً " ثم "بالعالم" على نفس السطر، ثم اطبع_سطر() لطباعة "!" في سطر جديد.

💡 تلميح

اطبع() لا تضيف سطراً جديداً، بينما اطبع_سطر() تضيفه تلقائياً

تمرين_3.ص
2 سطر · 34 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
4 سطر · 46 حرفCtrl+Enter للتشغيل
تمرين 4⭐ سهل

طباعة متغيرات

أنشئ متغيرات للاسم والعمر والمعدل، ثم اطبعها بتنسيق مناسب.

تمرين_4.ص
5 سطر · 87 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
7 سطر · 144 حرفCtrl+Enter للتشغيل
تمرين 5⭐ سهل

طباعة عناصر مصفوفة

أنشئ مصفوفة ألوان واطبع كل لون باستخدام حلقة لكل.

تمرين_5.ص
3 سطر · 63 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
5 سطر · 104 حرفCtrl+Enter للتشغيل
تمرين 6⭐ سهل

طباعة مع ترقيم

اطبع قائمة عناصر مرقمة، مثلاً: "1. العنصر الأول".

💡 تلميح

استخدم عداداً يزداد مع كل تكرار

تمرين_6.ص
3 سطر · 122 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
7 سطر · 183 حرفCtrl+Enter للتشغيل
تمرين 7⭐ سهل

طباعة خريطة

أنشئ خريطة تحتوي على بيانات شخص (الاسم، العمر، المهنة) واطبع كل مفتاح وقيمته.

تمرين_7.ص
3 سطر · 82 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
5 سطر · 169 حرفCtrl+Enter للتشغيل
تمرين 8⭐ سهل

طباعة نمط نجوم

اطبع مثلثاً من النجوم بـ 5 صفوف: الصف الأول نجمة واحدة، الثاني نجمتان، وهكذا.

💡 تلميح

استخدم حلقتين متداخلتين: واحدة للصفوف وأخرى للنجوم في كل صف

تمرين_8.ص
2 سطر · 27 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
12 سطر · 170 حرفCtrl+Enter للتشغيل
تمرين 9⭐ سهل

دالة طباعة مخصصة

اكتب دالة "اطبع_مزخرف" تأخذ نصاً وتطبعه محاطاً بإطار من النجوم.

تمرين_9.ص
6 سطر · 79 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
8 سطر · 133 حرفCtrl+Enter للتشغيل
تمرين 10⭐ سهل

طباعة جدول ضرب

اطبع جدول ضرب العدد 7 من 1 إلى 10.

تمرين_10.ص
2 سطر · 24 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
8 سطر · 138 حرفCtrl+Enter للتشغيل

المستوى الثاني: الإدخال التفاعلي والملفات ⭐⭐

بعد إتقان الطباعة، حان وقت تعلّم قراءة المدخلات من المستخدم والتعامل مع الملفات.

قراءة المدخلات

في لغة ص، لديك دالتان للقراءة:

  • اقرأ_سطر() — تقرأ سطراً كاملاً من المستخدم وتُرجعه كنص
  • أدخل("رسالة") — تعرض رسالة توجيهية ثم تقرأ المدخل
sad
# قراءة بسيطة
اطبع("أدخل اسمك: ")
متغير الاسم = اقرأ_سطر()

# قراءة مع رسالة
متغير العمر = أدخل("كم عمرك؟ ")

التعامل مع الملفات

مكتبة الملفات (ملفات) توفر دوال شاملة للتعامل مع الملفات النصية. تحتاج استيرادها أولاً:

sad
استورد ملفات من "مكتبة:ملفات"

# كتابة ملف
ملفات.اكتب("ملف.txt"، "محتوى الملف")

# قراءة ملف
متغير محتوى = ملفات.اقرأ("ملف.txt")

# إضافة لملف موجود
ملفات.أضف("ملف.txt"، "سطر إضافي")

# فحص وجود ملف
إذا (ملفات.موجود("ملف.txt"))
    اطبع_سطر("الملف موجود!")
نهاية
الدالةالوصف
ملفات.اكتب(مسار، محتوى)كتابة محتوى جديد (يمسح القديم)
ملفات.اقرأ(مسار)قراءة محتوى الملف كنص
ملفات.أضف(مسار، محتوى)إضافة محتوى دون مسح القديم
ملفات.موجود(مسار)التحقق من وجود الملف
ملفات.احذف(مسار)حذف الملف
ملفات.انسخ(مصدر، هدف)نسخ الملف
تمرين 11⭐⭐ متوسط

قراءة إدخال المستخدم

اكتب برنامجاً يسأل المستخدم عن اسمه وعمره ثم يطبع رسالة ترحيب.

💡 تلميح

استخدم اطبع() للسؤال ثم اقرأ_سطر() لقراءة الإجابة

تمرين_11.ص
3 سطر · 52 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
6 سطر · 148 حرفCtrl+Enter للتشغيل
تمرين 12⭐⭐ متوسط

قائمة اختيارات

اعرض قائمة من 4 خيارات مرقمة واطلب من المستخدم اختيار رقم، ثم اعرض الخيار المحدد.

تمرين_12.ص
4 سطر · 58 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
21 سطر · 493 حرفCtrl+Enter للتشغيل
تمرين 13⭐⭐ متوسط

التحقق من الإدخال

اكتب دالة تطلب من المستخدم إدخال عدد بين 1 و 100 وتتحقق من صحة الإدخال.

💡 تلميح

استخدم حلقة بينما تستمر حتى يدخل المستخدم قيمة صحيحة

تمرين_13.ص
7 سطر · 147 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
18 سطر · 472 حرفCtrl+Enter للتشغيل
تمرين 14⭐⭐ متوسط

جدول بيانات منسق

اطبع جدولاً منسقاً يحتوي على بيانات 4 طلاب (الاسم، المادة، الدرجة).

تمرين_14.ص
8 سطر · 271 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
14 سطر · 558 حرفCtrl+Enter للتشغيل
تمرين 15⭐⭐ متوسط

كتابة ملف نصي

اكتب برنامجاً يُنشئ ملفاً نصياً ويكتب فيه بيانات شخصية.

💡 تلميح

استخدم ملفات.اكتب(مسار، محتوى) لكتابة محتوى إلى ملف

تمرين_15.ص
4 سطر · 57 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
12 سطر · 334 حرفCtrl+Enter للتشغيل
تمرين 16⭐⭐ متوسط

قراءة ملف نصي

اكتب برنامجاً يقرأ ملفاً نصياً ويعرض محتواه بعد التحقق من وجوده.

💡 تلميح

تحقق من وجود الملف أولاً باستخدام ملفات.موجود() قبل قراءته

تمرين_16.ص
4 سطر · 57 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
11 سطر · 232 حرفCtrl+Enter للتشغيل
تمرين 17⭐⭐ متوسط

إضافة محتوى لملف

اكتب برنامجاً يُضيف سطوراً جديدة إلى ملف موجود دون مسح محتواه السابق.

تمرين_17.ص
4 سطر · 60 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
14 سطر · 282 حرفCtrl+Enter للتشغيل
تمرين 18⭐⭐ متوسط

فحص وجود ملفات

اكتب دالة تفحص وجود قائمة ملفات وتطبع حالة كل ملف.

تمرين_18.ص
8 سطر · 155 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
15 سطر · 349 حرفCtrl+Enter للتشغيل
تمرين 19⭐⭐ متوسط

نسخ ملف

اكتب برنامجاً ينسخ ملفاً من مسار إلى آخر مع التحقق من نجاح العملية.

💡 تلميح

تحقق من وجود الملف المصدر قبل محاولة النسخ

تمرين_19.ص
4 سطر · 68 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
14 سطر · 297 حرفCtrl+Enter للتشغيل
تمرين 20⭐⭐ متوسط

حذف ملف بتأكيد

اكتب برنامجاً يطلب تأكيد المستخدم قبل حذف ملف.

تمرين_20.ص
8 سطر · 123 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
23 سطر · 464 حرفCtrl+Enter للتشغيل
تمرين 21⭐⭐ متوسط

عداد الكلمات

اكتب دالة تقرأ نصاً من المستخدم وتحسب عدد الكلمات والحروف فيه.

تمرين_21.ص
8 سطر · 115 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
26 سطر · 528 حرفCtrl+Enter للتشغيل
تمرين 22⭐⭐ متوسط

آلة حاسبة تفاعلية

اكتب آلة حاسبة تقرأ عددين وعملية حسابية من المستخدم وتطبع النتيجة.

تمرين_22.ص
3 سطر · 47 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
29 سطر · 642 حرفCtrl+Enter للتشغيل

المستوى الثالث: مشاريع متقدمة ⭐⭐⭐

في هذا المستوى، ستبني مشاريع حقيقية تجمع بين الإدخال والإخراج والملفات:

  • منسق السجلات (Logger) — نظام تسجيل أحداث مع مستويات مختلفة
  • مولد CSV — تصدير بيانات منظمة إلى ملفات CSV
  • قارئ الإعدادات — تحميل إعدادات التطبيق من ملف
  • باني التقارير — إنشاء تقارير نصية منسقة
  • معالج النصوص — تحليل وبحث في المحتوى النصي
  • أنظمة تفاعلية — برامج بقوائم متعددة وحلقات تشغيل

نصائح للمستوى المتقدم

💡 نصيحة

عند بناء أنظمة معقدة، قسّم المشروع إلى دوال صغيرة — كل دالة تنفذ مهمة واحدة فقط. هذا يجعل الكود أسهل في الفهم والصيانة.

⚠️ ملاحظة مهمة

تحقق دائماً من وجود الملف قبل محاولة قراءته باستخدام ملفات.موجود() لتجنب الأخطاء.

تمرين 23⭐⭐⭐ صعب

منسق السجلات (Logger)

اكتب نظام سجلات يكتب رسائل بمستويات مختلفة (معلومات، تحذير، خطأ) إلى ملف.

تمرين_23.ص
5 سطر · 82 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
35 سطر · 836 حرفCtrl+Enter للتشغيل
تمرين 24⭐⭐⭐ صعب

مولد ملفات CSV

اكتب نظاماً لإنشاء ملف CSV من مصفوفة بيانات مع دعم العناوين والفواصل.

تمرين_24.ص
4 سطر · 60 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
41 سطر · 910 حرفCtrl+Enter للتشغيل
تمرين 25⭐⭐⭐ صعب

قارئ ملفات الإعدادات

اكتب نظاماً لقراءة ملف إعدادات بتنسيق "المفتاح=القيمة" وتحويله إلى خريطة.

تمرين_25.ص
5 سطر · 93 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
36 سطر · 980 حرفCtrl+Enter للتشغيل
تمرين 26⭐⭐⭐ صعب

باني التقارير

اكتب نظاماً لبناء تقرير نصي منسق يشمل عنوان وجدول وملخص وتصديره إلى ملف.

تمرين_26.ص
5 سطر · 81 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
71 سطر · 1506 حرفCtrl+Enter للتشغيل
تمرين 27⭐⭐⭐ صعب

معالج النصوص

اكتب برنامجاً يُجري عمليات تحليل نصية: عد الأسطر والكلمات والبحث عن كلمة.

تمرين_27.ص
4 سطر · 67 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
58 سطر · 1309 حرفCtrl+Enter للتشغيل
تمرين 28⭐⭐⭐ صعب

نظام دفتر ملاحظات

اكتب نظام دفتر ملاحظات تفاعلي يتيح للمستخدم إضافة وعرض وحفظ الملاحظات في ملف.

تمرين_28.ص
5 سطر · 87 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
63 سطر · 1407 حرفCtrl+Enter للتشغيل
تمرين 29⭐⭐⭐ صعب

محلل ملفات السجلات

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

تمرين_29.ص
5 سطر · 92 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
50 سطر · 1454 حرفCtrl+Enter للتشغيل
تمرين 30⭐⭐⭐ صعب

نظام إدارة جهات الاتصال

اكتب نظاماً تفاعلياً لإدارة جهات الاتصال يدعم الإضافة والبحث والعرض والحفظ في ملف.

تمرين_30.ص
5 سطر · 89 حرفCtrl+Enter للتشغيل
📝 عرض الحل
الحل.ص
64 سطر · 1678 حرفCtrl+Enter للتشغيل

مُرخَّص بموجب رخصة MIT