hosam abdelaziz
13-05-2013, 10:39 AM
ما هى قيمة r بعد تنفيذ الكود :
dim r as integer = 1
do while r <= 1
r = r - 2
loop
(msgbox(r
لماذا الإجابة overflow
dim r as integer = 1
do while r <= 1
r = r - 2
loop
(msgbox(r
لماذا الإجابة overflow
مشاهدة النسخة كاملة : عاجل للأستاذ أحمد قرنى hosam abdelaziz 13-05-2013, 10:39 AM ما هى قيمة r بعد تنفيذ الكود : dim r as integer = 1 do while r <= 1 r = r - 2 loop (msgbox(r لماذا الإجابة overflow waleedamin 13-05-2013, 11:02 AM الشرط بتاعك نتيجته True عشان كده هتنفذ المعادله r=r-2 يعنى r=1-2 هتطلع -1 ونوع integer --< r يعنى لازم تكون موجبه وصحيحه عشان كده over flow سيف سالم 13-05-2013, 11:41 AM ما هى قيمة r بعد تنفيذ الكود : dim r as integer = 1 do while r <= 1 r = r - 2 loop (msgbox(r لماذا الإجابة overflow الشرط بتاعك نتيجته True عشان كده هتنفذ المعادله r=r-2 يعنى r=1-2 هتطلع -1 ونوع integer --< r يعنى لازم تكون موجبه وصحيحه عشان كده over flow لان القيمة ستكون سالب مالا نهاية والنوع integer يقع بين سالب وموجب 2 مليار ماهر احمد اسماعيل 14-05-2013, 06:42 PM الشرط بتاعك نتيجته True عشان كده هتنفذ المعادله r=r-2 يعنى r=1-2 هتطلع -1 ونوع integer --< r يعنى لازم تكون موجبه وصحيحه عشان كده over flow سيف سالم 14-05-2013, 07:33 PM الشرط بتاعك نتيجته True عشان كده هتنفذ المعادله r=r-2 يعنى r=1-2 هتطلع -1 ونوع integer --< r يعنى لازم تكون موجبه وصحيحه عشان كده over flow النوع integer يسمح بتخزين السالب مفيش فيه مشكلة يعنى لو عدلنا السؤال كدا dim r as integer = 1 do while r = 1 r = r - 2 loop (msgbox(r ستكون الاجابة -1 وليست overflow نسر مصر 14-05-2013, 09:02 PM يرجع السبب الى نوع الحلقة فمثلا الحلقة التزايدية يجب ان يكون خطوة التزايد موجبة أما الحلقة التناقصية يجب ان تكون سالبة ابو محمد 2 14-05-2013, 09:53 PM الناتج overflow بسب القيمة في أول مره سوف تكون -1 ثم -3 ثم -5 ...... وهكذا حتي يصل الى اقصى مدى الى النوع integer وهو 2147483648- ولن يتوقف التكرار بسب ان الشرط مازال true ولكن تم تجاوز الحد الأقصى لمدى النوع integer وبالتالي تظهر رسالة overflow مع العلم بأن مدى النوع integer ( من -2147483648 الى +2147483647 ) مثل كتابة قيمة 300 في متغير من النوع byte تظهر رسالة overflow akoymmf 14-05-2013, 10:56 PM بسم الله الرحمن الرحيم البيان من النوع Integer يسمح بتخزين القيم الموجبو السالبة على المدى المخصص له لكن السبب هنا من يظهر خارج المدى بسبب ان بداية التكرار القيمهr = واحد ويتوقف عندما تصبح القيمة r اكبر من واحد وها لن يحدث وذلك اننا ننقص 2 كل مرة فيدخل فى تكرار لانهائى حتى يخرج من مدى توع البيان المعلن ولتجربة ضع مربع الرسالة داخل التكرار Dim m As Integer m = 1 Do While m <= 1 m = m - 2 ( MsgBox(m) Loop عمر العزونى 16-05-2013, 11:13 AM لا يا اخوانى المدرسين الأعزاء السبب ليس كما تظنون .. جربوا هذا الكود Dim r As Integer = 1 Do While r <= 1 r = r - 2 (MsgBox(r Loop ستجدود الشرط true إلى ما لا نهاية والنواتج ( -1،-3،-5،-7،-9،-11،.............ليس له نهاية ... فعندما تطلب منه الناتج بعد انتهاء الحلقة التكرارية فلابد أن لا يستطيع إيجاد ناتج فتظهر رسالة الخطأ " أعلى من المستوى"OverFlow أ/ هشام الصياد.. صفط تراب hany2014 16-05-2013, 12:15 PM هل يمكن استدعاء الاجراء قبل الاعلان عنه كما فى صفحة 85 hassanalhawy 16-05-2013, 12:28 PM هل يمكن استدعاء الاجراء قبل الاعلان عنه كما فى صفحة 85 نعم يمكن . ولكن فى أول الأمر سوف ينبهك البرنامج إلى وجود خطأ من عدم وجود الإجراء الذى تم استدعاءه ، وبعد الإعلان عنه يزول هذا الخطأ hassanalhawy 16-05-2013, 12:29 PM لان القيمة ستكون سالب مالا نهاية والنوع integer يقع بين سالب وموجب 2 مليار كلام صحيح بارك الله فيك أستاذ / سيف magdy3030 16-05-2013, 01:21 PM هل يتم طباعة كتب الكمبيوتر في المرحلة الاعدادية في العام القادم وما وضع المادة في العام القادم برجاء الرد لمن يعلم اي حاجة magdy3030 16-05-2013, 01:25 PM هل يتم طباعة كتب الكمبيوتر في المرحلة الاعدادية في العام القادم وما وضع المادة في العام القادم برجاء الرد لمن يعلم اي حاجة hany2014 16-05-2013, 09:26 PM حد ممكن يفهمنى حل السؤال الثالث رقم 1 فى نموزج اختبار رقم 1 حدد قيمه كل متغير بعد تنفيذ الكود المتغير القيمة C 11 K 7 N 11 Dim N, K, C As Integer C = 10For N = 1 To 10 Step 5 K = K + N Next IF N >= C Then C = C + 1 End IF hamdon1 19-05-2013, 12:44 PM الف شكر لكل واحد بيساهم في الخير |