أهلا ومرحبا.
دعنا نواصل مناقشتنا حول أنواع البيانات ونتحدث عن زوجين آخرين.
في هذه المحاضرة ، سنتحدث عن نوع بيانات التعداد ونوع بيانات الرعاية الشخصية.
لذا فإن عناصر الأعداء هي نوع بيانات يسمح للمبرمج بتعريف متغير وتحديد القيم الصالحة التي يمكن
تخزينها في هذا المتغير.
لذا فإن التعداد قوي جدًا.
إنه في الواقع يحدد نوع البيانات.
إنها تعداد الكلمات الرئيسية ، ولكن يمكنك أساسًا أن يكون لديك نوع البيانات الخاص بك الذي يتضمن قيمًا معينة
فقط.
لذلك على سبيل المثال ، يمكنك إنشاء متغير باسم لوني ، وإذا كان نوع تعداد معين ، فيمكنك تعيينه
بحيث يتضمن فقط أو يمكن تعيين قيم للألوان الأساسية فقط مثل الأحمر أو الأصفر أو الأزرق ، ثم
لا يمكن تعيين قيم أخرى لها.
سيعطيك المترجم خطأ.
ولذا فهو نوع من أنواع البيانات التي يمكنك تحديدها بحيث يمكنك إنشاءها ، ولكن سيتعين عليك تحديد
نوع البيانات وبعد ذلك سيتعين عليك إنشاء متغيرات من هذا النوع.
لذا فإن التعداد هو الكلمة الأساسية.
لذا فإن أول شيء عليك القيام به إذا كنت تريد استخدام نوع بيانات التعداد هذا هو أنه عليك
تحديد نوع التعداد هذا وإعطائه اسمًا ، مجرد معرف ، تمامًا مثل اسم المتغير.
والطريقة التي تقوم بها هي أنك ستستخدم الكلمة الأساسية للتعداد وبعد ذلك ستقدم اسمًا مثل
المعرف بعد الكلمة الأساسية للتعداد.
ثم بعد المعرف ، ستضع كل قائمة القيم الصالحة داخل أقواس معقوفة.
وأنت تقول بشكل أساسي أن هذا العدد يمكن أن يكون فقط هذه القيم.
وبعد ذلك عندما تريد استخدام التعداد لاحقًا ، فإنك تعلن أنك تنشئ متغيرًا من هذا النوع enum.
لذلك دعونا نرى هذا في العمل.
هنا ، أقوم بتعريف نوع تعداد يسمى اللون الأساسي.
إذن لدي الكلمة الأساسية للتعداد وبعد ذلك لدي اسم التعداد الخاص بي ، وهو اللون الأساسي
، ثم أقوم بتعريف جميع قيم القيمة لهذا النوع.
وستلاحظ أنها محاطة داخل أقواس متعرجة ، والقوس الأيسر المتعرج والقوس الأيمن المتعرج.
في هذه الحالة ، لدينا نوع من التعداد يسمى اللون الأساسي والذي يمكنه فقط الاحتفاظ بقيم الأحمر والأصفر والأزرق.
ولا يمكنه تخزين أي شيء آخر إذا حاولت تعيين قيمة للون الأساسي ، أو إذا حاولت استخدام نوع بيانات
اللون الأساسي وحاولت تعيين قيمة متغيرة لشيء آخر ، فلن يعمل.
إذن هذه هي الطريقة التي نحددها بها.
علينا أولاً تحديد التعداد ، ثم يتعين علينا استخدامه مرة أخرى.
التعريف هو مجرد قول هذا ما هو عليه.
وما نراه هنا هو أن لدينا لونًا أساسيًا باللون الأبيض.
يمكن أن يكون باللون الأحمر والأصفر والأزرق.
لذا فإن المتغيرات التي تم الإعلان عنها على أنها نوع لون أساسي لا يمكن تعيين القيم إلا الأحمر والأصفر والأزرق.
داخل البرنامج ، لن تعمل أي قيم أخرى.
لذا مرة أخرى ، الخطوة الأولى هي تحديده.
الخطوة الثانية هي استخدامه.
لذلك بعد أن حددناها ، يمكننا بعد ذلك الإعلان عن متغير من هذا النوع من اللون الأساسي بالطريقة التي نعلن
عنها.
المتغير الآن هو أننا ما زلنا نستخدم الكلمة الأساسية للتعداد.
ثم لدينا في الواقع اسم التعداد الذي حددناه عندما حددناه.
ثم في النهاية ، نتبع ذلك بقائمة متغيرات.
إذن هنا مثال على ذلك هو أن لدينا تعدادًا ، نستخدم الكلمة الأساسية للتعداد ، لدينا اسم التعداد الذي نريد استخدامه
، وهو الاسم الذي أنشأناه للتو يسمى اللون الأساسي.
وبعد ذلك لدينا أسماء فقط.
إذن لدينا هنا عدوان من نوع اللون الأساسي.
لوني في لون جريج.
مرة أخرى ، هذا هو المكان الذي نستخدم فيه التعداد.
لقد حددنا بالفعل ما يمكن أن يكون عليه التعداد ، فقط أحمر أو أصفر أو أزرق.
والآن نقول أن لدينا متغيرين باسم لوني واللون الرمادي لا يمكن أن يحتوي إلا على واحدة من هذه القيم الثلاث
، ولا يمكن أن يحتوي على أي شيء آخر.
لذلك نحن هنا نعلن عن متغير ، لون أساسي.
ومرة أخرى ، هذا هو تحديد متغيرين لوني ولون جراي ليكونا من نوع اللون الأساسي.
وهو نوع التعداد ، القيم الوحيدة المسموح بها التي يمكن تخصيصها لهذه المتغيرات.
هذان المتغيران هما الأحمر والأصفر والأزرق.
لذلك يمكننا القول أن لوني يساوي الأحمر.
وهذا صحيح تمامًا.
لا يمكننا القول أن لوني يساوي اللون الأخضر.
لن ينجح ذلك لأن هذه القيم غير صالحة لنوع التعداد هذا.
لا يمكننا القول أن لوني يساوي Jason لأن لوني يمكن أن يحتوي فقط على ثلاث قيم من نوع تعداد
اللون الأساسي.
إذن ، هذا نوع بيانات قوي للغاية لأنك تحدد بشكل أساسي أنواع البيانات الخاصة بك التي يمكن
أن تحتوي على قيم معينة فقط.
مثال آخر هنا هو إذا أنشأنا تعدادًا من نوع الشهر وهنا نقول أن هذا الشهر يمكن أن يكون مساويًا فقط لشهر يناير
وفبراير ومارس وأبريل ومايو ويونيو ويوليو وأغسطس.
teMber ، أكتوبر ، نوفمبر ، ديسمبر.
مرة أخرى ، هذا هو التعريف.
هذا هو المكان الذي نقول فيه ما هي القيم الصالحة.
إذا كان علينا الذهاب واستخدام الشهر ، فسننشئ متغيرًا يسمى Enum Month ثم أي اسم تريد
أن تعطيه.
وبعد ذلك يمكننا تخصيص أي من هذه الأشهر الصالحة لهذا الاسم ، من يناير إلى ديسمبر.
وهذه هي الطريقة التي تستخدم بها التعداد.
الآن تحت الغطاء فيما يتعلق بكيفية تنفيذ الدخل بلغة البرمجة C ، هل هناك حقًا ممثلة
بالأرقام؟
لذا فإن المترجم يتعامل مع معرفات التعداد على أنها ثوابت أعداد صحيحة.
إذاً ، الاسم الأول في القائمة الذي تحدده ، إذا حاولت طباعة القيمة ، فسيكون
صفرًا.
كل هذا يقول مرة أخرى كيف يتم تعريفها؟
إذا كنت ستعرض الإخراج ، فما هي القيم الفعلية؟
ما يعنيه هذا هو أنه إذا كان لدينا خلال شهر ، هذا الشهر ، أنشأنا متغيرًا جديدًا من نوع enum month
ثم نقول هذا الشهر يساوي فبراير.
هذا الشهر سيساوي عددًا صحيحًا.
لكن لا يزال بإمكاننا مقارنتها واستخدامها لمقارنتها بشهر فبراير.
ولكن إذا كنت ستطبع هذا الشهر على وحدة التحكم ، فسيكون هذا الشهر في الواقع قيمة عدد صحيح يتوافق
مع الوقت الذي تم تحديده في القائمة.
لذلك في هذه الحالة ، سيكون شهر فبراير واحدًا.
لأن هذا الشهر تعداد الثاني في القائمة هو فبراير.
حق؟
لذا إذا عدنا للوراء ، إذا كنت تتذكر عندما حددناه ، فإن الثاني هو فبراير.
ويجب أن تلاحظ أنها واحدة على الرغم من أنها الثانية.
لأن ما يعنيه ذلك هو أن القائمة تبدأ هي صفر.
إذن يناير سيكون صفرًا ، فبراير سيكون واحدًا ، مارس سيكون الثاني وهكذا دواليك.
وهذا مهم لأنه يمكنك بعد ذلك مقارنتها وكذلك المقارنة بالقيم الفعلية
مثل فبراير.
الآن ، إذا كنت تريد الحصول على قيمة عددية محددة مرتبطة بمعرف التعداد ، فيمكنك
تعيين شيء ما بشكل صريح باستخدام عامل التعيين.
عندما تحدد النوع بالفعل.
على سبيل المثال ، هنا ، إذا حددنا تعدادًا جديدًا لاتجاه النوع وقلنا أن القيم الصالحة
للاتجاه هي لأعلى ولأسفل ولليسار ولليمين ، فسترى أن القيمة الثالثة اليسرى لها
في الواقع تساوي ذلك القول المتبقي سيساوي عشرة
لذلك في هذه الحالة ، يتم تحديد اتجاه نوع التعداد الخاص بنا بالقيم لأعلى ولأسفل ولليسار ولليمين.
هذه هي القيم الصالحة الوحيدة التي يمكنك تعيينها.
المتغيرات من هذا النوع ستكون مساوية للصفر لأنها العنصر الأول في تعريف القائمة.
واحد سيساوي أسفل لأنه العنصر الثاني.
مرة أخرى ، يبدأ من الصفر.
عشرة ستكون مساوية لليسار.
لن تساوي اثنين لأننا نسندها صراحةً إلى عشرة.
إذن ، سيكون اليسار عشرة لأن هذا ما وضعناه في تعريفنا.
ثم اليمين سيساوي 11 لأنه سيكون التالي مباشرة بعده
، إنه التالي.
إذن ، إذا كانت لدينا قيمة أخرى ، فسيكون هناك 12.
لذلك يمكنك تعيين القيم بشكل صريح إذا كنت تريد ذلك.
ولكن مرة أخرى ، ما هو مهم هو أنه عند إجراء مقارنات أو إذا قمت بطباعة القيم ، عليك فقط
أن تعرف أن الجينومات يتم تمثيلها بالفعل كأعداد صحيحة داخل النظام.
ولكن لا يزال بإمكانك استخدام فبراير ومارس ويناير عندما تقوم بالتوقيع على التعداد الخاص بك ، عندما تقارن هذه
القيم فعليًا بقيمة أخرى ، يمكنك استخدام يناير وفبراير ومارس ، ولا يزال يسمح لك باستخدام
تلك الأسماء اللطيفة.
لذلك سيكون لدينا مهمة صغيرة لطيفة أو تحدي على الأعداء حتى تصبح أكثر
دراية بها.
لكن النقطة هنا هي كيف يمكنك إنشاء نوع التعداد؟
ثم كيف يمكنك إنشاء متغيرات من هذا النوع وتعيين القيم؟
ومرة أخرى ، إنه أمر رائع لأنه يمكنك التحكم في ما يتم تعيينه.
إذا كنت لا تريد تحديد الاتجاه ، كما تعلم ، في الزاوية اليمنى ، فأنت تحدد فقط لأعلى ولأسفل ولليسار ولليمين.
نوع آخر من البيانات المهمة التي أريد مناقشتها هو CHA أو الرعاية ، اعتمادًا على كيفية نطقك
لها.
لقد تحدثنا بشكل أساسي عن أنواع البيانات الرقمية.
تحدثنا الآن عن التعداد.
يمثل Char حرفًا واحدًا مثل الحرف L a.
الرقم ستة أو الفاصلة المنقوطة.
وما تراه هنا هو الاقتباسات المنفردة.
السبب في أننا نعرف شخصيتهم هو ، على الرغم من أن واحدًا هو رقم ، لأنه في علامات اقتباس فردية.
لذا فإن أي شيء داخل علامات الاقتباس المفردة في البرنامج يُشار إليه على أنه نوع بيانات محرف.
وعادة ما تكون الأحرف عبارة عن أحرف أبجدية رقمية مثل ABCD و FG ، ولكن يمكن أن تظل
أرقامًا فعلية أو أحرفًا أخرى على لوحة المفاتيح.
ويمكنك أيضًا إعلان أن متغيرات الأحرف غير موقعة.
يعني عدم التوقيع أنه لا يمكن أن تكون سلبية.
لذا فهي ليست منطقية حقًا.
ولكن ما يخبر به المترجم عندما يكون لديك حرف غير موقع هو أنه رقم موجب فقط لأنه
تذكر أنه يمكن أيضًا تمثيل الأحرف كأرقام في جدول ASCII.
سنتحدث عن ذلك في ثانية.
لكننا سنتحدث عنك أيضًا لا تريد الخلط بين نوع بيانات الحرف وسلاسل الأحرف.
نوع بيانات الحرف هو مجرد حرف واحد داخل علامات الاقتباس الفردية.
لدينا قسم آخر كامل حيث سنتحدث عن الأوتار.
سيكون هذا سلسلة من الأحرف ، عدد من الأحرف.
لذلك لا تخلط بين الحرف أو الحرف مع الحرف أو السلسلة أو السلسلة.
إذا كنت تريد التصريح عن حرف واستخدامه ، يمكنك ببساطة تحديد نوع البيانات ، حرف أو
رعاية ، ثم المعرف.
في هذا المثال ، قمنا بشويها على الفحم.
هذا يعلن عن متغير اسمه broiled من نوع char.
عندما نسند إلى هذا المتغير ، نضعه.
نضع القيمة داخل علامات الاقتباس المفردة.
لذا فإن مشوي يساوي t جيد تمامًا.
إذا حاولنا أن نقول أن الشاي المغلي يساوي الشاي وليس الشاي داخل علامات الاقتباس ، فهذا ليس جيدًا لأن الشاي متغير.
وهذا لن يكون صالحًا ما لم تكن RT من النوع char أيضًا.
هنا لدينا علامة اقتباس مزدوجة تساوي ملكي.
T مرة أخرى ، هذا غير صالح لأن علامات الاقتباس المزدوجة و C تعني أنها سلسلة ، والتي سنتحدث عنها أكثر
، لكن هذا غير صحيح.
لذلك إذا حذفت علامات الاقتباس المنفردة ، فسيعتقد المترجم أن T هو اسم
متغير ولن يعمل.
إذا كنت تستخدم علامات الاقتباس المزدوجة ، فستعتقد أنك تستخدم سلسلة.
كما ذكرت ، يمكنك أيضًا استخدام الرموز الرقمية لتعيين قيم للأحرف ، وستستخدم
فقط جدول ASCII.
لذا فإن جدول ASCII هو كيفية تمثيل الأحرف كأرقام في الكمبيوتر.
إذاً هناك هذه الطاولة الكاملة.
وبشكل أساسي ، إذا قمت بتعيين رقم لنوع حرف ، فسوف تعتقد أنك تقوم بتعيين قيمة ASCII.
إذن ، ما سيفعله ، سيخصص 65 للدرجة.
سيظهر الرقم 65 في جدول ASCII ، وسيكون مكافئًا لأي
حرف.
وعليك أن تبحث في جدول ASCII لترى ماهية هذه الشخصية.
لكن ، كما تعلم ، أعلم أن B مثل 48.
مرة أخرى ، هذه هي الطريقة التي يمثل بها الكمبيوتر أحرفًا معينة بالأرقام.
لذلك لا يمكنك تعيين أرقام للأحرف ، سيتم تحويلها فقط إلى أحرف مفردة بناءً على ما
هي عليه في جدول ASCII.
شخصيات الهروب.
هذا مصطلح محدد سوف تسمع عنه حيث يكون بشكل أساسي حرفًا خاصًا يمثل
إجراءً ولغة برمجة C.
على سبيل المثال ، يمكن أن يكون لديك حرف خاص يمثل مسافة خلفية أو حرفًا خاصًا يمثل
السطر الجديد.
أو شخصية خاصة تمثل حلقة الجرس الطرفي.
ويمكنك تمثيل هذه الإجراءات باستخدام رمز محرج في الأساس مثل حرف داخل علامات اقتباس مفردة.
وسأعطيكم بعض الأمثلة.
وتسمى هذه أيضًا تسلسلات الهروب.
هذه هي الأحرف الخاصة التي تمثل الإجراءات.
لذلك يتم أيضًا تضمين تسلسلات الهروب بين علامتي اقتباس مفردة عندما يتم تخصيصها لمتغير حرف.
غالبًا ما ترى تسلسلات الهروب هذه داخل السلاسل لتمثيل إجراء ما.
لذلك ، على سبيل المثال ، لدينا هنا الحرف x يساوي شرطة مائلة للخلف n.
وستلاحظ أن الكثير من أحرف الهروب تبدأ بشرطة مائلة للخلف.
لكن نهاية الخط المائل العكسي هي حرف واحد ، ويبدو غريبًا نوعًا ما.
ما يمثله في البرنامج هو أنه يمثل سطرًا جديدًا.
لذلك إذا كنت تحاول طباعة هذا الحرف كمخرج ، فلن يطبع الخط المائل العكسي n ،
بل سيطبع سطرًا جديدًا.
سترى سطرًا جديدًا.
إطبعه.
لذلك سيمثل Char X هذه الشخصية.
وإذا كنت ستطبع المتغير x ، فسيقدم السطر التالي فقط.
وهناك عدد من تسلسلات الهروب المختلفة.
إليك طاولة صغيرة لطيفة أخذتها من كتاب تمهيدي للبحر يمثل جميع شخصيات الهروب التي يمكنك استخدامها
والتي تمثل الإجراءات.
لذلك ذكرنا الشرطة المائلة للخلف.
N هذا سطر جديد.
شرطة مائلة للخلف.
R هو حرف إرجاع.
Backslash V هي علامة تبويب عمودية.
شرطة مائلة عكسية T أعتقد أنها علامة تبويب أفقية.
لذا اسمحوا لي أن أقدم لكم بعض الأمثلة على ذلك وأعطيكم أيضًا بعض الأمثلة على Enum داخل محرر كتل التعليمات البرمجية
الجميل.
لذلك لدينا هنا برنامجنا المألوف مع طريقتنا الرئيسية والتعداد.
مرة أخرى ، يعد التعداد أمرًا رائعًا لأنه يمكنك ، يمكنك تحديد القيم المخصصة له.
لكن هناك خطوتان.
عندما تقوم بإنشاء تعداد ، يجب عليك تحديد النوع ومن ثم عليك إنشاء متغير من هذا
النوع.
ويمكنك استخدام الكلمة الأساسية التعداد لكليهما.
لذلك إذا أردت إنشاء نوع جديد من التعداد وأريد تسمية هذا التعداد الذي يساوي بعض القيم
، على سبيل المثال ، يمكنني إنشاء تعداد من النوع ، دعنا نقول أ.
تعداد نوع الجنس ، نرى تعداد الجنس.
وبعد ذلك كل ما نفعله هو استخدام الظهر ، القوس المتعرج.
لا ينبغي الخلط بين قوسين مربعين متعرج.
ثم حددنا قائمة القيم التي يمكن أن يكون عليها الجنس.
في الأساس ، يمكن أن يكون مجرد ذكر ، ثم نفصله بفاصلات ثم أنثى ، ثم ننهيها بفاصلة
منقوطة.
وما يقوله هذا هو أن لدينا نوعًا جديدًا يسمى الجنس.
إنه نوع التعداد.
والقيم الوحيدة التي يمكن تخصيصها لمتغيرات من هذا النوع هي الذكور والإناث.
إذا أردنا استخدام هذا التعداد ، فيمكننا إنشاء متغير جديد.
علينا فقط أن نقول تعداد اسم النوع الجنس.
وبعد ذلك يمكننا فقط أن نقول ، وجنساني.
حق؟
وهذه هي الطريقة التي نعلن بها عن المتغير.
نعلن عن متغير جنساني ، لكننا لم نقم بتعيين أو تهيئة أي قيم.
القيم الوحيدة التي يمكننا تعيينها لها هي ذكر أو أنثى.
لذلك يمكننا القول إن جنساني يساوي ذكرًا ، وهذا صحيح.
وإذا أردنا أن نذهب ونجمع.
سيكون هذا على ما يرام.
لا توجد أخطاء.
وإذا حاولنا تعيين شيء آخر ، دعنا نقول فقط أننا نريد تعيين سلسلة نصية لها
، فلنحاول القول إننا نريد تعيين رقم 44.
الآن ، إذا حاولنا بناء هذا.
سترى أنه تم إنشاؤه جيدًا بدون خطأ لأنه كان عدد صحيح.
ولكن إذا حاولنا وضعها في سلسلة أو أن شيئًا ما سيكون أكثر قيمة.
سيقول أنواع غير متوافقة عند التعيين.
لذلك هناك خطأ هناك.
من الصعب جدًا رؤيته.
لكن في الأساس ، لا يُسمح لنا بتعيين سلسلة نصية لها هنا.
لأنه ليس النوع 44 الصحيح.
يمكنك التوقيع عليه فقط ذكرًا أو أنثى.
ثم مرة أخرى ، إذا حاولنا رؤية ما يمثله هذا من حيث الأعداد الصحيحة حتى نتمكن من الكتابة ، فيمكننا
القول ذكر.
يمكننا بعد ذلك في الواقع مقارنتها بالمتغيرات الأخرى حتى نتمكن من إنشاء نوع تعداد جنس آخر من جنس
آخر.
تريد دائمًا استخدام اصطلاحات التسمية الجيدة هنا.
تأكد من هجاءنا بشكل صحيح.
هذا عندما يمكننا أن نقول أنثى إله وبعد ذلك يمكننا في الواقع أن نقول إنشاء قيمة منطقية لنرى.
صواب أو خطأ يمكن أن نقول أن المنطقي هو ذكر ويمكننا القول أن هذا سيكون مساويًا للذكور يساوي الإناث.
أنا آسف ، ليس الذكر يساوي أنثى ، لكن بين الجنسين يساوي.
جنس آخر وهذا سيعود كاذبًا لأن جنسي لا يساوي جنسًا آخر.
نوعي يساوي ذكر ، وجنس آخر يساوي فشل أنثى آسف ، وهو ذكر سيتم تعيينه على قيمة
خاطئة أو قيمة صفرية.
يمكننا أيضًا رؤية قيم الأعداء من خلال طباعتها.
وما سنلاحظه هو أنه إذا كنا سنطبع بالفعل قيمة جنس التعداد ، وهو ما لم نتعلم كيفية طباعة
المتغيرات بعد ، ولكن يمكننا القيام بشيء مثل طباعة f سنلاحظ ذلك النوع ، سيكون
الجنس في
الواقع مساويًا للصفر لأن هذا هو الأول في القائمة.
جنس آخر سيساوي واحدًا.
هذا أنيق جدًا.
أريد أيضًا أن أتحدث قليلاً عن الأحرف في أمثلةنا ، تذكر.
يمكننا إنشاء أحرف فردية ذات أسماء متغيرة.
نستخدم فقط نوع الحرف ثم نقول شيئًا مثل شار ، شخصيتي ، ويمكننا أن نساوي أي شيء في علامات الاقتباس
الفردية.
يمكن أن يكون j f أيًا كان يمكننا توقيعه حتى المتغيرات التي ستمثل أرقام ASCII في الجدول.
ولكن ما هو لطيف هو أنه يمكنك تعيين أحرف الهروب التي تمثل إجراءات محددة مثل الشرطة المائلة
للخلف n.
وإذا حاولنا استخدام هذا أو طباعته ، فسيتم طباعة سطر تغذية جديد حتى نتمكن من طباعة
f ويمكننا أن نقول طباعة F ، علينا أن نفعل شيئًا مثل النسبة المئوية C ، والتي نحن سأتحدث عنه في
محاضرتنا القادمة ثم أطبع شخصيتي.
وهذا من شأنه أن يعرض على الشاشة سطرًا جديدًا ، مجرد سطر تغذية.
لذلك إذا أردنا بناء هذا.
ويجب علينا تشغيله.
ما نراه في الواقع هو أن الناتج هو مجرد سطر جديد.
لذلك أنت تراه هناك نوعًا ما.
هناك خط جديد هناك.
لذلك فهو عمل محدد.
أنت لا تطبع أي إخراج.
لكننا سنستعرض المزيد من الأمثلة على هذا.
ما كنت أحاول إظهاره هنا هو هذا المفهوم الجميل للتعداد والشخصيات وتسلسلات الهروب ، وشخصيات
الهروب.
هناك طريقة رائعة لتعلم الكثير من هذه الأشياء وهي اللعب حول رمز الكتابة داخل المعرف ومعرفة
ما يفعله.
ولكن لاستكمال ذلك ، سأقدم بعض التحديات للمساعدة أيضًا في تقييمك.
أتمنى أن يكون هذا قد ساعد.
شكرًا لك.