جستجو در سوالات؟
پیام ارسال شد بستن

الگوریتم و فلوچارت

مقدمه‌ای بر حل مسئله با استفاده از کامپیوتر

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

تعریف برنامه و وظیفه برنامه‌نویس

برنامه نویس (Programmer)

فردی که مسئولیت تبدیل یک مسئله دنیای واقعی به یک راه‌حل منطقی (الگوریتم) و سپس ترجمه آن به کدهای قابل اجرا برای کامپیوتر را بر عهده دارد. وظیفه اصلی او، تضمین صحت، کارایی و خوانایی برنامه است.

برنامه (Program)

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

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

حل مسئله با کامپیوتر یک فرآیند تکراری و گام به گام است که عموماً پنج فاز اصلی را دربرمی‌گیرد:

1. درک (Understanding)

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

  • پرسیدن سوالات: هدف نهایی چیست؟ مسئله چه چیزی را باید محاسبه یا مدیریت کند؟

2. تحلیل (Analysis)

این فاز به جزئیات فنی مسئله می‌پردازد و مرزهای آن را مشخص می‌کند.

  • ورودی‌ها (Inputs): دقیقاً چه داده‌هایی نیاز داریم؟ (مثلاً، شعاع، نام کاربر، لیست اعداد)
  • خروجی‌ها (Outputs):نتایج مورد انتظار چیست و در چه قالبی باید ارائه شود؟ (مثلاً، مساحت، نام کاربر با حروف بزرگ، بزرگترین عدد)
  • پردازش (Processing):چه فرمول‌ها، محاسبات و منطقی برای تبدیل ورودی به خروجی لازم است؟
  • محدودیت‌ها (Constraints):آیا ورودی‌هامحدودیت‌هایی دارند؟ (مثلاً، سن باید بین 1 تا 100 باشد)

3. طراحی (Design)

در این مرحله، راه‌حل مسئله به صورت ساختاریافته و مستقل از زبان برنامه‌نویسی تدوین می‌شود.

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

4. پیاده‌سازی (Implementation)

ترجمه الگوریتم یا فلوچارت طراحی شده به شبه‌کد (Pseudocode)و سپس به کدهای قابل اجرای کامپیوتر با استفاده از یک زبان برنامه‌نویسی مشخص (مثل C++ یا Python).

5. آزمون و رفع خطا (Testing and Debugging)

تضمین صحت عملکرد برنامه

  • آزمون (Testing):اجرای برنامه با داده‌های نمونه (Test Cases) شامل:
    • داده‌های عادی: داده‌های مورد انتظار و رایج
    • داده‌های مرزی: حداقل و حداکثر مقادیر مجاز ورودی
    • داده‌های نامعتبر:داده‌های نادرست برای اطمینان از مدیریت صحیح خطاها توسط برنامه
  • رفع خطا (Debugging):فرآیند یافتن و اصلاح اشتباهات (Bug) که در مراحل تحلیل، طراحی یا پیاده‌سازی رخ داده‌اند تا برنامه مطابق انتظار کار کند

الگوریتم (Algorithm)

تعریف و مفهوم الگوریتم

الگوریتم مجموعهٔ متناهی و منظم از دستورالعمل‌های واضح و بدون ابهام است که برای حل یک مسئله خاص در یک تعداد گام محدود، تدوین می‌شود. در واقع، الگوریتم نقشه راهی است که به کامپیوتر (یا هر عامل حل مسئله دیگر) می‌گوید دقیقاً چه کاری را، با چه ترتیبی و تحت چه شرایطی انجام دهد.

کلمه “الگوریتم” از نام ریاضیدان ایرانی، محمد بن موسی خوارزمی، گرفته شده است.

داده‌ها، انواع داده و متغیرها

1.مفهوم داده و اطلاعات

این دو مفهوم، اساس کار با کامپیوتر و برنامه‌نویسی را تشکیل می‌دهند

داده (Data)

تعریف:حقایق خام، طبقه‌بندی نشده و بدون پردازش اولیه که به تنهایی معنای کاملی ندارند.

  • مثال:اعداد (12, 3.14)، کلمات (‘کتاب’، ‘تهران’)، یا نمادها

اطلاعات (Information)

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

  • مثال:اگر عدد 12را پردازش کنیم و بگوییم “سن کاربر12سال است”، این تبدیل به اطلاعات می‌شود.

2. انواع داده‌های اولیه (مانند عددی، کاراکتری، منطقی)

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

برای انجام محاسبات ریاضی استفاده می‌شوند.

  • اعداد صحیح (Integer):

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

  • اعداد اعشاری (FloatingPoint):

شامل اعداد دارای بخش اعشاری (مثل 3.14, -0.5)

  • کاراکتر (Character):

یک واحد تکی از حروف، اعداد یا نمادها (مثل ‘A’, ‘7’, ‘$’)

  • رشته (String):

دنباله‌ای از کاراکترها که برای ذخیره متن استفاده می‌شود (مثل “سلام دنیا”)

بسیار حیاتی در برنامه‌نویسی برای تصمیم‌گیری‌ها و ساختارهای شرطی.

  • فقط دو مقدار ممکن را ذخیره می‌کند: درست (True)یانادرست (False).

۳. تعریف متغیر (Variable) و ثابت (Constant)

حافظه کامپیوتر را می‌توان به یک قفسه‌بندی بزرگ تشبیه کرد که هر قفسه برای ذخیره یک داده استفاده می‌شود.

  • تعریف: یک نام نمادین است که به یک مکان حافظه اختصاص داده می‌شود.
  • ویژگی کلیدی: مقدار ذخیره شده در ثابت پس از تخصیص اولیه، در طول اجرای برنامه ثابت می‌ماند و قابل تغییر نیست.
  • کاربرد: ذخیره نتایج محاسبات موقت، شمارنده‌ها، و ورودی‌های کاربر.
  • مثال :متغیر Counter که مقدار آن از 0 به 1، 2، 3 و… تغییر می‌کند..
  • تعریف: یک نام نمادین است که به یک مکان حافظه (قفسه) اختصاص داده می‌شود.
  • ویژگی کلیدی:مقدار ذخیره شده در متغیر در طول اجرای برنامه قابل تغییر است.
  • کاربرد:جلوگیری از تغییر تصادفی مقادیر حیاتی و بهبود خوانایی برنامه.
  • مثال:ثابت PI که همیشه مقدار 3.14159 را نگه می‌دارد.

۴. قواعد نام‌گذاری و تعریف متغیرها

برای اینکه متغیرها قابل استفاده باشند، باید نام‌گذاری و تعریف شوند. این قواعد در زبان‌های برنامه‌نویسی مختلف کمی متفاوت هستند، اما اصول کلی آن‌ها شامل موارد زیر است:

  1. شروع با حرف:نام متغیرها معمولاً بایدبا یک حرف یا در برخی زبان‌ها با زیرخط (_) شروع شوند. نمی‌توانندبا یک عدد شروع شوند.
  2. عدم وجود فاصله:استفاده از فاصله در نام متغیرها مجاز نیست.
  3. کاراکترهای مجاز:معمولاً شامل حروف الفبا (بزرگ و کوچک)، اعداد (به غیر از اولین کاراکتر) و زیرخط (_) است.
  4. .کلمات رزرو شده (ReservedWords):نمی‌توان از کلماتی که خود زبان برنامه‌نویسی برای دستورات خاصی (مثلIf, Else, While) رزرو کرده است، استفاده کرد.
  5. معنادار بودن:اگرچه یک الزام فنی نیست، اما نام متغیرهابایدمعنادار باشد تا خوانایی الگوریتم یا کد افزایش یابد (مثلاً به جای X1 از Student_Age استفاده شود).
  6. حساسیت به حروف:در برخی زبان‌ها (مثل C++ وPython) نام‌ها به حروف بزرگ و کوچک حساس هستند (Case-Sensitive). یعنی Age با age دو متغیر متفاوتند.

عملگرها

عملیات پایانه‌ای (Expressions) عبارت‌هایی هستند که از ترکیب عملوندها (داده‌ها و متغیرها) و عملگرها تشکیل می‌شوند و در نهایت به یک مقدار ارزیابی می‌شوند. عملگرها (Operators)نمادهایی هستند که به کامپیوتر می‌گویند چه عملیاتی را روی داده‌ها انجام دهد.

  • هدف:وظیفه این عملگر، قرار دادن (ذخیره کردن) مقدار سمت راست در متغیر (مکان حافظه) سمت چپ است.
  • نماد:در شبه‌کد اغلب از leftarrow استفاده می‌شود، در حالی که در اکثر زبان‌های برنامه‌نویسی از ( = ) استفاده می‌شود.
  • توضیح:این عملگر یک محاسبه یا مقایسه نیست، بلکه یک دستور عملیاتی است.
  • مثال:Age = 20 <= مقدار 20 در متغیر Ageقرار داده می‌شود
    Result = A + B ابتدا A با B جمع می‌شود و سپس حاصل در Result ذخیره می‌گردد

عملگرهای محاسباتی (Arithmetic Operators)

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

عملگرهای رابطه‌ای/مقایسه‌ای (Relational/Comparison Operators)

این عملگرها برای مقایسه دو مقدار استفاده می‌شوند و خروجی آن‌ها همیشه یک مقدارمنطقی (Boolean)یعنی درست (True)یانادرست (False)است. این نتایج برای ساختارهای کنترلی (مانانند IF و WHILE) حیاتی هستند.

اولویت عملگرها در محاسبات (Operator Precedence)

هنگامی که یک عبارت شامل چندین عملگر باشد (مثلاً $A + B * C / D – E$)، اولویت عملگرها تعیین می‌کند که عملیات با چه ترتیبی انجام شود. این ترتیب دقیقاً مشابه قوانین ریاضیات است.
ترتیب اجرای عملگرها (از بالاترین اولویت به پایین‌ترین):

مثال اولویت‌بندی:

در عبارت 5 + 2 * (10 \ 3)
1-ابتدا پرانتز را محاسبه کنید => 0.3
2-بعد باید 2 را در 0.3 ضرب کنید => 0.6
3-حال باید 5 را با 0.6 جمع کنید => 5.6

️ مبانی فلوچارت (روندنما)

فلوچارت (Flowchart) یا روندنما، یک نمایش گرافیکی از الگوریتم است که جریان و مراحل حل یک مسئله را با استفاده از اشکال هندسی استاندارد و خطوط جهت‌دار نشان می‌دهد.

تعریف و اهمیت فلوچارت در برنامه‌نویسی

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

اهمیت:

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

عیب‌یابی: پیدا کردن اشتباهات منطقی (Logic Errors) در مرحله طراحی، قبل از شروع کدنویسی واقعی، بسیار ساده‌تر است.

ارتباط: به عنوان یک ابزار استاندارد، فرآیند را برای افراد غیربرنامه‌نویس و یا اعضای دیگر تیم قابل فهم می‌سازد.

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

علائم استاندارد فلوچارت

هر نماد در فلوچارت معنای خاصی دارد که یک عمل یا یک وضعیت را در الگوریتم نشان می‌دهد.

ترمینال (شروع/پایان)

وظیفه و توضیح:
نشان‌دهنده شروع و پایان الگوریتم یا فرآیند

ورودی/خروجی (Input/Output)

وظیفه و توضیح:
نشان‌دهنده عملیات ورودی گرفتن (مثلاً از کاربر) و خروجی نمایش دادن (مثلاً روی صفحه).

پردازش (Process)

وظیفه و توضیح:
نشان‌دهنده یک عملیات محاسباتی، انتساب، یا پردازش داخلی

تصمیم(Desition)

وظیفه و توضیح:
نشان‌دهنده یک نقطه تصمیم‌گیری که در آن یک شرط منطقی (Boolean) بررسی می‌شود. فرآیند به دو مسیر “بله” (True) یا “خیر” (False) تقسیم می‌شود.

خط جریان (Flow Line)

وظیفه و توضیح:
خطوط جهت‌داری که ترتیب و مسیر اجرای عملیات‌ها را مشخص می‌کنند.

قواعد کلی ترسیم فلوچارت

برای ترسیم فلوچارتی که واضح و کارآمد باشد، باید از قواعد مشخصی پیروی کرد:

ساختار توالی (Sequence Structure)

ساختار توالی، بلوک سازنده بنیادی هر الگوریتم و برنامه است.

اجزای اصلی توالی:

  • ورودی (Input):دریافت داده‌ها
  • پردازش (Processing):انجام محاسبات و انتساب‌ها
  • خروجی (Output):نمایش نتایج

تعریف

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

جریان کنترل

جریان کنترل به صورت خطی (Straight-Line) است؛ پس از اتمام دستور اول، دستور دوم شروع می‌شود و این روند تا پایان الگوریتم ادامه می‌یابد. هیچ تصمیم‌گیری، پرش به عقب یا تکراری در این ساختار وجود ندارد.

تشبیه: ساختار توالی مانند خواندن یک کتاب داستان است؛ شما باید جمله اول را قبل از جمله دوم، و پاراگراف اول را قبل از پاراگراف دوم بخوانید..

ساختار انتخاب/تصمیم (Selection/Decision Structure)

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

IF/ELSE

معرفی دستور شرطی : IF

  • هدف:بررسی یک شرط منطقی (BooleanExpression)
  • جریان:اگر شرط درست (True)باشد، یک بلوک از دستورات اجرا می‌شود و اگر شرطنادرست (False)باشد، یا بلوک دستورات دیگری اجرا می‌شود (در حالت IF/ELSE یا هیچ عملی انجام نمی‌شود (در حالت IF/THEN
  • عامل تصمیم:نمادلوزیدر فلوچارت، و کلمات کلیدی در شبه‌کد.

IF/THEN

فلوچارت شرطی یک‌طرفه (IF-Then)

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

  • شبه‌کد: IF شرط THEN دستورات بلوک IF (فقط در صورت درست بودن شرط اجرا می‌شود) پایان IF
  • مثال (فلوچارت): بررسی مثبت بودن یک عدد. اگر عدد ورودی (A) بزرگتر از صفر باشد، پیغام “مثبت” را چاپ کن. در غیر این صورت، هیچ کاری نکن.
    • ورودی:A
      شرط: A > 0
      عملیات:چاپ “مثبت”

IF/THEN-ELSE

فلوچارت شرطی د‌وطرفه (IF-Then-Else)

  • ساختار: امکان اجرای یکی از دوبلوک دستورات را فراهم می‌کند.
    • اگر شرط درست باشد، بلوک IF اجرا می‌شود.
    • اگر شرط نادرست باشد، بلوک ELSE اجرا می‌شود.
  • مزیت: در هر صورت، یکی از دو مسیر دنبال می‌شود، و الگوریتم یک فرآیند مشخص را انجام می‌دهد.
  • شبه‌کد: IF شرط THEN دستورات بلوک IF (در صورت درست بودن) ELSE دستورات بلوک ELSE (در صورت نادرست بودن) پایان IF
  • مثال (فلوچارت): تعیین زوج یا فرد بودن یک عدد (N)
    • شرط: N % 2 == 0 (باقیمانده تقسیم بر ۲ برابر صفر است؟)
    • اگر درست:چاپ “زوج”.
    • در غیر این صورت:چاپ “فرد”.

Nested IFs

عملگرهای منطقی (AND, OR, NOT) و استفاده از آن‌ها در شروط

  • ساختار:زمانی که برای رسیدن به نتیجه نهایی، نیاز به بررسیبیش از یک شرط متوالی و سلسله‌مراتبی باشد، از شرط‌های تودرتو یا NestedIFs استفاده می‌شود.
  • توضیح: یک دستور IF داخل بلوک IF یا ELSE دستور IF دیگری قرار می‌گیرد.
  • کاربرد: برای بررسی چندین حالت ممکن که به صورت همزمان یا پشت سر هم رخ می‌دهند (مثلاً، ابتدا بررسی می‌کنیم نمره پاس شده است، سپس بررسی می‌کنیم نمره عالی است یا خوب).
  • مثال: بررسی سه حالت برای عدد A: مثبت، منفی یا صفر.
    IF A > 0 THEN چاپ “مثبت” ELSE IF A < 0 THEN // IF Nestedچاپ “منفی” ELSE چاپ “صفر” پایان IF داخلی پایان IF خارجی.

AND,OR,NOT

عملگرهای منطقی (AND, OR, NOT) و استفاده از آن‌ها در شروط

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

  • کاربرد در شروط: می‌توان به جای نوشتن IF تودرتو، گاهی از AND یا OR استفاده کرد.
  • مثال باAND: اگر سن (Age) بیشتر از ۱۸ باشد و کارت شناسایی (ID) داشته باشد، آنگاه مجاز است.
    IF (Age > 18) AND ID == True THEN

اصول اولیه در تفکر ساخت‌یافته

مقدمه‌ای بر حل مسئله با استفاده از کامپیوتر

هدف این بخش، تبیین رویکرد علمی و ساختاریافته برای استفاده از کامپیوتر جهت حل مسائل است.این عملگرها برای انجام محاسبات استاندارد ریاضی استفاده می‌شوند:

قواعد کلی ترسیم فلوچارت

  • درک (Understanding) و تحلیل (Analysis): فهمیدن دقیق خواسته‌های مسئله، مشخص کردن ورودی‌ها (داده‌های خام)، خروجی‌ها (نتایج مورد انتظار) و محدودیت‌ها.
  • طراحی (Design):تدوین یک الگوریتم (نقشه راه منطقی) یا ترسیم فلوچارت (نمایش بصری الگوریتم) برای رسیدن از ورودی به خروجی.
  • پیاده‌سازی (Implementation): ترجمه الگوریتمطراحی‌شده به کدهای قابل اجرا با استفاده از یک زبان برنامه‌نویسی.
  • آزمون و رفع خطا (Testing & Debugging): اجرای برنامه با داده‌های مختلف برای تضمین صحت عملکرد و یافتن و اصلاح اشتباهات (Bug) در کد.

تعریف برنامه و وظایف برنامه‌نویس

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

الگوریتم (Algorithm)

الگوریتم هسته اصلی حل مسئله و برنامه‌نویسی است.

  • تعریف و مفهوم الگوریتم: مجموعه‌ایمتناهیومنظماز دستورالعمل‌های واضحوبدون ابهام که برای حل یک مسئله در گام‌های محدود تدوین می‌شود.

ویژگی‌های یک الگوریتم خوب

  • متناهی بودن: حتماً باید به پایان برسد.
  • صراحت: هر گام باید دقیق و واضح باشد.
  • ورودی/خروجی: ورودی‌های مشخصی داشته باشد و حداقل یک خروجی تولید کند.
  • اثربخشی: هر دستورالعمل باید قابل اجرا باشد.

اثربخشی

هر دستورالعمل باید قابل اجرا باشد.

ورودی/خروجی:

ورودی‌های مشخصی داشته باشد و حداقل یک خروجی تولید کند.

صراحت:

هر گام باید دقیق و واضح باشد.

متناهی بودن:

حتماً باید به پایان برسد.

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

زبان طبیعی: ساده‌ترین روش، با استفاده از زبان روزمره.

شبه‌کد (Pseudocode): روش استاندارد، ترکیبی از زبان طبیعی و ساختارهای کنترلی برنامه‌نویسی (مانند IF,WHILE)

  • حل مثال‌های مقدماتی: شامل استفاده از ساختار توالی برای حل مسائل ساده (مثل محاسبه میانگین).

داده‌ها، انواع داده و متغیرها

این بخش نحوه مدیریت و ذخیره‌سازی اطلاعات در حافظه کامپیوتر را توضیح می‌دهد.

مفهوم داده و اطلاعات

  • داده (Data): حقایق خام و بدون پردازش (مثل عدد 12).
  • اطلاعات (Information): داده‌های پردازش شده که معنا و مفهوم دارند (مثلسن کاربر 12 سال است).

انواع داده‌های اولیه

  • عددی (Numeric): شامل اعداد صحیح (Integer) و اعشاری (Float).
  • کاراکتری/رشته‌ای (Character/String): برای ذخیره حروف و متون. 
  • منطقی (Boolean): برای ذخیره مقادیر TrueیاFalse (اساس تصمیم‌گیری).

تعریف متغیر (Variable) و ثابت (Constant):

  • متغیر: نامی نمادین برای یک مکان حافظه که مقدار آن قابل تغییر است.
  • ثابت: نامی نمادین برای یک مکان حافظه که مقدار آن ثابت می‌ماند.

قواعد نام‌گذاری و تعریف متغیرها

شامل شروع با حرف یا زیرخط، نداشتن فاصله و کلمات رزرو شده.

عملیات پایانه‌ای و اولویت عملگرها

عملیات‌ها فرآیندهای انجام شده روی داده‌ها هستند.

  • عملگر انتساب (Assignment) ( = ): برای قرار دادن مقدار سمت راست در متغیر سمت چپ استفاده می‌شود. X = 5
  • عملگرهای محاسباتی:شامل جمع + تفریق – ضرب * ، تقسیم /  وباقیمانده %
  • عملگرهای رابطه‌ای/مقایسه‌ای: برای مقایسه دو مقدار استفاده شده و خروجی آن‌هاTrueیاFalseاست. شامل
    مساوی (==)
    نامساوی ( !=)
    بزرگتر (>)
    و…
  • اولویت عملگرها در محاسبات: ترتیب اجرای عملیات را مشخص می‌کند.

1.پرانتزها

2.توان

3. ضرب، تقسیم، باقیمانده

(از چپ به راست)

4. جمع، تفریق

(از چپ به راست)

5. مقایسه‌ای

6. انتساب

ساختارهای کنترلی (Flow Structures)

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

1. ساختار توالی (Sequence Structure)

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

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

۲. ساختار انتخاب/تصمیم (Selection/DecisionStructure)

  • هدف: ایجاد مسیرهای اجرایی متفاوت بر اساس بررسی یک شرط منطقی.
  • دستور شرطی IF/ELSE: اگر شرط درست باشد یک بلوک و اگر نادرست باشد بلوک دیگری (یا هیچ بلوکی) اجرا می‌شود.

انواع فلوچارت شرطی

یک‌طرفه IF-Then

عمل تنها در صورت درست بودن شرط انجام می‌شود.

دوطرفه IF-Then-Else

یکی از دو مسیر (TrueیاFalse) حتماً اجرا می‌شود.

Nested IFs

تودرتو برای بررسی چندین شرط وابسته

عملگرهای منطقی AND , OR , NOT

برای ترکیب چندین شرط ساده در یک عبارت پیچیده استفاده می‌شوند.

ساختار تکرار/حلقه (Repetition/Loop Structure)

  • هدف: اجرای یک یا چند دستورالعمل به صورت مکررتا زمانی که یک شرط مشخص نقض شود. این ساختار برای انجام عملیات مشابه بر روی مجموعه بزرگی از داده‌ها یا تکرار یک فرآیند ضروری است.
  • مفاهیم شمارنده (Counter) و جمع‌کننده (Accumulator):

شمارنده

متغیری که تعداد دفعات اجرای حلقه را می‌شمارد (معمولاً با گام‌های ثابت

جمع‌کننده

متغیری که برای جمع کردن یک سری از مقادیر در هر تکرار استفاده می‌شود

انواع فلوچارت حلقه

برای ترکیب چندین شرط ساده در یک عبارت پیچیده استفاده می‌شوند.

حلقه با شرط در ابتدا While-Do

شرط در ابتدای حلقه بررسی می‌شود. اگر از ابتدا نادرست باشد، حلقه حتی یک بار هم اجرا نمی‌شود. (مثال: While در شبه‌کد)

حلقه با شرط در انتها Do-Whileو, Repeat-Until

دستورات حلقه حداقل یک بار اجرا می‌شوند و سپس شرط در انتهای حلقه بررسی می‌شود

حلقه با شمارنده ForLoop

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

0
    0
    سبد خرید شما
    سبد خرید شما خالی است.بازگشت به فروشگاه