بعضی اوقات در برنامه نویسی می خواهیم یک الگو یا عمل به صورت معیّن چندین بار تکرار شود. برای مثال وقتی می خواهید برنامه ای بنویسید که یک عدد دریافت کرده و از صفر تا آن عدد را جمع بزند و حاصل را نمایش دهد یا وقتی می خواهید شمارنده ای بسازید که در هر بار تکرار، تعداد کل دفعات تکرار را نمایش دهد و … .
دستورات حلقه (Loop Statements): فرض کنید بخواهید با روش هایی که تاکنون آموخته اید کارهایی را که بالا یاد شد انجام دهید، به مشکلی دشوار از جمله طولانی شدن برنامه، وقت گیر بودن و خسته کننده بودن بر خواهید خورد و در اینگونه موارد که نظمی بر تکرار عمل حاکم است و نکات مشترکی دیده می شود ویژوال بیسیک از مجموعه دستوراتی به نام دستورات حلقه استفاده می کند؛ ویژوال بیسیک نیز برای رفع این مشکلات چاره اندیشیده است و راه حلی بسیار آسان، کوتاه و پر کاربرد برای آن قرار داده است.
حلقه یا لوپ (Loop): مجموعه ای شامل یک یا چند دستور می باشد که بیش از یکبار اجرا می شوند. دستور حلقه تا وقتی تکرار میشود که شرط آن برقرار باشد. ویژوال بیسیک می تواند از چند حلقه پشتیبانی کند که در این قسمت به یکی از این حلقه ها که به آن حلقه For گفته می شود می پردازیم.
الگو و فرمول دستورات حلقه ای:
1 2 3 4 |
For عدد شروع = متغیر شمارنده to عدد انتها Step گام افزایش 'دستورات قابل اجرا Next متغیر شمارنده 'دستوراتی که بعد از به پایان رسیدن حلقه اجرا می شوند |
متغیر شمارنده: نوعی متغیر عددی است که برنامه به وسیله آن متوجه می شود که دفعات تکرار به اتمام رسیده است یا خیر.
عدد شروع: شماره اولیه متغیر را در اولین دور حلقه مشخص می کند؛ به عبارتی عدد متغیر را در اولین دور حلقه مشخص می کند.
عدد انتها: عددی است که میزان تکرار متغیر را مشخص می کند و هرگاه میزان متغیر از آن بگذرد، عملیات حلقه از کار می افتد.
گام افزایش: به مقداری گویند که متغیر به ازای آن در هر بار تکرار باید تغییر کند؛ به عبارتی اگر دو باشد، متغیر دو بار – دو بار افزایش می یابد.
[divider style="normal" top="20" bottom="20"]
مثال: برنامه ای بنویسید که دو عدد دریافت کرده و جمع اعداد بین آنها را نمایش دهد.
1- ابتدا به یک پروژه از نوع “Windows Form Application” بسازید و همانند مراحل قبلی دو عدد جعبه متن (TextBox)، یک عدد دکمه (Button) و یک عدد متن (Label) به فرم طراحی بیافزایید و برای فهمیدن و قابل درک بودن شاخصه نام (Name) آنها را به صورت زیر تغییر دهید.
TextBox1 ⇒ From_TextBox
TextBox2 ⇒ To_TextBox
Button1 ⇒ Calculate_Button
Label1 ⇒ Result_Label
2- حال برای اینکه فرم قابلیت بزرگ شدن و کوچک شدن نداشته باشد بر روی فرم کلیک کرده و در منوی Properties، قابلیت Form Border Style را به حالت FixedSingle تغییر دهید.
3- حال برای راحت تر شدن استفاده از برنامه به وسیله کی بورد، باید قابلیت TabIndex را در هر کدام از ابزارهای داخل فرم (البته آن ابزارهایی که مورد استفاده کاربران قرار می گیرد)، تنظیم کنیم. در واقع TabIndex به کاربر اجازه می دهد که با هر بار فشردن دکمه Tab صفحه کلید، مکان نمایشگر ماوس به ترتیب بر روی هر یک از ابزارها آید که این ترتیب بستگی به ترتیب اعدادی دارد که شما تعیین می کنید. برای این کار باید بر روی هر یک از ابزار کلیک کنید و در منوی Properties شاخصه ی TabIndex را تغییر بدهید.
4- حال وارد محیط کد نویسی شوید و کد زیر را در آن وارد کنید.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Public Class For_Next_Form Private Sub Calcuate_Button_Click(sender As Object, e As EventArgs) Handles Calcuate_Button.Click Dim FirstNumber, LastNumber, Counter, Result As Integer 'تعریف متغیرها از نوع عددی FirstNumber = Val(From_TextBox.Text) 'شناساندن عدد اولیه LastNumber = Val(To_TextBox.Text) 'شناساندن عدد ثانویه FirstNumber = Counter 'قرار دادن عدد اولیه در شمارنده For Counter = Val(From_TextBox.Text) To LastNumber Step Counter + 1 'حلقه دستورات Result = Result + Counter 'بعد از هر بار تکرار نتیجه را با مقدار شمارنده جمع می کند Result_Label.Text = Result 'نمایش دادن حمع اعداد Next MsgBox("جمع کل بازه عددی موردنظر شما، " & Result & " می باشد.", MsgBoxStyle.Information Or MsgBoxStyle.OkOnly, "انجام شد!") 'نمایش دادن عدد نهایی جمع زده شده در یک پیغام End Sub End Class |
[divider style="normal" top="20" bottom="20"]
بخش دانلود
[box type=”download” align=”aligncenter” class=”” width=””]دانلود پروژه با حجم 46 کیلوبایت[/box]