image001

صفحة البيت  |                מס טלפון 04 – 6046227 | מס' פקס 04 – 8303539

 

 

  

\

 

 جافا سكريبت - JavaScript 

موقع كتابة الكود repl.it  | تحميل Brackets| تحميل Notebad++    

  

 

 

(7) -  الحلقة التكرارية – while

مراجعات

   

 

 

 

 

تمرين  (מצגת יום עיון, 2017)

 

أمامكم مقطع كود بــ JavaScript:

 

<html> <body> <script>

var secret = 0;

var number = 1234;

while (number > 0) {

    secret = secret * 10 + number % 10;

    number = number / 10;

}

document.write("secret is " + secret);

</script></body></html>

 

تتبع وراء مقطع الكود وسجل ما هو المخرج؟                 4321        

 

ما هو هدف المقطع البرمجي؟  الكود يعكس العدد المعطى

 

توضيح وحل:

 

number

(number/10)

Secret

(secret * 10 + number % 10)

(number > 0)

1234

0

 

123

0 * 10 + 1234 % 10 =

0 + 4 = 4

(1234 > 0),True

12

4 * 10 + 123 % 10 =

40 + 3 = 43

(123 > 0),True

1

43 * 10 + 12 % 10 =

430 + 2 = 432

(12 > 0),True

0

432 * 10 + 1 % 10 =

4320 + 1 = 4321

(1 > 0), True

 

 

(0 > 0), False

 

 

 

 

 

 

 

تمرين  (מצגת יום עיון, 2017)

 

أمامك مقطع كود.

هدف مقطع الكود قراءة 10 سلع

في المتغير grocery،
وحساب وطباعة المبلغ النهائي للدفع.

في المقطع وقع خطأ واحد والمقطع لا ينفذ مهمته.

يجب توضيح الخطأ وتصحيحه.

ملاحظة: الخطأ ليس خطأ إملائي (תחביר).

 

 

<script>

  var grocery = parseInt(prompt("Press a number"));

  var count = 1, sum = 0 ;

  while (count <= 10) {

    grocery = parseInt(prompt("press a number"));

    sum = sum + grocery;

    count = count + 1;

  }

  document.write("sum=",sum);

</script>

 

الحل:   السطر الأول -  القراءة خطأ – يجب حذفه

 

 

 

 

 

 

 

تمرين – مسألة كلامية (מצגת יום עיון, 2017)

 

في المركز التربوي تقام 3 فعاليات:

·       رسم – drawing – الكود الملائم لها 0، بتكلفة ثمنها 20 ₪ للتذكرة.

·       مسرح theater - الكود الملائم لها 1، بتكلفة ثمنها 30 ₪ للتذكرة.

·       غناء - poetry - الكود الملائم لها 2، بتكلفة ثمنها 40 ₪ للتذكرة.

 

أمامك كود جزئي الذي هدفه إدخال لكل واحدة من الـ 20 عائلة (التي تم دعوتها إلى يوم الفعاليات هذا)، عدد التذاكر التي امتلكتها لكل واحدة من الثلاث فعاليات (رسم، تمثيل، وغناء).

 

على الكود أن يحسب ويطبع:

-         لكل عائلة مبلغ الدفع مقابل التذاكر التي امتلكتها.

-         المبلغ الكلي الذي تم جمعه من جميع الــ 20 عائلة.

 

في مقطع الكود ينقص أجزاء، اكملوهم.

 

الحل:

<html> <body> <script>  

  var drawing, theater, poetry;

  var sum = 0 , m = 1;

  while (m <= 20) {

    drawing = parseInt(prompt("كمية تذاكر الرسم"));

 

    theater = parseInt(prompt("كمية تذاكر المسرح"));

 

    poetry parseInt(prompt("كمية تذاكر الغناء"));

 

    pay = drawing * 20 + theater * 30 + poetry * 40 ;

 

    sum = sum + pay ;

    document.write(pay ," المبلغ الذي على العائلة دفعه");

    document.write("<br>");

    m = m + 1;

  }

  document.write(sum ,"المبلغ الكلي الذي تم جمعه هو") ;

 

</script> </body> </html>  

 

 

 

 

 

 

 

تمرين (تصحيح أخطاء) (מצגת יום עיון, 2018)

 

المهمة كتابة برنامج يُدخل أسعار لمُنتَجات، وبمجرد وصول المبلغ إلى ميزانية تبلغ حوالي 1000 شيكل، يتوقف البرنامج.

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

 

(أ)

sum = 0;

price = parseInt(prompt("enter price of product"));
while (sum
!= 1000){

   sum = sum + price;
   price = parseInt(prompt("enter price of product"));

}

 

الحل: حلقة لا نهائية – في حال ان القيمة ليس 1000 بالضبط.

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

(ب)

sum = 0;

price = parseInt(prompt("enter price of product"));
while (sum
> 1000) {

   sum = sum + price;
   price = parseInt(prompt("enter price of product"));

}

 

الحل: شرط الحلقة خطأ.

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

(ج)

price = parseInt(prompt("enter price of product"));
while (sum
<= 1000) {
  sum = 0;

  sum += price;      // sum = sum + price معناه
  price = parseInt(prompt("enter price of product"));

}

 

الحل: تفريغ (איפוס) في داخل الحلقة.

 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

(د)

var sum = 0;
price = parseInt(prompt("enter price of product"));
while (sum
<= 1000) {

  price = parseInt(prompt("enter price of product"));
    sum += price      // sum = sum + price
معناه
}

 

الحل: في الجمع تضيع القيمة الأولى التي قرأناها.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://sites.google.com/site/koftanhatav/_/rsrc/1424517650012/home/math1.png?height=241&width=320    

w4

 

  

 

 

 

 

 

تمرين  

 

أكتب برنامج يقرأ عددين إلى المتغيرين num1 و- num2.

على البرنامج أن يقوم بتبديل القيم التي بداخلهما.

 

مثال:

num1=5     num2=8     المُدخل

num1=8     num2=5   المُخرَج

 

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

الحل:

 

<script>

   n1 = parseInt (prompt ("n1= "));

   n2 = parseInt (prompt ("n2= "));

   document.write ("n1=",n1," n2= ",n2,"<br/>" );

   help = n1;

   n1 = n2;

   n2 = help;

   document.write ("n1=", n1, " n2= ", n2);

</script>

 

 

 

 

 

 

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