الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف اقوم بطباعة رموز باشكال معينة باستخدام حلقة؟

مغلق
بدأه متشوقة للمعرفة في 16 مارس 2006 · 12 رد · 1,585 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم جميعاً،

عندي سؤال و أتمنى أن تتم الإجابة عليه في أقرب فرصة.السؤال هو:

أكتب برنامج يقوم فيه المستخدم بادخال قيمة ما(1---5) في مربع حوار و من ثم يقوم البرنامج بطباعة أحد الأشكال المحددة التالية:استخدم التكرار مع ملاحظة وجود سطر واحد فارغ بين كل صف من النجوم و الرقم 5 يعني الخروج من البرنامج

ملاحظة:الشكل موجود في ملف مرفق!

post-71318-1142491958_thumb.jpg

#2

اختي المتشوقة لم افهم ما هو المطلوب بالضبط ولكن يمكن استنخدام عبارة Select case فقد تفي بالغرض

يعني بالطريقة التالية

Select Case val(text1.text)

Case Is = 1
 Print "******" & vbCr & "****"
case is =2

print  "****"

caese is =3 

print "**"

case is = 4 
print "*****" & vbcr & "*" & vbcr & "*****"

case else
 msgbox " اخيارك يجب ان يكون بين الواحد والأربعة فقط "

end select

اتمنى ان يفي بالغرض

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#3

يرجى الاطلاع على قواعد المشاركة واختيار عنوان مناسب للموضوع: /index.php?showtopic=29343

سؤالك يبدو ماخوذ من كتاب ما.. لاني اذكر ان كتب الـ ++C تقوم بنفس الامر.. باي حال, الحل كما قال الاخ بالـ Select Case يكون بسيط

كل ما عليك القيام به هو اختيار الحالة الموافقة للصورة واضافة الاسطر حسب الصورة بالطريقة التي ذكرها الاخ.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#4

السلام عليكم،

عفواً أخ xacker ،الشكل ليس مأخوذاً من كتاب.كل ما في الأمر أنني كتبت السؤال كما هو،و حفظت الشكل كصورة.أقصد أن السؤال و الشكل كما هو في السؤال الذي كتبه الأستاذ في الملف(الملف امتداد

Pdf.) يعني مكتوب ببرنامج acrobot reader

ملاحظة يجب أن تذكر:الأشكال الموضحة تبين أنه بإدخال رقم 1 مثلاً يطبع البرنامج الشكل واحد،و الرقم 2 يطبع الشكل الثاني و هكذا.أرجو أن يكون السؤال واضحاً. و اعتذر كثيراً عن عدم التوضيح.

تحياتي :^)

#5

انا اعطيتك حجة منطقية كي لا اسالك فيما اذا كان هذا سؤال من الكلية :D لكنك اضعت الفرصة فالقوانين تفرض الا يتم طرح اسئلة المقررات في الكليات في المنتدى ;)

باي حال, حلقة Select Case تفي بكل ما تطلبين, اكتبي الكود الخاص بالـ inputbox, ضعي قيمته في متغير, استخدمي المتغير في حلقة Select Case وليكن case else تفيد بانهاء البرنامج بواسطة end.

اعتقد ان هذا الامر بسيط جدا .. لمن يدرس البرمجة من ابسط ابوابها.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#6

السلام عليكم،

هناك عدة ملاحظات أود الإشارة إليها:

1-لم أقصد من سؤالي أن أسلمه للأستاذ لكي أحصل على درجات أو ما شابه ذلك،لأن السؤال عبارة عن تمرين نتدرب عليه.على كل حال أعتذر عن طرح السؤال في المنتدىو أرجوأن يتم قبول الاعتذار.

2- أدرك أن مفتاح الإجابة هو باستخدام الخيارات مثلselec case

و اعتقد أنه يجب استخدام التكرارwhile loop or for loop

في كل حالة من الخيارات(اقصد في حالة ادخال الرقم 1 أو 2 أو 3 أو 4) لكن كيف يتم طباعة هذه الأشكال بحيث يطبع البرنامج كل سطر جديد أفقياً بالنسبة لكل شكل من الأشكال على حدة.و لهذا طرحت السؤال.

ملاحظة:أنا أسأل عن كيفية التنفيذ في فيجوال بيسك 6 و ليس فيجوال بيسك دوت نت أو أي برنامج آخر.

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

تحياتي (h)

#7

لا باس,

Dim a As Integer
a = Val(InputBox("please enter a #", ""))
Select Case a
Case Is = 1
    Debug.Print "*****"
    Debug.Print "*****"
    Debug.Print "*****"
    Debug.Print
Case Is = 2
    Debug.Print "  **  "
    Debug.Print " **** "
    Debug.Print "******"
    Debug.Print
Case Is = 3
    Debug.Print " **** "
    Debug.Print "  *** "
    Debug.Print "   ** "
    Debug.Print "    * "
    Debug.Print
Case Is = 4
    Debug.Print "   *****"
    Debug.Print "  ***** "
    Debug.Print " *****  "
    Debug.Print
Case Else
    End
End Select

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#8

تفضلي هذا مثال سريع للمطلوب أتمنى ان يفي بالغرض

تحياتي

Motashawiqa.zip

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#9

أخي Xacher

يبدو إننا كنا نكتب الردود في الوقت ذاته

تحياتي لك

اختي المتشوقة يمكنك ايضا استخدم طريقة الاخ Xacher وذلك بالاستغناء عن الليبل وطباعة النتائج مباشرة على الفورم

تحياتي

OMANI FOR EVER

-------------------------------------------------

post-12787-12780191801974.jpg

-------------------------------------------------

#10

السلام عليكم،

الإجابات لم يتم استخدام التكرار فيها اقصد while loop or for loop

و هنا يكمن السر في كتابة الكود.عموماً :أخ Omani,Xacker thanks a lot

ملاحظة:توصلت تقريباً للإجابة،و عندما تكون جاهزة سأدرجها في المنتدى لتتم الإستفادة.

تحياتي B)

#11

ليس هناك اي سر, انت ملزمة باستخدام حلقة حسنا, استخدمي حلقة مع شرط بداخلها يقوم بالتحقق من قيمة i (كعداد) ويقوم بطباعة السطر الموافق لقيمته!

اين السر في الموضوع؟

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#12

بسم الله الرحمن الرحيم

يا شباب حل السؤال المطروح من قبل الاخت

له عدة حلول ولكن يطريقة برمجية

وهو تمثيل الاشكال على هيئة مصفوفة ثنائية

والاستفادة من مواقع الارقام

وسوف ادرج لكم الحل باذن الله تعالى حال حصولي على فرصة ...

م ش سكيك

#13

لكن في كلا الحالات التي ذكرت والتي ستذكر سيتم استخدام شرط!

Dim a As Integer
a = Val(InputBox("", ""))
Select Case a
Case Is = 1
    For i = 1 To 3
        For j = 1 To 4
            Debug.Print "*";
        Next
        Debug.Print
    Next
    Debug.Print
Case Is = 2
    For i = 1 To 3
    If i = 1 Then
        For j = 1 To 6
            If j < 3 Or j > 4 Then
                Debug.Print " ";
            Else
                Debug.Print "*";
            End If
        Next
        Debug.Print
    ElseIf i = 2 Then
        For j = 1 To 6
            If j < 2 Or j > 5 Then
                Debug.Print " ";
            Else
                Debug.Print "*";
            End If
        Next
        Debug.Print
    ElseIf i = 3 Then
        For j = 1 To 6
            Debug.Print "*";
        Next
        Debug.Print
    End If
    Next
Case Is = 3
....
....

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…