الثانوية العامة 2026الاستعلام عن النتيجةاعرف الكليات المناسبة لمجموعكتنسيق 2026

الحاسب الآلي · الصف الثالث الثانوي · الترم الأول

إجراءات تنفيذ مشروع تحويل عدد بين النظم العددية باستخدام VB.NET

خطوات تحليل وتصميم وتنفيذ برنامج سطح مكتب بلغة VB.NET يحوّل عددًا بين النظم العددية (عشري/ثنائي/سداسي عشر)، من تصميم الواجهة إلى استخدام الدوال الجاهزة للتحويل.

آخر تحديث: · كيف نراجع المحتوى

أهداف التعلم

  • أن تذكر الإجراءات العامة لتنفيذ مشروع تحويل عدد بين النظم العددية.
  • أن تحدد عناصر التحكم (Controls) المناسبة وتضبط خصائصها.
  • أن تفسّر كود التحويل بأجزائه الخمسة.
  • أن تشغّل البرنامج وتختبره بأعداد تعرف نتيجتها.

شرح الدرس

1) الإجراءات العامة لتنفيذ المشروع

  1. تصميم واجهة المستخدم (GUI): تحديد عناصر التحكم المناسبة، ثم ضبط خصائصها حسب الحاجة.
  2. كتابة كود البرمجة.
  3. تنفيذ المشروع والتأكد من صحته.

2) عناصر التحكم في الواجهة

تصور لواجهة النافذة في VB.NET: عنوان Label1 ومربع نص TextBox1 ومربعا مجموعة GroupBox1 وGroupBox2 بثلاثة RadioButton لكل منهما وزر Button1

العنصرالغرض
Form1 (نافذة النموذج)الكائن الأساسي الذي تُوضع عليه كل العناصر
Label1 (أداة العنوان)عرض نص إرشادي، مثل «ادخل قيمة عددية لتحويلها»
TextBox1 (مربع النص)إدخال العدد المراد تحويله
GroupBox1, GroupBox2 (مربع المجموعة)تضم كل مجموعة ثلاثة أزرار اختيار
RadioButton (أداة الاختيار)اختيار واحد فقط من بين عدة اختيارات: «عشري» أو «سداسي عشر» أو «ثنائي»
Button1 (زر أمر)تنفيذ كود معين عند النقر عليه (Click)

خطوات الإنشاء: افتح Visual Studio.NET ← اختر لغة Visual Basic.NET ← أنشئ مشروعًا جديدًا (Solution) ← أدرج عناصر التحكم على Form1 ← اضبط خصائصها. ومن الخصائص المهمة: Text لكل عنصر (مثل «تحويل» للزر)، وRightToLeft = Yes للنافذة، وAutoSize = False وBorderStyle = FixedSingle للعنوان.

3) فكرة الكود

  1. تحديد الكائن المسؤول عن تنفيذ الكود وعند أي حدث (هنا الضغط على Button1).
  2. الإعلان عن المتغيرات.
  3. تحديد النظام العددي المحوَّل منه.
  4. تحديد النظام العددي المحوَّل إليه.
  5. تنفيذ التحويل، إما بكود مفتوح المصدر مع تطويره، أو بدالة جاهزة في اللغة، أو بكود من إعدادك.

4) تفسير الكود المستخدم (دالة جاهزة)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim value As String = Me.TextBox1.Text
    Dim baseType As Integer
    Dim toBase As Integer
    Dim fromBase As Integer

    If Me.RadioButton1.Checked Then
        baseType = 10
    ElseIf Me.RadioButton2.Checked Then
        baseType = 16
    Else
        baseType = 2
    End If

    If Me.RadioButton4.Checked Then
        toBase = 10
    ElseIf Me.RadioButton5.Checked Then
        toBase = 16
    Else
        toBase = 2
    End If

    fromBase = Convert.ToInt32(value, baseType)
    MsgBox(Convert.ToString(fromBase, toBase))
End Sub
الجزءوظيفته
1) معالج الحدث Handles Button1.Clickينفَّذ الكود عند النقر على الزر Button1
2) الإعلان عن المتغيرات Dimvalue نصي يحمل ما كُتب في TextBox1، وbaseType أساس النظام المحوَّل منه، وtoBase أساس النظام المحوَّل إليه، وfromBase ناتج التحويل
3) تحديد النظام المحوَّل منهعبارة If … ElseIf … Else تفحص أي RadioButton في GroupBox1 مُحدَّد وتسند 10 أو 16 أو 2 إلى baseType
4) تحديد النظام المحوَّل إليهالفكرة نفسها مع GroupBox2 ويُسند الناتج إلى toBase
5) دالة التحويلConvert.ToInt32(value, baseType) تحوّل النص من النظام المحدد إلى عدد صحيح، ثم Convert.ToString(fromBase, toBase) تعرضه بالنظام المطلوب في MsgBox

مثال تشغيل: إدخال 1A مع «سداسي عشر» إلى «عشري» يعطي 26، وإدخال 11 (عشري) إلى «ثنائي» يعطي 1011.

5) تشغيل البرنامج واختباره

بعد إدراج العناصر وضبط الخصائص وكتابة الكود تضغط Start Debugging، وتدخل عددًا في نظام معين، وتتحقق من مكافئه في النظم الأخرى. استعمل أرقام الأمثلة التي حسبتها يدويًا (مثل 25 ← 11001) لتتأكد من صحة البرنامج.

أمثلة وتطبيقات

  1. ما وظيفة Handles Button1.Click؟ تربط الكود بحدث النقر على الزر فينفَّذ عندئذ.
  2. ماذا يخزّن baseType؟ أساس النظام المحوَّل منه (10 أو 16 أو 2) بحسب الاختيار في GroupBox1.
  3. ماذا تُرجع Convert.ToString(11, 2)؟ النص 1011.
  4. ماذا تُرجع Convert.ToInt32("FF", 16)؟ العدد 255.
  5. لماذا نستعمل RadioButton؟ لأن المطلوب اختيار نظام واحد فقط من الثلاثة.

ملاحظات مهمة

  • الأداة Convert.ToInt32(value, baseType) تفترض أن النص مكتوب بالأساس baseType؛ فإدخال 2 مع اختيار «ثنائي» يسبب خطأ لأن 2 ليس رمزًا ثنائيًا.
  • المتغير value نصي (String) لأن الأعداد السداسية عشرية قد تتضمن حروفًا.
  • في If … ElseIf … Else الحالة الأخيرة Else تعني النظام الثنائي عندما لا يكون العشري ولا السداسي عشر محددًا.
  • ينفَّذ الكود عند النقر على الزر، ولا ينفَّذ تلقائيًا عند الكتابة في مربع النص.
  • ضبط خاصية RightToLeft يجعل اتجاه العرض من اليمين إلى اليسار في النافذة.

المفاهيم الأساسية

  • مراحل المشروع: تصميم الواجهة، كتابة الكود، التنفيذ والاختبار.
  • عناصر التحكم: Form وLabel وTextBox وGroupBox وRadioButton وButton.
  • أجزاء الكود الخمسة: معالج الحدث، الإعلان عن المتغيرات، المحوَّل منه، المحوَّل إليه، دالة التحويل.
  • Convert.ToInt32(value, base) وConvert.ToString(number, base).

ملخص الدرس

يتم إنتاج مشروع التحويل بتصميم نافذة بعناصر تحكم (Label وTextBox وGroupBox وRadioButton وButton)، ثم كتابة كود ينفَّذ عند نقر الزر: يعلن المتغيرات ويحدد النظام المحوَّل منه والمحوَّل إليه بحسب RadioButton المختار، ثم يستعمل Convert.ToInt32 وConvert.ToString لتحويل العدد وعرضه في MsgBox. وأخيرًا يُشغَّل البرنامج ويُختبر بأعداد معروفة النتيجة.

أسئلة للتدريب

  • عدّد الإجراءات العامة الثلاثة لتنفيذ مشروع التحويل.
  • ما الغرض من كل من: TextBox1 وGroupBox1 وRadioButton وButton1؟
  • اشرح الجزء الثالث من الكود (تحديد النظام المحوَّل منه).
  • ماذا ينتج عن Convert.ToInt32("101", 2) ثم Convert.ToString(5, 16)؟
  • اقترح ثلاث حالات اختبار لبرنامج التحويل، إحداها إدخال غير صالح.
حلّ أسئلة هذا الدرساختبر فهمك بأسئلة اختيار من متعدد وأسئلة مقالية مع نموذج إجابة، أو خض اختبارًا تفاعليًا سريعًا
أبلغ عن خطأ في هذا الدرس