تحقیق درباره الگوریتم کلاس

تحقیق درباره الگوریتم کلاس ، تحقیق درباره الگوریتم کلاس نهم


ریشه واژهٔ الگوریتم

واژه الگوریتم از نام ریاضیدان و ستاره‌شناس و جغرافی‌دان نامی ایرانی، ابوجعفر محمد بن موسی خوارزمی (الخوارزمی)، گرفته شده‌است،که در خوارزم متولد شد و در دانشگاه «بیت الحکمه» بغداد به اوج شهرت رسید.

رساله‌ای که خوارزمی  در سده ۹ میلادی به عربی نگاشته بود، در سده ۱۲ به لاتین با نام ترجمه شد؛

کتاب «الگوریتمی» در مورد اعداد هندی، که «الگوریتمی» نام الخوارزمی بود که مترجم در تبدیل به لاتین نام وی را جلوی نام اصلی کتاب (در مورد اعداد هندی) آورده بود.

در سده ۱۳ میلادی واژه الگوریسموس به معنای «سیستم شمارش عربی (دهدهی)» (یعنی اعداد ۱ تا ۹ به علاوه صفر، و نیز مفهوم اعشار) بود؛ که هنوز هم یکی از معانی واژه الگوریسم است.

معنای دیگر الگوریسم «حساب کردن با کمک اعداد عربی» است؛ یعنی فن انجام اعمال حسابی پایه، مانند جمع و ضرب، با قرار دادن اعداد در زیر هم و اعمال قواعدی خاص، که جایگزین به‌کارگیری اعداد رومی و استفاده از چرتکه شد.

طولی نکشید که این کلمه به شکل وارد زبان انگلیسی شد؛ ولی فقط در اواخر سده ۱۹ میلادی بود که معنای عام‌تر امروزی‌اش را یافت، و به

«هر مجموعه قواعدی که برای انجام یک رویه محاسباتی یا روال رایانه‌ای به کار رود» الگوریتم گفته شد.

تبدیل نام الخوارزمی به الگوریسم و سپس الگوریتم احتمالاً تحت تأثیر واژه یونانی (به معنای عدد) و (به معنای محاسباتی) بوده‌است.


الگوریتم‌ها چگونه کار می کنند؟

الگوریتم‌های رایانه از طریق داده‌های ورودی و خروجی کار می‌کنند. آن‌ها داده‌های ورودی را می‌گیرند و هر مرحله از الگوریتم را برای تولید یک داده خروجی اعمال می‌کنند.

به عنوان مثال، موتورهای جستجو، الگوریتم‌هایی هستند که عبارت جستجوشده را به عنوان ورودی می‌گیرند و در پایگاه داده خود موارد مربوط به کلمات موجود در عبارت را جستجو می‌کنند. سپس نتایج را به عنوان خروجی به شما می‌دهند.

کیفیت یک الگوریتم خوب باید به گونه زیر باشد:

ورودی و خروجی باید دقیقاً تعریف شود.

هر مرحله در الگوریتم باید واضح و روشن باشد.

الگوریتم ها باید از بین روش‌های مختلف برای حل یک مسئله موثر باشند.

الگوریتم نباید شامل یک کد و زبان رایانه‌ای باشد. در عوض، الگوریتم باید به گونه‌ای نوشته شود که بتواند در زبان‌های مختلف برنامه‌نویسی مورد استفاده قرار گیرد.


الگوریتم فلوچارت (روندنما) چیست

تعریف:

الگوریتم یک روش گام به گام برای حل یک مسئله است.

هر دستورالعملی که مراحل انجام کاری را با زبان دقیق و با جزییات کافی بیان کند، به طوری که ترتیب مراحل و شرط خاتمه عملیات به وضوح مشخص شود، «الگوریتم» نامیده می شود.

“دونالد کنوت“ یکی از دانشمندان بزرگ علوم کامپیوتر می‌گوید:

علم کامپیوتر چیزی جز مطالعه‌ی الگوریتم‌ها نیست.

برای نوشتن یک الگوریتم مناسب باید سه عامل اصلی را در صورت مسئله شناسایی کنیم:

مقادیر معلوم:

اطلاعاتی که در اختیار ما قرار داده شده و باید به کمک آن‌ها به حل مسئله بپردازیم (داده‌ها)

خواسته‌های مسئله:

نتایجی که در اثر انجام محاسبات بر روی داده‌های مسئله حاصل می‌شود (مقادیر مجهول)

عملیات محاسباتی:

دستورات و روابط منطقی که برای رسیدن به خواسته‌های مسئله بر روی داده‌ها و مقادیر مجهول انجام می‌شود.

به عنوان مثال فرض کنید وزن مقداری سیب و قیمت هر کیلوگرم از آن به ما داده شده است، از ما خواسته می‌شود قیمت کل سیب‌ها را محاسبه کنیم.

در این مثال:

داده‌ها: وزن سیب‌ها (W) و قیمت هر کیلوگرم سیب (P)

خواسته‌ها: محاسبه‌ی قیمت کل سیب‌ها (T)

عملیات محاسباتی: قیمت کل = وزن سیب‌ها * قیمت هر کیلوگرم

مراحل حل مسئله به صورت زیر است:

T=W×P


خصوصیات یک الگوریتم

تمام الگوریتم‌ها (خوارزمی‌ها) باید شرایط و معیارهای زیر را دارا باشند:

ورودی:

یک الگوریتم باید هیچ یا حداقل یک پارامتر را به عنوان ورودی بپذیرد

خروجی:

الگوریتم بایستی حداقل یک کمیت به عنوان خروجی (نتیجهٔ عملیات) تولید کند

قطعیت:

دستورهای الگوریتم باید با زبانی دقیق و بی‌ابهام بیان شوند. هر دستورالعمل نیز باید انجام‌پذیر باشد. دستورهایی نظیر «مقدار ۶ یا ۷ را به x اضافه کنید» یا «حاصل تقسیم پنج بر صفر را محاسبه کنید» مجاز نیستند؛ چرا که در مورد مثال اول، معلوم نیست که بالاخره چه عددی باید انتخاب شود، و در خصوص مثال دوم هم تقسیم بر صفر در ریاضیات تعریف نشده‌است.

محدودیت:

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


عوامل مؤثر در ارائهٔ یک الگوریتم

به‌طور کلی جهت ارائهٔ یک الگوریتم کامل به ۵ مؤلفهٔ اصلی احتیاج داریم که عبارتند از:

  • مقادیر معلوم
  • خواستهٔ مسئله
  • عملیات محاسباتی
  • دستورهای شرطی
  • دستورهای تکرار (حلقه‌ها)

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


مراحل 5 گانه حل یک مساله

ورودی ها یعنی :

بررسی داده ها یا معلومات مساله (از مساله بپرسید،چی-چیا رو باید حساب کتاب کنم؟)

خروجی ها یعنی:

بررسی مجهولات (از مساله بپرسید،چی-چیا باید نمایش داده شود؟)

ارتباط منطقی یعنی :

یافتن ارتباط بین داده ها و مجهولات (از مساله بپرسید،چجوری از ورودی به خروجی برسم؟)

ارائه راه حل یعنی :

راه حل یا نقشه كلی مسیر را پیدا كنیم تا طبق آن جلو برویم .


 


بیان الگوریتم یعنی :

راه حل خود را قدم به قدم بیان کنیم با روشی دلخواه که ترجیحا بهتر است فلوچارت باشد.


روش های بیان الگوریتم

الف) بیان الگوریتم به زبان فارسی (شبه کد)

ب) بیان ریاضی الگوریتم

ج) بیان الگوریتم توسط اشکال (فلوچارت)


شبه دستور

بیان الگوریتم با استفاده از كلمات ، عبارات و علائم ریاضی .

مثال  :

میانگین دو عدد 10 و 20 را حساب كنید .

ورودی : دو عدد 10 و 20

خروجی : چاپ میانگین 10 و 20

رابطه منطقی : روش محاسبه میانگین (مجموع اعداد تقسیم بر تعداد)

ارائه راه حل : باید برنامه ام 2 عدد 10 و 20 رو خودش داشته باشه (در جاهای مخصوصی كه من بدونم ) بعد اون دو رو از جاشون

بردارم و بعد از جمع و تقسیم بر 2 در جای دیگری قرار دهم و با گفتن جای آن ، میانگین این دو عدد را چاپ كنم .

بیان الگوریتم : روش اول بیان الگوریتم شبکه دستور

اجرای برنامه

شروع

دو عدد 10 و 20 را بگیر .

10+20/2 را محاسبه کن و درمكانی (متغیری)به نام C قرار بده .

C را چاپ کن.

پایان


مثال‌ ساده شبه دستوری

1.Find the largest number among three numbers

پیدا کردن بزرگترین عدد در بین 3 عدد

Step 1: Start

مرحله 1: شروش

Step 2: Declare variables a, b and c.

مرحله 2 : تعریف متغیرها یا ورودی های مسئله a b c

Step 3: Read variables a, b and c.

مرحله 3: متغیرهای a b c را بخوان

Step 4: If a > b

مرحله4 : اگر a > b

If a > c

مرحله4 : اگر a > c

Display a is the largest number.

نشون بده a بزرگتره

Else

در غیر اینصورت

Display c is the largest number.

نشون بده c بزرگتره

Else

در غیر اینصورت

If b > c

اگر b > c

Display b is the largest number.

نشون بده b بزرگتره

Else

در غیر اینصورت

Display c is the greatest number.

نشون بده c بزرگتره

Step 5: Stop

مرحله 5 : توقف

 


الگوریتم محاسبه مساحت و محیط مستطیل

در این مرحله با رعایت نکات گفته شده به طراحی الگوریتم محیط و مساحت مستطیل می پردازیم.

شروع

a را دریافت کن

b را دریافت کن

Area=a×b

Environment=(a+b)×2

چاپ Area

چاپ Environment

پایان

گام سوم مرحله رسم فلوچارت است. برای رسم فلوچارت از اشکال زیر برای دستور العمل های مختلف استفاده می کنیم:

الگوریتم محاسبه مساحت و محیط مستطیل


اما چطور فلوچارت بکشیم ؟

متداول ترین شكلها در فلوچارت :

بیضی :

مفهوم شروع و پایان را می رساند .

مستطیل :

مفهوم عملیات پردازش مثل محاسبات ریاضی را می رساند.

متوازی الاضلاع :

مفهوم این را می رساند كه داده یا داده هایی در حال ورودند و یا اطلاعاتی در حال خروجند.

لوزی :

مفهوم چندراهی را می رساند مثلا اگر شرطی برقرار بود از مسیر اول مساله حل شود و اگر شرط برقرار نبود از مسیر بعدی حل شود و …

دایره كوچك O :

اتصالات ، مثلا در حال نوشتن هستیم اما فضای كافی وجود ندارد با گذاشتن این علامت در هر دو طرف دیگران را متوجه می كنیم كه این دو با هم ارتباط دارند و ادامه یكدیگرند .

توضیحات ، برای اینكه برنامه خوانا و قابل فهم باشد.

تكرار :

بیشتر مواقع برنامه های ما مرحله یا مراحلی را دارد كه باید طبق شرایط خاصی دوباره تكرار شود خیلی ساده با برگرداندن فلش به آن مرحله ، تكرار را معلوم می كنیم كه به اصطلاح به این عمل Loop یا حلقه می گویند.


مزایا و معایب الگوریتم

مزایای الگوریتم به شرح زیر است :
  • نمایش گام به گام راه‌حل یک مسئله را بیان و درک آن را آسان می‌کند.
  • از رویه و استاندارهای مشخصی پیروی می‌کند.
  • به هیچ زبان برنامه نویسی وابسته نیست و برای همه افراد حتی آن‌هایی که دانش برنامه‌نویسی ندارند قابل فهم و آسان است.
  • هر مرحله در یک الگوریتم، دنباله منطقی خاص خود را دارد و اشکال زدایی آن آسان است.
  • با استفاده از الگوریتم، مسئله به قطعات یا مراحل کوچکتر تقسیم می‌شود و برای برنامه‌نویس آسان‌تر است که آن را به یک برنامه واقعی تبدیل کند.
معایب الگوریتم به شرح زیر است :
  • الگوریتم‌ها زمان بر هستند.
  • نشان دادن انشعاب و حلقه زدن در الگوریتم‌ها مشکل است.
  • قرار دادن وظایف بزرگ در الگوریتم ها دشوار است.

چگونه یک الگوریتم بنویسیم؟

یک الگوریتم شامل تعدادی از دستورات است:

  • دستورات ورودی
  • دستورات خروجی
  • دستورات محاسباتی
  • دستورات شرطی
  • دستورات تکرار

در ادامه به صورت کامل با تمام این حالات آشنا می‌شویم:

دستورات ورودی

این دستورات برای دریافت داده‌های ورودی استفاده می‌شوند، شما میتوانید یک نام اختصاری را به متغیرهای ورودی تخصیص دهید. (بخوان، دریافت کن، بگیر و… جزو این نوع دستورات میباشند)

دستورات خروجی

این دستورات برای نمایش نتایج الگوریتم یا نمایش پیام‌های مورد نیاز به کار می‌روند (نمایش بده، چاپ کن و… از جمله دستورات خروجی هستند)

مثال: الگوریتمی بنویسید که اعداد مثبت کوچک‌تر از 6 را نمایش بدهد.

  1. شروع
  2. اعداد 1، 2، 3، 4، 5 را نمایش بده.
  3. پایان

مثال: الگوریتمی بنویسید که یک عدد را از کاربر دریافت کرده و آن‌را در خروجی نمایش دهد.

  1. شروع
  2. N را دریافت کن.
  3. N را نمایش بده.
  4. پایان

(در این مثال N یک متغیر است که مقدار ورودی در آن ذخیره میشود)

دستورات محاسباتی

این دستورات نحوه‌ی ارائه و محاسبات دستورات را با فرمول‌های ریاضی بیان کرده و به زبان ریاضی نیز نوشته میشوند که شامل 3 جز اصلی میباشد:

  • متغیر
  • عملگرهای محاسباتی
  • عملوندهای محاسباتی

متغیر: عنوان‌هایی متشکل از حرف و عدد که مقدار آن‌ها قابل تغییر است (a, b, n, s2 …)

عملگرهای محاسباتی: عملگرهای ریاضی از پیش تعریف شده در دستگاه الگوریتم (+ , – , * , / , % , =)

عملوندهای محاسباتی: اعداد و عباراتی که محاسبات بر روی آن‌ها انجام میشود (شامل اعداد و متغیرها)

معرفی عملگرهای مورد استفاده در نوشتن الگوریتم:

( ) پرانتز ⇐ برای نشان دادن اولویت انجام مجاسبات استفاده میشود.

× یا * ضرب برای ضرب دو یا چند عبارت استفاده می‌شود.

/ تقسیم برای تقسیم کردن عبارات استفاده می‌شود.

% باقی‌مانده برای نشان دادن باقی‌مانده تقسیم دو عدد از علامت درصد استفاده میشود.

+ جمع برای جمع کردن دو عبارت استفاده می‌شود.

– تفریق برای تفریق کردن دو عدد استفاده می‌شود.

توجه: از این به بعد هنگام نوشتن الگوریتم، از علامت تساوی (=) با عنوان انتساب استفاده می‌کنیم، اگر بخواهیم نتایج حاصل از یک عبارت یا ورودی را در یک متغیر ذخیره کنیم از این علامت استفاده خواهیم کرد.

مثال: حاصل عبارت 2*5 را در متغیر P ذخیره کنید.

  1. شروع
  2. P=2*5
  3. پایان

توجه داشته باشید: حق تقدم را در استفاده از عملگرهای ریاضی رعایت کنید!

اولویت عملگرهای ریاضی به ترتیب زیر است:

  1. پرانتز
  2. ضرب، تقسیم و باقی‌مانده
  3. جمع و تفریق

اگر در یک سطر اولویت‌ها یکسان باشند عملیات به ترتیب از چپ به راست انجام خواهد شد.

مثال: الگوریتمی بنویسید که دو عدد را از کاربر دریافت کرده و حاصل ضرب آن ها را نمایش دهد.

  1. شروع
  2. a و b را دریافت کن.
  3. zarb=a*b
  4. zarb را نمایش بده.
  5. پایان

مثال: الگوریتمی بنویسید که میانگین 3 عدد را محاسبه کرده و نمایش دهد.

  1. شروع
  2. اعداد a , b , c را دریافت کن.
  3. 3/(a+b+c) نمایش بده.
  4. پایان

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


آموزش نوشتن الگوریتم دستورات شرطی

یکی از پرکاربردترین دستوراتی که در برنامه‌نویسی استفاده میشوند، دستورات شرطی میباشند، در این دستورات ابتدا شرط (شرط‌ها) بررسی شده و در صورت صحیح بودن آن‌ها دستور (دستورات) خاصی اجرا میشود. قالب کلی دستورات شرطی به شکل زیر است:

اگر شرط برقرار بود آنگاه دستوری خاص را انجام بده، در غیر این‌صورت دستور دیگری را انجام بده.

با یک مثال ساده شروع میکنیم:

اگر تلفن‌همراه شارژ نداشت، شارژر را به آن متصل کن. در این مثال شرط ما داشتن یا نداشتن شارژ است، اگر شرط برقرار باشد دستور اجرا میشود.

همانگونه که دیدید میتوانیم بخش “در غیر این صورت” را از دستور حذف کنیم، در این حالت اگر شرط برقرار نباشد دستور خاصی اجرا نمیشود و ادامه الگوریتم از سر گرفته میشود.


از چه دستوراتی میتوانیم در شرط استفاده کنیم؟

شما از دستورات خاصی می‌توانید در قسمت شرطی الگوریتم خود استفاده کنید، که شامل موارد زیر می‌شوند:

  • عملگرهای مقایسه‌ای (کوچکتر، بزرگتر، مساوی، نامساوی و…)
  • عملگرهای منطقی (and, or, not)

عملگرهای مقایسه‌ای

عملگرهای مقایسه‌ای که می‌توانید در نوشتن الگوریتم شرطی خود از آن‌ها استفاده کنید شامل دستورات زیر می‌شوند:

  • == عملگر تساوی مثال 4 == 4
  • =< عملگر بزرگ‌تر مساوی مثال 1 =< 5
  • => عملگر کوچک‌تر مساوی مثال 5 => 1
  • < عملگر بزرگ‌تر مثال 2 < 3
  • > عملگر کوچک‌تر مثال 4 > 2
  • =! عملگر نامساوی مثال 2 =! 3

مثال: الگوریتمی که مثبت یا منفی بودن عدد را بررسی کند.

  1. شروع
  2. N را دریافت کن.
  3. اگر 0 =< N آنگاه “Mosbat” را نمایش بده، در غیر این‌صورت “Manfi” را نمایش بده.
  4. پایان

مثال: الگوریتمی که دو عدد را دریافت کند و نشان دهد میانگین آن‌ها بزرگ‌تر یا مساوی 20 است یا خیر.

  1. شروع
  2. a و b را دریافت کن
  3. sum=a+b
  4. ave=sum/2
  5. اگر ave >= 20 آنگاه “Yes” را چاپ کن
  6. اگر ave < 20 آنگاه “No” را نمایش بده
  7. پایان

مثال: الگوریتمی بنویسد که 3 عدد را دریافت کرده و بزرگ‌ترین را در میان آن‌ها بیابد.

  1. شروع
  2. a, b, c را دریافت کن.
  3. max=a
  4. اگر b > max آنگاه max=b
  5. اگر c > max آنگاه max=c
  6. max را نمایش بده.
  7. پایان

عملگرهای منطقی

اگر بخواهیم چند شرط و مقایسه را با هم ترکیب کنیم باید از عملگرهای منطقی استفاده کنیم، که شامل دستورات زیر میشوند:

  • and: عملگر “و” منطقی (and منطقی) این عملگر شرط‌ها را بررسی میکند و اگر تمام آن‌ها درست باشند دستورات شرط برقرار میشود، اما اگر تنها یکی از شرط‌ها برقرار نباشد، دستورات شرط اجرا نخواهند شد.
  • or: عملگر “یا” منطقی (or منطقی) این عملگر شرط‌ها را بررسی میکند و اگر تنها یکی از آن‌ها نیز درست باشد دستورات شرط برقرار میشود، فقط در صورتی که هیچ کدام از شرایط برقرار نباشد دستورات اجرا نمیشود.
  • not: عملگر “نقیض” این عملگر تمام دستورات را نقض میکند، یعنی عبارات صحیح غلط و عبارات غلط صحیح می‌شوند.

مثال: عدد 1 را به عنوان مقدار صحیح (True) و عدد 0 را به عنوان مقدار نادرست (False) در نظر بگیرید. در این صورت:

  • 1 و 1 و 0 و 1 مقدار غلط به دلیل وجود 0 و and منطقی.
  • 1 یا 0 یا 0 یا 0 مقدار صحیح به دلیل وجود 1 و or منطقی.
  • not 1 مقدار غلط 1 مقدار صحیح را داشت ولی به خاطر وجود عملگر not نقض شده و معکوس میشود.
  • 1 و 1 و 1 مقدار صحیح ⇐ چون تمام مقادیر صحیح هستند پس مقدار and منطقی صحیح میشود.
  • 0 یا 0 مقدار غلط ⇐ چون تمام مقادیر غلط هستند or منطقی نیز غلط میشود.

مثال: الگوریتمی بنویسید که دو عدد را دریافت کرده و مشخص کند مجموع آن دو عدد بین 0 تا 20 هست یا خیر.

  1. شروع
  2. m و n را دریافت کن.
  3. sum=m+n
  4. اگر sum>0 و sum<20 آنگاه چاپ کن “Yes” در غیر این‌صورت “No” را چاپ کن.
  5. پایان

(همانگونه که مشاهده میکنید در دستور شرط از and منطقی “و” استفاده کردیم، بدین ترتیب برای اجرای دستور باید هر دو شرط همزمان برقرار باشد، با اینکار توانستیم بازه‌ی اعداد را مشخص کنیم)

آیا تا به‌حال به این فکر کرده‌اید چگونه باید یک دستور را به تعداد زیاد تکرار کنید، به‌عنوان مثال فرض کنید قصد داریم الگوریتمی بنویسیم که اعداد 1 تا 10000 را به ترتیب نمایش دهیم، مطمئنا در چنین حالتی نمی‌توان به‌تعداد 10000 بار یک دستور تکراری را نوشت، اینجاست که الگوریتم‌های تکرار (حلقه‌ها) به کمک برنامه‌نویس می‌آیند.

آموزش الگوریتم دستورات تکرار (حلقه‌ها)

دستور تکرار (حلقه) از 4 بخش اصلی تشکیل میشود:

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

مثال: الگوریتمی بنویسید که عدد 10 را 100 بار نمایش دهد.

  1. شروع
  2. count=1
  3. “10” را نمایش بده
  4. count=count+1
  5. اگر count<=100 به مرحله‌ی 3 برو
  6. پایان

توضیح مثال بالا:

پس از شروع الگوریتم، مقدار اولیه‌ی 1 را در متغیر count قرار می‌دهیم، در مرحله‌ی بعد عدد 10 را یک‌بار نمایش میدهیم، در مرحله‌ی 4 یک واحد به مقدار اولیه اضافه می‌کنیم و مجددا آن را در متغیر شمارنده (count) قرار می‌دهیم، سپس بررسی می‌کنیم اگر شمارنده کوچک‌تر از 100 بود مجددا دستور 3 (نمایش عدد 10) را تکرار میکنیم، مجددا مراحل را طی میکنیم تا به مرحله‌ی بررسی شرط برسیم، اگر شرط برقرار بود مجددا دستور اجرا می‌شود(به مرحله‌ی 3 بازمیگردیم)،

این فرآیند آنقدر تکرار می‌شود تا شرط حلقه از حالت برقرار بودن خارج شود (یعنی شمارنده به عدد 101 برسد) در این حالت دستور شرط (رفتن به مرحله‌ی 3) انجام نمی‌شود و الگوریتم از اجرای حلقه خارج می‌شود، نتیجه‌ی این الگوریتم نمایش عدد 10 به اندازه‌ی 100 مرتبه است!

مثال: الگوریتمی بنویسید که محیط و مساحت 12 دایره را محاسبه کرده و نمایش دهد.

  1. شروع
  2. count=1
  3. R را دریافت کن
  4. P=2*3.14*R
  5. S=3.14*R*R
  6. S و P را نمایش بده
  7. count=count+1
  8. اگر count<=12 آنگاه به مرحله‌ی 3 برو.
  9. پایان

مثال: الگوریتمی بنویسید که اعداد مثبت کوچک‌تر از 50 را نمایش دهد.

  1. شروع
  2. count=1
  3. count را نمایش بده
  4. count=count+1
  5. اگر count<50 به مرحله‌ی 3 برو
  6. پایان

مثال: الگوریتمی بنویسید که اعداد طبیعی کوچک‌تر از عدد دلخواه N را نمایش دهد.

  1. شروع
  2. N را دریافت کن
  3. count=1
  4. count را نمایش بده
  5. count=count+1
  6. اگر count<N آنگاه به مرحله‌ی 4 برو
  7. پایان

مثال: الگوریتمی بنویسید که مجموع اعداد طبیعی کوچک‌تر از N را نمایش دهد.

  1. شروع
  2. N را دریافت کن
  3. count=1
  4. sum=0
  5. sum=count+sum
  6. count=count+1
  7. اگر count<N به مرحله‌ی 5 برو
  8. sum را نمایش بده
  9. پایان

توضیح مثال بالا: در اینجا count را به عنوان شمارنده و sum را به عنوان مجموعه‌ی اعداد در نظر گرفتیم، در مرحله‌ی 5 مقدار شمارنده و مقدار مجموع با هم جمع شده و در sum ذخیره میشوند، سپس یک واحد به شمارنده افزوده می‌شود پس از آن شرط حلقه بررسی شده و اگر برقرار بود به مرحله‌ی 5 بازمی‌گردیم. حال مقدار جدید شمارنده به حاصل جمع‌های قبلی افزوده می‌شود و مجددا در sum ذخیره می‌شود، این دستورات تا زمانی که شرط حلقه برقرار باشد (شمارنده به مقدار N برسد) انجام می‌شود، پس از آن از حلقه خارج می‌شود و بقیه دستورات اجرا خواهند شد.

مثال: الگوریتمی بنویسید که تا زمانی که کاربر عدد منفی وارد نکرده از او عدد بگیرد و در پایان تعداد اعداد وارد شده را نمایش دهد.

  1. شروع
  2. count=0
  3. N را دریافت کن
  4. count=count+1
  5. اگر N>=0 به مرحله‌ی 3 برو
  6. count را نمایش بده
  7. پایان

توضیح مثال بالا:

در این الگوریتم ابتدا یک شمارنده به نام count ایجاد کردیم تا با استفاده از آن تعداد اعداد وارد شده را شمارش کنیم، سپس عدد N را دریافت می‌کنیم و بلافاصله یک واحد به شمارنده اضافه می‌کنیم، سپس بررسی می‌کنیم و اگر عدد وارد شده مثبت باشد (منفی نباشد) مجددا به مرحله 3 رفته و عدد بعدی را دریافت می‌کنیم

و یک واحد نیز به شمارنده اضافه می‌کنیم، حال شرط را چک کرده و در صورت برقرار بودن مجددا دستورا اجرا می‌شوند و در نهایت تعداد اعداد وارد شده (count) نمایش داده می‌شود.

همانگونه که متوجه شدید شرط این حلقه به شمارنده وابسته نبود و بستگی به این داشت که کاربر چه عددی را وارد کند، از شمارنده (در اینجا ‌count) به عنوان متغیری برای شمارش تعداد اعداد وارد شده استفاده کردیم و در نهایت آن‌را به کاربر نمایش دادیم.

برای درک بهتر این آموزش تمرین‌های زیر را انجام دهید:

  1. داده‌ها و خواسته‌های مسئله برای حل یک معادله‌ی درجه 2 را بنویسید.
  2. فرض کنید طول (L)، عرض (W) و ارتفاع (H) یک مکعب مستطیل به شما داده شده و حجم آن (V) را از شما میخواهند، نحوه حل این مسئله را به صورت مرحله به مرحله بنویسید.
  3. اگر a=5 و b=3 و c=10 باشد حاصل عبارات زیر را بیابید و آن‌‌ها را در متغیر p ذخیره کنید.
    • a-b*c
    • a-b)*c)
    • c%a
    • c/a*b
  4. الگوریتمی بنویسید که شعاع یک دایره را دریافت کرده و محیط و مساحت آن‌ را نمایش دهد.
  5. الگوریتمی بنویسید که 3 عدد را دریافت کرده، سپس کوچک‌ترین و بزرگ ترین مقدار را مشخص کند.
  6. الگوریتمی بنویسید که نمرات چهار درس ریاضی، فیزیک، زبان و ورزش یک دانش آموز را دریافت کرده، سپس میانگین آنها را محاسبه کند و با توجه به شرایط زیر رتبه‌ی دانش‌آموز را محاسبه کرده و نمایش دهد.
    • میانگین بزرگ‌تر از 18 برابر رتبه‌ی A
    • میانگین بین 16 تا 18 و ریاضی بزرگ‌تر از 17 برابر رتبه‌ی B
    • میانگین بین 14 تا 16 و ریاضی یا فیزیک بزرگ‌تر از 15 برابر رتبه C
    • میانگین کمتر از 12 و ریاضی و فیزیک کمتر از 12 برابر رتبه E
  7. الگوریتمی بنویسید که مجموع و تعداد اعداد طبیعی مضرب 3 و کوچک‌تر از 100 را نمایش دهد.
  8. الگوریتمی بنویسید که مقدار عددی‌ ‌!‌N‌ (مقدار N فاکتوریل) را برای عدد دلخواه N محاسبه کرده و نمایش دهد.

 

 

– https://farabegir.com

– https://fa.wikipedia.org

– https://www.konkurcomputer.ir

– https://fanavarisr.blog.ir/

– https://www.hamyarit.com/blog/algorithm/

– https://adminesite.com/algoritm/

 

 

https://farabegir.comhttps://fa.wikipedia.orghttps://www.konkurcomputer.irhttps://fanavarisr.blog.ir/https://www.hamyarit.com/blog/algorithm/https://adminesite.com/algoritm/

https://farabegir.comhttps://fa.wikipedia.orghttps://www.konkurcomputer.irhttps://fanavarisr.blog.ir/https://www.hamyarit.com/blog/algorithm/https://adminesite.com/algoritm/

masterdoc

مدت 9 سال هست در زمینه تولید محتوا کار می کنم. و علاقمند به تولید محتوای با کیفیت هستم.امیدوارم رضایت خاطر شما جلب شده باشد.

دیدگاه کاربران ...

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

    دیدگاه خود را بیان کنید