الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]

[ منتدى البرامج والهواتف الذكية ]


النتائج 1 إلى 20 من 294

العرض المتطور

  1. #1

    الصورة الرمزية ~ MissCloud ~

    تاريخ التسجيل
    Jan 2008
    المـشـــاركــات
    2,373
    الــــدولــــــــة
    مصر
    الــجـــــنــــــس
    أنثى
    الـتـــقـــــيـيــم:

    افتراضي رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]

    اقتباس المشاركة الأصلية كتبت بواسطة WaHdAiN مشاهدة المشاركة

    وعليكم السلام ورحمة الله وبركاته

    لم أفهم هذه النقطة جيدا , كيف تريدي ان يخرج الناتج إذا؟ ^^"

    على كل هذا هو كود العملية التي طلبتيها وإن شاء الله يكون واضح

    كود:
    Dim inside, outside ' تعريف متغيرات البرنامج
    For outside = 1 To user_entry
    For inside = 1 To outside Print outside; ' الكتابة على نفس الخط Next inside
    Print 'خط جديد
    Next outside
    غيري user_entry إلى متغير إدخال المستخدم

    أي نقطة ليست واضحة في الكود سأقوم بشرحها بإذن الله
    وعليكم السلآم ورحمة الله وبركاته..

    جــزاك الله كل خير، الناتج ظهر أخيراً معي..

    أقصد بـ "برينت" ألا أضع الناتج الذي أريده بين علامتي تنصيص ليخرج الناتج بدون إدخال الرقم من قبل المستخدم..

    لكن لم أفهم تمـاماً لم أدرجنا الأمر بهذه الصورة، هل لي بتوضيح بسيط عن مهمة كل أمر بالبرنامج السابق.

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

    فرج الله عليكم كما فرجتم علينـا.

    وجزاك بخير ما تتمنى.

    اقتباس المشاركة الأصلية كتبت بواسطة shekoforever مشاهدة المشاركة
    على ما أعتقد فى QBasic يمكت تعديل بسيط على الكود ليصبح هكذا:

    كود:
    Input "Enter a number: ",N
    For outside = 1 To N
        For inside = 1 To outside
            Print outside;
        Next inside
        Print
    Next outside
    يمكن عمل تلك الحركة فى روبى بنفس فكرة التكرار و لكن أيضاً يمكن ذلك بسطرين (يعتبروا سطرا واحد)!
    كود:
    print "Enter a number: "
    (1..gets.to_i).map{|i| puts "#{i} "*i}
    هكذا هى اللغات الحديثة
    جزاك الله كل خير أخي الكريم..

    لكن حقيقة واجهتني مشكلة لدى تطبيق كود السطر ونصف.. أولاً لم أجد هذا الرمز |، وطبعاً لا يقبل برنامجي أمر اللصق والنسخ.. وثانياً يظهر البرنامج لدى الضغط على Run>>start الخطأ التالي:

    "Expected : Statment"..

    هل من حل ؟

    وعفواً بقدر الإزع ـاج.\

    كلآود

  2. #2

    الصورة الرمزية WaHdAiN

    تاريخ التسجيل
    Dec 2006
    المـشـــاركــات
    1,873
    الــــدولــــــــة
    اليمن
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:

    افتراضي رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]

    اقتباس المشاركة الأصلية كتبت بواسطة ~ 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 يستخدم الدوس لذا لا يمكنها النسخ من الويندوز واللصق في هذه الشاشة


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

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


  3. #3

    الصورة الرمزية ~ MissCloud ~

    تاريخ التسجيل
    Jan 2008
    المـشـــاركــات
    2,373
    الــــدولــــــــة
    مصر
    الــجـــــنــــــس
    أنثى
    الـتـــقـــــيـيــم:

    افتراضي رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]

    Eye Code

    الرمز موجود لدي بالفعل، لكن الفكرة أن لدى كتابة الرمز يظهر خطأ بالعبـارة " error : statment" هكذا..

    لا بالعكس، فعلتم ما بوسعكم سيدي.

    شكراً جزيلاً.

    إسـلآم

    والله لا أدر ما أقول..

    الشرح أكثر من وافي، يمكنني القول أني -الحمد لله- فهمت تمـاماً..

    دعني أوضح أكثر بخصوص الأمر برينت.. المفترض - حسب علمي- أن وضع أي كلام بين علامتي تنصيص مسبوقة بأمر برينت يظهر ما بين الأقواس بدون تغيير..

    مثال البرنامج التالي

    cls

    x=12

    print x

    end

    هو 12

    أمـا هكذا :

    cls

    "print "x=12

    end

    هو x=12

    وكان غرضي ألَّا ألجأ لطريقة وضع الأرقـام كلها بين علامتي تنصيص بحيث تظهر كنص مطبوع.. وقد كان.

    فعلاً ولأن الكيوبيزك كان برنامج محدود لا أدري مطور عن برنامج سبقه كان ال basic حسبما أذكر.. كان الكل قبل قرابة عشرين سنة فقط لا هم لهم إلا تعلمه.. " أصبحت محاضرة برمجة "..

    لكن أود ان ارى هل مازلت أذكره جيدا ام لا


    وهل نجد إلا الإيجاب سبيلاً ؟.. بارك الله حفظك وزادك علماً على علم.


    WaHdAiN

    أهلاً مجدداً سيدي..

    نعم كان قصدي أمر أخر لكن يخرج نفس الناتج..

    وكذلك لا أدري كيف أشكرك..

    الشرح وافي وقد طبقت الأمر كذلك..

    لا أبداً..

    . . . . . . . .

    Eye code || إسلآم || WaHdAiN..

    كان الغرض من السؤال درجة bounce تضـاف للمـادة.. وقد نلتها بفضل من الله ثم بكم..

    لاشكر يوفي مساعدتكم غير أن يشكر الله لكم.

    اللهم آمين.

  4. #4

    الصورة الرمزية إسلام 2006

    تاريخ التسجيل
    Oct 2006
    المـشـــاركــات
    5,906
    الــــدولــــــــة
    مصر
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:
    كاتب الموضوع

    افتراضي رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]

    اقتباس المشاركة الأصلية كتبت بواسطة ~ MissCloud ~ مشاهدة المشاركة
    إسـلآم

    والله لا أدر ما أقول..

    الشرح أكثر من وافي، يمكنني القول أني -الحمد لله- فهمت تمـاماً..

    دعني أوضح أكثر بخصوص الأمر برينت.. المفترض - حسب علمي- أن وضع أي كلام بين علامتي تنصيص مسبوقة بأمر برينت يظهر ما بين الأقواس بدون تغيير..

    مثال البرنامج التالي

    cls

    x=12

    print x

    end

    هو 12

    أمـا هكذا :

    cls

    "print "x=12

    end

    هو x=12

    وكان غرضي ألَّا ألجأ لطريقة وضع الأرقـام كلها بين علامتي تنصيص بحيث تظهر كنص مطبوع.. وقد كان.

    فعلاً ولأن الكيوبيزك كان برنامج محدود لا أدري مطور عن برنامج سبقه كان ال basic حسبما أذكر.. كان الكل قبل قرابة عشرين سنة فقط لا هم لهم إلا تعلمه.. " أصبحت محاضرة برمجة "..



    وهل نجد إلا الإيجاب سبيلاً ؟.. بارك الله حفظك وزادك علماً على علم.


    لا عليك أبدا أختي فلم نفعل إلا الواجب

    الحمد لله أن الشرح كان مفهوما

    فهمت قصدك أختي

    ويمكنك أيضا ان أردت استخدام هذا الأمر:

    "print "x=12

    لكن دون كتابة 12 بين علامتي تنصيص بحيث يقوم البرنامج نفسه بكتابة قيمة x بنفسه (تفيد في حالة كانت قيمة اكس متغيرة أو لا تعلمينها تحديدا) فأننا نكتبها هكذا

    PRINT "x ="; x


    وفيكِ بارك الله تعالى وجزاك بمثل ما دعوتِ لي به وأفضل منه


    Eye code || إسلآم || WaHdAiN..

    كان الغرض من السؤال درجة bounce تضـاف للمـادة.. وقد نلتها بفضل من الله ثم بكم..

    لاشكر يوفي مساعدتكم غير أن يشكر الله لكم.

    اللهم آمين.

    الحمد لله تعالى أن جعلنا سببا في ذلك

    لم نفعل إلا الواجب فقط

    جوزيت خيرا على دعواتك

    في امان الله تعالى

  5. #5

    الصورة الرمزية ؛ّ نديمك ؛ّ

    تاريخ التسجيل
    Feb 2009
    المـشـــاركــات
    1,015
    الــــدولــــــــة
    مصر
    الــجـــــنــــــس
    ذكر
    الـتـــقـــــيـيــم:

    افتراضي رد: الموضوع الرسمي لإستفسارات المبرمجين في لغات البرمجة [يرجى المساهمة من جميع المبرمجين]

    سؤال جديد:كيف قمت بعمل تدرج لشفافية ذاك في بداية برنامج MSOMS Converter2...
    حاولت استخدام خاصية Opacity مع التايمر وما استطعت....كيف إذا؟



    اقتباس المشاركة الأصلية كتبت بواسطة إسلام2006

    بالنسبة للتدرج في الشفافية فقد قمت بعمله بالفعل باستخدام تايمر وبخاصية opacity

    ولا أظن انك أخطأت في كتابة الكود لكن هناك مالا تعلمه ربما عن خاصية opacity فعند استخدامها في الكود تأخذ قيما عشرية بين صفر وواحد وليس بين صفر و مئة ^_^

    أي اجعلها مثلا تبدأ بقيمة صفر

    ثم مع كل تكة للتايمر زد القيمة بنسبة 0.01 مثلا أو بنسبة 0.05 او بنسبة 0.1 او بأي نسبة أخرى تريدها حتى تصل الى واحد صحيح

    سأشرح لك تقريبيا بدون تفاصيل الكود

    - اسحب تايمر وضعه على الفورم

    - في properties الفورم ضع opacity = 0

    - في properties التايمر الذي وضعته سابقا ضع Interval = 100 (يمكنك تغييرها ان أردت، الأمر يرجع لك)
    هذه الخاصية تفعل التايمر حسب الوقت الذي وضعته فيها بالملي ثانية
    مثلا لو وضعتها بـ 1000 فمعناه ان الكود الذي ستكتبه داخل التايمر سينفذ مرة كل ثانية


    ثم ضع enabled = true

    - اذهب الى الكود وعرف متغيرا رئيسيا مشتركا يمكن استخدامه في جميع ال functions الموجودة داخل الفورم وليكن اسمه x وضع قيمته = 0

    - الان اختار ال events الخاصة بالتايمر (يتم ذلك عن طريق أن تقوم بالضغط على التايمر ضغطة واحدة فقط حتى يتم التأشير عليه ثم اذهب الى نافذة properties الخاصة بالتايمر، ستجد في أعلاها زرا على شكل شرارة كهربائية لونها أصفر، اضغط عليها سيقوم بفتح نافذة ال events الخاصة بالتايمر

    - ستجد event وحيد للتايمر اسمه tick اضغط عليه ضغطتين سريعتين لذهاب الى نافذة الكود الخاصة بهذا الـ event

    - داخل هذا الكود ضع opacity = x ثم في سطر جديد زد قيمة x بـ 0.01 أي (x = x + 0.01)

    هذا كل شيئ، طبعا لا تنسى اضافة شرط مثلا مثل: ان وصلت قيمة x الى 1 يتم وضع enabled الخاصة بالتايمر ب false

    هذا بالنسبة لجعل الفورم تكون مخفية ثم تظهر تدريجيا حتى تتضح تماما

    اما بالنسبة لجزء أن يظل الفورم ظاهرا فترة بعدها ثم بعد ذلك يبدأ بالإختفاء تدريجيا
    فعندما تصل opacity الى صفر فإن الفورم ستختفي بالفعل P:

المفضلات

المفضلات

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
Loading...