نمونه سوالات الگوریتم و فلوچارت
در این نوشته تعدادی از نمونه سوالات الگوریتم و فلوچارت را مشاهده میکنید. درجه سختی سوالات نیز در کنار شماره سوال مشخص شده است.
* ۱- فلوچارت برنامه ای رسم کنید که از ورودی طول و عرض مستطیلی دریافت کند و محیط و مساحت آن را چاپ کند.
* ۲- فلوچارت برنامهای را رسم کنید که شعاع دایره ای را دریافت و محیط و مساحتش را چاپ کند.
*۳- فلوچارت برنامه ای را رسم کنید که یک زمان مشخص بر حسب ساعت، دقیقه و ثانیه بگیرد و مشخص کند چند ثانیه از شروع روز گذشته است.
* ۴- فلوچارتی رسم کنید که یک عدد دریافت کند و قدرمطلق یک عدد را چاپ نماید.
* ۵- فلوچارت برنامهای رسم کنید ضرایب یک معادله درجه دوم را دریافت کند و ریشه های معادله راچاپ کند.
** ۶- فلوچارت برنامهای رسم کنید که یک عدد صحیح از ورودی دریافت و مشخص کند برای خورد کردن چنین مقدار پولی با سکههای یک تومانی، ۲ تومانی و ۱۰ تومانی به حداقل چه تعداد سکه نیازمندیم. (مثلا اگر کاربر ۲۳ را وارد کرد باید در خروجی بنویسد دو سکه ۱۰ تومانی، یک سکه ۲ تومانی و یک سکه ۱ تومانی
ساختار تکرار:
** ۷- فلوچارت برنامهای را رسم کنید که با دریافت N، مجموع ۱+۲+…+Nرا چاپ کند.
** ۸- فلوچارت برنامهای رسم کنید که بزرگترین عدد را بین ۱۰۰ عددی که کاربر وارد میکند چاپ کند
** ۹- فلوچارت برنامه ای رسم کنید که بزرگترین و دومین بزرگترین عدد ( عددی که فقط از بزرگترین عدد کوچکتر و از بقیه اعداد بزرگتر است.) را بین ۱۰۰ عددی که کاربر وارد میکند چاپ نماید.
** ۱۰- فلوچارت برنامهای رسم کنید که ۱۰۰ جملهی ابتدایی مجموع زیر را محاسبه کند.
…+ ۶ – ۵ + ۴ – ۳ + ۲ – ۱
** ۱۱- فلوچارت برنامه ای رسم کنید که از ورودی N را دریافت کند و فاکتوریل آن را چاپ کند.
*** ۱۲- فلوچارت برنامهای را رسم کنید که یک عدد مثبت را دریافت کند و تعداد ارقام آن را چاپ کند.
*** ۱۳- فلوچارت برنامهای رسم کنید که معکوس یک عدد مثبت را چاپ کند. (مثلا معکوس ۱۲۵ برابر ۵۲۱ است)
*** ۱۴- فلوچارتی رسم کنید که با دریافت x از ورودی، بررسی کند که آیا x یک عدد اول است یا خیر.
*** ۱۵- دنبالهی اعداد فیبوناتچی به صورت زیر است:
…، ۱۳، ۸ ،۵ ،۳ ،۲ ، ۱ ،۱
که در آن به جز دو جملهی اول، مابقی حاصل جمع دو جملهی قبل خود هستند. فلوچارتی رسم کنید که با دریافت N، N جملهی اول دنباله فیبوناتچی را چاپ کند
چنانچه بدنبال حل سوالاتی هستید که در این نوشته وجود ندارد میتوانید از طریق ایمیل (کلیک کنید) ، تلگرام (کلیک کنید) و یا واتساپ (کلیک کنید) با ما در تماس باشید.
زیر الگوریتم:
*** ۱۶- با استفاده از زیرالگوریتمی برای تشخیص یک عدد اول، اعداد اول بین ۱ تا ۵۰ را چاپ کنید
*** ۱۷- فلوچارت برنامهای رسم کنید که با استفاده از زیرالگوریتمی که ب.م.م دو عدد را محاسبه میکند، ک.م.م دو عدد را چاپ کند.
**** ۱۸- یک عدد را متقارن گویند، اگر از دو طرف به یک شکل خوانده شود. به طور مثال ۹۰۹ و ۸۱۱۸ و ۹ همگی متقارن هستند، ولی ۶۴۴ متقارن نیست. فلوچارتی رسم کنید که بزرگترین عدد متقارنی که حاصلضرب دو عدد دو رقمی میباشد را چاپ نماید.
**** ۱۹- فلوچارتی رسم کنید که ۱۳۹۶مین عدد اول را چاپ کند.
**** ۲۰- فلوچارتی رسم کنید که مجموع ارقام ۲ به توان ۱۰۰۰ راچاپ کند.
**** ۲۱- یک عدد جالبانگیز است،اگر مجموع فاکتوریل ارقام آن با خود عدد برابر باشد، به طور مثال: !۵ + !۴ + !۱ = ۱۴۵
فلوچارتی رسم کنید که مجموع تمام اعداد جالبانگیز را چاپ کند.
***** ۲۲- یک عدد جالب نامیده میشود، اگر حاصلضرب دو عدد دیگر باشد و در هر سهی این اعداد هر رقم فقط یک بار ظاهر شود.
به طور مثال: ۷۲۵۴ = ۱۸۶ × ۳۹
همانطور که میبینید ۷۲۵۴ جالب است، زیرا ارقام ۱ تا ۹ در رابطهی بالا هر کدام یکبار (فقط یک بار) ظاهر شدهاند. فلوچارتی رسم کنید که مشخص کند که آیا یک عدد جالب است یا خیر
آرایه:
*** ۲۳ – فلوچارت برنامهای را رسم کنید که ۵۰ عدد از ورودی دریافت کند و پس از آن ابتدا اعداد زوج و سپس اعداد فرد را چاپ کند.
*** ۲۴- فلوچارت برنامهای را رسم کنید که جملات اول تا nام جملهی فیبوناتچی را در یک آرایه محاسبه کند.
*** ۲۵- فلوچارت برنامهای را رسم کنید که یک آرایه از اعداد از ورودی دریافت کند (۵۰ عدد) سپس عدد دیگری از ورودی دریافت کند. در صورتی که عدد در آرایه وجود داشته باشد پیغام مناسبی چاپ کند. (جستجوی ترتیبی)
****۲۶ – فلوچارت برنامهای رسم کنید که از ورودی یک آرایه به صورت صعودی مرتب دریافت کند. سپس از ورودی x دریافت کند و یه صورت دودویی x را در آرایه جستجو کند.
**** ۲۷ – فلوچارت برنامه ای رسم کنید که از ورودی آرایه ۱۰ تایی A و B را دریافت کند و مجموع دو آرایه را در خروجی چاپ کند.
*****۲۸ – فلوچارت برنامه ای رسم کنید که از ورودی یک آرایه دریافت کند و آرایه را به صورت صعودی مرتب کند. (با خواندن توضیحات مثال ۸ از آموزش آرایه در سی پلاس پلاس دید بهتری برای حل این مساله پیدا خواهید کرد)
*****۲۹- فلوچارت برنامهای رسم کنید که نمره ۱۰۰ دانشجو را از ورودی دریافت کند و در آرایه ذخیره کند و اعمال زیر را انجام دهد:
الف- میانگین نمرات دانشجویان را چاپ کند.
ب- بالاترین نمره و کمترین نمره را چاپ کند.
ج- تعداد دانشجویانی که نمرهی کمتر از ۱۲ گرفتهاند را چاپ کند.
برای رزرو کلاس رفع اشکال (سوالات مطرح شده در این پست و یا رفع اشکال در درس الگوریتم و فلوچارت) میتوانید از طریق ایمیل (کلیک کنید) ، تلگرام (کلیک کنید) و یا واتساپ (کلیک کنید) اقدام کنید.
ماتریس:
*** ۳۰- فلوچارت برنامه ای رسم کنید که از ورودی یک ماتریس دریافت کند و مجموع عناصر ماتریس را چاپ کند.
*** ۳۱- فلوچارت برنامهای رسم کنید که ماتریس A که یک ماتریس مربعی N×N است را از ورودی دریافت کند و مجموع عناصر قطر اصلی را چاپ کند.
*** ۳۲- فلوچارت برنامهای رسم کنید دو ماتریس M×N را از ورودی دریافت و مجموع آنها را در ماتریس C ذخیره و چاپ نماید.
**** ۳۳- فلوچارت برنامهای رسم کنید که یک ماتریس از ورودی دریافت کند و ترانهادهی ماتریس را چاپ کند.
**** ۳۴- فلوچارت برنامهای رسم کنید که یک ماتریس از ورودی دریافت کند و تشخیص دهد که آیا ماتریس متقارن است یا خیر. (ماتریسی متقارن است که خودش با ترانهادهاش برابر است.)
*****۳۵- فلوچارت برنامهای رسم کنید که یک ماتریس از ورودی دریافت کند و تشخیص دهد که الف- ماتریس قطری است یا خیر (یعنی همهی عناصر به جز قطر اصلی صفر باشد)
ب- ماتریس بالا مثلثی است یا خیر
ج- ماتریس پایین مثلثی است یا خیر
*****۳۶- فلوچارت برنامهای رسم کنید که دو ماتریس A و B را از ورودی دریافت کند و ضرب دو ماتریس را در ماتریس C ذخیره کند.
سوالات مربوط به مسابقات برنامهنویسی
در این بخش سوالات مربوط به مسابقات برنامه نویسی ارائه شده است:
**** ۳۷ – همواره برای انتخاب یک رمز برای استفادههای مختلف انسانها در حال چالش با خود هستند!! یک نظریه وجود دارد که میگوید در میان رمزهایی که کاملاً متشکل از ارقام هستند (یعنی شامل کاراکتر نیستند) آن دسته از رمزهایی که جانسخت (!) باشند دارای امنیت بالایی هستند.
یک رمز N رقمی جانسخت است اگر عددی اول باشد و اگر از سمت راست آن شروع به حذف ارقام آن بکنیم همواره عدد باقیمانده نیز عددی اول باشد. مثلاً رمز ۲۳۹۹۲۳۹۹۲۳۹۹ یک رمز جانسخت است زیرا اعداد ۲۳۹۹ و ۲۳۹ و ۲۳ و ۲ همگی اول هستند. همچنین ۳۱۳۷۳۱۳۷۳۱۳۷ نیز یک رمز جانسخت است. برنامه ای بنویسید که عدد N را بگیرد و تمام رمزهای جانسخت به طول N را چاپ کند.
**** ۳۸- پویا یک برنامه نوشته که اعداد یک تا پنج هزار را در خطوط مختلف چاپ میکند، البته متاسفانه دکمه اینتر لپتاپش دچار مشکل شده و وقتی برنامه را اجرا کرد دید که برنامه تمامی اعداد ۱ تا n را به ترتیب در یک خط چاپ کرده و در واقع یک عدد بسیار بزرگ تولید شده است (یعنی در خروجی عدد بسیار بزرگ …۱۲۳۴۵۶۷۸۹۱۰۱۱۱۲۱۳ چاپ شده بود).
حال برای او سوال شده که k امین رقم سمت چپ این عدد بسیار بزرگ چیست؟ به او کمک کنید تا جواب را پیدا کند.
ورودی : در خط اول ورودی عدد k داده میشود.
خروجی: در خروجی رقم kام از چپ چاپ میشود.
مثال: اگر ورودی ۵ باشد باید در خروجی ۵ چاپ شود ، اگر ورودی ۱۰ باشد باید ۱ چاپ شود. و اگر ورودی ۱۱ باشد ۰ چاپ شود….
**** ۳۹ – قبیلهی «گاوچرانهای بیادعا» یک رئیس مقتدر به نام «عباسقلی» دارد. در پی فشارهای زیاد کاری که در این چند روز اخیر بر روی عباسقلی بود، او تصمیم گرفته تا آخر هفته به همراه اهل و عیال، راهی شهرستان خوش آب و هوای «جدولستان» شود.
جادهای که به شهرستان جدولستان میرود، خود به صورت یک جدولِ 1×n است که در هر خانهی آن یک عدد طبیعی نوشتهشده. میگوییم این جاده دارای دستانداز است، اگر خانهای در جدول وجود داشته باشد که عددِ آن از عدد دو خانهی مجاورش اکیداً بیشتر باشد.
عباسقلی و اهل و عیال هماکنون در خانهی اول از این جدول قرار دارند و میخواهند به خانهی آخر جاده برسند. آیا میتوانید با گرفتنِ جادهای که به شهرستان جدولستان میرود، بگویید که عباسقلی و خانوادهاش میتوانند تا آخر هفته در شهرستان جدولستان، در کنار هم جوج بزنند یا نه؟ توجه کنید ماشین عباسقلی قابل اعتماد نیست و در جادههایی که دستانداز دارند، دچار نقص فنی میشود.
ورودی: در سطر اول ورودی، عدد طبیعی n که نشاندهندهی طول جادهی جدولستان است، آمده. در سطر دوم به ترتیب n عدد که نشاندهندهی مقدار نوشتهشده در خانههای جادهی جدولستان است، میآید.
خروجی: اگر عباسقلی و اهل و عیال میتوانند به خانهی آخر جدول برسند، عبارت Bah Bah! Ajab jooji! و در غیر این صورت، عبارت Ey baba 🙁 را چاپ کنید.
ورودی نمونه ۱: | ————————– | ورودی نمونه ۲: |
۵ ۵ ۳ ۷ ۸ ۸ | ————————– | ۳ ۶ ۸ ۷ |
خروجی نمونه ۱ | ————————– | خروجی نمونه ۲ |
Bah Bah! Ajab jooji! | ————————– | Ey baba :( |
شما هم دیدگاه خود را بنویسید