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

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

إنتاج مشروع تحويل عدد بين النظم العددية باستخدام لغة PHP

بناء نفس مشروع تحويل الأعداد بين النظم العددية، لكن كصفحة ويب باستخدام لغة PHP من جانب الخادم: نموذج HTML لإدخال البيانات، ودوال PHP الجاهزة للتحويل بين الأنظمة.

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

أهداف التعلم

  • أن تشرح متطلبات إنتاج مشروع التحويل بلغة PHP على صفحة ويب.
  • أن تحدد عناصر التحكم المناسبة (مربع نص، ثلاثة أزرار Submit، ثلاثة عناوين Label).
  • أن تفسّر أجزاء الكود الأربعة وتستعمل دوال التحويل الجاهزة.
  • أن تشغّل الصفحة وتتحقق من نتائجها.

شرح الدرس

1) متطلبات المشروع ومراحله

تتيح لغة PHP إنتاج صفحات ويب ديناميكية (Dynamic Web Pages) تُعالَج بياناتها وتعيد نتيجة المعالجة على الصفحة. ويعتمد التنفيذ على أساسيات HTML وتطبيق Expression Web الذي يُنشئ صفحة ساكنة (Static) ويُظهر كود HTML المقابل لها، ثم تضيف أنت كود PHP. المراحل:

  1. تصميم الصفحة: تحديد النصوص وعناصر التحكم، ثم إدراجها وضبط خصائصها.
  2. كتابة الكود: بالضغط على زر Code ثم إضافة كود PHP لمعالجة البيانات وعرض الناتج.

مخطط عمل المشروع: نموذج ويب بمربع نص وثلاثة أزرار يرسل بياناته بطريقة post إلى كود PHP الذي يحوّل العدد بدوال جاهزة ثم يعرضها بـ echo في ثلاثة عناوين

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

العنصرالغرض
Formيضم كل عناصر التحكم
Text (مربع نص)إدخال العدد المراد تحويله
ثلاثة أزرار Submit«تحويل ثنائي» ← العدد المدخل ثنائي فيُحسب مكافئه العشري والسداسي عشر، «تحويل عشري»، «تحويل السداسي عشر»
ثلاثة عناوين Labelتعرض المكافئ الثنائي، والمكافئ العشري، والمكافئ السداسي عشر

3) الكود المستخدم وتفسيره

الجزء الأول — هيكل صفحة الويب: <html> و<head> و<title> لعنوان الصفحة، وسطر <meta … charset=utf-8> لظهور الحروف العربية سليمة، و<body dir='RTL'> لعرض النص من اليمين إلى اليسار، و<h1> لعنوان بحجم خط من 1 (الأكبر) إلى 6 (الأصغر)، ووسم <form method='post'> الذي يحدد طريقة نقل البيانات (method) والإجراء (action) عند الضغط على Submit فتظهر النتيجة على الصفحة نفسها.

الجزء الثاني — الإعلان عن المتغيرات والمعالجة (داخل <?php … ?>):

<?php
$numberconvert = ""; $numberbin = ""; $numberdec = ""; $numberhex = "";

if (isset($_POST['Submit1'])) {            // زر "تحويل ثنائي"
    $numberconvert = $_POST['num'];
    $numberbin = $numberconvert;
    $numberdec = bindec($numberconvert);
    $numberhex = dechex($numberdec);
}
if (isset($_POST['Submit2'])) {            // زر "تحويل عشري"
    $numberconvert = $_POST['num'];
    $numberbin = decbin($numberconvert);
    $numberdec = $numberconvert;
    $numberhex = dechex($numberdec);
}
if (isset($_POST['Submit3'])) {            // زر "تحويل السداسي عشر"
    $numberconvert = $_POST['num'];
    $numberdec = hexdec($numberconvert);
    $numberbin = decbin($numberdec);
    $numberhex = $numberconvert;
}
?>
الدالةوظيفتها
bindec()ثنائي ← عشري
decbin()عشري ← ثنائي
hexdec()سداسي عشر ← عشري
dechex()عشري ← سداسي عشر

ولأنه لا توجد دالة للتحويل المباشر بين الثنائي والسداسي عشر، يمر التحويل بينهما عبر النظام العشري (مثل bindec ثم dechex). وتختبر isset($_POST['Submit1']) هل ضُغط الزر المعني، وتلتقط $_POST['num'] القيمة من مربع النص.

الجزء الثالث — إدراج عناصر التحكم: وسم <input name='num' type='text' …> لمربع النص، وvalue='<?php echo $numberconvert; ?>' ليعيد عرض العدد المكتوب بعد كل تحديث للصفحة، وثلاثة وسوم <input type='submit' name='Submit1…3' value='…'> للأزرار، و&nbsp; لترك مسافة. ويمكن إدراج الزر بـ Input(button) أو Input(Submit) بحسب الحاجة، ولا يشترط ترتيب خصائص العنصر.

الجزء الرابع — عرض النتائج: تُستعمل echo لطباعة قيمة المتغير داخل Label: <label id='Label1'><?php echo $numberbin; ?></label> للثنائي، وLabel2 للعشري، وLabel3 للسداسي عشر، ثم تُغلق الوسوم </form></body></html>.

مثال تشغيل: إدخال 1011 والضغط على «تحويل ثنائي» يعرض: الثنائي 1011، العشري 11، السداسي عشر b. وإدخال 255 مع «تحويل عشري» يعرض 11111111 و255 وff.

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

  1. ما وظيفة isset($_POST['Submit2'])؟ تتحقق من أن المستخدم ضغط زر «تحويل عشري» فتُنفَّذ كتلة الكود الخاصة به.
  2. ماذا يُنتج decbin(12)؟ النص 1100.
  3. ماذا يُنتج hexdec("1F")؟ العدد 31.
  4. لماذا نحتاج خطوة وسيطة عند التحويل من ثنائي إلى سداسي عشر؟ لأنه لا توجد دالة مباشرة، فنحوّل أولًا بـ bindec ثم نطبق dechex على الناتج.
  5. ما فائدة dir='RTL'؟ يجعل النص وعناصر التحكم تظهر من اليمين إلى اليسار.

ملاحظات مهمة

  • PHP تُنفَّذ على الخادم، ولا يصل إلى المتصفح إلا صفحة HTML الناتجة.
  • تُستعمل <?php … ?> لفتح وإغلاق كود PHP داخل صفحة HTML.
  • أسماء المتغيرات في PHP تبدأ بالعلامة $.
  • تُظهر دالة dechex الحروف السداسية عشرية بصورة صغيرة (مثل ff)؛ وهذا لا يغيّر قيمة العدد.
  • بين الدوال الجاهزة في PHP دالة base_convert($number, $from, $to) التي تحوّل بين أي نظامين، لكن المشروع المقرر يعتمد الدوال الأربع أعلاه.

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

  • صفحة ويب ديناميكية، وHTML وPHP وExpression Web.
  • عناصر التحكم: Form، مربع نص، ثلاثة أزرار Submit، ثلاثة Label.
  • bindec، decbin، hexdec، dechex.
  • isset($_POST[...]) وecho وmethod='post'.

ملخص الدرس

يُنتج مشروع الويب بتصميم صفحة بمربع نص وثلاثة أزرار Submit وثلاثة عناوين، ثم كتابة كود PHP يلتقط القيمة بـ $_POST ويفحص الزر المضغوط بـ isset ويحوّل بالدوال bindec وdecbin وhexdec وdechex (مع المرور بالعشري بين الثنائي والسداسي عشر)، ثم يطبع النتائج في Label بـ echo.

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

  • ما الفرق بين صفحة الويب الساكنة والديناميكية؟
  • ما وظيفة كل من isset و$_POST وecho في الكود؟
  • اكتب الدالة المناسبة للتحويل من عشري إلى ثنائي ومن سداسي عشر إلى عشري.
  • ماذا يعرض المشروع عند إدخال 1011 والضغط على «تحويل ثنائي»؟
  • لماذا نحتاج خطوة وسيطة للتحويل من ثنائي إلى سداسي عشر؟
حلّ أسئلة هذا الدرساختبر فهمك بأسئلة اختيار من متعدد وأسئلة مقالية مع نموذج إجابة، أو خض اختبارًا تفاعليًا سريعًا
أبلغ عن خطأ في هذا الدرس