اقتباس المشاركة الأصلية كتبت بواسطة ~ MissCloud ~ مشاهدة المشاركة
و.. لو أُثقل عليك هل هنـاك برنامج آخر لإخراج المُخرج السابق " بلغة الـqbasicبالطبع" لكن بصيغة مختلفة؟


يمكن كتابة الأمر السابق بصيغ مختلفة لكن لن تخرج عن الفكرة الرئيسية للكود السابق ^^"

وهذا كود آخر لتنفيد نفس العملية لكن بنفس الفكرة فقط غيرت واحدة دوال الـ For الموجودة بـ Do , Loop حتى تتجنبي الخربطة في فهم الكود بحيث يكون هناك Do واحدة و For واحدة

كود:
Dim x, i: Do Until x = UE: x = x + 1: For i = 1 To x: Print x;: Next i: Print: Loop
طبعا يمكن إختصار الكود ليصبح في سطر واحد << علشان أخونا shekoforever بيحب إختصار الأومر في سطر واحد XD

بالنسبة UE عليك بتغييره لمتغير إدخال المستخدم والذي كتبته لك من قبل User_Entry وما حطيت فيه علامة _ علشان مايزعل عمنا إسلام XD

ولكن عند فك الكود السابق لأصله يكون هكذا:
Dim x, i

Do Until x = UE
x = x + 1

For i = 1 To x
Print x;
Next i

Print
Loop
نأتي لشرح الكود:
في السطر الأول قمنا بتعريف المتغيرات التي سنستخدمها
Dim x, i
وهي بأي إسم يحدده المستخدم ^_^
وهنا قد سميت المتغيرات ب i و x وقد سميتها قبلا بـ outside و inside
يعني سميها براحتك ^^"

ثم إستخدمنا دالة التكرار Do , Loop للتكرار الأوامر التي بينهما بعدد محدد من المرات
وفائدته معرفة العدد الذي ادخله المستخدم والذي سوف يكون عدد الأرقام التي ستكرر
فمثلا لو أدخلنا الرقم 10 سيتم تكرار الأوامر التي بين Do , Loop بمقدار 10 مرات حيث اشترطنا على البرنامج ان يكرر الأوامر إلى أن تصبح قيمة x = 10 وهي القيمة التي أدخلها المستخدم

والآن نأتي لأول أمر داخل حدث التكرار والذي سيتم تكراره 10 مرات (بفرض ان المستخدم ادخل الرقم 10)
x = x + 1
هنا نقول للبرنامج ان يزيد قيمة X الحالية بمقدار واحد وحيث اننا لم نحدد قيمة حالية للرقم X فإن قيمته 0 وعند زيادة 1 يصبح قيمته 1
وهكذا سيستمر تكرار الكود وزيادة 1 على قيمة X في كل مرة , وفائدة هذا الكود ان نصل بقيمة X إلى الرقم الذي ادخله المستخدم حتى يتوقف التكرار عندما يصل اليه

ثم كود تكرار من نوع آخر وهو For
For i = 1 To x
Print x;
Next i
وهنا نقول للبرنامج ان يكرر الأمر الذي بين For و Next بمقدار العدد X الحالي وسيبدأ بالرقم 1 وحتى يصل لقيمة X الحالية التي ستكون مع اول دورة تكرار Do بمقدار 1 ثم ستزداد لتصبح 2 ثم 3 ثم 4 .. إلى أن تصبح 10

بإختصار في كل مرة يزداد قيمة الرقم X بواسطة دالة التكرار Do سيتم تنفيد مابين For و Next بنفس مقدار X

والأمر الموجود مابين For و Next هو:
Print x;
يعني سيكتب قيمة الرقم X ووجود الرمز ; يعني انه مازال سيكتب التالي على نفس السطر مع مسافة بسيطة وحيث ان دالة For كتبناها بحيث تكرر الأوامر التي بداخلها بمقدار الرقم X إذن:
يتم تكرار الرقم X بمقدار X من المرات
وهذا هو أهم نقطة بالكود والمطلوب منه

ثم اخيرا بعد ان ينتهي من تكرار X بمقدار X من المرات على نفس السطر بواسطة دالة التكرار For

نجد أمر أخير بعده وهو
Print
وفائدته انه سيعمل سطر جديد حتى يمكن كتابة الرقم X التالي عليه بمقدار X من المرات



إن شاء الله الشرح واضح رغم اني حاسس اني عقدتها زائد عن اللزوم xD

أي نقطة ليست واضحة سأشرحها مرة أخرى بإذن الله



أخيرا إن شاء الله سيرى النور وسأصدعكم مرة أخرى بالكلام والمشاركات XDDDDD
نتمنى ذلك XD

بالنسبة للنسخ واللصق فهذا يتم في الدوس أي نعم لكن لا يمكنك عمل ذلك أثناء تشغيل الكيو بيسك وذلك لأن أوامر الماوس مفعلة في البرنامج فعليا ويمكن استخدام الماوس في البرنامج ^^"
ايه صحيح بس أنا كنت بتكلم عن الدوس فقط لإني قلت يمكن البعض يفهم من كلامك انه لايمكن النسخ واللصق من وإلى الدوس ^^"
لأن برنامج qbasic يستخدم الدوس لذا لا يمكنها النسخ من الويندوز واللصق في هذه الشاشة


بالمناسبة وللمعلومية لا يمكن تسمية متغيرات في برنامج الكيو بيسك تحتوي على هذه العلامة _

<< البرنامج كان وقتها لا يزال متخلفا ولم يتطور بعد
ومنكم نستفيد ^_^