|
أرشيف المنتدى هنا نقل الموضوعات المكررة والروابط التى لا تعمل |
مشاهدة نتائج الإستطلاع: هل تريد البرنامج المقرر Visual Basic 2008 express | |||
نعم أريدة وأحتاجة |
![]() ![]() ![]() ![]() |
74 | 86.05% |
لا شكراً غير مهم |
![]() ![]() ![]() ![]() |
12 | 13.95% |
المصوتون: 86. أنت لم تصوت في هذا الإستطلاع |
|
أدوات الموضوع | ابحث في الموضوع | انواع عرض الموضوع |
|
#1
|
|||
|
|||
![]()
سؤال نرجو الرد عليه مع التفسير
Public Class Form1 طبعا مع التفسيرFunction Sum(ByVal First As Byte, ByVal second As Byte) As Byte Dim total As Short total = First + second Return total End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox(Sum(255, 1)) End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim total As Short total = 255 + 1 MsgBox(total)) End Sub End Class عند الضغط على button2 ماذا يحدث عند الضغط على button1 ماذا يحدث واعتقد الكثير ليس لديه تفسير وخاصة الكمبيوتر التعليمى
__________________
|
#2
|
||||
|
||||
![]()
أولاً بالنسبة للزر الأول قيمة tatal سوف تكون 256 وهذا الرقم تتقبله tatal لأنها من نوع Short
ولكن عند تحويل تلك القيمة الراجعة من نوع بيان Short إلى نوع بيان Byte اللى هوا نوع بيان الدالة Sum يصطدم التحويل بأعلى قيمة لمدى الـ Byteوهو 255 فيعطى رسالة خطأ وقت التشغيل ولكن السؤال هنا إذا كان شرحى هذا صحيح فلماذا لم يشر للخطأ للسطر Return total ؟ ولكنه أشار للسطر السابق له وهو total = First + second هذا غير مفهوم عذراً أستاذ / سيف فأنا أسأل وأرد على نفسى
__________________
يخطئ من يظن أن للذئاب ديناً
|
#3
|
|||
|
|||
![]() اقتباس:
لماذا الرن تيم في هذا السطر ولماذا نفذ في button2 البرنامج لم يصل بعد للقيمة الراجعة حتى يصدم بالنوع
__________________
|
#4
|
|||
|
|||
![]() اقتباس:
لو اردنا ان نفسر لماذا الكمبيوتر لم يستطع تخصيص 256 في النوع short هو نفس السبب فسر 1+2=4
__________________
|
#5
|
||||
|
||||
![]()
ماذا تقصد بهذا التفسير
__________________
يخطئ من يظن أن للذئاب ديناً
|
#6
|
|||
|
|||
![]()
طبعا التفسير
كان فسر 2+1=4 لما نيجى نفسر هكذا صيغة عملية الجمع صحيحة ولا غبار عليها حيث تم جمع عدد مع عدد فيكون الناتج عدد لان عملية الدمج عملية مغلقة ولكن قيمة 1+2 ليست هي دي القيمة 4 هل هذا تفسير طبعا دا اسمه لف ودوران وسفسطة فقط ولا غير اما التفسير يكون هكذا 1+2=4 عملية حسابية خاطئة فقط ولاغير وبكل بساطة
__________________
|
#7
|
|||
|
|||
![]()
Arithmetic operation resulted in an overflow.
|
#8
|
|||
|
|||
![]()
يبقى نوصل الى ان نوع القيمه الراجعه هى نفس نوع الداله برغم اختلاف نوع الاعلان
|
#9
|
|||
|
|||
![]() اقتباس:
ليت الاخرين يفسروا اصحاب الراي الاخر
__________________
|
#10
|
||||
|
||||
![]()
هذا هو التفسير المنطقى لذلك
وحتى لو كتبنا الكود كما يلى سوف يعطى خطأ فى نفس السطر Function Sum(ByVal First As Byte, ByVal second As Byte) As
Dim total As Short total = First + second total = total - 1 Return total End Function بالرغم من أن total أصبحت قيمتها فى المدى المسموخ لـ Byte
__________________
يخطئ من يظن أن للذئاب ديناً
|
#11
|
||||
|
||||
![]()
أنظر لهذا التعديل وستعجب له
Function Sum(ByVal First As Short, ByVal second As Short) As Byte
Dim total As Short total = First + second Return total End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox(Sum(255, 1)) End Sub ستجد أن الخطأ ظهر فى سطر Return total
__________________
يخطئ من يظن أن للذئاب ديناً
|
#12
|
||||
|
||||
![]()
أنظر لهذا التعديل وستعجب له
Function Sum(ByVal First As String, ByVal second As String) As Byte Dim total As String total = First + second Return total End Function Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox(Sum("255", "1")) End Sub ستجد أن الخطأ ظهر فى سطر Return total
__________________
يخطئ من يظن أن للذئاب ديناً
|
#13
|
||||
|
||||
![]()
الغريب أن نوع بيان المعاملات First و second يؤثر فى مكان حدوث الخطأ
فعندما يكون نوع بيان المعاملات First و second نفس نوع بيان الدالة وهو Byte يحدث الخطأ عند الأمر total = First + second و عندما يكون نوع بيان المعاملات First و second نفس نوع بيان القيمة الراجعة total وهو مثلاً Short يحدث الخطأ عند الأمر Return total
__________________
يخطئ من يظن أن للذئاب ديناً
|
#14
|
||||
|
||||
![]() اقتباس:
هو ده الكلام المظبوط والاستنتاج الصحيح يا مستر حسن
__________________
يارب ارفع عنَّا وعن مصر الفتن ما ظهر منها وما بطن واحفظ بلاد المسلمين من كل شر وسوء يا أرحم الراحمين
|
#15
|
|||
|
|||
![]() اقتباس:
لماذا لا تفسر هكذا فعندما يكون نوع بيان المعاملات First و second نفس نوع بيان الدالة وهو Byte يحدث الخطأ عند الأمر total = First + second لانه لايمكن التخزين في نوع مغاير الا هو نوع المتغير داخل الدالة اما و عندما يكون نوع بيان المعاملات First و second نفس نوع بيان القيمة الراجعة total وهو مثلاً Short يحدث الخطأ عند الأمر Return totalتفسر هكذا و عندما يكون نوع بيان المعاملات First و second مغايرنوع بيان الدالة وهو Byte ومتفق مع نوع بيان المتغير داخل الدالة total وهو مثلاً Short يحدث الخطأ عند الأمر Return total لانه ليس نوع بيان الدالة byte
__________________
|
العلامات المرجعية |
الكلمات الدلالية (Tags) |
أبوزياد, اتفة الفصل الرابع وورد, شرح الترم الثاني فيديو |
|
|