Skip to content · ⁨الانتقال إلى المحتوى⁩

Algorithm design and problem-solving · ⁨تصميم الخوارزميات وحل المشكلات⁩

IGCSE Computer Science · ⁨IGCSE علوم الحاسوب⁩ · Topic 7 · ⁨الموضوع 7⁩

Video lesson for this topic · ⁨درس فيديو لهذا الموضوع⁩ Open the video page · ⁨افتح صفحة الفيديو⁩
9:17

دورة حياة تطوير البرامج

كل تطبيق على هاتفك كُتب بواسطة شخص مثلك. لكنهم لم يبدأوا بكتابة الكود. قبل السطر الأول، تم دراسة المشكلة، والحل…

English narration · English + 中文 subtitles burned in · ⁨سرد باللغة الإنجليزية · ترجمة مدمجة بالإنجليزية + الصينية⁩

Syllabus · ⁨المنهج⁩
English
Candidates should be able to: Notes and guidance
1 Understand the program development life cycle, limited to: analysis, design, coding and testing • Including identifying each stage and performing these tasks for each stage: – analysis: abstraction, decomposition of the problem, identification of the problem and requirements – design: decomposition, structure diagrams, flowcharts, pseudocode – coding: writing program code and iterative testing – testing: testing program code with the use of test data
2 (a) Understand that every computer system is made up of sub-systems, which are made up of further sub-systems (b) Understand how a problem can be decomposed into its component parts • Including: – inputs – processes – outputs – storage
(c) Use different methods to design and construct a solution to a problem • Including: – structure diagrams – flowcharts – pseudocode
3 Explain the purpose of a given algorithm • Including: – stating the purpose of an algorithm – describing the processes involved in an algorithm
4 Understand standard methods of solution • Limited to: – linear search – bubble sort – totalling – counting – finding maximum, minimum and average values
5 (a) Understand the need for validation checks to be made on input data and the different types of validation check • Including: – range check – length check – type check – presence check – format check – check digit
(b) Understand the need for verification checks to be made on input data and the different types of verification check • Including: – visual check – double entry check
6 Suggest and apply suitable test data • Limited to: – normal – abnormal – extreme – boundary • Extreme data is the largest/smallest acceptable value • Boundary data is the largest/smallest acceptable value and the corresponding smallest/largest rejected value
7 Complete a trace table to document a dry-run of an algorithm • Including, at each step in an algorithm: – variables – outputs – user prompts
8 Identify errors in given algorithms and suggest ways of correcting these errors
9 Write and amend algorithms for given problems or scenarios, using: pseudocode, program code and flowcharts • Precision is required when writing algorithms, e.g. x > y is acceptable but x is greater than y is not acceptable • See section 4 for flowchart symbols • See section 4 for pseudocode
العربية
يجب أن يكون المرشحون قادرين على: ملاحظات وإرشادات
1 افهم دورة حياة تطوير البرنامج، مقيدة بـ: التحليل، التصميم، البرمجة والاختبار • يشمل تحديد كل مرحلة وإنجاز المهام التالية لكل مرحلة: – التحليل: التجريد، تفكيك المشكلة، تحديد المشكلة والمتطلبات – التصميم: التفكيك، المخططات الهيكلية، المخططات الانسيابية، الكود الوهمي – البرمجة: كتابة كود البرنامج واختباره بشكل تكراري – الاختبار: اختبار كود البرنامج باستخدام بيانات الاختبار
2 (أ) افهم أن كل نظام حاسوبي يتكون من نظم فرعية تتكون بدورها من نظم فرعية أخرى (ب) افهم كيفية تفكيك المشكلة إلى أجزائها المكوِّنة • يشمل: – المدخلات – العمليات – المخرجات – التخزين
(ج) استخدم طرقاً مختلفة لتصميم وبناء حل للمشكلة • يشمل: – المخططات الهيكلية – المخططات الانسيابية – الكود الوهمي
3 اشرح الغرض من خوارزمية معينة • يشمل: – صياغة غرض الخوارزمية – وصف العمليات المصاحبة للخوارزمية
4 افهم الطرق القياسية للحلول • مقيدة بـ: – البحث الخطي – الفرز الفقاعي – المجموع – العد – إيجاد القيم العظمى والصغرى والمتوسطة
5 (أ) افهم الحاجة لإجراء فحوصات التحقق على بيانات الإدخال وأنواعها المختلفة • يشمل: – فحص النطاق – فحص الطول – فحص النوع – فحص الوجود – فحص التنسيق – رقم التحقق
(ب) افهم الحاجة لإجراء فحوصات التأكد على بيانات الإدخال وأنواعها المختلفة • يشمل: – الفحص البصري – إدخال مزدوج
6 اقترح وطبّق بيانات اختبار مناسبة • مقيدة بـ: – عادية – غير عادية – متطرفة – حدودية • البيانات المتطرفة هي أكبر/أصغر قيمة مقبولة • البيانات الحدودية هي أكبر/أصغر قيمة مقبولة والقيمة المقابلة الأصغر/الأكبر المرفوضة
7 أكمل جدول التتبع لتوثيق تشغيل جاف لخوارزمية • يشمل، في كل خطوة من خطوات الخوارزمية: – المتغيرات – المخرجات – رسائل المستخدم
8 حدد الأخطاء في الخوارزميات المعطاة واقترح طرقاً لتحيحها
9 اكتب وعدّل الخوارزميات لمشاكل أو سيناريوهات معينة، مستخدماً: الكود الوهمي، وكود البرنامج، والمخططات الانسيابية • مطلوب الدقة عند كتابة الخوارزميات، مثلاً: x > y مقبول لكن x is greater than y غير مقبول • انظر القسم 4 لرموز المخططات الانسيابية • انظر القسم 4 للكود الوهمي

Source: Cambridge International syllabus · ⁨المصدر: منهج كامبريدج الدولي⁩

7.1

The program development life cycle · ⁨دورة حياة تطوير البرنامج⁩

English

The program development life cycle 程序开发生命周期 is the set of stages used to make a program. There are four stages.

Stage What you do
analysis 分析 study the problem and work out what is needed
design 设计 plan how the program will work
coding 编码 write the program code and test it as you go
testing 测试 run the finished program with test data to find errors

Analysis

In analysis you understand the problem. Two key skills help:

  • abstraction 抽象 — keep only the important details and ignore the rest;
  • decomposition 分解 — break a big problem into smaller, easier parts.

Design

In design you plan the solution, often using decomposition. You can show the parts as sub-systems 子系统 in a structure diagram 结构图 (a chart that splits a system into smaller boxes).

Coding and testing

In coding you write the program code. You use iterative testing 迭代测试 — test small parts again and again as you build them. In testing you run the whole program with test data 测试数据 to check it works.

العربية

دورة حياة تطوير البرنامج هي مجموعة المراحل المستخدمة لإنشاء برنامج. توجد أربع مراحل.

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

التحليل

في التحليل تفهم المشكلة. مهارتان رئيسيتان تساعدان:

  • التجريد — الاحتفاظ فقط بالتفاصيل المهمة وتجاهل الباقي؛
  • التفكيك — تقسيم مشكلة كبيرة إلى أجزاء أصغر وأسهل.

التصميم

في التصميم تخطط للحل، غالباً باستخدام التفكيك. يمكنك عرض الأجزاء كـ أنظمة فرعية في مخطط هيكلي (رسم بياني يقسم نظاماً إلى صناديق أصغر).

الكتابة البرمجية والاختبار

في الكتابة البرمجية تكتب كود البرنامج. تستخدم الاختبار التكراري — تختبر أجزاء صغيرة مراراً وتكراراً أثناء بنائها. في الاختبار تشغيل البرنامج الكامل بـ بيانات اختبار للتحقق من عمله.

Vocabulary · ⁨مفردات⁩ Train · ⁨تدريب⁩
English العربية
program development life cycle/ˈprəʊɡræm dɪˈveləpmənt laɪf ˈsaɪkl/ دورة حياة تطوير البرنامج
analysis/əˈnæləsɪs/ التحليل
design/dɪˈzaɪn/ التصميم
coding/ˈkəʊdɪŋ/ البرمجة
testing/ˈtestɪŋ/ الاختبار
abstraction/əbˈstrækʃn/ التجريد
decomposition/ˌdiːkɒmpəˈzɪʃn/ تحلل
sub-systems/sʌb ˈsɪstəmz/ الأنظمة الفرعية
structure diagram/ˈstrʌktʃə ˈdaɪəɡræm/ مخطط الهيكل
iterative testing/ˈɪtərətɪv ˈtestɪŋ/ الاختبار التكراري
test data/test ˈdeɪtə/ بيانات الاختبار
flowchart/ˈfləʊtʃɑːt/ مخطط انسيابي
7.2

Design tools · ⁨أدوات التصميم⁩

English

You can plan a solution in three main ways.

  • a structure diagram — shows the parts of a system and how they fit together;
  • a flowchart 流程图 — a diagram using boxes and arrows to show the steps in order;
  • pseudocode 伪代码 — steps written in simple, code-like English (not a real language).
العربية

يمكنك التخطيط للحل بثلاث طرق رئيسية.

  • مخطط هيكلي — يظهر أجزاء النظام وكيف ترتبط ببعضها؛
  • مخطط انسيابي — رسم بياني يستخدم صناديق وأسهم لإظهار الخطوات بالترتيب؛
  • الكود الوهمي — خطوات مكتوبة بلغة إنجليزية بسيطة شبيهة بالكود (وليس لغة حقيقية).
مخطط انسيابي لجمع الأرقام من 1 إلى n، مع رموز البدء/الإنهاء، الإدخال/الإخراج، العملية والقرار، بالإضافة مفتاح يسمي كل شكل
مخطط انسيابي لخوارزمية المجموع، باستخدام الرموز القياسية (البدء/الإنهاء، الإدخال/الإخراج، العملية، القرار)
7.3

Algorithms · ⁨الخوارزميات⁩

English
Bubble sort, pass by pass

An algorithm 算法 is a set of steps, in the right order, that solves a problem. Every algorithm can be split into three parts:

  • input 输入 — the data that goes in;
  • processing 处理 — the work done on the data;
  • output 输出 — the result that comes out.

This is called decomposition into inputs, processes and outputs. For example, for "find the average of three marks": the inputs are the three marks; the processing is adding them and dividing by 3; the output is the average.

العربية
فرز الفقاعات، مررة بمررة

الخوارزمية هي مجموعة من الخطوات، بالترتيب الصحيح، تحل مشكلة. يمكن تقسيم كل خوارزمية إلى ثلاثة أجزاء:

  • المدخلات — البيانات التي تدخل؛
  • المعالجة — العمل المنجز على البيانات؛
  • المخرجات — النتيجة التي تظهر.

يُسمى هذا تفكيك المدخلات والمعالجات والمخرجات. على سبيل المثال، لـ "إيجاد متوسط ثلاث علامات": المدخلات هي الثلاث علامات؛ المعالجة هي جمعهن وقسمتهن على 3؛ المخرجات هي المتوسط.

ثلاثة صناديق — INPUT (الـ 3 علامات)، PROCESS (جمعها، القسمة على 3)، OUTPUT (المتوسط) — متصلة بأسهم
كل خوارزمية تتفكك إلى مدخلات ومعالجة ومخرجات — هنا، إيجاد متوسط ثلاث علامات
Vocabulary · ⁨مفردات⁩ Train · ⁨تدريب⁩
English العربية
input/ˈɪnpʊt/ مدخلات
processing/ˈprəʊsesɪŋ/ معالجة
output/ˈaʊtpʊt/ نقرة فأرة تُبدأ عملاً هي مثال على
validation/ˌvælɪˈdeɪʃn/ التحقق من صحة
range check/reɪndʒ tʃek/ فحص النطاق
length check/leŋθ tʃek/ فحص الطول
type check/taɪp tʃek/ فحص النوع
presence check/ˈprezəns tʃek/ فحص الحضور
format check/ˈfɔːmæt tʃek/ فحص التنسيق
check digit/tʃek ˈdɪdʒɪt/ رقم التحقق
verification/ˌverɪfɪˈkeɪʃn/ التحقق
visual check/ˈvɪʒuːəl tʃek/ الفحص البصري
double entry/ˈdʌbl ˈentri/ التدقيق المزدوج
bubble sort/ˈbʌbl sɔːt/ فرز الفقاعات
totalling/ˈtəʊtəlɪŋ/ جمع المجموع الكلي
counting/ˈkaʊntɪŋ/ عدّ
maximum/ˈmæksɪməm/ الأقصى
minimum/ˈmɪnɪməm/ الحد الأدنى
7.4

Validation and verification · ⁨التحقق والتحقق من الصحة⁩

English

When data is entered, you check it to reduce mistakes.

Validation 验证 checks that the data is sensible and follows the rules. It cannot check that the data is true, only that it is allowed.

Validation check What it checks
range check 范围检查 the value is between a lowest and highest allowed value
length check 长度检查 the number of characters is allowed (e.g. a password ≥ 8)
type check 类型检查 the data is the right type (e.g. a number, not letters)
presence check 存在性检查 something has actually been entered (not left blank)
format check 格式检查 the data is in the right pattern (e.g. a date as dd/mm/yyyy)
check digit 校验码 an extra digit confirms a number was entered correctly

Verification 核实 checks that data was copied or entered correctly (no mistakes while typing it in). Two methods:

  • visual check 目视检查 — a person compares the typed data with the original;
  • double entry 双重输入 — the data is entered twice and the two copies are compared.
العربية

عند إدخال البيانات، تقوم بفحصها لتقليل الأخطاء.

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

فحص التحقق من الصحة ما يفحصه
فحص النطاق القيمة تقع بين أدنى وأعلى قيمة مسموح بها
فحص الطول عدد الأحرف مسموح به (مثلاً كلمة مرور ≥ 8)
فحص النوع البيانات من النوع الصحيح (مثلاً رقم وليس أحرفاً)
فحص الوجود تم إدخال شيء فعلياً (لم يُترك فارغاً)
فحص التنسيق البيانات في النمط الصحيح (مثلاً تاريخ بصيغة dd/mm/yyyy)
الرقم التحققي رقم إضافي يؤكد إدخال الرقم بشكل صحيح

التحقق من الدقة يتأكد من أن البيانات تم نسخها أو إدخالها بشكل صحيح (بدون أخطاء أثناء الكتابة). طريقتان:

  • الفحص البصري — يقارن شخص ما البيانات المكتوبة مع الأصلية؛
  • الإدخال المزدوج — يتم إدخال البيانات مرتين ومقارنة النسختين مع بعضهما.
7.5

Trace tables · ⁨جداول التتبع⁩

English

A trace table 追踪表 records the value of each variable as an algorithm runs, step by step. It helps you:

  • check that an algorithm works correctly;
  • work out what an algorithm does by following it with given data.

Example: trace this algorithm with the input 5.

i total OUTPUT
1 1
2 3
3 6
4 10
5 15 15

The trace shows the algorithm adds up 1 to n. With input 5 the output is 15.

Worked example. Trace this algorithm and give the output.

DIV gives only the whole-number part of a division. Take one row per pass: x becomes 10 (count 1), then 5 (count 2), then 2 (count 3), then 1 (count 4). Now x > 1 is false, so the loop stops and the output is 4. Two habits protect these marks: test the condition before each pass rather than after, and write a new row for every pass - trying to hold the values in your head is what makes traces go wrong.

العربية

يسجل جدول التتبع قيمة كل متغير أثناء تشغيل الخوارزمية خطوة بخطوة. يساعدك على:

جدول تتبع بأعمدة count و total و output
يسجل جدول التتبع قيمة كل متغير أثناء تشغيل البرنامج
  • التحقق من صحة عمل الخوارزمية؛
  • تحديد ماذا تفعل الخوارزمية عن طريق تتبعها ببيانات معطاة.

مثال: تابع هذه الخوارزمية بإدخال 5.

INPUT N
Total ← 0
FOR I ← 1 TO N
    Total ← Total + I
NEXT I
OUTPUT Total
i total OUTPUT
1 1
2 3
3 6
4 10
5 15 15

يُظهر جدول التتبع أن الخوارزمية تجمع 1 إلى n. مع الإدخال 5، يكون الإخراج 15.

مثال محلل. تابع هذه الخوارزمية وأعطِ الإخراج.

X ← 20
Count ← 0
WHILE X > 1
    X ← DIV(X, 2)
    Count ← Count + 1
ENDWHILE
OUTPUT Count

DIV يعطي فقط الجزء الصحيح من القسمة. خذ سطراً واحداً لكل دورة: تصبح x = 10 (count = 1)، ثم 5 (count = 2)، ثم 2 (count = 3)، ثم 1 (count = 4). الآن x > 1 غير صحيح، لذا تتوقف الحلقة ويكون الإخراج 4. عادةً ما تحمي هاتان العادلتان الدرجات: اختبر الشرط قبل كل دورة بدلاً من بعدها، واكتب سراً جديداً لـكل دورة - فإن محاولة الاحتفاظ بالقيم في ذهنك هي ما يسبب الأخطاء في الجداول.

Explore · ⁨استكشف⁩

A trace table · ⁨جدول التتبع⁩

Step through the loop and fill in the trace table, one row per pass. · ⁨مرر عبر الحلقة واملأ جدول التتبع، صف واحد لكل دورة.⁩

Vocabulary · ⁨مفردات⁩ Train · ⁨تدريب⁩
English العربية
pseudocode/ˈsuːdəʊkəʊd/ الكود الوهمي
algorithm/ˈælɡərɪθəm/ خوارزمية
trace table/treɪs ˈteɪbl/ جدول التتبع
normal/ˈnɔːml/ العادي
abnormal/əbˈnɔːml/ غير طبيعي / شاذ
extreme/ekˈstriːm/ متطرف / شديد
boundary/ˈbaʊndəri/ حدود
7.6

Test data · ⁨بيانات الاختبار⁩

English

Test data is data you use to test a program. There are four types you must know.

Type Meaning Example (age 0–120 allowed)
normal 正常数据 sensible data that should be accepted 25
abnormal 异常数据 wrong data that should be rejected -4 or "cat"
extreme 极端数据 the largest and smallest values still allowed 0 and 120
boundary 边界数据 the values on each side of a limit (one allowed, one not) 120 and 121
العربية

بيانات الاختبار هي البيانات التي تستخدمها لاختبار برنامج. هناك أربعة أنواع يجب أن تعرفها.

النوع المعنى مثال (العمر 0–120 مسموح)
عادي بيانات منطقية يجب قبولها 25
غير عادي بيانات خاطئة يجب رفضها -4 أو "cat"
متطرفة القيم الأكبر والأصغر المسموحة حالياً 0 و 120
حدية القيم على جانبي حد معين (واحدة مسموحة وأخرى غير مسموحة) 120 و 121
7.7

Standard methods of solution · ⁨طرق الحل القياسية⁩

English

You must know these common algorithms.

Linear search

A linear search 线性查找 checks each item in a list, one by one, until it finds the value it wants or reaches the end.

Bubble sort

A bubble sort 冒泡排序 puts a list in order. It compares each pair of side-by-side items and swaps them if they are in the wrong order. It repeats this until no more swaps are needed.

Totalling and counting

  • totalling 求和 — keep adding values to a running total (Total ← Total + Value).
  • counting 计数 — add 1 to a counter each time something happens (Count ← Count + 1).

Maximum, minimum and average

  • to find the maximum 最大值: keep the largest value seen so far.
  • to find the minimum 最小值: keep the smallest value seen so far.
  • to find the average 平均值: divide the total by how many values there are.
العربية

يجب أن تعرف هذه الخوارزميات الشائعة.

البحث الخطي

يعمل البحث الخطي على فحص كل عنصر في قائمة ما، واحداً تلو الآخر، حتى يجد القيمة المطلوبة أو يصل إلى النهاية.

Found ← FALSE
FOR I ← 0 TO 9
    IF List[I] = SearchValue
      THEN
        Found ← TRUE
    ENDIF
NEXT I
OUTPUT Found
قائمة من ثمانية أرقام يتم مسحها من اليسار إلى اليمين للبحث عن 5؛ لا تتطابق أول أربعة وعadores يتم العثور عليه
يعمل البحث الخطي على فحص كل عنصر بالتتابع من البداية حتى يجد القيمة

ترتيب الفقاعات

يقوم فرز الفقاعات بترتيب قائمة ما. يقارن كل زوج من العناصر المتجاورة ويبدلهما إذا كانا في ترتيب خاطئ. يكرر هذا حتى لا تكون هناك حاجة لمزيد من التبديل.

FOR I ← 0 TO 8
    IF List[I] > List[I + 1]
      THEN
        Temp ← List[I]
        List[I] ← List[I + 1]
        List[I + 1] ← Temp
    ENDIF
NEXT I
قائمة حيث الزوج الأول 5 و 2 غير مرتب، يظهر تبديلهما إلى 2 و 5، مع ملاحظة لتكرار ذلك لكل زوج
يقارن فرز الفقاعات كل زوج متجاور ويبدلهما إذا كانا غير مرتبين، مكرراً حتى الترتيب

الجمع والإعداد

  • الجمع — استمر في إضافة القيم إلى المجموع الكلي المتزايد (Total ← Total + Value).
  • الإعداد — أضف 1 إلى العداد كل مرة يحدث فيها شيء ما (Count ← Count + 1).

القصوى والقصوى والمتوسط

  • لإيجاد القيمة العظمى: احتفظ بالأكبر قيمة رأيتها حتى الآن.
  • لإيجاد القيمة الصغرى: احتفظ بالأصغر قيمة رأيتها حتى الآن.
  • لإيجاد المتوسط: قسّم المجموع الكلي على عدد القيم.
Total ← 0
FOR I ← 0 TO 9
    Total ← Total + List[I]
NEXT I
Average ← Total / 10
OUTPUT Average
Vocabulary · ⁨مفردات⁩ Train · ⁨تدريب⁩
English العربية
linear search/ˈlɪnɪə sɜːtʃ/ البحث الخطي
average/ˈævrɪdʒ/ متوسط
7.8

Exam tips · ⁨نصائح للامتحان⁩

English
  • Learn the four life-cycle stages: analysis → design → coding → testing. Abstraction keeps only the important details; decomposition breaks a problem into smaller parts.
  • Validation checks data is sensible (range, length, type, presence, format checks); verification checks it was copied correctly (a visual check or double entry).
  • Learn the four test-data types: normal (accepted), abnormal (rejected), extreme (the largest/smallest still allowed), boundary (the values either side of a limit).
  • To work out what an algorithm does, fill in a trace table — write down every variable's value at each step.
  • Know the standard algorithms: linear search (check each item in turn) and bubble sort (swap side-by-side pairs until no swaps are needed).
العربية
  • احفظ مراحل دورة الحياة الأربع: التحليل → التصميم → البرمجة → الاختبار. التجريد يحافظ فقط على التفاصيل المهمة؛ التفكيك يكسر المشكلة إلى أجزاء أصغر.
  • التحقق من الصحة يتحقق من أن البيانات منطقية (فحوصات النطاق والطول والنوع والوجود والتنسيق)؛ التحقق من الدقة يتحقق من أنها نُسخت بشكل صحيح (فحص بصري أو إدخال مزدوج).
  • احفظ الأنواع الأربعة لبيانات الاختبار: عادي (مقبول)، غير عادي (مرفوض)، متطرف (الأكبر/الأصغر المسموح به)، حدي (القيم على جانبي الحد).
  • لمعرفة ما تفعله الخوارزمية، املأ جدول التتبع — اكتب قيمة كل متغير في كل خطوة.
  • اعرف الخوارزميات القياسية: البحث الخطي (فحص كل عنصر بالتتابع) وفرز الفقاعات (تبديل الأزواج المتجاورة حتى لا تكون هناك حاجة للتبديل).

Interactive lessons on this topic · ⁨دروس تفاعلية حول هذا الموضوع⁩

Work through it step by step, with instant-check exercises. · ⁨ا-working عليه خطوة بخطوة، مع تمارين تحقق فوري.⁩

Past Papers · ⁨أوراق الامتحانات السابقة⁩

More topics in IGCSE Computer Science · ⁨IGCSE علوم الحاسوب⁩ · ⁨المزيد من المواضيع في IGCSE Computer Science · ⁨IGCSE علوم الحاسوب⁩⁩

Log in or create account · ⁨تسجيل الدخول أو إنشاء حساب⁩

IGCSE, A-Level & AP