خلفية

1.1 خلفية

أهداف التعلم

بنهاية هذا القسم، يجب أن تكون قادرًا على:

  • ذكر مثالين على برامج الحاسوب المستخدمة في الحياة اليومية.
  • توضيح ما يجعل Python لغة برمجة مناسبة للتعلم.

برامج الحاسوب

الحاسوب (computer) هو جهاز إلكتروني يخزن المعلومات ويعالجها. ومن أمثلة الحواسيب: الهواتف الذكية، والأجهزة اللوحية، والحواسيب المحمولة، والحواسيب المكتبية، والخوادم. من الناحية التقنية، البرنامج (program) هو سلسلة من التعليمات التي يمكن للحاسوب تنفيذها. تساعد البرامج الناس على إنجاز مهامهم اليومية، وابتكار تقنيات جديدة، والاستمتاع.

يهدف هذا الكتاب إلى تعليم أساسيات البرمجة وحل المشكلات. فكتابة البرامج نشاط إبداعي، مفيد بطبيعته، ومجزٍ! ولا يتطلب هذا الكتاب أي خلفية مسبقة في علم الحاسوب. وهناك أنواع عديدة من البرامج، كما يوضح الرسم أدناه. سيركز هذا الكتاب على البرامج ذات الأغراض العامة التي تعمل عادةً "خلف الكواليس".

نقطة تحقق

بث الموسيقى عبر الإنترنت

مفاهيم تطبيقية

الحواسيب والبرامج

1.
كم نوعًا من البرامج وُصف في الرسوم المتحركة؟
  1. 3
  2. 4
  3. 5
2.
ما نوع البرنامج الذي سيشرح هذا الكتاب كيفية كتابته؟
  1. أداة تلخص تفضيلات الموسيقى للفرد
  2. تطبيق جوال لإدارة ومشاركة قوائم تشغيل الأغاني
  3. موقع ويب يعرض أفضل الفنانين على مدار السنوات الخمس الماضية
3.
أي من الأجهزة التالية هو مثال على الحاسوب؟
  1. سماعات رأس سلكية تُوصل بهاتف ذكي
  2. جهاز تحكم عن بعد يوقف الأغنية الحالية مؤقتًا أو يتخطاها
  3. مكبر صوت يعمل بتقنية Wi-Fi يبث الموسيقى من Amazon
4.
تتطلب قراءة هذا الكتاب خلفية قوية في الرياضيات.
  1. صحيح
  2. خطأ

استكشاف أعمق

تُوضح الفصول اللاحقة من هذا الكتاب كيفية كتابة برامج تحليلية باستخدام بيانات حقيقية. ومن أمثلة المكتبات التي توفر الوصول إلى خدمات البث عبر الإنترنت: Spotipy، و Pytube، و Pydora. غالبًا ما تحتوي الأدوات المتعلقة بلغة Python على المقطع "py" في أسمائها.

لغة Python

يقدم هذا الكتاب Python، إحدى أبرز لغات البرمجة اليوم. تستخدم كبرى شركات التكنولوجيا مثل Google و Apple و NASA و Instagram و Pixar وغيرها لغة Python على نطاق واسع.

من أسباب شعبية Python توفّر عدد كبير من المكتبات لإنجاز مهام عملية حقيقية. المكتبة (library) هي مجموعة من الشِفرات التي يمكن استخدامها في برامج أخرى. تأتي Python مع المكتبة القياسية الشاملة لحل مشكلات الحوسبة اليومية، مثل استخراج البيانات من الملفات وإنشاء تقارير موجزة. فضلًا عن ذلك، يطوّر مجتمع المطورين كثيرًا من المكتبات الأخرى لـ Python. مثال: Pandas هي مكتبة مستخدمة على نطاق واسع لتحليل البيانات.

ومن أسباب شعبية Python أيضًا أن صياغتها موجزة ومباشرة. تُحدد صياغة (syntax) اللغة كيفية بناء الشِفرة. وتُحدد قواعد الصياغة الكلمات المحجوزة والرموز والتنسيق المستخدم في البرامج. ومقارنةً بلغات البرمجة الأخرى، تُعدّ Python أكثر إيجازًا وبساطةً.

مثال 1.1

برنامج "أهلاً بالعالم" في Python و Java

جرت العادة أن يكون برنامج "أهلاً بالعالم" (Hello World) أول برنامج يُكتب عند تعلّم لغة جديدة. لا يفعل هذا البرنامج سوى عرض الرسالة "Hello, World!" للمستخدم. لا يتجاوز برنامج "أهلاً بالعالم" سطرًا واحدًا في Python:

print("Hello, World!")

في المقابل، يتكون برنامج "أهلاً بالعالم" من خمسة أسطر في Java (لغة مختلفة).

public class Hello {
  public static void main(String[] args) {
   System.out.println("Hello, World!");
  }
}

غير أن الإيجاز ليس المعيار الوحيد لاختيار اللغة. ففي سياقات مختلفة، قد تكون لغات أخرى أكثر ملاءمة. مثال: تُستخدم Java غالبًا في تطوير تطبيقات Android.

نقطة تحقق

عد الأسطر في ملف

مفاهيم تطبيقية

صياغة Python مقابل Java

5.
عمومًا، تكون برامج Python _____ من برامج Java.
  1. أسرع
  2. أطول
  3. أقصر
6.
في أمثلة البرامج أعلاه، ما الصياغة المطلوبة في Java وغير المطلوبة في Python؟
  1. الفواصل المنقوطة
  2. الأقواس
  3. علامات الاقتباس

جرّب بنفسك

الأغنية المفضلة

يطلب البرنامج أدناه اسمك ويعرض تحية ودية. شغّل البرنامج وشاهد ما يحدث. في رسالة الخطأ، يشير EOF إلى نهاية الملف (End of File).

  • تتطلّب كثير من البرامج في هذا الفصل إدخالًا من المستخدم. أدخل اسمك في مربع الإدخال أسفل الشِفرة. شغّل البرنامج مرة أخرى، وشاهد التغييرات.
  • انسخ الأسطر التالية إلى نهاية البرنامج:


    song = input()
    print("Cool! I like", song, "too.")
    print("What is your favorite song?") song = input() print("Cool! I like", song, "too.")

  • يقرأ البرنامج المعدّل سطرين من الإدخال: name و song. أضف أغنيتك المفضلة إلى مربع الإدخال أسفل اسمك، وشغّل البرنامج مرة أخرى.

سيشرح القسم التالي من الكتاب كيفية عمل print() و input(). يمكنك تجربة هذه الشِفرة كما تشاء قبل الانتقال إلى القسم التالي.