Module: (جاوا) حلقه ها. حلقه با پارامتر (for)


Problem

1/17

حلقه ها در برنامه نویسی

Theory Click to read/hide

موقعیتی را تصور کنید که باید همان کلمه را روی صفحه نمایش دهیم، مثلا کلمه "HELLO" را 10 بار بگوییم. چه کنیم؟
می توانید دستور را 10 بار بگیرید و بنویسید cout << "سلام";

اما اگر شما نه 10 بار، بلکه 20، 30، 40 بار؟، و اگر 200 بار نیاز داشته باشید، چه؟ در این صورت کپی کردن زمان بسیار زیادی طول خواهد کشید. و اگر لازم است کاربر انتخاب کند که چند بار اطلاعات روی صفحه نمایش داده شود؟ 

برای کنار آمدن با این کار، ساخت ویژه ای به نام LOOP
به ما کمک می کند
حلقه یک ساختار الگوریتمی است که در آن توالی خاصی از دستورات چندین بار تکرار می شود.


در زبان برنامه نویسی جاوا دو نوع حلقه وجود دارد: یک حلقه با متغیر (for) و یک حلقه با یک شرط (while و do...while)

بیایید آشنایی خود را با چرخه ها از نوع اول شروع کنیم.

حلقه با یک متغیر یا با تعداد مشخصی از مراحل (برای)

اغلب اتفاق می افتد که تعداد تکرارهای برخی از اقدامات را می دانیم یا می توانیم با استفاده از داده های شناخته شده تعداد تکرارها را محاسبه کنیم. برخی از زبان های برنامه نویسی دستوری دارند که در زبان روسی مانند REPEAT (تعداد دفعات) به نظر می رسد - یعنی می توانیم تعداد دقیق تکرار را مشخص کنیم. 

جالب است که ببینیم این چرخه در سطح ماشین چگونه کار می کند:
1. یک سلول حافظه خاص در حافظه اختصاص داده می شود و تعداد تکرارها روی آن نوشته می شود،
2. وقتی برنامه یک بار بدنه حلقه را اجرا می کند، محتویات این سلول (counter) یک کاهش می یابد.
3. اجرای حلقه زمانی به پایان می رسد که این سلول صفر شود.

در زبان برنامه نویسی جاوا چنین ساختاری وجود ندارد، اما ساختار for وجود دارد.  

شکل کلی دستور حلقه for به صورت زیر است: <پیش> برای (/*expression1*/; /*expression2*/; /*expression3*/ ) { /*یک دستور یا بلوک عبارات - بدنه حلقه*/; } این ساخت مستلزم آن است که ما
1. به صراحت یک سلول حافظه را که یک شمارنده خواهد بود اختصاص داد و مقدار اولیه آن را تنظیم کرد
2. یک شرط نوشته شد که تحت آن بدنه چرخه اجرا می شود
3. نحوه تغییر مقدار در این سلول را نشان دهید.

در قسمت عملی سعی می کنیم کلمه Hello را 10 بار نمایش دهیم. در کارهای بعدی این ساخت و ساز را با جزئیات بیشتری تحلیل خواهیم کرد.

Problem

برنامه زیر 10 بار کلمه Hello را نمایش می دهد.
لطفاً توجه داشته باشید که ما 3 مرحله لازم را انجام داده ایم

1. به صراحت یک سلول حافظه را اختصاص داد که یک شمارنده خواهد بود و مقدار اولیه  - i=1 
را در آن قرار داد 2. یک شرط نوشته شده است که تحت آن بدنه حلقه اجرا می شود - i<=10   - بدنه حلقه (فرمان printf) تا زمانی که i کمتر یا مساوی 10 باشد اجرا می شود
3. نشان داد که چگونه مقدار در سلول داده شده تغییر می کند  - i++ - پس از اجرای بدنه حلقه، مقدار متغیر i 1 افزایش می یابد

برنامه را اجرا کنید، مطمئن شوید که کلمه "سلام" را نشان می دهد 10 بار