الگوریتم شرطی
فهرست مطالب مقاله الگوریتم شرطی
الگوریتم شرطی چیست؟ این نوع الگوریتم ها برای تصمیمی گیری استفاده میشوند و و سه نوع هستند با حمله اگر شروع میشوند و در صورتی که دو مسیره بشه یعنی دو تصمیم قرار باشد بگیریم مثلا این یا این استفاده میشود. شرطی های چند مسیره به صورت این یا این و در غیر اینصورت که این ها نباشد این . شرط ها دو نوع هستند یا درست یا غلط هستند. یعنی یا true و یا fals هستند.
الگوریتم های شرطی از مهم ترین ابزار های برنامه نویسی هستند که، به کامپیوتر امکان میدهند تصمیم گیری کنند. این الگوریتم ها بر اساس شرایط مشخص مسیر های مختلفی را اجرا میکنند. شرط ها معمولا با دستورات if، else if و else تعریف میشوند. وقتی شرط درست باشد، بخش خاصی از برنامه اجرا میشود. در غیر این صورت، بخش دیگری اجرا خواهد شد.
الگوریتم های شرطی در حل مسائل واقعی مثل: تعیین سن، مقایسه اعداد و مدیریت داده ها کاربرد فراوان دارند. ان ها به برنامه نویس انعطاف و دقت بیشتری میدهند. با طراحی درست شرط ها میتوان از خطا های منطقی جلوگیری کرد. به همین علت یادگیری الگوریتم های شرطی برای هر برنامه نویس ضروری میباشد.
الگوریتم شرطی چیست؟
الگوریتم شرطی چیست؟ الگوریتمی است که، اجرای دستورات ان به یک شرط منطقی وابسته است. در این الگوریتم برنامه ابتدا شرط مشخصی را بررسی میکند. اگر شرط درست باشد یک مسیر از دستورات اجرا میشود. اگر شرط نادرست باشد مسیر دیگری اجرا خواهد شد. معمولا از دستورات else if، if، else برای پیاده سازی ان استفاده میشود.
الگوریتم های شرطی برای تصمیم گیری در مسائل واقعی کاربرد دارند. ان ها باعث انعطاف پذیری برنامه و جلوگیری از خطا های منطقی میشوند. الگوریتم شرطی ابزاری است که رفتار برنامه را بر اساس شرایط مختلف تغییر میدهد.
عملگر ها در برنامه نویسی:
عملگر ها نماد ها و یا کاراکتر هایی هستند که، روی داده ها عمل خاصی انجام میدهند و نتیجه ای تولید میکنند. در برنامه نویسی عملگر ها برای محاسبات ریاضی، مقایسه، ترکیب منطقی و تغییر مقدار متغیر ها استفاده میشوند. عملگر ها ابزار اصلی پردازش داده ها و کنترل جریان برنامه هستند و بدون ن ها برنامه نویسی امکان پذیر نیست.
انواع اصلی عملگر ها عبارت اند از:
عملگر های مقایسه ای، عملگر های محاسباتی، عملگر های منطقی و… را شامل میشوند، که ترتیب اولویت ان ها بسیار مهم است.
-
عملگر های حسابی: برای انجام عملیات ریاضی مثل: جمع +، تفریق -، ضرب *، تقسیم / و باقیمانده %.
-
عملگر های مقایسه ای: برای مقایسه مقادیر و نتیجه دادن True یا False، مثل: برابر ==، نابرابر !=، بزرگتر >، کوچکتر <.
-
عملگر های منطقی: برای ترکیب شرایط منطقی، مثل: AND &&، OR || و NOT !.
-
عملگر های انتساب: برای اختصاص مقدار به متغیر ها، مثل: =، +=، -=.
-
عملگر های بیتی: برای کار با بیت های اعداد صحیح، مثل: &، |، ^، ~، <<، >>.
-
عملگر های متفرقه دیگر: مثل: عملگر شرطی ? : و عملگر های افزایش/کاهش ++، –.
عملگر های حسابی (Arithmetic Operators):
| نماد | معنی |
|---|---|
| + | جمع دو مقدار |
| – | تفریق مقدار دوم از اول |
| * | ضرب دو مقدار |
| / | تقسیم مقدار اول بر دوم |
| % | باقیمانده تقسیم (مدولوس) |
عملگر های مقایسه ای (Comparison Operators):
| نماد | معنی |
|---|---|
| == | برابر است |
| != | برابر نیست |
| > | بزرگتر است |
| < | کوچکتر است |
| >= | بزرگتر یا برابر است |
| <= | کوچکتر یا برابر است |
عملگر های منطقی (Logical Operators):
| نماد | معنی |
|---|---|
| && | AND منطقی – هر دو شرط درست باشند |
| ! | NOT منطقی – معکوس کردن شرط |
عملگر های انتساب (Assignment Operators):
| نماد | معنی |
|---|---|
| = | اختصاص مقدار |
| += | جمع مقدار با متغیر و اختصاص نتیجه |
| -= | تفریق مقدار از متغیر و اختصاص نتیجه |
| *= | ضرب مقدار در متغیر و اختصاص نتیجه |
| /= | تقسیم مقدار متغیر بر عدد و اختصاص نتیجه |
عملگر های بیتی (Bitwise Operators):
| نماد | معنی |
|---|---|
| & | AND بیتی |
| | | OR بیتی |
| ^ | XOR بیتی |
| ~ | NOT بیتی |
| << | شیفت چپ (Left Shift) |
| >> | شیفت راست (Right Shift) |
سایر عملگر ها:
| نماد | معنی |
|---|---|
| ? : | عملگر شرطی – انتخاب بین دو مقدار بر اساس شرط |
| ++ | افزایش مقدار متغیر به اندازه ۱ |
| — | کاهش مقدار متغیر به اندازه ۱ |
ترتیب و اولویت عملگر ها:
عملگر پرانتز ( )
اولویت مطلق دارد. هر چیزی داخل پرانتز ابتدا محاسبه میشود.
عملگر های افزایش و کاهش ++, —
پیش رو (Prefix) یا پس رو (Postfix) بسته به زبان.
*عملگر های حسابی , /, %
ضرب، تقسیم و باقی مانده قبل از جمع و تفریق انجام میشوند.
عملگر های حسابی +, –
جمع و تفریق بعد از ضرب، تقسیم و مدول.
عملگر های مقایسه ای <, >, <=, >=
برای مقایسه دو مقدار استفاده میشوند.
عملگر های مقایسه ای ==, !=
بررسی برابری یا نا برابری.
عملگر های منطقی && (AND)
ترکیب شروط، اولویت پایین تر از مقایسه.
عملگر های منطقی || (OR)
ترکیب شروط با اولویت کمتر از AND.
عملگر انتساب =, +=, -=, …
اختصاص مقدار به متغیر اخرین اولویت را دارد.
| عملگر | نماد | توضیح و کاربرد |
|---|---|---|
| پرانتز | ( ) |
اولویت مطلق؛ هر چیزی داخل پرانتز ابتدا محاسبه میشود |
| افزایش و کاهش | ++, -- |
پیشرو (Prefix) یا پسرو (Postfix) بسته به زبان |
| ضرب، تقسیم و باقیمانده | *, /, % |
انجام قبل از جمع و تفریق |
| جمع و تفریق | +, - |
انجام بعد از ضرب، تقسیم و مدول |
| مقایسهای | <, >, <=, >= |
مقایسه دو مقدار |
| مقایسهای برابری | ==, != |
بررسی برابری یا نابرابری |
| منطقی AND | && |
ترکیب شروط، اولویت پایینتر از مقایسه |
| منطقی OR | ` | |
| انتساب | =, +=, -=, … |
اختصاص مقدار به متغیر، آخرین اولویت |
ساختار فقط با اگر (if):
الگوریتم هایی که با اگر هستند الگوریتم هایی هستند که بخشی از دستور را اجرا میکنند اگر شرط برقرار باشد اگر هم شرط برقرار نباشد اجرا نمیشود.
مثال الگوریتم اگر یا if / یک عدد بنوبسید که مشخص کند عدد مثبت است:
شروع
عددی را بگیر
اگر عدد بزرگتر از صفر بود بنویس عدد مثبت است
پایان
سودوکد مثال الگوریتم اگر یا if / یک عدد بنوبسید که مشخص کند عدد مثبت است:
START
input number
if number>0 then
“output “the number is positive
ENDIF
END
نکته :در سودوکد شرطی باید حتما به صورت زیر شرط را نوشت:
THEN (شرط) IF
نکته : و حتما خروجی IF یا همان OUTPUT دوتا ایندنت میخورد به این معنی است که OUTPUT داخل IF است و تا ENDIF داخل IF قرار میگیرد. ایندنت همان تب یا فاصله ایت که به ان اسکوپ هم میگویند.
مثال الگوریتم اگر یا IF / یک عدد از ورودی بگیرد و سه حالت ان را بررسی کند:
شروع
عددی را از کاربر بگیر
اگر عدد بزرگتر از صفر بود بنویس عدد مثبت است
اگر عدد بر 2 بخش پذی بود بنویس عدد زوج است
اگر عدد بزرگتر از 100 بود بنویس عدد بزرگ است
پایان
سودوکد مثال الگوریتم اگر یا IF / یک عدد از ورودی بگیرد و سه حالت ان را بررسی کند:
START
input number
if number>0 then
“output “the number is positive
ENDIF
if number MOD 2=0 then
“output “the number is even
ENDIF
if number>100 then
“output “the number is large
ENDIF
END
نکته: اگر شرط ها هیچ ربطی به هم نداشته باشند باید جدا بنویسیم شرط ها را. در اینجا تمامی شرط ها جدا بررسی میشوند و بعد از هر شرط باید ENDIF را بگذاریم. ایندنت ها را باید رعایت کنیم و مود یا همان MOD در اینجا به معنی بخش پذیر است.

ساختار اگر / در غیر این صورت ( IF / ELSE ):
در این مسیر اگر شرط برقرار نباشد مسیر جایگرین اجرا میشود.
مثال الگوریتم IF ELSE / مثبت و منفی بودن عدد را مشخص کنید.
شروع
عدد را از کاربر بگیر
اگر عدد بزرگتر از صفر بود بنویس عدد مثبت است
در غیر این صورت بنویس عدد منفی یا صفر است
پایان
سودوکد مثال الگوریتم IF ELSE / مثبت و منفی بودن عدد را مشخص کنید.
STSRT
input number
if number>0 then
“output “positive number
ELSE
“output “negative or zero
ENDIF
END
ساختار اگر/ یا اگر/ در غیر این صورت ( IF / ELSE IF / ELSE ):
زمانی استفاده میشود که چند حالت مختلف را باید بررسی کنیم . توی یک دیتا بررسی میکنیم.
مثال الگوریتم ( IF / ELSE IF / ELSE ) ، مقایسه نمره دانشجو:
شروع
نمره دانشجو را بگیر
اگر نمره بزرگ تر یا مساوری 17 بود بنویس عالی
اگر اگر نمره بزرگ تر یا مساوی 10 بود بنویس قبول
در غیر این صورت بنویس مردود
پایان
سودوکد مثال الگوریتم ( IF / ELSE IF / ELSE ) ، مقایسه نمره دانشجو:
START
input mark
if mark>=17 then
“output “excellent
ELSE IF mark>=10 then
“output “pass
ELSE
“output “fail
ENDIF
END
نکته: در اینجا if اگر برقرار نبود else if را مینویسیم و اگر هر دو ان ها برقرار نبودند else را مینویسیم به ترتیب.
منطق در شرط:
مثال الگوریتم برای رای دادن منطق در شرط:
شروع
سن و وضعیت شهروندی و وضعیت تابعیت را از ورودی بگیر
اگر سن بالای 18 باشد و شهروندی شهروند است یا بالای 10 سال اقامت دارد چاپ کن میتواند رای دهد
سودوکد مثال الگوریتم برای رای دادن منطق در شرط:
START
input age
input citizenship
input immigration
if age>=18 && (citizenship==citizen || immigration>=10) then
“output “can vote
ELSE
“output “cannot vote
ENDIF
END
فلوچارت مثال الگوریتم برای رای دادن منطق در شرط:

نتیجه گیری:
الگوریتم های شرطی ابزار اصلی برنامه نویسی برای تصمیم گیری و کنترل جریان اجرای برنامه هستند. این الگوریتم ها با بررسی یک یا چند شرط مشخص، تعیین میکنند کدام دستورات اجرا شوند. اگر شرط برقرار باشد، بلوک مربوطه اجرا میشود و در غیر این صورت بلوک جایگزین، مثل: else، اجرا خواهد شد. الگوریتم های شرطی میتوانند تک شاخه if یا چند شاخه if-else if-else باشند تا شرایط پیچیده تر مدیریت شود.
ترتیب شرط ها اهمیت زیادی دارد، چون اولین شرط درست، اجرای بلوک مربوطه را تعیین میکند و بقیه شرط ها نادیده گرفته میشوند. این الگوریتم ها در کاربرد های عملی بسیار متنوع هستند، مثلا: بررسی سن، نمره، موجودی کالا یا تصمیم گیری در بازی ها. الگوریتم شرطی ابزار اصلی برای کنترل جریان برنامه و اجرای هوشمندانه دستورات بر اساس شرایط مختلف میباشد.
مقالات مرتبط
چرا استفاده از اپلیکیشنهای موبایل ضروریست؟
گوشی تلفن همراه، تقریبا یک دهه است که با تغییر ماهیتی جدی و آرام پا به زندگی ما گذاشته است. به گونهای پیش رفته که برای افراد تصور زندگی حتی
بهترین زبان ساخت اپلیکیشن موبایل
بسیاری از کسبوکارها، برای بقا در فضای رقابتی جهان امروز اقدامات مختلف و بهبود دهندهای را انجام میدهند. یکی از آن اقدامات ساخت اپلیکیشن موبایل برای تسریع و تسهیل فرآیندهای
ایجاد تخفیف در اپلیکیشن
برای ایجاد تخفیف در اپلیکیشن کافی است پس از افزودن “تخفیف” از قسمت “افزودن صفحات” برروی آن کلیک کنید و در پنجره باز شده برروی دکمه کلیک کنید. با کلیک
ساختمان داده
ساختمان داده (Data Structure) یکی از مهمترین مفاهیم علوم کامپیوتر و برنامهنویسی است که نحوه سازماندهی، ذخیرهسازی و مدیریت دادهها را برای افزایش سرعت و کارایی الگوریتمها مشخص میکند. در این مقاله با تعریف ساختمان داده، انواع ساختمان دادههای خطی و غیرخطی، آرایه (Array)، لیست پیوندی (Linked List)، پشته (Stack)، صف (Queue)، درخت (Tree)، گراف (Graph)، مجموعه (Set) و نگاشت (Map) آشنا میشوید. همچنین کاربرد، مزایا، معایب و تفاوت هر ساختار داده را همراه با مثالهای ساده و قابل فهم بررسی میکنیم تا بتوانید بهترین ساختمان داده را برای حل مسائل برنامهنویسی و توسعه نرمافزار انتخاب کنید.