بوابة الثانوية العامة المصرية

بوابة الثانوية العامة المصرية (https://www.thanwya.com/vb/index.php)
-   حاسب آلى 3ع ترم2 (https://www.thanwya.com/vb/forumdisplay.php?f=1965)
-   -   أسئلة للتفكير - عاطف مهدى حسان مايو 2016 (https://www.thanwya.com/vb/showthread.php?t=687082)

زياد_عاطف 10-05-2016 01:32 AM

أسئلة للتفكير - عاطف مهدى حسان مايو 2016
 

أسئلة للتفكير (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

Aliaa11 10-05-2016 11:20 AM

خطأ أثناء التشغيل

dentist do 11-05-2016 11:33 AM

طب هو ابه الفرق بين الحاله الاولى والتانيه ف الاجاااابه ؟؟؟ وهوا هيكرر كام مره ؟؟

زياد_عاطف 11-05-2016 12:42 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة dody dy ana (المشاركة 6428353)
طب هو ابه الفرق بين الحاله الاولى والتانيه ف الاجاااابه ؟؟؟ وهوا هيكرر كام مره ؟؟


فى الحالة الأولى

الحالة الاولى
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

اقتباس:

المشاركة الأصلية كتبت بواسطة زياد_عاطف (المشاركة 6428375)

فى الحالة الأولى

الحالة الاولى
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

اقتباس:

المشاركة الأصلية كتبت بواسطة dentist do (المشاركة 6429131)
..................

شكرااا :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

اقتباس:

المشاركة الأصلية كتبت بواسطة dentist do (المشاركة 6429359)
أولا : أكمل /
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

==========================
كل إجاباتك تقريبا صحيحة
شكرا على مجهودك

عاطف مهدى حسان =


جميع الأوقات بتوقيت GMT +2. الساعة الآن 01:22 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.