| يجب أن يكون المرشحون قادرين على: | ملاحظات وإرشادات |
|---|---|
| 1 أعْلن واستخدم المتغيرات والثوابت | |
| 2 افهم واستخدم أنواع البيانات الأساسية | • يشمل: – عدد صحيح – عدد حقيقي – حرف – سلسلة نصية – منطقية |
| 3 افهم واستخدم الإدخال والإخراج | |
| 4 (أ) افهم واستخدم مفهوم التسلسل | |
| (ب) افهم واستخدم مفهوم الاختيار | • يشمل: – جملات IF – جملات CASE |
| (ج) افهم واستخدم مفهوم التكرار | • يشمل: – حلقات التحكم بالعداد – حلقات الشرط المسبق – حلقات الشرط اللاحق |
| (د) افهم واستخدم مفاهيم المجموع والعد | |
| (هـ) افهم واستخدم مفهوم معالجة السلاسل النصية | • يشمل: – الطول – الجزء الجزئي – أحرف كبيرة – أحرف صغيرة • يمكن أن يكون أول حرف في السلسلة عند الموقع صفر أو واحد |
| (و) افهم واستخدم العمليات الحسابية والعلاقية والمنطقية | • الحسابية، مقيدة بـ: – + – – – / – * – ^ (مرفوعة لأس) – MOD – DIV • العلاقية، مقيدة بـ: – = – < – <= – > – >= – <> (غير مساوية) • المنطقية، مقيدة بـ: – AND – OR – NOT |
| 5 افهم واستخدم الجمل المتداخلة | • يشمل الجمل المختارة والمتداخلة والحلقات المتداخلة • لن يُطلب من المترشحين كتابة أكثر من ثلاث مستويات من الجمل المتداخلة |
| 6 (أ) افهم ما يُقصَد بـالجراءات والدوال والمعلمات (ب) عرّف واستخدم الإجراءات والدوال، مع أو بدون معلمات (ج) افهم واستخدم المتغيرات المحلية والعالمية | • قد تحتوي الإجراءات والدوال على ما يصل إلى ثلاثة معلمات |
| 7 افهم واستخدم الروتين المكتبي | • يشمل: – MOD – DIV – ROUND – RANDOM |
| 8 افهم كيفية إنشاء برنامج قابل للصيانة | • بما في ذلك الاستخدام المناسب لـ: – المعرّفات ذات المعنى – ميزة التعليق التي يوفرها لغة البرمجة – الإجراءات والدوال – التعليق المناسب والمعني على بناء الجملة • استخدم معرّفات ذات معنى لـ: – المتغيرات – الثوابت – المصفوفات – الإجراءات والدوال |
البرمجة
IGCSE علوم الحاسوب · الموضوع 8
13:16
البرمجة
هنا برنامج قصير. يقرأ خمس علامات اختبار ويطبع المجموع. العلامات الخمس هي ثمانية، تسعة، سبعة، ستة وعشرة، لذا يجب أن يكون المجموع أربعين. شاهد…
سرد باللغة الإنجليزية · ترجمة مدمجة بالإنجليزية + الصينية
8.1
المتغيرات والثوابت
المنهج
المصدر: منهج كامبريدج الدولي
المتغير هو مستودع مُسمى يحمل قيمة يمكن تغييرها أثناء تشغيل البرنامج. الثابت هو مستودع مُسمى قيمته ثابتة ولا تتغير.


يجب عليك إعلان them (ذكر اسمها ونوعها) قبل الاستخدام:
DECLARE Score : INTEGER
DECLARE Name : STRING
CONSTANT Pi ← 3.142

استخدم ثابتاً لقيمة لا تتغير أبداً (مثل Pi)، بحيث تُحدد في مكان واحد وسهلة القراءة.
Variables and assignment
Step through the lines and watch each variable take its new value.
| English | العربية |
|---|---|
| variable/ˈveərɪəbl/ | حدث |
| constant/ˈkɒnstənt/ | ثابت |
| declare/dɪˈkleə/ | إعلان |
| integer/ˈɪntɪdʒə/ | integer |
| real/rɪəl/ | حقيقي |
| char/tʃɑː/ | حرف |
| string/strɪŋ/ | سلسلة نصية |
8.1
أنواع البيانات
نوع البيانات يوضح نوع القيمة التي يحملها المتغير. يجب أن تعرف خمسة أنواع أساسية.

| النوع | يحتوي على | مثال |
|---|---|---|
| عدد صحيح | عدد صحيح | 42، -7 |
| حقيقي | عدداً بنقطة عشرية | 3.14، -0.5 |
| حرف | حرف واحد | 'A'، '?' |
| string | تسلسل من الأحرف | "Hello" |
| Boolean | أحد قيمتين | TRUE أو FALSE |
| English | العربية |
|---|---|
| data type/ˈdeɪtə taɪp/ | نوع البيانات |
| Boolean/ˈbuːlɪən/ | Boolean |
8.1
الإدخال والإخراج
الإدخال يقرأ قيمة من المستخدم. الإخراج يعرض قيمة على الشاشة.
OUTPUT "What is your name?"
INPUT Name
OUTPUT "Hello ", Name
| English | العربية |
|---|---|
| input/ˈɪnpʊt/ | مدخلات |
| output/ˈaʊtpʊt/ | نقرة فأرة تُبدأ عملاً هي مثال على |
| sequence/ˈsiːkwəns/ | تسلسل |
| selection/sɪˈlekʃn/ | اختيار |
| iteration/ˌɪtəˈreɪʃn/ | التكرار |
8.1
الهياكل الأساسية الثلاثة
يتم بناء كل برنامج من ثلاثة هياكل تحكم.

التسلسل
التسلسل يعني أن الخطوات تُنفذ واحدًا تلو الآخر، بالترتيب، من الأعلى إلى الأسفل.
INPUT Length
INPUT Width
Area ← Length * Width
OUTPUT Area
الاختيار
الاختيار يحدد أي الخطوات سيتم تنفيذها، بناءً على شرط ما. استخدم جملة IF، أو جملة CASE عندما تكون هناك خيارات عديدة.
IF Score >= 50
THEN
OUTPUT "Pass"
ELSE
OUTPUT "Fail"
ENDIF
CASE OF Grade
'A' : OUTPUT "Excellent"
'B' : OUTPUT "Good"
OTHERWISE OUTPUT "Keep trying"
ENDCASE
التكرار
التكرار (الحلقة) يعيد تنفيذ الخطوات. هناك ثلاثة أنواع.
حلقة محدودة العداد تكرر عددًا ثابتًا من المرات:
FOR I ← 1 TO 5
OUTPUT "Hello"
NEXT I
حلقة الشرط المسبق تتحقق من الشرط قبل كل تكرار، لذا قد لا تُنفذ أبدًا:
WHILE Answer <> "stop" DO
INPUT Answer
ENDWHILE
حلقة الشرط اللاحق تتحقق من الشرط بعد كل تكرار، لذا تُنفذ دائمًا مرة واحدة على الأقل:
REPEAT
INPUT Password
UNTIL Password = "secret"

How an IF … ELSE IF ladder decides
The conditions are tested top to bottom; the FIRST one that is true runs and the rest are skipped. Slide the score and watch which branch lights up.
Selection
Change the value and watch which branch runs — selection in action.
| English | العربية |
|---|---|
| loop/luːp/ | متغير |
| count-controlled loop/kaʊnt kənˈtrəʊld luːp/ | حلقة محكومة بعدد العدادات |
| pre-condition loop/priː kənˈdɪʃn luːp/ | حلقة الشرط المسبق |
| post-condition loop/pəʊst kənˈdɪʃn luːp/ | حلقة الشرط اللاحق |
| length/leŋθ/ | طول |
8.1
الجمع العودي والعد
- الجمع العودي — استمر في إضافة القيم إلى مجموع متراكم:
Total ← Total + Value. - العد — أضف 1 إلى عداد كل مرة:
Count ← Count + 1.

*جدول التتبع يتتبع حلقة الجمع العودي والعد خطوة بخطوة
Total ← 0
FOR I ← 1 TO 10
INPUT Mark
Total ← Total + Mark
NEXT I
OUTPUT Total
مثال محلول. يجب على برنامج قراءة 5 درجات، ثم إخراج المجموع والمتوسط.
Total ← 0
FOR I ← 1 TO 5
INPUT Mark
Total ← Total + Mark
NEXT I
Average ← Total / 5
OUTPUT Total, Average
سطران يحملان الدرجات. Total ← 0 يجب أن يكون قبل الحلقة: ضعها داخلها وسيعيد المجموع تعيينه في كل مرور، لذا سيعرض البرنامج الدرجة الأخيرة فقط. وAverage ← Total / 5 يجب أن يكون بعد الحلقة، لأن المجموع غير مكتمل حتى يتم إضافة كل الدرجات. التهيئة قبل الحساب بعد - هذا الترتيب هو ما يختبره السؤال حقًا.
| English | العربية |
|---|---|
| totalling/ˈtəʊtəlɪŋ/ | جمع المجموع الكلي |
| counting/ˈkaʊntɪŋ/ | عدّ |
| remainder/rɪˈmeɪndə/ | الباقي |
| nested statement/ˈnestɪd ˈsteɪtmənt/ | عبارة متداخلة |
8.1
العمليات
العمليات الحسابية
| العملية | المعنى |
|---|---|
+ - * / |
جمع، طرح، ضرب، قسمة |
^ |
مرفوعة للأس |
MOD |
الباقي بعد القسمة |
DIV |
الجزء الصحيح من القسمة |
على سبيل المثال، 17 MOD 5 هي 2، و17 DIV 5 هي 3.
العمليات النسبية
هذه تقارن قيمتين وتعطي نتيجة منطقية: =، <، <=، >، >=، و<> (لا يساوي).
العمليات المنطقية
هذه تربط الشروط: AND (يجب أن يكون كلاهما صحيحًا)، OR (يجب أن يكون أحدهما على الأقل صحيحًا)، NOT (يعكس صحيح/خاطئ).

IF Age >= 13 AND Age <= 19
THEN
OUTPUT "Teenager"
ENDIF
8.1
التعامل مع السلاسل النصية
السلسلة النصية تتكون من أحرف. عمليات مفيدة:
- length — عدد الأحرف في السلسلة النصية;
- substring — جزء أصغر مأخوذ من السلسلة النصية;
- upper case — تحويل الأحرف إلى أحرف كبيرة;
- lower case — تحويل الأحرف إلى أحرف صغيرة.
name ← "Computer"
OUTPUT LENGTH(name) // 8
OUTPUT SUBSTRING(name, 1, 4) // "Comp"
OUTPUT UCASE(name) // "COMPUTER"
OUTPUT LCASE(name) // "computer"
(قد يُحسب أول حرف كموضع 0 أو موضع 1، اعتمادًا على اللغة.)
SUBSTRING: take part of a string
The first character is at position 1. SUBSTRING(Word, Start, Length) takes Length characters beginning at Start — drag the two handles and read the call it builds.
| English | العربية |
|---|---|
| substring/ˈsʌbstrɪŋ/ | جزء من النص |
| upper case/ˈʌpə keɪs/ | حرف كبير |
| lower case/ˈləʊə keɪs/ | حرف صغير |
8.1
الجمل المتداخلة
الجملة المتداخلة هي بنية تحكم واحدة موضوعة داخل أخرى. يمكنك تداخل الاختيار والتكرار.
FOR I ← 1 TO 3
IF MOD(I, 2) = 0
THEN
OUTPUT I, " is even"
ELSE
OUTPUT I, " is odd"
ENDIF
NEXT I
لن تضطر لكتابة أكثر من ثلاث مستويات من التداخل.
8.1
الإجراءات والدوال
لتجنب تكرار الكود، يمكنك تقسيم البرنامج إلى كتل مسماة.
- إجراء هو كتلة كود مسماة تقوم بمهمة. تشغله باستخدام
CALL. - دالة تشبه الإجراء، لكنها تعيد قيمة إلى المكان الذي تم استدعاؤها منه.
المعامل هو قيمة تُمرر إلى إجراء أو دالة (حتى ثلاثة معاملات).
PROCEDURE Greet(PersonName : STRING)
OUTPUT "Hello ", PersonName
ENDPROCEDURE
CALL Greet("Sam")
FUNCTION Square(N : INTEGER) RETURNS INTEGER
RETURN N * N
ENDFUNCTION
Answer ← Square(5) // answer is 25
المتغيرات المحلية والعالمية
- متغير محلي يتم الإعلان عنه داخل إجراء أو دالة. يمكن استخدامه هناك فقط.
- متغير عالمي يتم الإعلان عنه في البرنامج الرئيسي. يمكن استخدامه في أي مكان.
المتغيرات المحلية أكثر أمانًا، لأنها لا يمكن تغييرها عن طريق الخطأ من جزء آخر من البرنامج.
| English | العربية |
|---|---|
| procedure/prəˈsiːdʒə/ | إجراء |
| function/ˈfʌŋkʃn/ | دالة |
| parameter/pəˈræmɪtə/ | معامل |
| local variable/ˈləʊkl ˈveərɪəbl/ | متغير محلي |
| global variable/ˈɡləʊbl ˈveərɪəbl/ | متغير عالمي |
| library routine/ˈlaɪbrəri ruːˈtiːn/ | روتين المكتبة |
| maintainable/meɪnˈteɪnəbl/ | قابل للصيانة |
| meaningful identifiers/ˈmiːnɪŋfl aɪˈdentɪfaɪəz/ | مسميات ذات معنى |
| comments/ˈkɒments/ | التعليقات |
8.1
الروتين المكتبي
الروتين المكتبي هو قطعة كود جاهزة يمكنك استخدامها. يجب أن تعرف هذه:
| الروتين | ما يفعله |
|---|---|
MOD |
يعطي باقي القسمة |
DIV |
يعطي الجزء الصحيح من القسمة |
ROUND |
يقرب عددًا حقيقيًا إلى عدد من المنازل العشرية |
RANDOM |
يعطي عددًا عشوائيًا |
8.1
كتابة برنامج قابل للصيانة
البرنامج القابل للصيانة سهل القراءة والتعديل لاحقًا من قبل الآخرين. لجعله:
- استخدم معرفات ذات معنى — أسماء واضحة للمتغيرات والثوابت والمصفوفات والإجراءات والدوال (
totalScore، وليسx); - أضف تعليقات لتوضيح ما تفعله أجزاء من الكود;
- استخدم الإجراءات والدوال لتقسيم العمل إلى كتل صغيرة.
8.2
المصفوفات
المنهج
| يجب أن يكون المرشحون قادرين على: | ملاحظات وإرشادات |
|---|---|
| 1 عرّف واستخدم المصفوفات أحادية البعد (1D) والمصفوفات ثنائية البعد (2D) | |
| 2 افهم استخدام المصفوفات | • بما في ذلك استخدام المتغيرات كمؤشرات في المصفوفات |
| 3 اكتب قيمًا داخل مصفوفة واقرأ قيمًا منها باستخدام التكرار | • يمكن أن يكون المؤشر الأول صفرًا أو واحدًا • بما في ذلك التكرار المتداخل |
المصدر: منهج كامبريدج الدولي
المصفوفة متغير واحد يحمل قيمًا متعددة من نفس النوع، يتم الوصول إليها عبر مؤشر (رقم موقع).
المصفوفات أحادية البعد
المصفوفة أحادية البعد (1D) تشبه قائمة واحدة.
DECLARE Scores : ARRAY[1:5] OF INTEGER
Scores[1] ← 90
Scores[2] ← 75
OUTPUT Scores[1]

يمكنك استخدام حلقة تكرار لملء مصفوفة أو قراءتها:
FOR I ← 1 TO 5
INPUT Scores[I]
NEXT I
المصفوفات ثنائية الأبعاد
المصفوفة ثنائية الأبعاد (2D) تشبه جدولاً يحتوي على صفوف وأعمدة. تستخدم مؤشرين.
DECLARE Grid : ARRAY[1:3, 1:3] OF INTEGER
Grid[1, 1] ← 5
Grid[2, 3] ← 8

تقرأ مصفوفة 2D باستخدام حلقة داخل حلقة (تكرار متداخل).
Arrays
Pick a row and a column to read one cell. Cambridge arrays count from 1, and a 2-D element is written with ONE pair of brackets — Grid[2, 3].
| English | العربية |
|---|---|
| array/əˈreɪ/ | المصفوفة (array) |
| index/ˈɪndeks/ | فهرس |
| one-dimensional (1D) array/wʌn daɪˈmenʃənl əˈreɪ/ | مصفوفة أحادية البعد (1D) |
| two-dimensional (2D) array/tuː daɪˈmenʃənl əˈreɪ/ | مصفوفة ثنائية الأبعاد (2D) |
8.3
التعامل مع الملفات
المنهج
| يجب أن يكون المرشحون قادرين على: | ملاحظات وإرشادات |
|---|---|
| 1 افهم الغرض من تخزين البيانات في ملف لاستخدامه بواسطة برنامج | |
| 2 افتح وأغلق واستخدم ملفًا للقراءة والكتابة | • بما في ذلك: – قراءة وكتابة عنصر بيانات مفرد – قراءة وكتابة سطر نصي |
المصدر: منهج كامبريدج الدولي
يمكن للبرنامج تخزين البيانات في ملف بحيث تُحفظ بعد توقف البرنامج. يجب عليك فتح الملف، ثم استخدامه، وبعدها إغلاقه.
OPENFILE "data.txt" FOR WRITE
WRITEFILE "data.txt", "Hello"
CLOSEFILE "data.txt"
OPENFILE "data.txt" FOR READ
READFILE "data.txt", Line
CLOSEFILE "data.txt"
يمكنك قراءة وكتابة عناصر بيانات فردية أو سطر كامل من النصوص. قم دائماً بإغلاق الملف عند الانتهاء منه.
| English | العربية |
|---|---|
| file/faɪl/ | ملف |
8.3
نصائح للامتحان
- المتغير يمكن أن يتغير أثناء تشغيل البرنامج؛ أما الثابت فهو ثابت. تعلم أنواع البيانات الخمسة: عدد صحيح، عدد حقيقي، حرف، نص، منطقي.
- يُبنى كل برنامج من ثلاث هياكل: التسلسل، والاختيار (IF / CASE)، والتكرار (الحلقات).
- حلقة WHILE تختبر قبل الجسم، لذا قد لا تعمل أبداً؛ أما حلقة REPEAT … UNTIL فتختبر بعد، لذا تعمل دائماً مرة واحدة على الأقل.
MODيعطي الباقي وDIVالجزء الصحيح للقسمة:17 MOD 5يساوي 2، و17 DIV 5يساوي 3.- الدالة تُرجع قيمة؛ أما الإجراء فلا. المتغير المحلي يعمل فقط داخل كتلته؛ بينما المتغير العالمي يعمل في أي مكان.
دروس تفاعلية حول هذا الموضوع
ا-working عليه خطوة بخطوة، مع تمارين تحقق فوري.