زياد_عاطف
10-05-2016, 01:32 AM
أسئلة للتفكير (1)
السؤال الأول : إذكر نوع الخطأ فى الجمل التالية إن وجد :-
Dim X As Single=5 000
Dim X As Single="5" 000
Dim X As Single="Five" 000
السؤال الثانى : إكتب علامة صح او خطأ بما يناسب العبارات التالية :-
1- يمكن استخدام علامة الشرطة السفلية (_) كاسم لمتغير فى البرنامج
2- يمكن أن يزيد اسم المتغير عن 200 حرف
السؤال الثالث : إذكر ما يتم عرضه فى صندوق الرسالة فى الحالات التالية
الحالة الاولى
Dim X as single
For X = 1 to 10 step 0
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X) 000
الحالة الثانية
Dim X as single
For X = 10 to 1 step 0
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X) 000
الحالة الثالثة
Dim X as single
For X = 1 to 10
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X) 000
الحالة الرابعة
Dim X as single
For X = 10 to 1
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X) 000
مع أطيب الامنيات بالتفوق
عاطف مهدى حسان - ميت موسى
المهدي مصطفى السعيد
10-05-2016, 07:35 AM
السلام عليكم ورحمة الله وبركاته
اهلا اهلا بالسيد الاستاذ / عاطف مهدي ... كل عام والجميع بالف الف خير
** Dim X As Single=5..... لا يوجد خطأ وسيتم تخزين القيمة 5 في المتغير x
** "Dim X As Single="5 .... أيضا لا يوجد خطأ وعن طريق التحويل الضمني سيقوم باستخلاص القيمة العددية 5 وتخزينها في المتغير x رغم انها بين علامتي تنصيص ... اي يمكن اعتبارها نصا...
** Dim X As Single="Five" ...... خطأ عند التشغيل من النوع Invalid Cast .... وستظهر رسالة عند النشغيل تؤكد ذلك
** - يمكن استخدام علامة الشرطة السفلية (_) كاسم لمتغير فى البرنامج ( خطأ )
** يمكن أن يزيد اسم المتغير عن 200 حرف ( مجربتهاش )
**
Dim X as single
For X = 1 to 10 step 0
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X)
** يستمر البرنامج في عرض القيمة ( 1 ) باستمرار وبلا نهاية ..
الحالة الثانية
** Dim X as single
For X = 10 to 1 step 0
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X)
** سيقوم بعرض مربع رسالة به القيمة Hiiiii 10 مرة واحدة وهي الرسالة الموجودة بعد next مما يعني ان المتغير x سيأخذ أول قيمة له وهي 10 ولن يتم تنفيذ التكرار ولا مرة ..
** الحالة الثالثة
**
Dim X as single
For X = 1 to 10
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X)
** في هذه الحالة سيتم تنفيذ التكرار 10 مرات وبالتالي يعرض القيم من 1 حتى 10 في مربع رسالة وهي الرسالة الموجودة بين For و Next... ثم يتوقف التكرار مع القيمة 11 ليذهب وينفذ الكود الموجود بعد Next وعرض مربع رسالة به Hiiiiii 11...
** الحالة الرابعة
** نفس الحالة الثانية تماما ........ سيقوم بعرض مربع رسالة به القيمة Hiiiii 10 مرة واحدة وهي الرسالة الموجودة بعد next مما يعني ان المتغير x سيأخذ أول قيمة له وهي 10 ولن يتم تنفيذ التكرار ولا مرة ..
شكرا جزيلا يا سادة ...هذا مجرد اجتهاد ..... كل عام وحضراتكم بالف الف خير
إياد عماد
10-05-2016, 10:30 AM
نوع الخطأ (إملائي ونحوي )Dim X As Single="Five" 0
dentist do
11-05-2016, 11:33 AM
طب هو ابه الفرق بين الحاله الاولى والتانيه ف الاجاااابه ؟؟؟ وهوا هيكرر كام مره ؟؟
زياد_عاطف
11-05-2016, 12:42 PM
طب هو ابه الفرق بين الحاله الاولى والتانيه ف الاجاااابه ؟؟؟ وهوا هيكرر كام مره ؟؟
فى الحالة الأولى
الحالة الاولى
Dim X as single
For X = 1 to 10 step 0
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X) 000
نلاحظ قيمة البداية أقل من قيمة النهاية فيتم التكرار إلى مالا نهاية و لا يتم الخروج من الحلقة التكرارية و تكون قيمة العداد X بعد كل تكرار هى قيمة البداية للعداد و هى 1 و فى هذا البرنامج سيتم طباعة قيمة العداد و هى [1] من خلال صندوق الرسالة لمالا نهاية و لا يتم التخلص من هذا الوضع اللا نهائى الا بعمل Stop Debugging
الحالة الثانية
Dim X as single
For X = 10 to 1 step 0
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X) 000
لاحظ قيمة البداية أكبر من قيمة النهاية و لن يتم التكرار و يأخذ المتغير X قيمة البداية للعداد و هى 10 و فى هذا البرنامج سيتم طباعة ما بعد Next و تنفيذ الجملةMsgBox ("Hiiiii " & X) 000 فيتم طباعة Hiiiii 10 أى طباعة Hiiiii متبوعة بقيمة العداد و هى [10] من خلال صندوق الرسالة
أما إذا أردت لااستفسار لماذا لم يتم طباعة 10 لمالا نهاية فى الحالة الثانية كما حدث و طبع [1] لما لا نهاية كما فى الحالة الاولى - فأقول هذه هى ديناميكية عمل حملة For Next و من صمموا لغة البرمجة جعلوها تعمل كما سبق شرحه
ناجى تهامى
11-05-2016, 09:09 PM
"Dim X As Single="5اجابة خاطئة نوع البيان string هو الذى يكتب بين علامتى تنصيص
ناجى تهامى
11-05-2016, 09:16 PM
اسم المتغير لا يزيد عن 255 حرف
زياد_عاطف
12-05-2016, 05:15 PM
أسئلة للتفكير (2)
أولا : أكمل
1- يتم إرجاع القيمة فى الدالة بإستخدام كلمة ــــــــــــــــــــــــــــــــ
2- لعرض الأعداد من 1.5 الى 0.5 بتناقص 0.05 كل مرة فى جملة For Next باستخدام العداد N نكتب الامر ــــــــــــــــــــــــ
3- للخروج من الحلقة التكرارية مباشرة بدون إنتظار اختبار التعبير الشرطى المكتوب فى بداية جملة Do While عندما تصبح قيمة المتغير FirstName تساوى Atef Mahdy نكتب الأمر ــــــــــــــــــــــــــــــــــــــــــــــــــ ــ
ثانيا : اكتب علامة صح او خطأ بما يناسب العبارات التالية
1- يمكن إستخدام رمز الربط & للربط بين النصوص و المتغيرات
2- إذا تم كتابة كلمة حروفهاخطأ بعد Rem فى نافذة الكود يحدث خطأ املائى و نحوى Syntax Error
3- الدالة Function لها نوع بيان لأنها تعود بقيمة أما الإجراء Sub فليس له نوع بيان لأنه مجموعة من الأوامر و التعليمات يتم إستدعائها و لا تعود بقيمة
السؤال الثالث : الاكواد
قم بالتعديل المطلوب فى التدريب التالى لطباعة الأعداد تنازليا بدلا من تصاعديا بإستخدام جملة For Next
Dim N , I As Integer
N = TextBox1.text
ListBox1.Items.clear() 000
For I = 1 To N Step 2
ListBox1.Items.Add(I) 000
Next
مع أطيب الأمنيات بالنجاح و التفوق
عاطف مهدى حسان - ميت موسى
dentist do
12-05-2016, 05:37 PM
فى الحالة الأولى
الحالة الاولى
Dim X as single
For X = 1 to 10 step 0
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X) 000
نلاحظ قيمة البداية أقل من قيمة النهاية فيتم التكرار إلى مالا نهاية و لا يتم الخروج من الحلقة التكرارية و تكون قيمة العداد X بعد كل تكرار هى قيمة البداية للعداد و هى 1 و فى هذا البرنامج سيتم طباعة قيمة العداد و هى [1] من خلال صندوق الرسالة لمالا نهاية و لا يتم التخلص من هذا الوضع اللا نهائى الا بعمل Stop Debugging
الحالة الثانية
Dim X as single
For X = 10 to 1 step 0
MsgBox (X) 000
Next
MsgBox ("Hiiiii " & X) 000
لاحظ قيمة البداية أكبر من قيمة النهاية و لن يتم التكرار و يأخذ المتغير X قيمة البداية للعداد و هى 10 و فى هذا البرنامج سيتم طباعة ما بعد Next و تنفيذ الجملةMsgBox ("Hiiiii " & X) 000 فيتم طباعة Hiiiii 10 أى طباعة Hiiiii متبوعة بقيمة العداد و هى [10] من خلال صندوق الرسالة
أما إذا أردت لااستفسار لماذا لم يتم طباعة 10 لمالا نهاية فى الحالة الثانية كما حدث و طبع [1] لما لا نهاية كما فى الحالة الاولى - فأقول هذه هى ديناميكية عمل حملة For Next و من صمموا لغة البرمجة جعلوها تعمل كما سبق شرحه
..................
شكرااا :rolleyes: طب ماذا يحدث فى الكود التالى
for m=1 to 10 step -2
msgbox(m( ???
زياد_عاطف
12-05-2016, 06:39 PM
..................
شكرااا :rolleyes: طب ماذا يحدث فى الكود التالى
for m=1 to 10 step -2
msgbox(m( ???
===================
طالما أن قيمة البداية أقل من قيمة النهاية فى جملة For Next يجب أن تكون قيمة الزيادة التى بعد Step موجبة حتى يتم التكرار -
و إذا كانت قيمة البداية أقل من قيمة النهاية فى جملة For Next و كانت قيمة الزيادة التى بعد Step سالبة لن يتم التكرار -
و سواء تم تكرار أم لم يتم عندما يتم الذهاب لكلمة Next يتم تخزين قيمة البداية فى العداد
لذلك فى هذه الجملة لن يتم التكرار لان قيمة البداية أقل من قيمة النهاية و قيمة الزيادة سالبة فيتم تخزين قيمة البداية 1 فى العداد M و بعد كلمة Next مباشرة تكون قيمة العداد M هى قيمة البداية [1]
=========
عاطف مهدى
dentist do
12-05-2016, 11:17 PM
أولا : أكمل /
1- يتم إرجاع القيمة فى الدالة بإستخدام كلمة ــــــــــــــــــــــــــــــــ
1/ input box
2- لعرض الأعداد من 1.5 الى 0.5 بتناقص 0.05 كل مرة فى جملة For Next باستخدام العداد N نكتب الامر ــــــــــــــــــــــــ
2/for n = 1.5 to .5 step -.5
next
3- للخروج من الحلقة التكرارية مباشرة بدون إنتظار اختبار التعبير الشرطى المكتوب فى بداية جملة Do While عندما تصبح قيمة المتغير FirstName تساوى Atef Mahdy نكتب الأمر ــــــــــــــــــــــــــــــــــــــــــــــــــ ــ
if first name= atef mahdy then exit do
ثانيا : اكتب علامة صح او خطأ بما يناسب العبارات التالية
1- يمكن إستخدام رمز الربط & للربط بين النصوص و المتغيرات
صح
2- إذا تم كتابة كلمة حروفهاخطأ بعد Rem فى نافذة الكود يحدث خطأ املائى و نحوى Syntax Error
خطأ
3- الدالة Function لها نوع بيان لأنها تعود بقيمة أما الإجراء Sub فليس له نوع بيان لأنه مجموعة من الأوامر و التعليمات يتم إستدعائها و لا تعود بقيمة
صح
السؤال الثالث : الاكواد
قم بالتعديل المطلوب فى التدريب التالى لطباعة الأعداد تنازليا بدلا من تصاعديا بإستخدام جملة For Next
Dim N , I As Integer
N = TextBox1.text
ListBox1.Items.clear() 000
For I = 1 To N Step 2
ListBox1.Items.Add(I) 000
ممكن اجابه السؤال الاخير ومراجعه اجابه الاسئله Ne xt
زياد_عاطف
13-05-2016, 02:27 AM
أولا : أكمل /
1- يتم إرجاع القيمة فى الدالة بإستخدام كلمة ــــــــــــــــreturnــــــــــــــــ
1/ input box
2- لعرض الأعداد من 1.5 الى 0.5 بتناقص 0.05 كل مرة فى جملة for next باستخدام العداد n نكتب الامر ـــــــــــــfor n = 1.5 to 0.5 step 0.05 ــــــــ
2/for n = 1.5 to .5 step -.5
next
3- للخروج من الحلقة التكرارية مباشرة بدون إنتظار اختبار التعبير الشرطى المكتوب فى بداية جملة do while عندما تصبح قيمة المتغير firstname تساوى atef mahdy نكتب الأمر ــــــــــــــــــــــــــــــif firstname = "atef mahdy" then exit do ــــــــــــــــــــــ
if first name= atef mahdy then exit do
ثانيا : اكتب علامة صح او خطأ بما يناسب العبارات التالية
1- يمكن إستخدام رمز الربط & للربط بين النصوص و المتغيرات
صح
2- إذا تم كتابة كلمة حروفهاخطأ بعد rem فى نافذة الكود يحدث خطأ املائى و نحوى syntax error
خطأ
3- الدالة function لها نوع بيان لأنها تعود بقيمة أما الإجراء sub فليس له نوع بيان لأنه مجموعة من الأوامر و التعليمات يتم إستدعائها و لا تعود بقيمة
صح
السؤال الثالث : الاكواد
قم بالتعديل المطلوب فى التدريب التالى لطباعة الأعداد تنازليا بدلا من تصاعديا بإستخدام جملة for next
dim n , i as integer
n = textbox1.text
listbox1.items.clear() 000
i = n
do while i >=1
listbox1.items.add(i) 000
i = i - 2
loop
==========================
كل إجاباتك تقريبا صحيحة
شكرا على مجهودك
عاطف مهدى حسان =