«حلقهها» (Loops) جزو مهمترین مباحث موجود در زبانهای برنامهنویسی محسوب میشوند. بهگونهای که آشنایی با طرز استفاده و درک عملکرد انواع حلقهها برای تمامی افرادی که قصد کدنویسی و توسعه برنامههای مختلف را دارند، ضروری است. با توجه به اینکه تمرین کردن و حل نمونه سوالات گوناگون جزو راههای عمیقتر کردن دانستههای خود در حوزه برنامهنویسی محسوب میشود، این نوشته از مجله فرادرس را به معرفی نمونه سوال حلقه «While» در سی شارپ به همراه ارائه راهحلهایی برای آنها اختصاص دادهایم.

در ابتدای این مطلب، مفهوم حلقه و بهطور خاص حلقه While در سی شارپ را به شما توضیح خواهیم داد. سپس، با فلوچارت و سینتکس آن آشنا میشوید. در ادامه مطلب نیز نمونهسوالاتی را بههمراه کدها و توضیحات مربوزه در اختیارتان قرار خواهیم داد.
حلقه While در سی شارپ چیست و چه کاری انجام میدهد؟
حلقهها یکی از مهمترین مؤلفههای موجود در زبانهای برنامهنویسی از جمله زبان محبوب سیشارپ محسوب میشوند و با استفاده از آنها میتوانیم قطعه کدی را به دفعات مشخص اجرا کنیم و کارهای تکراری را بهسادگی هر چه تمامتر در کدهای برنامه انجام دهیم. در واقع، برنامهنویس به کمک حلقههای C# میتواند روند اجرای کدهای برنامه را بهشکل بهتری در دست بگیرد. ضمن اینکه این مفهوم از نوشتن کدهای تکراری، جلوگیری میکند. از دیگر مزیتهای حلقه در C# میتوان به صرفهجویی در زمان صرف شده بابت کدنویسی، داشتن کدهای خلاصه و مفیدتر اشاره کرد.
حلقه While در سی شارپ
حلقه While یکی از دستورات و مفاهیم موجود در زبان سیشارپ است که برای کنترل جریان کدها مورد استفاده قرار میگیرد. به بیان دیگر، تا هنگامیکه شرط مشخص شده در این حلقه، صحیح باشد، قطعه کد مدنظر برنامهنویس بهطور خودکار و پیوسته اجرا میشود. پس اگر بههنگام کدنویسی به زبان C# نیاز داشتید که بخشی از کدها، تا زمان برقرار بودن شرط معین اجرا شود، میتوانید از While استفاده کنید.
تصویر زیر، فلوچارت حلقه While در سیشارپ را نشان میدهد.

با توجه به این فلوچارت، در حلقه While در سیشارپ با ۲ عنصر اصلی رو به رو هستیم.
- شرط حلقه
- بدنه حلقه یا کدهای قابل اجرا
سینتکس حلقه While در سی شارپ
در ادامه، نحوه نوشتن حلقه While در سیشارپ را آوردهایم.
در این کدها بهجای condition میتوانید شرط مورد نظر خود را قرار دهید. همچنین، کدهایی که ما بین } و { قرار گرفتهاند، در صورت برقرار بودن شرط اجرا خواهند شد.
چگونه زبان سی شارپ را با فرادرس یاد بگیریم؟
سیشارپ یکی از محبوبترین و قدرتمندترین زبانهای برنامهنویسی حال حاضر محسوب میشود که توسط شرکت مایکروسافت ساخته شده است. این زبان یکی از بهترین گزینههای موجود برای توسعه اپلیکیشنهای ویندوزی، تحت وب، بازیسازی و برنامههای موبایل محسوب میشود. یادگیری این زبان همچنین میتواند آینده شغلی خوبی را برایتان رقم بزند. برای این منظور میتوانید در کلاسهای حضوری و آنلاین شرکت کنید یا اینکه C# را بهصورت خودآموز یاد بگیرید. در ادامه مسیر نیز با تمرین و تلاش مستمر میتوانید مجموعه مهارتهای خود را در این زمینه تقویت کنید.
یادگیری از طریق مشاهده آموزشهای ویدیویی، یکی از مؤثرترین شیوههای یادگیری محسوب میشود. برای یادگیری زبان قدرتمند سیشارپ میتوانید از دورهها و فیلمهای آموزشی موجود در مجموعه فیلمهای آموزش برنامهنویسی سیشارپ، مقدماتی تا پیشرفته از فرادرس استفاده کنید که عناوین متعددی از آموزشهای با کیفیت را در بر میگیرد. بیشتر این آموزشها پروژهمحور هستند و توسط اساتید مجرب تهیه شدهاند.

عناوین برخی از فیلمهای آموزش موجود در این مجموعه را در ادامه فهرست کردهایم.
نمونه سوال حلقه While در سی شارپ
در این قسمت، مجموعهای از ۲۲ نمونه سوال حلقه While در سیشارپ را آوردهایم و راهحل آنها را نیز توضیح دادهایم. بدینترتیب با مطالعه این تمرینها میتوانید دانش خود را در زمینه برنامهنویسی سیشارپ تقویت کنید. همچنین، خوب است بدانید که برای اجرای کدهای C# میتوانید از کامپایلرهای آنلاین، از جمله مواردی که لینک آن در ادامه آورده شده استفاده کنید.
- لینک کامپایلر آنلاین سیشارپ: «+»
- لینک کامپایلر آنلاین سیشارپ:«+»
نمونه سوال ۱: شمارنده و چاپ اعداد ۰ تا ۵
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که مانند یک شمارنده عمل کرده و عبارت «Count: N» را ۵ مرتبه در خروجی چاپ کند. بهیاد داشته باشید که بهجای N نخستین بار عدد 0 قرار میگیرد و هر مرتبه یکی به مقدار آن اضافه شده و چاپ میشود. این روال تا Count: 4 پیش میرود. کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خط نخست، فضای نام System را اضافه میکنیم تا امکان انجام برخی کارها مانند خواندن از ورودی یا نوشتن در خروجی برایمان فراهم شود. در خط شماره ۳، متغیری با نام count را به عنوان شمارنده تعریف کردهایم که در ابتدای برنامه با 0 مقداردهی شده است. شرط حلقه در خط شماره ۴، میگوید که آیا در حال حاضر count کوچکتر از ۵ است یا خیر. با توجه به برقرار بودن شرط در این لحظه، قطعه کد موجود در بدنه حلقه اجرا خواهد شد که طی آن عبارت Count: و در ادامه آن مقدار متغیر count چاپ میشود. در ادامه خط بعدی در بدنه حلقه یعنی خط شماره ۷ اجرا خواهد شد که طی آن به اندازه یک واحد به countاضافه شده و اجرای برنامه به ابتدای حلقه بر میگردد.
خروجی این کدها پس از اجرا بهصورت زیر خواهد بود.
Count: 0 Count: 1 Count: 2 Count: 3 Count: 4
نمونه سوال ۲: چاپ عدد زوج از ابتدا تا عدد وارد شده
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که عددی را از کاربر دریافت کرده و اعداد زوجی که تا آن عدد وجود دارد را چاپ کند. کدهای این نمونه سوال را در ادامه آوردهایم.
در خط شماره ۲ از این کدها، متغیرهایی برای نگه داشتن عدد وارد شده توسط کاربر و همچنین شمارنده حلقه تعریف شده است. در خط شماره ۵ مقدار شمارنده برابر با ۲ مقداردهی میشود که نخستین عدد مثبت محسوب است. در خط شماره ۷، حلقه While را داریم که تا زمان کوچکتر یا مساوی بودن i از n، مقدار i را چاپ کرده و سپس ۲ واحد به آن اضافه میکند تا به عدد زوج بعدی برسد.
پس از اجرای این کدها و وارد کردن عدد ۱۰ به عنوان ورودی، خروجی بهشکل زیر خواهد بود.
Enter a Number: 10 Even numbers up to 10: 2 4 6 8 10
اگر بهتازگی برنامهنویسی را شروع کردهاید، مشاهده فیلم آموزش رایگان اصول و مبانی برنامه نویسی + گواهینامه از فرادرس میتواند اطلاعات بسیاری ارزشمندی را در ابتدای این مسیر در اختیار شما قرار دهد. لینک این فیلم آموزش را در ادامه آوردهایم.

نمونه سوال ۳: چاپ دنباله فیبوناچی تا یک عدد مشخص
با استفاده از حلقه While، برنامهای بنویسید که عددی را از کاربر دریافت کرده و دنباله فیبوناچی تا آن عدد را چاپ کند. کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خط شماره ۲، متغیرهایی را برای نگهداری اولین مقدار از سری فیبوناچی، ورودی کاربر، دومین مقدار از سری فیبوناچی و مجموع ۲ مقدار آخر سری فیبوناچی تعریف کردهایم. در خط شماره ۹ نیز حلقه While را داریم که تا هنگام کوچکتر یا برابر بودن مجموع ۲ عدد آخر سری با ورودی کاربر، کارهای زیر را انجام میدهد.
- مقدار جدید سری فیبوناچی یعنی k چاپ میشود.
- مقادیر j ،i و k بهروز میشوند.
با اجرای کدهای بالا و وارد کردن عدد ۲۰، خروجی برنامه بهشکل زیر خواهد بود.
Enter a Number: 20 0 1 1 2 3 5 8 13
نمونه سوال ۴: محاسبه مجموع اعداد ۱ تا ۵
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که مجموع اعداد ۱ تا ۵ را محاسبه کند. کدهای این نمونه سوال را در ادامه آوردهایم.
در خط شماره ۲، متغیر i که شمارنده حلقه است را با 1 مقداردهی میکنیم. متغیر sum که مجموع را نگهداری میکند هم برابر با صفر قرار میدهیم. در خط شماره ۳ وارد حلقه میشویم و تا هنگامی که شمارنده کوچکتر یا برابر با ۵ باشد، یعنی به میزان ۵ مرتبه، مقدار فعلی شمارنده را به مقدا sum اضافه میکنیم. در خط شماره ۶، یک واحد به شمارنده اضافه شده و شرط حلقه مجدد ارزیابی میشود. در نهایت نیز در خط شماره ۸، مقدار متغیر sum به عنوان خروجی چاپ خواهد شد.
پس از اجرای کدهای برنامه، با فرض اینکه ورودی کاربر عدد ۵ باشد، خروجی برنامه بهشکل زیر خواهد بود.
Sum = 15
نمونه سوال ۵: محاسبه تعداد ارقام عدد وارد شده
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که مجموع ارقام عدد وارد شده توسط کاربر را محاسبه کند. کدهای زیر، پیادهسازی این برنامه را نشان میدهد.
در این برنامه متغیر number را داریم که از عدد وارد شده توسط کاربر نگهداری میکند. متغیر count نیز شامل تعداد ارقام عدد وارد شده است که در ابتدا و قبل از شروع محاسبه با صفر مقداردهی شده است. در خط شماره ۵، حلقه While را داریم که در صورت بزرگتر بودن number از صفر، کارهایی مانند تقسیم عدد بر ۱۰، افزایش count به میزان یک واحد را انجام داده و مجدد شرط حلقه را برای ادامه فرایند، بررسی میکند. در نهایت نیز مقدار count بهعنوان تعداد ارقام عدد وارد شده چاپ خواهد شد.
با اجرای کدهای این نمونه سوال حلقه While در سی شارپ، با فرض اینکه ورودی کاربر عدد ۵۶۰۰ باشد، خروجی بهشکل زیر خواهد بود.
Enter a number: 5600 Number of digits: 4
نمونه سوال ۶: چاپ الگوی مثلث عددی با حلقه While
با استفاده از حلقه While، برنامهای بنویسید که طبق عدد وارد شده توسط کاربر به عنوان سطر، الگوی زیر را چاپ کند. کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
1 1 2 1 2 3 1 2 3 4 1 2 3 4 5
لازم است اشاره کنیم که این خروجی با وارد کردن عدد ۵ توسط کاربر، تشکیل شده است.

کدهای این نمونه سوال حلقه While در سی شارپ را نیز در ادامه آوردهایم.
با توجه به کدها، متغیر n ، عدد وارد شده توسط کاربر را نگه میدارد و قرار است مثلثی با این تعداد سطر تشکیل شود. در این برنامه ۲ حلقه While داریم. حلقه نخست با شمارنده i از ۱ تا عدد وارد شده توسط کاربر یعنی n مرتبه تکرار میشود. حلقه دوم در خط شماره ۱۰ نیز از ۱ تا مقدار فعلی i تکرار میشود و اعداد هر سطر را چاپ میکند. هر مرتبه که حلقه داخلی اجرا میشود، اعداد ۱ تا i در سطر کنونی چاپ میشوند. هنگام اتمام حلقه داخلی نیز یک خط خالی چاپ شده و مقدار i بهمیزان یک واحد اضافه میشود.
نمونه سوال ۷: تبدیل باینری به دسیمال
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که عددی دودویی یا باینری را از کاربر دریافت کرده و آن را به عددی دهدهی یا دسیمال تبدیل کند. کدهای این برنامه را در ادامه آوردهایم.
در خط شماره ۷، متغیر binary را داریم که مقدار دریافتی از کاربر را نگه میدارد. در ادامه نیز متغیرهایی برای نگهداری عدد دسیمال، مقدار توان و ایندکس عدد باینری تعریف کردهایم. در خط شماره ۱۱، شروع حلقه While را داریم که روی رشته باینری پیمایش میکند. درون حلقه با دستور شرطی بررسی میکنیم که آیا رقم فعلی برابر با 1 است یا خیر. چون تنها این عدد در جواب دسیمال تأثیر دارد. در صورت درستی شرط، مقدار متناظر آن رقم با فرمول مشخص شده به متغیر decimalValue اضافه میشود. در ادامه کدها نیز مقدار توان افزایش پیدا کرده و اینکدس کمتر میشود تا در تکرار بعدی رقم باینری دیگری بررسی شود. در نهایت نیز عدد دهدهی در خروجی چاپ خواهد شد.
خروجی این برنامه با فرض وارد کردن مقدار باینری ۱۱۰۱، بهشکل زیر خواهد بود.
Enter a binary number: 1101 Decimal value: 13
نمونه سوال ۸: دریافت ۱۰ عدد و محاسبه مجموع و میانگین آن ها
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که ۱۰ عدد را از ورودی خوانده، سپس مجموع این اعداد و همچنین میانگین آنها را محاسبه کند. کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خطوط شماره ۳ و ۴، متغیرهایی را برای شمارنده، نگهداری از عدد ورودی، مجموع و همچنین میانگین تعریف کردهایم. در خط شماره ۱۱ وارد حلقه While میشویم که قرار است ۱۰ مرتبه تکرار شود. در هر مرتبه تکرار حلقه، عددی را از ورودی گرفته و با مقدار فعلی sum جمع میکنیم. پس از اتمام حلقه نیز مقدار sum بر 10.0 تقسیم میشود تا میانگین اعداد نیز بهطور دقیق محاسبه شود. خط آخر کدها نیز مجموع و میانگین اعداد را در خروجی چاپ میکند.
در ادامه، خروجی این برنامه را با عددهای وارد شده، آوردهایم.
Read 10 numbers and calculate sum and average: ---------------------------------------------- Input the 10 numbers : Number-1 : 5 Number-2 : 6 Number-3 : 9 Number-4 : 4 Number-5 : 2 Number-6 : 3 Number-7 : 8 Number-8 : 4 Number-9 : 0 Number-10 : 9 The sum of 10 numbers is : 50 The Average is : 5

نمونه سوال ۹: محاسبه و چاپ مکعب اعداد صحیح تا عدد وارد شده
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که عددی را از ورودی خوانده، سپس توان سوم اعداد طبیعی تا عدد وارد شده را محاسبه و در خروجی چاپ کند. کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خط شماره ۲، متغیرهای i و ctr را تعریف کردهایم که بهترتیب برای نگهداری شمارنده حلقه و عدد وارد شده توسط کاربر تعریف شدهاند. در خط شماره ۹ حلقه While را داریم که از مقدار 1 شروع شده و تا عدد وارد شده توسط کاربر پیش میرود. همانطور که از خط شماره ۱۱ مشخص است، در هر مرتبه از تکرار حلقه، توان سوم عدد با ۳ مرتبه ضرب شدن در خودش یعنی i*i*i به دست آمده و چاپ میشود.
با فرض اینکه ورودی کاربر، عدد ۵ باشد، خروجی برنامه بهشکل زیر خواهد بود.
Display the cube of the number: --------------------------------- Input number of terms : 5 Number is : 1 and cube of the 1 is : 1 Number is : 2 and cube of the 2 is : 8 Number is : 3 and cube of the 3 is : 27 Number is : 4 and cube of the 4 is : 64 Number is : 5 and cube of the 5 is : 125
نمونه سوال ۱۰: محاسبه جدول ضرب عدد ورودی و نمایش آن
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که عددی را از ورودی خوانده، سپس جدول ضرب آن را محاسبه و در خروجی نشان دهد.
کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خط شماره ۲، متغیرهایی بهعنوان شمارنده حلقه While و عدد دریافتی از کاربر تعریف شده است. در خط شماره ۱۰ وارد حلقه While میشویم که قرار است ۱۰ مرتبه تکرار شود. در هر بار اجرای حلقه نیز عدد ورودی در j که شماره تکرار فعلی حلقه است ضرب شده و در خروجی چاپ میشود.
با فرض وارد کردن عدد ۱۵ به عنوان ورودی، خروجی کدهای بالا بهشکل زیر خواهد بود.
Display the multiplication table: ----------------------------------- Input the number (Table to be calculated) : 15 15 X 1 = 15 15 X 2 = 30 15 X 3 = 45 15 X 4 = 60 15 X 5 = 75 15 X 6 = 90 15 X 7 = 105 15 X 8 = 120 15 X 9 = 135 15 X 10 = 150
برای کدنویسی به زبان سیشارپ، اجرا و دیباگ برنامههای خود همچنین میتوانید از محیط ویژوال استودیو استفاده کنید. این موضوع را در یکی از مطالب پیشین مجله فرادرس یعنی آموزش کدنویسی با سیشارپ در ویژوال استودیو بهخوبی توضیح دادهایم.
نمونه سوال ۱۱: محاسبه و نمایش اعداد فرد به تعداد مد نظر کاربر
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که عددی را از ورودی خوانده، سپس، اعداد فرد را از ۱ به تعداد عدد وارد شده، در خروجی چاپ کند. در ادامه نیز مجموع این اعداد را به کاربر نشان دهد.

کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خط شماره ۲، متغیرهایی را برای نگهداری شمارنده حلقه، عدد وارد شده توسط کاربر و همچنین مجموع اعداد تعریف کردهایم. در خط شماره ۱۰، وارد حلقه While میشویم که قرار است به تعداد وارد شده توسط کاربر تکرار شود. خطوط شماره ۱۲ تا ۱۵ بدنه حلقه را نشان میدهد که در هر تکرار آن، مقدار i دو برابر شده و با کاهش یک واحد، به عدد فرد تبدیل میشود.
با فرض وارد کردن ۵، خروجی کدهای بالا بهصورت زیر خواهد بود. یعنی ۵ عدد فرد چاپ شده است.
Display the sum of n odd natural numbers: ------------------------------------------ Input number of terms : 5 The odd numbers are : 1 3 5 7 9 The Sum of odd Natural Numbers up to 5 terms : 25
نمونه سوال ۱۲: چاپ الگوی مثلث کامل با اعداد
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که عددی را از ورودی خوانده، سپس، مثلثی کامل که تعداد سطرهای آن برابر با عدد ورودی است را چاپ کند. خروجی این برنامه را در ادامه مشاهده میکنید.
Input number of rows : 4 1 2 3 4 5 6 7 8 9 10
کدهای این نمونه سوال حلقه While در سی شارپ را نیز در ادامه آوردهایم.
در خط شماره ۲، متغیرهایی را برای حفظ شمارنده سطرها و ستونها، کاراکتر فضای خالی ابتدای سطرها و تعداد سطرها و همچنین شمارنده اعداد برای چاپ فاصله خالی تعریف کردهایم. در خط شماره ۶، حلقه While اصلی مربوط به چاپ سطرها را داریم. خط شماره ۹، شروع نخستین حلقه While داخلی است که به میزان k ، در ابتدای هر سطر کاراکتر خالی چاپ میکند. در خط شماره ۱۵ حلقه داخلی دوم را داریم که وظیفه چاپ اعداد به تعداد شماره سطر i را برعهده دارد. در خط شماره ۲۱، تعداد کاراکترهای خالی spc به میزان یک واحد کاهش پیدا کرده و مقدار i نیز یک واحد بیشتر میشود که بیانگر رفتن به سطر بعدی است.

نمونه سوال ۱۳: محاسبه مجموع دنباله
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که با دریافت مقدار x و تعداد جملههای سری زیر، مجموع آن را حساب کند.
کدهای این نمونه سوال حلقه While در سی شارپ به شکل زیر است.
در خطوط شماره ۷ و ۸، متغیرهایی برای نگهداری مقدار x ، مجموع سری، جمله فعلی از سری، مخرج کسر، شمارنده حلقه و تعداد جملههای سری تعریف کردهایم. در خط شماره ۲۰ حلقه While را داریم که تا زمان کوچکتر بودن i از n تکرار میشود. در خط شماره ۲۲، مقدار مخرج، بهدست آمده و پس از آن جمله جدید محاسبه میشود. در ادامه نیز مقدار جمله جدید به مجموع سری اضافه شده و مقدار i به اندازه یک واحد افزایش پیدا میکند.
با اجرای کدهای بالا و اختصاص مقدار ۵ به x و تعیین تعداد جملهها با مقدار ۲، خروجی به شکل زیر خواهد بود.
Input the Value of x :5 Input the number of terms : 2 The sum = -11.5 Number of terms = 2 Value of x = 5
نمونه سوال ۱۴: محاسبه مجموع و نمایش n جمله از دنباله هارمونیک
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که با دریافت تعداد جملهها، جملاتی از دنباله هارمونیک را بههمراه مجموع آنها نمایش دهد.
کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خطوط شماره ۳ و ۴، متغیرهایی برای شمارنده، تعداد جملهها و همچنین مجموع جملههای دنباله هارمونیک تعریف شده است. در خط شماره ۸، حلقه While را داریم که به تعداد جملههای سری هارمونیک مشخص شده در ورودی، تکرار میشود. در بدنه حلقه، ابتدا جمله فعلی از سری چاپ میشود. سپس این جمله با مجموع جملههای تولید شده از قبل، جمع میشود.
با فرض اینکه عدد ۵ را بهعنوان ورودی به برنامه بدهید، خروجی بهصورت زیر خواهد بود.
Input the number of terms : 5 1/1 + 1/2 + 1/3 + 1/4 + 1/5 + Sum of Series up to 5 terms : 2.283333346247673

نمونه سوال ۱۵: محاسبه مجموع دنباله تکرار ارقام ۹
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که با دریافت تعداد جملههای دنبالهای مانند آنچه در ادامه آورده شده، مجموع آن را نیز نشان دهد.
کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خطوط شماره ۷ و ۸، متغیرهایی را بهعنوان تعداد جملههای دنباله، شمارنده حلقه و مقدار جمله فعلی که با ۹ مقداردهی شده را تعریف کردهایم. در خط شماره ۱۵ وارد حلقه While شدهایم که به تعداد جملههای مدنظر کاربر تکرار خواهد شد. در بدنه حلقه، مقدار جمله فعلی به sum اضافه شده و این جمله در صفحه چاپ میشود. در انتهای بدنه حلقه نیز جمله فعلی در عدد ۱۰ ضرب شده و با ۹ جمع میشود. به بیان دیگر هر بار یک ۹ به ادامه جمله فعلی اضافه میشود. در نهایت نیز مجموع دنباله، محاسبه شده و چاپ خواهد شد.
بهطور مثال، اگر عدد ۲ را بهعنوان تعداد جملههای این دنباله ارائه بدهیم، خروجی برنامه بهشکل زیر خواهد بود.
Input the number of terms: 2 Series terms: 9 99 The sum of the series = 108
نمونه سوال ۱۶: محاسبه مجموع سری تیلور تابع نمایی
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که مجموع سری زیر را محاسبه کند.
کدهای این نمونه سوال حلقه While در سی شارپ بهشکل زیر است.
در خطوط شماره ۶ و ۷ متغیرهایی را برای نگهداری مقدار x در دنباله، مقدار مجموع، مقدار هر یک از جملههای دنباله، شمارنده حلقه و تعداد جملات دنباله تعریف کردهایم. در خط شماره ۱۸ حلقه While را داریم که به تعداد جملههای مدنظر کاربر تکرار میشود. در هر مرتبه اجرای حلقه، جمله جدید با فرمول x/i محاسبه شده و در مقدار قبلی ضرب میشود. علاوه بر این، مقدار محاسبه شده به sum نیز اضافه میشود. در نهایت نیز مجموع، نمایش داده میشود.
با فرض اینکه مقدار x و همچنین تعداد جملهها را برابر با ۵ قرار دهید، خروجی برنامه بهشکل زیر خواهد بود.
Input the value of x: 5 Input number of terms: 5 The sum is: 65.375 Number of terms = 5 The value of x = 5
نمونه سوال ۱۷: چاپ مثلث فلوید
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که با دریافت تعداد سطرها، مثلث فلوید را چاپ کند.
خروجی این برنامه با وارد کردن عدد ۵ میبایست به شکل زیر باشد.
Input number of rows : 5 1 01 101 0101 10101

کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خط شماره ۶ متغیرهایی برای سطرها و ستونهای مثلت، تعداد سطرهای مشخص شده توسط کاربر و متغیرهایی به نامهای p و q برای مشخص کردن مقدارهایی که در سطرها چاپ میشوند را تعریف کردهایم. در خط شماره ۹، حلقه While اصلی برنامه را داریم که به تعداد سطرهای مشخص شده توسط کاربر تکرار میشود. سپس با دستورات شرطی مقدار p و q را با توجه به زوج یا فرد بودن ردیف فعلی با 0 یا 1 مقداردهی میکنیم. در خط شماره ۲۲ حلقه داخلی برنامه را داریم که در آن با یک دستور شرطی و با توجه به زوج یا فرد بودن شماره ستون، مقدار مناسب چاپ خواهد شد.
نمونه سوال ۱۸: محاسبه مجموع سری تیلور برای تابع Arctan(x)
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که با دریافت مقدار x از کاربر، مجموع سری زیر را محاسبه کند.
کدهای این نمونه سوال حلقه While در سی شارپ را در ادامه آوردهایم.
در خطوط شماره ۶ و ۷، متغیرهایی را برای نگهداری مقدار x ، مجموع دنباله، توانهای x، توان x در هر تکرار و ضریب مثبت و منفی هر جمله تعریف کردهایم. خطوط شماره ۸ تا ۱۱ نیز ورودیهای مربوطه را از کاربر دریافت میکنند. سپس متغیرهای موجود مقداردهی اولیه میشوند. در خط شماره ۱۸ حلقه While برنامه شروع شده که قرار است به تعداد جملههای تعیین شده توسط کاربر تکرار شود. درون حلقه، مقدار x به توان p محاسبه شده و درون ctr قرار میگیرد. بدینترتیب، جمله فعلی سری نیز محاسبه شده و به مجموع اضافه میشود. سپس علامت جمله، معکوس شده و توان نیز به اندازه ۲ واحد افزایش پیدا میکند. در نهایت هم، مجموع، تعداد جملهها و مقدار x در خروجی چاپ میشود.
با فرض اینکه x برابر با ۲ باشد و تعداد جملهها نیز برابر با ۵ در نظر گرفته شود، خروجی برنامه بهشکل زیر خواهد بود.
Input the value of x: 2 Input number of terms: 5 The sum = 410 Number of terms = 5 The value of x = 2

نمونه سوال ۱۹: محاسبه مربع اعداد طبیعی و مجموع آن ها
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که با دریافت مقدار n، به همین تعداد مربع اعداد طبیعی و همچنین مجموع آنها را محاسبه کرده و نمایش دهد.
کدهای این برنامه را در ادامه آوردهایم.
در خط شماره ۶، متغیرهایی را برای شمارنده حلقه، تعداد جملههای ورودی و مجموع مربع جملات تعریف کردهایم. در خط شماره ۱۰ وارد حلقه While میشویم. در بدنه حلقه، مربع جمله فعلی با ضرب کردن آن در خودش محاسبه شده و سپس به مجموع جملات اضافه میشود.
با فرض اینکه ورودی را ۱۰ داده باشیم، خروجی برنامه بهشکل زیر خواهد بود.
Input the number of terms: 10 The square natural numbers up to 10 terms are: 1 4 9 16 25 36 49 64 81 100 he Sum of Square Natural Numbers up to 10 terms = 385
نمونه سوال ۲۰: تشخیص کامل بودن عدد ورودی
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که با دریافت یک عدد، وضعیت کامل بودن یا نبودن آن را بررسی کند. کدهای این برنامه را در ادامه آوردهایم.
در خط شماره ۶، متغیرهایی را برای نگهداری از عدد ورودی، شمارنده حلقه و مجموع مقسومعلیهها تعریف کردهایم. در خط شماره ۱۰، بدنه حلقه شروع شده که تا هنگام کوچکتر بودن شمارنده از عدد وارد شده تکرار میشود. در بدنه حلقه با استفاده از دستور شرطی، مقسومعلیه بودن i بررسی شده که در صورت صحت، مقدار آن به sum اضافه و در خروجی نیز چاپ میشود. این مورد برای مقادیر بعدی i هم تکرار میشود. در خط شماره ۱۹، مجموع مقسومعلیهها در خروجی چاپ شده و پس از آن بررسی میشود که آیا این مجموع با خود عدد اصلی برابر است یا خیر. در صورت برابری، پیغام کامل بودن عدد در خروجی چاپ میشود و برعکس.
بهطور مثال، عدد ۲۸ را بهعنوان ورودی به برنامه میدهیم. در این حالت، خروجی بهشکل زیر خواهد بود.
Input the number : 28 The positive divisors : 1 2 4 7 14 The sum of the divisors is : 28 So, the number is a perfect number.
همانطور که مشاهده میکنید عدد ما بهطور صحیح بهعنوان عدد کامل شناخته شد. شما میتوانید مقادیر دیگر را نیز امتحان کنید.
نمونه سوال ۲۱: یافتن اعداد کامل در یک بازه
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که با دریافت یک بازه، اعداد کامل در آن را شناسایی کند.

کدهای این برنامه را در ادامه آوردهایم.
در خطوط شماره ۶ و ۷، متغیرهایی را برای نگهداری از عدد وارد شده، شمارنده حلقه، مجموع مقسومعلیهها، کران پایین و کران بالای بازه تعریف کردهایم. در خط شماره ۱۴، حلقه While اصلی را داریم که به تعداد اعداد موجود در بازه مشخص شده تکرار میشود. در خط شماره ۱۹ حلقه داخلی را داریم که مقسومعلیههای عدد n را پیدا کرده و مجموع آنها را نیز محاسبه میکند. خروجی این برنامه با فرض وارد کردن بازه ۱ تا ۲۰، بهصورت زیر خواهد بود.
Input the starting range or number: 1 Input the ending range of number: 20 The Perfect numbers within the given range: 6
نمونه سوال ۲۲: محاسبه
با استفاده از حلقه While در سیشارپ، برنامهای بنویسید که با دریافت یک عدد، وضعیت پالیندروم بودن آن را بررسی کند. اعداد پالیندروم، اعدادی هستند که از هر طرفی خوانده شوند یکسان خواهند بود. بهطور مثال اعدادی مانند ۱۲۱ یا ۳۴۴۳ جزو همین اعداد محسوب میشوند. کدهای این برنامه را در ادامه آوردهایم.
در خط شماره ۶، متغیرهایی را برای نگهداری عدد دریافتی از کاربر، باقیمانده تقسیم، عدد معکوس شده و عدد اصلی تعریف کردهایم. در خط شماره ۱۰، حلقه While را داریم که عدد وارد شده را معکوس میکند. عبارت num % 10 ، رقم آخر عدد را به دست میآورد. عبارت sum * 10 + r ، عبارت معکوس شده را ایجاد میکند. در نهایت پس از خروج از حلقه و در خط ۱۶ با دستور شرطی if عدد معکوس با عدد اصلی مقایسه شده و نتیجه آن در خروجی چاپ خواهد شد.
خروجی این برنامه با فرض وارد کردن عدد ۸۲۸، بهشکل زیر است.
Input a number: 828 828 is a palindrome number.

تقویت مهارت برنامه نویسی سی شارپ با فرادرس
پس از یادگیری کدنویسی با سیشارپ و مفاهیم مرتبط با آن میتوانید با مشاهده فیلمهای آموزشی پروژهمحور، مهارتهای خود را در کار با این زبان در پروژهها و کاربردهای واقعی افزایش دهید. در ادامه برخی از فیلمهای مفید در این زمینه را فهرست کردهایم.
علاوه بر این، میتوانید از طریق مجموعه فیلمهای آموزش پروژهمحور سیشارپ مقدماتی تا پیشرفته از فرادرس هم به طیف گستردهتری از فیلمهای آموزشی ارزشمند دسترسی داشته باشید.

جمعبندی
در این مطلب از مجله فرادرس ۲۲ نمونه سوال حلقه While در سی شارپ را مورد بررسی قرار دادیم. با توجه به اینکه تمرین و حل مثالهای متعدد، نقش بسیار حیاتی و مؤثر در تقویت مهارتها دارد، سعی کردهایم سوالات ساده و همچنین چالشبرانگیز را در اینجا به شما ارائه دهیم.
نمونهسوالات ارائه شده مفاهیم گوناگونی، از چاپ اعداد در بازه مشخص تا محاسبه و چاپ انواع دنبالهها را در بر میگیرد. در صورتیکه برنامهنویس مبتدی سیشارپ هستید یا فردی مجرب که به راحتی با این زبان کدنویسی میکند، در هر حال مطالعه این نمونهسوالها و تمرین کردن آنها میتواند مهارتهای کدنویسی و تفکر تحلیلی و الگوریتمی را در شما تقویت کند. علاوه بر این، آشنایی با راهحل چنین سوالاتی به شما کمک میکند تا در مصاحبههای استخدامی نیز با توانمندی بیشتری حاضر شوید.
source