نمایش نتایج 1 تا 4 از 4

نام تاپیک: دستور option base و redim

  1. #1
    کاربر جدید آواتار Pokahantes
    تاریخ عضویت
    فروردین 1387
    محل زندگی
    karaj
    پست
    15

    Question دستور option base و redim

    سلام
    دستور option base و redim مرتب سازي تعويضي و انتخابي هر كدومو اگه
    ممكنه با توضيح كامل لطف كنيد بگيد با چند تا مثال سورس كه اين برنامه ها توش باشن

  2. #2

    نقل قول: سوال

    Option Base
    Dim MArray(9) As Integer

    كد بالا يه آرايه مي سازه با 10 خانه. يعني از خونه شماره صفرم شروع مي شه تا خونه شماره 9 كه ميشه 10 تا خونه.
    اگر دقت كرده باشي من كلمه صفرم رو متمايزش كردم. چرا ميشه 10 تا خونه؟ چون خونه صفرم هم محاسبه ميشه. آخرين خونه آرايه خونه شماره 9 هستش ولي در مجموع آرايه 10 تا خونه داره. خوب اينجوري يه خورده آدم اگر به آرايه ها مسلط نباشه دچار سردرگمي ميشه. براي همين ميان يه دستوري مي نويسن كه اين دستور خونه هاي آرايه رو از خونه شماره ي اول شروع مي كنه شمردن. براي همين از دستور Option Base 1 استفاده مي كنن. به دستور Option Base 1 دقت كن ببين چي مفهمي.
    Option Base 1
    Dim MArray (9) As Integer

    كد بالا مياد مي گه اولين خونه اي كه براي آرايمون از حافظه اصلي بايد اشغال بكني خونه شماره 1 هستش. پس اگه همينجوري سرانگشتي خونه هاي آرايه رو بشماري ميشه 9 تا خونه. يعني از 1 تا 9.
    -------------------------------------------------------------------------
    Redim
    بعضي وقتها شما مي خواي تو آرايتون ابعادش رو عوض كني يا تعداد خونه هاش رو از قبل نمي دوني و مي خواي در طول برنامه تغيير كنه. از دستور Redim استفاده مي كني.
    مثلاً آرايه MArray شما نمي دوني چند تا خونه داره مياي به اين صورت تعريفش مي كني:
    Dim MArray () As Integer

    *نكته: اگر بخواي از دستور Redim استفاده كني حتماً بايد آرايت رو از اول اينجوري تعريف كني. اينو يادت باشه.
    حالا در طول برنامه ممكنه به آرايه بگي كه چند تا خونه داشته باشه:
    Redim MArray (5) As Integer

    *دوباره نكته: وقتي كه از دستور بالا استفاده مي كني تمامي مقاديري كه تويه آرايت داشتي از بين ميره يعني اگر خانه 3 آرايت مقدار 120 رو در خودش ذخيره كرده بود مقدارش صفر ميشه.
    اگر مي خواي مقادير آرايت حفظ بشه بايد از كلمه كليدي Preserve استفاده كني. اون موقع هم آرايت رو تغيير بعد دادي هم مقاديرش رو حففظ كردي.
    Redim Preserve MArray (10) As Integer

    سوال كنكور كارداني كامپيوتر سال 86:
    خروجي برنامه زير چيست؟
    Dim A() As Integer
    Redim A(10) As Integer
    A(2) = 3
    A(4) = 5
    Redim Preserve A(3)
    Redim Preserve A(10)
    Print A(2) , A (4)

    جواب: 0 3

  3. #3

    Smile روش هاي مرتب سازي ارايه

    مرتب سازي يعني جابه جايي عناصر آرايه به طوريكه در انتهاي آرايه عناصر به صورت صعودي يا نزولي مرتب شده باشن.

    چندين روش مرتب سازي در آرايه وجود داره كه شما دوتاشو پرسيدين.
    • مرتب سازي تعويضي يا Bobble Sort
    • مرتب سازي انتخابي Selection
    مرتب سازي تعويضي يا حبابي Bobble Sort:

    در Bobble Sort تمامي عناصر آرايه باهم مقايسه ميشن و در صورت نياز باهم جابه جا ميشن و اين عمليات اينقدر تكرار ميشه تا آرايه به صورت صعودي يا نزولي مرتب بشه.

    مرتب سازي انتخابي Selection:
    تو اين مرتب سازي تويه هر مرحله(گذرها) يكي از عناصر آرايه انتخاب ميشه و بعد مقايسه ميشه و بعد در جايه اصلي خودش قرار ميگيره.


    نكته مشترك در كد اين دو روش مرتب سازي اين هستش كه بايد از حلقه هاي تودرتو و شرط استفاده بشه. من اينطوري ياد گرفتم و تجربه كم من اين رو مي گه كه اگر:
    • اگر دو حلقه پشت سر هم بلافاصله بعد از يكديگه قرار گرفته باشن و بعدش شرط حلقه باشه مرتب سازي حبابي هست.
    • اگر مابين دو حلقه دستوري جهت يافتن محل شروع مقايسه باشه مرتب سازي انتخابي هستش.
    يعني براي حبابي:
    For i = .....
    For j = .....
    If .......

    و براي انتخابي:
    For i = ....
    دستور
    For j = ......
    If .....
    آخرین ویرایش به وسیله اوبالیت به بو : دوشنبه 06 خرداد 1387 در 16:10 عصر

  4. #4

    نقل قول: دستور option base و redim

    https://barnamenevis.org/showthread.php?t=87792
    در اين تايپيك روش مرتب سازي Bobble Sort توضيح داده شده

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •