صفحة البيت | èì 04 – 8848441 |  ú.ã 2213

 

 

 

 

 

 

 

(5) خصائص الـ JavaScript

الشرط - If

 

 

 

  

 

 عمليات مقارنة

 

== يساوي ، مساواة

=! يختلف

< أصغر

>   أكبر

<= أصغر أو يساوي

>= أكبر أو يساوي

 

 

 

سنتعلم كيف نجري مقارنة بين كميات بواسطة امر الشرط If

المقارنات والعمليات المنطقية تستعمل لفحص القيمتين True (صحيحة) و- False (خاطئة).

 

العامل

الوصف

المقارنة الرياضية

المقارنة بالسكربت

مثال: نتيجة المقارنة إذا

a=4 , b=5

=

المساواة

a = b

a == b

False

لا يساوي

a ≠ b

a != b

True

> 

أكبر من

a > b

a > b

False

< 

أصغر من

a < b

a < b

True

أكبر أو يساوي

a >= b

a >= b

False

أصغر أو يساوي

a <= b

a <= b

True

 

يمكن اجراء المقارنة ليس فقط بين القيم العددية بل بين الأحرف والقيم النصية.

مثلا: 'c' > 'b' والنص "baba"<"mama" وذلك كما يجري الترتيب في القاموس اللغوي.

 

 

  

 

 

 

 

الشرط if إذا

 

مبنى الشرط:

 

If (شرط) {

   أوامر للتنفيذ عندما يتحقق الشرط  ;

}

 

 

مثال:

 

<script>

  name = prompt("type your name");

  if (name == "firas") {

    document.write("your name is ", name);

  }

</script>

 

 

النتيجة:

type your name

firas

 

your name is firas

 

 

ماذا يحدث إذا أدخلنا اسماً غير الأسم "firas"؟

لم يتحقق الشرط لذلك لا يطبع شيء.

 

 

 

 

 

 

 

 

الشرط if – else

 

else – (إذا لا)

تستعمل else، أذا لم يتحقق أي شرط.

وهي لا تشترط شيء لتنفيذها أي تنفذ مباشرة أن لم يتحقق شرط if (وشرط else if أن وجد).

 

مبنى الشرط:

If (شرط) {

   أوامر للتنفيذ عندما يتحقق الشرط  ;

}

else {

     أوامر للتنفيذ عندما لا يتحقق الشرط  ;

}

 

 

 

مثال:

نريد كتابة برنامج يقرأ علامة امتحان. البرنامج يطبع رسالة ملائمة إذا نجح في الامتحان أو لم ينجح.

 

<script>

  grade = prompt("type grade?");

  grade = parseInt(grade);

  if (grade >= 55) {

     document.write("you pass the Exam");

  }

  else {

    document.write('you Fail');

  }

</script>

 

 

النتيجة:

Enter your grade? 80

you pass the Exam

 

 

 

 

 

 

 

 

الحالة - else if

سينفذ أولا الشرط if ولكن أن لم يتحقق الشرط (لم يكن صحيحاً)

سوف ينفذ الشرط else if (أن وجد).

مبنى الشرط:

 

If (شرط) {

   أوامر للتنفيذ عندما يتحقق الشرط  ;

}

else if (شرط) {

  أوامر للتنفيذ عندما يتحقق الشرط  ;

}

 

 

If (شرط) {

   أوامر للتنفيذ عندما يتحقق الشرط  ;

}

else if (شرط) {

  أوامر للتنفيذ عندما يتحقق الشرط  ;

}

else {

     أوامر للتنفيذ عندما لا يتحقق أي شرط  ;

}

 

 

 

 

 

  

 

*** تمارين ***

 

سؤال

أكمل الأماكن الناقصة في كل شرط من الشروط التالية.

 

أ)

نريد أن نفحص إذا كانت قيمة grade مساوية للعلامة 97.

if (grade == 97)

ب)

نريد أن نفحص إذا كانت قيمة n مختلفة عن no.

if (n != 'no')

ج)

أكتب شرط يفحص إذا كانت قيمة x ليس سالبة

if (x >= 0)

د)

أكتب شرط يفحص إذا m عدد زوجي (ينقسم على 2 بدون باقي)

if (m %  == 0)

هـ)

أكتب شرط يفحص إذا m من مضاعفات الـ  7

(ينقسم على 7 بدون باقي)

if (m % 7  == 0)

و)

أكتب شرط يفحص تحقق المساواة

if (a*a+b*b=c*c)

و)

أكتب شرط يفحص إذا m بين 3 و  9 (لمن غير 3 و 9)

if (m>3 and m<9)

 

 

 

 

سؤال

تمعن في البرنامجين التاليين. هل يوجد اختلاف بينهما؟

 

<script>

var n = 8, m = 8;

if (n == m) {

  document.write("equal");

}

else if (n != m) {

  document.write("not equal");

}

</script>

 

 

 <script>

var n = 8, m = 8;

if (n == m) {

  document.write("equal");

}

else {

  document.write("not equal");

}

</script>   

 

الحل:  لا يوجد اختلاف بين البرنامجين. يعطيان نفس المخرج لأاي عددين.

 

                                                                                                                 

 

 

 

تمرين

 

معطى السكربت التالي:

<script>

var x = parseInt(prompt("number="));

if (x < 0) {

   x = x * (-1);

}

document.write("x=",x,"<br>");

</script>

 

 

أ) ما هي النتيجة إذا المدخل 8؟

ب) ما هي النتيجة إذا المدخل -8؟

ج) ما هدف الكود (وظيفته

 

 

 

 

 

مثال:

 

 

النتيجة: حسب المدخلات

type a name? 1

one

 

type a name? 2

two

 

type a name? 3

three

<script>

  m = prompt ("type a name?");

  if (m == 1) {

    document.write("one");

  }

  else if (m == 2) {

    document.write("two");

  }

  else if (m == 3) {

    document.write("three");

  }

</script>

 

أضف إلى آخر الكود السابق، الكود التالي:

else {

    document.write("not 1, 2, ,3");

}

 

 

 

مثال:

البرنامج التالي يقوم بإدخال أسم.

إذا كان الاسم المُدخل tom يرحب بــ tom

إذا كان الاسم المُدخل jerry يرحب بــ jerry

إذا لم يكن الاسم أي واحد منهما يتم طباعة الرسالة

أنا لا أعرفك "I don't know you"

 

 

<script>

  m = prompt("type a name?");

  if (m == "tom") {

    document.write("Hi tom");

  }

  else if (m == "jerry") {

    document.write("Hi jerry");

  }

  else {

    document.write("I don't know you");

  }

</script>

 

 

 

النتيجة: حسب المدخلات

type a name? tom

Hi tom

 

type a name? jerry

Hi jerry

 

type a name? lyla

I don't know you

 

 

 

 

مثال:

البرنامج التالي يطلب من المُستخدم إدخال عددين صحيحين،

وبعدها يطلب إدخال أحد الإشارات + (جمع)، أو – (طرح)، أو * (ضرب)، أو / (قسمة).

بعد إدخال المعطيات البرنامج يقوم بإجراء العملية الحسابية على العددين

وذلك حسب نوع العملية التي تم إدخالها.

شغل البرنامج وفي كل مرة قم بتغيير العملية الحسابية:

من + إلى – وبعدها إلى الضرب * وبعدها إلى قسمة / 

 

<script>

  var x =parseInt(prompt("num1="));

  var y =parseInt(prompt("num2="));

  var op = prompt("type + - * /?");

  if (op == "+") {

    document.write(x,'+',y,'=',x+y);

  }

  else if (op == "-") {

    document.write(x,'-',y,'=',x-y);

  }

  else if (op == "*") {

    document.write(x,'*',y,'=',x*y);

  }

  else if (op == "/") {

    document.write(x,'/',y,'=',x/y);

  }

  else {

    document.write("Error-illegal");

  }

</script>

 

 

المخرج:

num1= 12

num2= 6

type + - * /? /

 

12 / 6 = 2

 

 

 

 

سؤال (تصحيح أخطاء) (îöâú éåí òéåï, 2018)

أمامكم برنامج الذي يقرأ عدد الحيوانات التي يقتنيها الطالب ويطبع رسالة ملائمة.

في البرنامج وقع عدة أخطاء. جدها؟ افرض أن المدخل صحيح.

 

var animals;

animals = prompt("enter number of animals");
animals = parseInt(animals);

if (animals > 2) {
    message = "you love animals";

}
document.write(message)

 

 

الحل:

المتغير message يحتوي على قيمة فقط في حال والشرط يتحقق (true).

نوضح: نفرض أن القيمة المدخلة 2 (animals=2) الشرط لا يتحقق،

عندما يصل البرنامج إلى تنفيذ الأمر: document.write(message)

هنا توجد مشكلة، لإنه لا توجد قيمة للمتغير message.

 

 

 

 

 

تمرين

 

اكتب برنامج يقرأ عدداً صحيحاً.

البرنامج يفحص إذا كان هذا العددـ عدداً زوجياً أو عدداً فردياً.

إذا كان عدداً زوجياً البرنامج يطبع "even".

إذا لم يكن عدداً زوجياً البرنامج يطبع "odd".

 

الفكرة: نفحص الباقي من قسمة العدد على 2.

إذا كان الباقي 0 يكون العدد زوجي وإذا لم يكن الباقي 0 (عندها الباقي يكون 1) عندها يكون العدد فردي.

 

if (num % 2 == 0) …

(إذا الباقي من قسمة num على 2 يساوي صفرا ... عندها العدد هو عدد زوجي)

الحل:

<script>

    num = parseInt(prompt("number="));

    if (num % 2 == 0) {

        document.write("even");

    }

    else {

        document.write("odd");

    }

</script>

 

 

 

 

 

سؤال

أكتب برنامج يقرأ وزن شخص بالكيلو غرامات الصحيحة.

إذا الوزن أقل من 50 كغم يطبع "normal"

وإذا لا، يطبع "not normal"

 

 

إدخال الوزن

الشرط

طباعة رسالة

 

 

إذا لم يتحقق

طباعة رسالة

<script>

  var weight = parseInt(prompt("weight="));

 

  if (weight < 50) {

 

     document.write("normal");

  }

  else {

 

     document.write("not normal");

  }

</script>

 

 

 

 

 

سؤال2 (تصحيح أخطاء)

أمامكم برنامج الذي يقرأ علامة طالب، إذا نجح يطبع رسالة ملائمة.

في البرنامج وقع خطأ. جده؟ افترض أن القيمة المدخلة صحيحة.

 

<script>

  var grade;

  grade=parseInt(window.prompt("type your grade="));

  if (grade >= 55) {

         message = "you pass";

  }

  document.write(message)

</script>

 

 

الحل:

المتغير message يحتوي على قيمة فقط في حال والشرط يتحقق (true).

نوضح: نفرض أن القيمة المدخلة 50 (grade=50) الشرط لا يتحقق،

عندما يصل البرنامج إلى تنفيذ الأمر: document.write(message)

هنا توجد مشكلة، لإنه لا توجد قيمة للمتغير message.

البرنامج سوف يعلن عن خطأ نحصل على الرسالة:

  Uncaught ReferenceError: message is not defined

 

 

 

 

 

 

سؤال4

تريد إدارة المدرسة أن تصنف الطلاب في موضوع الرياضيات إلى 3 فرق:

فرقة A – الطلاب اللذين علاماتهم فوق 84 (أي بين 85 و 100)

فرقة B – الطلاب اللذين علاماتهم بين 84 و 55 (يشمل)

فرقة C – الطلاب اللذين علاماتهم أقل من 55 (أي بين 54 و 0)

 

اكتب برنامج يستقبل علامة طالب (عدد صحيح) في اللغة الإنجليزية، ثم يطبع رسالة توضح الفرقة الملائمة له.

 

 

<script>

  var g = parseInt(prompt("grade="));

 

  if (g > 84) {

 

     document.write("A");

  }

  else if (g < 55) {

 

     document.write("C");

  }

  else {

 

     document.write("B");

  }

</script>

 

 

 

 

 

 

 

تمرين

ترجم الخوارزمية التالية إلى كود JavaScript

 

1 المستخدم عليه أن يدخل عدد

2  هل العدد ينقسم على 2 بدون باقي (أي مع باقي يساوي 0)

    2.1   أطبع "العدد ينقسم على 2"

    2.2   هل العدد ينقسم على 3 بدون باقي.

         2.2.1   أطبع "العدد ينقسم على 6".

3   إذا يمكن أن ينقسم على 3 بدون باقي.

    3.1  اطبع "العدد ينقسم على 3"

4    إذا لا افحص هل العدد ينقسم على 5 بدون باقي

    4.1    أطبع "العدد ينقسم على 5"

5   وإلا

    5.1   اطبع "العدد لا ينقسم على 2 وعلى 3 وعلى 5 بدون باقي"

 

الحل:

<script>

  var x = prompt("enter number")

  if (x % 2 == 0) {

    document.write("divided by 2 <br>")

    if (x % 3 == 0) {

       document.write("divided by 6 <br>")

    } 

  }

  else if (x % 3 == 0){

    document.write("divided by 3 <br>")

  } 

  else if (x % 5 == 0){

    document.write("divided by 5 <br>")

  } 

  else {

    document.write("not divided by 2, 3, 5, 6")

  } 

</script>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w4

 

  

 

 

مدرسة قفطان حلبي الإعدادية – دالية الكرمل - Copywrite – 2021