• یک بلوک دیاگرام از الگوریتم ایجاد کنید. کجا می توان یک فلوچارت آنلاین ترسیم کرد

    استاندارد دولتی اتحادیه SSR

    سیستم یکپارچه اسناد برنامه

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

    نمادها و قوانین عملکرد

    GOST 19.701-90
    (ISO 5807-85)

    کمیته دولتی اتحاد جماهیر شوروی برای مدیریت کیفیت محصولات و استانداردها

    استاندارد دولتی اتحادیه SSR

    تاریخ معرفی 01.01.92

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

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

    الزامات استاندارد اجباری است.

    1. مقررات عمومی

    1.1. نمودارهای الگوریتم‌ها، برنامه‌ها، داده‌ها و سیستم‌ها (که از این پس نمودار نامیده می‌شوند) از نمادهایی با معنای معین، متن توضیحی کوتاه و خطوط ارتباطی تشکیل شده‌اند.

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

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

    1) طرحواره های داده؛

    2) طرح های برنامه؛

    3) طرح های عملیات سیستم؛

    4) طرح های تعامل برنامه.

    5) طرح های منابع سیستم.

    1.4. مفاهیم زیر در استاندارد استفاده می شود:

    1) نماد اصلی - نمادی که در مواردی استفاده می شود که نوع (نوع) دقیق یک فرآیند یا حامل داده ناشناخته است یا نیازی به توصیف حامل واقعی داده نیست.

    2) نماد خاص - نمادی که در مواردی استفاده می شود که نوع (نوع) دقیق یک فرآیند یا حامل داده مشخص است یا زمانی که لازم است حامل واقعی داده را توصیف کنید.

    3) نمودار - یک نمایش گرافیکی از تعریف، تجزیه و تحلیل یا روش حل یک مسئله، که در آن از نمادها برای نمایش عملیات، داده ها، جریان، تجهیزات و غیره استفاده می شود.

    2. شرح طرح ها

    2.1. طرح واره داده

    2.1.1. طرحواره های داده مسیر داده ها را در حل مسائل نشان می دهند و مراحل پردازش و همچنین حامل های مختلف داده مورد استفاده را تعریف می کنند.

    2.1.2. طرح داده شامل موارد زیر است:

    1) کاراکترهای داده (کاراکترهای داده ممکن است نوع حامل داده را نیز نشان دهند).

    2) نمادهای فرآیندی که روی داده ها انجام می شود (علامت های فرآیند ممکن است عملکردهای انجام شده توسط رایانه را نیز نشان دهند).

    3) نمادهای خطی که جریان داده بین فرآیندها و (یا) حامل های داده را نشان می دهد.

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

    2.2. طرح برنامه

    2.2.1. نمودارهای برنامه دنباله ای از عملیات در یک برنامه را نشان می دهد.

    2.2.2. طرح برنامه شامل موارد زیر است:

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

    2) نمادهای خطی که جریان کنترل را نشان می دهد.

    3) کاراکترهای ویژه ای که برای تسهیل نوشتن و خواندن مدار استفاده می شود.

    2.3. طرح عملیات سیستم

    2.3.1. نمودارهای عملیات سیستم کنترل عملیات و جریان داده ها را در سیستم نمایش می دهند.

    2.3.2. طرح سیستم شامل موارد زیر است:

    1) کاراکترهای داده نشان دهنده وجود داده ها (کاراکترهای داده ممکن است نوع حامل داده را نیز نشان دهند).

    2) نمادهای پردازش، که عملیاتی را که باید روی داده ها انجام شود و همچنین مسیر منطقی را نشان می دهد.

    3) نمادهای خطی نشان دهنده جریان داده بین فرآیندها و (یا) حامل های داده و همچنین جریان کنترل بین فرآیندها.

    4) کاراکترهای ویژه ای که برای تسهیل نوشتن و خواندن نمودار بلوک استفاده می شود.

    2.4. طرح تعامل برنامه

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

    2.4.2. طرح تعامل برنامه شامل موارد زیر است:

    1) نمادهای داده نشان دهنده وجود داده ها؛

    2) نمادهای پردازش که عملیاتی را که باید روی داده ها انجام شود را نشان می دهد.

    3) نمادهای خط نشان دهنده جریان بین فرآیندها و داده ها و همچنین شروع فرآیندها.

    4) کاراکترهای ویژه ای که برای تسهیل نوشتن و خواندن مدار استفاده می شود.

    2.5. نمودار منابع سیستم

    2.5.1. نمودارهای منابع سیستم، پیکربندی بلوک های داده و بلوک های پردازشی مورد نیاز برای حل یک کار یا مجموعه ای از وظایف را نشان می دهد.

    2.5.2. نقشه منابع سیستم شامل موارد زیر است:

    1) نمادهای داده نشان دهنده ورودی، خروجی و دستگاه های ذخیره سازی رایانه؛

    2) نمادهای پردازش نشان دهنده پردازنده ها (پردازنده های مرکزی، کانال ها و غیره)؛

    3) نمادهای خطی نشان دهنده انتقال داده بین دستگاه های ورودی-خروجی و پردازنده ها و همچنین انتقال کنترل بین پردازنده ها.

    4) کاراکترهای ویژه ای که برای تسهیل نوشتن و خواندن مدار استفاده می شود.

    نمونه هایی از اجرای طرح ها در زیر آورده شده است.

    3. توصیف نمادها

    3.1. نمادهای داده

    3.1.1. نمادهای داده پایه

    3.1.1.1. داده ها

    نماد نشان دهنده داده است، حامل داده تعریف نشده است.

    3.1.1.2. اطلاعات ذخیره شده

    نماد داده های ذخیره شده را به شکلی مناسب برای پردازش نمایش می دهد، رسانه ذخیره سازی تعریف نشده است.

    3.1.2. کاراکترهای داده خاص

    3.1.2.1. رم

    نماد نشان دهنده داده های ذخیره شده در حافظه دسترسی تصادفی است.

    3.1.2.2. دستگاه ذخیره سازی سریال

    این نماد اطلاعات ذخیره شده در یک دستگاه ذخیره سازی سریال (نوار مغناطیسی، نوار کاست، نوار کاست) را نشان می دهد.

    3.1.2.3. دستگاه ذخیره سازی دسترسی مستقیم

    این نماد نشان دهنده داده های ذخیره شده در یک دستگاه ذخیره سازی با دسترسی مستقیم (دیسک مغناطیسی، درام مغناطیسی، فلاپی دیسک) است.

    3.1.2.4. سند

    این نماد نشان دهنده داده های ارائه شده بر روی حامل به شکل قابل خواندن برای انسان است (ماشین تحریر، سند نوری یا مغناطیسی، میکروفیلم، رول نوار با داده های خلاصه، فرم های ورود داده ها).

    3.1.2.5. ورودی دستی

    این نماد داده های وارد شده به صورت دستی را در حین پردازش از هر نوع دستگاه (صفحه کلید، سوئیچ ها، دکمه ها، قلم نور، نوار بارکد) نمایش می دهد.

    3.1.2.6. نقشه

    این نماد داده های ارائه شده بر روی حامل را به شکل یک کارت نمایش می دهد (کارت های پانچ شده، کارت های مغناطیسی، کارت هایی با علائم قابل خواندن، کارت هایی با برچسب پارگی، کارت هایی با علائم اسکن شده).

    3.1.2.7. نوار کاغذی

    نماد داده های ارائه شده بر روی حامل را در قالب یک نوار کاغذی نمایش می دهد.

    3.1.2.8. نمایش دادن

    این نماد داده های ارائه شده به شکل قابل خواندن توسط انسان را در حامل در قالب یک دستگاه نمایش (صفحه نمایش برای مشاهده بصری، نشانگرهای ورودی اطلاعات) نمایش می دهد.

    3.2. نمادهای فرآیند

    3.2.1.نمادهای فرآیند اصلی

    3.2.1.1. روند

    نماد یک عملکرد پردازش داده از هر نوع را نشان می دهد (انجام یک عملیات خاص یا گروهی از عملیات، که منجر به تغییر در معنا، شکل یا مکان اطلاعات می شود، یا تعیین می کند که کدام یک از چندین جهت جریان باید حرکت کند).

    3.2.2. نمادهای خاص را پردازش کنید

    3.2.2.1. فرآیند از پیش تعریف شده

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

    3.2.2.2. عملیات دستی

    نماد هر فرآیندی را که توسط شخص انجام می شود را نشان می دهد.

    3.2.2.3. آماده سازی

    نماد نشان دهنده تغییر یک دستورالعمل یا گروهی از دستورالعمل ها با هدف تأثیرگذاری بر برخی عملکردهای بعدی (تنظیم یک سوئیچ، تغییر یک ثبت شاخص یا مقداردهی اولیه یک برنامه) است.

    3.2.2.4. راه حل

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

    3.2.2.5. اقدامات موازی

    این نماد زمان دو یا چند عملیات موازی را نشان می دهد.

    مثال.

    توجه داشته باشید. فرآیندهای C، D و E نمی‌توانند تا زمانی که فرآیند A تکمیل شود، شروع شوند. به طور مشابه، فرآیند F باید منتظر تکمیل فرآیندهای B، C، و D باشد، اما فرآیند C ممکن است به ترتیب قبل از شروع و/یا پایان فرآیند D شروع و/یا پایان یابد.

    3.2.2.6. مرز چرخه

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

    مثال.

    3.3. نمادهای خط

    3.3.1.نماد خط اصلی

    3.3.1.1. خط

    نماد نشان دهنده جریان داده یا کنترل است.

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

    3.3.2.نمادهای خاص خط

    3.3.2.1. انتقال کنترل

    نماد نشان دهنده انتقال مستقیم کنترل از یک فرآیند به فرآیند دیگر است، گاهی اوقات با امکان بازگشت مستقیم به فرآیند آغازگر پس از تکمیل عملکردهای فرآیند آغازگر. نوع انتقال کنترل باید در نماد نامگذاری شود (به عنوان مثال درخواست، تماس، رویداد).

    3.3.2.2. ارتباط دادن

    نماد نشان دهنده انتقال داده از طریق یک کانال ارتباطی است.

    3.3.2.3. خط نقطه چین

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

    مثال 1

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

    مثال 2

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

    3.4.نمادهای خاص

    3.4.1. رابط

    این نماد خروجی به بخشی از مدار و ورودی از قسمتی دیگر از آن مدار را نشان می دهد و برای شکستن یک خط و ادامه آن در جای دیگر استفاده می شود. کاراکترهای رابط مربوطه باید دارای همان نشانگر منحصر به فرد باشند.

    3.4.2. نابود کننده

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

    3.4.3.یک نظر

    این نماد برای افزودن نظرات توصیفی یا یادداشت های توضیحی به منظور توضیح یا یادداشت ها استفاده می شود. خطوط نقطه چین در نماد نظر با نماد مربوطه مرتبط هستند یا ممکن است گروهی از نمادها را احاطه کنند. متن نظرات یا یادداشت ها باید در نزدیکی شکل مرزی قرار گیرد.

    مثال.

    3.4.4. عبور

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

    مثال.

    4 قانون برای استفاده از نمادها و اجرای طرح ها

    4.1. قوانین استفاده از نمادها

    4.1.1. نماد برای شناسایی گرافیکی عملکردی که نشان می دهد، مستقل از متن درون آن نماد در نظر گرفته شده است.

    4.1.2. علامت های موجود در نمودار باید به طور مساوی فاصله داشته باشند. طول مناسب اتصالات و حداقل تعداد خطوط طولانی باید رعایت شود.

    4.1.3. بیشتر نمادها طوری طراحی شده اند که اجازه می دهند متن در نماد گنجانده شود. فرم های نماد مشخص شده توسط این استاندارد بین المللی برای ارائه راهنمایی برای نمادهای واقعی مورد استفاده قرار می گیرد. زاویه ها و سایر پارامترهایی که بر شکل متناظر نمادها تأثیر می گذارند نباید تغییر کنند. نمادها باید تا حد امکان یکنواخت باشند.

    کاراکترها را می توان در هر جهتی ترسیم کرد، اما جهت افقی در صورت امکان ترجیح داده می شود. تصویر آینه ای شکل نماد همان عملکرد را نشان می دهد، اما ترجیح داده نمی شود.

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

    مثال.

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

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

    4.1.5. شناسه های نماد را می توان در طرحواره ها استفاده کرد. این شناسه مرتبط با نمادی است که نماد را برای اهداف مرجع در سایر عناصر مستند (مثلاً در فهرست برنامه) مشخص می کند. شناسه نماد باید در سمت چپ بالای نماد قرار گیرد.

    مثال.

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

    مثال.

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

    مثال.

    4.1.8. نمودارها می توانند از یک نمایش دقیق استفاده کنند که با نماد نوار برای فرآیند یا داده نشان داده می شود. نماد با یک نوار نشان می دهد که نمایش دقیق تری در جای دیگری از همان مجموعه اسناد وجود دارد.

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

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

    نماد با راه راه نمایش دقیق

    4.2. قوانین اتصال

    4.2.1. جریان های داده یا جریان های کنترلی در نمودارها به صورت خطوط نشان داده می شوند. جهت جریان از چپ به راست و از بالا به پایین استاندارد در نظر گرفته می شود.

    در مواردی که لازم است وضوح بیشتری در نمودار ایجاد شود (مثلاً هنگام اتصال)، از فلش ها روی خطوط استفاده می شود. اگر جریان در جهتی غیر از جهت استاندارد باشد، فلش ها باید آن جهت را نشان دهند.

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

    مثال.

    4.2.3. دو یا چند خط ورودی را می توان در یک خط خروجی ترکیب کرد. اگر دو یا چند خط در یک خط ادغام شوند، نقطه ادغام باید جابجا شود.

    مثال.

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

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

    مثال.

    کانکتور خارجی کانکتور داخلی

    4.3. کنوانسیون های ویژه

    4.3.1. پریزهای متعدد

    4.3.1.1. چندین خروجی از نماد باید نشان داده شود:

    1) چندین خط از این نماد به نمادهای دیگر.

    2) یک خط از نماد داده شده، که سپس به تعداد خطوط مربوطه منشعب می شود.

    مثال ها.

    4.3.1.2. هر خروج نماد باید با مقادیر شرایط مناسب همراه باشد تا مسیر منطقی را نشان دهد تا آن شرایط و مراجع مرتبط مشخص شوند.

    مثال ها.

    4.3.2. نمایش تکراری

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

    4.3.2.2. وقتی چندین کاراکتر یک مجموعه مرتب شده را نشان می دهند، این ترتیب باید از جلو (اول) به عقب (آخرین) باشد.

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

    مثال.

    5. استفاده از نمادها

    نام نماد

    طرح واره داده

    طرح برنامه

    طرح عملیات سیستم

    طرح تعامل برنامه

    نمودار منابع سیستم

    نمادهای داده

    اصلی

    اطلاعات ذخیره شده

    خاص

    رم

    حافظه دسترسی متوالی

    دستگاه ذخیره سازی دسترسی مستقیم

    سند

    ورودی دستی

    نوار کاغذی

    2.1 توسعه الگوریتم.

    الگوریتم- این

    آ. شرح توالی اقدامات برای حل مشکل یا دستیابی به هدف؛

    ب قوانین برای انجام عملیات پردازش داده های اساسی؛

    ج شرح محاسبات با فرمول های ریاضی.

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

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

    کلامی (سوابق به زبان طبیعی)؛

    گرافیک (تصاویر از نمادهای گرافیکی)؛

    شبه کدها (توضیحات نیمه رسمی الگوریتم ها در یک زبان الگوریتمی شرطی، شامل عناصر زبان برنامه نویسی و عبارات زبان طبیعی، نمادهای ریاضی پذیرفته شده عمومی و غیره)؛

    برنامه (متون در زبان های برنامه نویسی).

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

    مثال. الگوریتمی برای یافتن بزرگترین مقسوم علیه مشترک (GCD) دو عدد طبیعی بنویسید.

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

    1. دو عدد را تنظیم کنید.

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

    3. تعیین بزرگترین اعداد.

    4. بزرگتر از اعداد را با تفاوت بین بزرگتر و کوچکتر از اعداد جایگزین کنید.

    5. الگوریتم مرحله 2 را تکرار کنید.

    الگوریتم توصیف شده برای هر اعداد طبیعی قابل اجرا است و باید به حل مسئله منجر شود. خودتان با استفاده از این الگوریتم برای تعیین بزرگترین مقسوم علیه مشترک 125 و 75 ببینید.

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

    چنین توصیفاتی کاملاً رسمی نیستند.

    از پرحرفی سوابق رنج می برند.

    اجازه تفسیر مبهم از نسخه های فردی را بدهید.

    روش گرافیکی ارائه الگوریتم ها فشرده تر و بصری تر از روش کلامی است.

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

    چنین نمایش گرافیکی فلوچارت یا فلوچارت نامیده می شود.

    شبه کد سیستمی از نشانه گذاری و قوانین است که برای نوشتن یکنواخت الگوریتم ها طراحی شده است.

    این زبان جایگاهی میانی بین زبان های طبیعی و رسمی دارد.

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

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

    2.2 بلوک دیاگرام.

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

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

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

    نام نماد نمونه تعیین و پر کردن توضیح
    روند عمل محاسباتی یا توالی اقدامات
    راه حل بررسی شرایط
    تغییر شروع چرخه
    فرآیند از پیش تعریف شده محاسبات توسط زیربرنامه، زیربرنامه استاندارد
    ورودی خروجی I/O به طور کلی
    شروع پایان شروع، پایان الگوریتم، ورود و خروج به زیربرنامه
    سند نتایج چاپ

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

    بلوک "تصمیم" برای تعیین انتقال کنترل بر اساس شرایط استفاده می شود. هر بلوک «تصمیم» باید سؤال، شرط یا مقایسه ای را که تعریف می کند مشخص کند.

    بلوک "اصلاح" برای سازماندهی ساختارهای چرخه ای استفاده می شود. (لغت تعدیل به معنای اصلاح، دگرگونی است). در داخل بلوک، یک پارامتر چرخه نوشته شده است که مقدار اولیه، شرایط مرزی و مرحله تغییر مقدار پارامتر برای هر تکرار نشان داده شده است.

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

    مثال. نمودار بلوکی الگوریتم تعیین ارتفاعات ha, hb, hc مثلثی با اضلاع a,b,c را ترسیم کنید.



    جایی که p = (a + b + c) / 2.
    راه حل. نماد را معرفی می کنیمسپس h a = t/a، h b = t/b، h c = t/c. فلوچارت باید شامل شروع، ورودی a، b، c، محاسبه p، t، h باشد a، h b، h c ، خروجی نتایج و توقف.

    2.3 ساختارهای الگوریتم ها.

    الگوریتم‌ها را می‌توان به‌عنوان ساختارهایی متشکل از عناصر اصلی (به عنوان مثال اصلی) مجزا نشان داد. طبیعتاً با این رویکرد به الگوریتم ها، مطالعه اصول اولیه طراحی آنها باید با مطالعه این عناصر اساسی آغاز شود.

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

    یکی از ویژگی های ساختارهای پایه این است که یک ورودی و یک خروجی دارند.

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

    2. ساختار انشعاب اساسی.بسته به نتیجه بررسی شرایط (بله یا خیر)، انتخاب یکی از راه های جایگزین الگوریتم را فراهم می کند. هر مسیر به یک خروجی مشترک منتهی می شود، بنابراین الگوریتم بدون توجه به اینکه کدام مسیر انتخاب شده است، ادامه خواهد داشت.

    ساختار شاخهدر چهار نوع اصلی وجود دارد:

    اگر-پس-دیگر؛

    انتخاب متفاوت است.

    1) if-then شرط if سپس عمل پایان if 2) if-then-else اگر شرط و سپس اقدام 1 else عمل 2 پایان اگر 3) انتخاب انتخاب تحت شرط 1: عمل 1 تحت شرط 2: عمل 2. . . . . . . . . . . . تحت شرط N: اقدامات N انتهای انتخاب 4) انتخاب - در غیر این صورت انتخاب تحت شرط 1: عمل 1 در شرایط 2: عمل 2. . . . . . . . . . . . تحت شرط N: اقدامات N در غیر این صورت اقدامات N+1 انتهای انتخاب

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

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

    ساختار چرخه در سه نوع اصلی وجود دارد:

    نوع حلقه برای.

    دستور اجرای بدنه حلقه برای همه مقادیر یک متغیر (پارامتر حلقه) در محدوده مشخص شده را می دهد.

    نوع حلقه خدا حافظ.

    دستور می دهد تا زمانی که شرط نوشته شده بعد از کلمه while برآورده شود، بدنه حلقه اجرا شود.

    نوع حلقه انجام در حالی که.

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

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

    حلقه برای i از i1 به i2 مرحله i3 حلقه بدنه (توالی اقدامات) پایان حلقه حلقه تا زمانی که بدنه حلقه شرط (توالی اقدامات) حلقه پایان یابد حلقه بدنه حلقه را انجام دهید (توالی اعمال) تا زمانی که شرط پایان حلقه باشد

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

    محاسبه مبالغ یک کار چرخه ای معمولی است. یکی از ویژگی های مشکل خاص ما این است که تعداد اصطلاحات (و در نتیجه، تعداد تکرارهای بدن چرخه) از قبل مشخص نیست. بنابراین اجرای حلقه باید با رسیدن به دقت مورد نیاز پایان یابد.

    هنگام کامپایل الگوریتم باید در نظر گرفت که علائم عبارات متناوب می شوند و درجه عدد x در شمارندگان عبارت ها افزایش می یابد.

    حل این مشکل به طور مستقیم با محاسبه مجموع جزئی در هر مرحله i

    S:=S+(-1)**(i-1)*x**i/i،

    ما یک الگوریتم بسیار ناکارآمد دریافت می کنیم که به تعداد زیادی عملیات نیاز دارد. بسیار بهتر است که محاسبات را به صورت زیر سازماندهی کنیم: اگر صورت هر عبارتی را با حرف p نشان دهیم، عدد بعدی برابر با -p * x خواهد بود (علامت منهای تناوب علائم عبارات را تضمین می کند. ) و خود اصطلاح m

    برابر p/i خواهد بود که i تعداد عبارت است.

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

    حلقه های تو در تو

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

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

    مثالحلقه های تو در تو برای. مجموع عناصر ماتریس داده شده A (5،3) را محاسبه کنید.

    مثالحلقه های تو در تو هنوز حاصل ضرب آن دسته از عناصر ماتریس داده شده A(10،10) را که در محل تقاطع سطرها و ستون های زوج قرار دارند، محاسبه کنید.

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

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

    الگوریتم های عمل چگونه ایجاد می شوند؟

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

    یا مثال دیگر: برای کپی کردن یک عکس یا متن، روی عکس کلیک راست کرده، سپس "Copy" را انتخاب کنید، آن را در جای مناسب قرار دهید، روی "Paste" کلیک راست کنید و نتیجه حاصل می شود.

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

    توالی اقدامات را توصیف کنید - به خاطر سپرده می شود

    ايجاد كردن الگوریتم عملبا توصیف یا به تصویر کشیدن توالی آن امکان پذیر است. آیا همه می دانند که برای کاشت درخت چه باید کرد؟ شاید مراحل اولیه برای همه روشن باشد، اما همه به یاد نمی آورند که چه زمانی باید درخت را آبیاری کنند، قبل از کاشت یا بعد از آن. الگوریتم ایجاد شده اجازه می دهد تا تمام اقدامات به ترتیب صحیح انجام شوند.

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

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

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

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

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

    از فلوچارت ها در فروش استفاده می شود

    در فروش، چنین آموزش هایی از طریق توسعه الگوریتم ها و ارائه آنها در قالب فلوچارت بسیار رایج است. اغلب آنها در سناریوهای مکالمه تلفنی در مراکز تماس و برای تماس های سرد استفاده می شوند. فرهنگ شرکتی در حال شتاب گرفتن است، بنابراین بسیاری از شرکت ها دیگر به کارمندان اجازه نمی دهند که حتی افراد با استعداد را با خود حمل کنند، بلکه به آنها پیشنهاد می دهند که طبق یک سناریوی از پیش طراحی شده عمل کنند و "چهره شرکت" را در مراحل مختلف نشان دهند. این اثر به معنای واقعی کلمه پس از چندین روز انجام "روی یک تکه کاغذ" ظاهر می شود. با گذشت زمان، بسیاری از الگوریتم های توصیف شده توسط کارمند به خاطر سپرده می شود و در آینده می تواند آزادانه بدون ترس از اینکه مکالمه به کدام سمت می رود، ارتباط برقرار کند.

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

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

    خدمات برای توسعه نمودارهای جریان

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

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

    با توسعه الگوریتم های عمل و تبدیل آنها به بلوک دیاگرام هابا کمک کاکو می توانید برای مدت طولانی نه تنها برای خود، بلکه برای سایر افرادی که در حال یادگیری اصول اولیه هستند، روحیه خوبی ایجاد کنید.

    فلوچارت های بازی را برای کودکان خود ایجاد کنید

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

    بلوک دیاگرام من

    در اینجا فلوچارتی است که من برای اولین بار با آن آشنا شدم. برای بزرگنمایی تصویر، روی آن کلیک کنید. پس از جابجایی به Cacoo، در زیر ورودی "نمایش شکل"، روی تصویر کلیک کنید. در یک پنجره بزرگ باز خواهد شد. موفق باشید!

    در این درس به صورت عملی عمل خواهیم کرد: نحوه ایجاد انواع مختلف الگوریتم، و نحوه "خواندن" یک الگوریتم از یک فلوچارت آماده.

    شرایط زیر ممکن است: در لحظه ای که به جاده نزدیک شدیم، یک چراغ قرمز یا سبز روشن بود. اگر چراغ سبز روشن باشد، می توانید از جاده عبور کنید. اگر چراغ قرمز روشن بود، پس باید منتظر چراغ سبز باشید - و تنها پس از آن از جاده عبور کنید.

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

    1. بیا سر چراغ راهنمایی
    2. به نورش نگاه کن
    3. اگر چراغ سبز است، از جاده عبور کنید.
    4. اگر چراغ قرمز روشن است، صبر کنید تا چراغ سبز روشن شود و سپس از جاده عبور کنید.

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

    برنج. 3. بلوک دیاگرام برای مثال 2.

    تدوین الگوریتم های چرخه ای

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

    به یاد بیاورید که اصل آن تقسیم یک عدد بر 2 و ثبت باقی مانده های حاصل از تقسیم است.

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

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

    1. اگر عدد 0 یا 1 باشد، این نمایش باینری آن خواهد بود.
    2. اگر عدد بزرگتر از 1 باشد آن را بر 2 تقسیم می کنیم.
    3. باقی مانده حاصل از تقسیم به آخرین بیت نمایش باینری عدد نوشته می شود.
    4. اگر ضریب حاصل برابر با 1 باشد، آن را به بیت اول نمایش دودویی عدد اضافه می کنیم و محاسبات را متوقف می کنیم.
    5. اگر ضریب حاصل بزرگتر از 1 باشد، عدد اصلی را با آن جایگزین می کنیم و به مرحله 2 برمی گردیم.

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

    برنج. 4. بلوک دیاگرام برای مثال 3.

    توجه: در نظر بگیرید که آیا فلوچارت فوق را می توان به نحوی ساده کرد.

    الگوریتم های "خواندن".

    مثال 4. با توجه به بلوک دیاگرام داده شده، اعمال الگوریتم را برای عدد 23 انجام دهید.

    برنج. 5. بلوک دیاگرام برای مثال 4.

    در این درس، نمونه هایی از کامپایل الگوریتم ها و همچنین نمونه ای از "خواندن الگوریتم" را از یک فلوچارت آماده تحلیل کردیم.

    در درس بعدی به بازی ها و استراتژی های برنده شدن می پردازیم.

    چگونه کوشچی را بکشیم؟

    احتمالاً همه یک افسانه از دوران کودکی را به یاد دارند که در مورد محل مرگ کوشچی جاودانه می گوید: "مرگ من در انتهای سوزن است که در تخم مرغ است ، تخم مرغ در اردک است ، اردک در خرگوش، خرگوش در سینه نشسته است، سینه با قفلی محکم بسته شده و در زیر بزرگترین درخت بلوط در جزیره بویان، در وسط دریا-اقیانوس دفن شده است.

    برنج. 6. Koschei جاودانه و Vasilisa حکیم ().

    فرض کنید به جای ایوان تزارویچ، ایوان احمق برای مبارزه با کوشچی پرتاب شد. بیایید به واسیلیسا حکیم کمک کنیم تا الگوریتمی ترسیم کند تا حتی ایوان احمق نیز بتواند کوشچی را بکشد.

    1. البته ابتدا باید جزیره بویان را پیدا کنید (فرض می کنیم که ایوان احمق توانایی چنین چیزهایی را دارد).
    2. از آنجایی که سینه زیر بزرگترین درخت بلوط مدفون است، ابتدا باید بزرگترین درخت بلوط جزیره را پیدا کنید.
    3. سپس باید خود قفسه سینه را حفر کنید.
    4. قبل از اینکه خرگوش را بدست آورید، باید یک قفل قوی را بشکنید.
    5. اکنون می توانید خرگوش را بدست آورید.
    6. از خرگوش باید اردک را بگیرید.
    7. تخم مرغ را از اردک خارج کنید.
    8. تخم مرغ را بشکنید و سوزن را بیرون بیاورید.
    9. سوزن را بشکن

    این نیز یک الگوریتم خطی است، اگرچه طولانی تر از الگوریتم شروع برنامه Paint است.

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

    برنج. 7. بلوک دیاگرام.

    در چهارراه…

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

    برنج. 8. قهرمانی در چهارراه ().

    روی سنگ نوشته شده است:

    «اگر به سمت راست بروید، اسب خود را از دست خواهید داد، خود را نجات خواهید داد. به سمت چپ می روی - خودت را گم می کنی، اسب را نجات می دهی. اگر مستقیم بروی، خودت و اسبت را گم می‌کنی.»

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

    1. اگر به سمت راست برویم اسب را گم می کنیم. اگر به سمت راست نرویم، دو راه داریم (معتقدیم که مسافر برنمی گردد): مستقیم برویم و چپ.
    2. اگر به سمت چپ برویم خودمان را گم می کنیم و اسب را نجات می دهیم.
    3. اگر مستقیم برویم، هم خودمان را از دست می دهیم و هم اسب را.

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

    برنج. 9. بلوک دیاگرام.

    شلغم

    داستان های عامیانه روسی ما را بدون الگوریتم چرخه ای رها نکرده است. و به اندازه کافی عجیب، او در یکی از بی عارضه ترین افسانه ها - "شلغم" پنهان شد.

    برنج. 10. شلغم.

    بیایید طرح داستان را به یاد بیاوریم: پدربزرگ می کشد، می کشد - او نمی تواند آن را بیرون بکشد. سپس شخصیت های جدید به نوبه خود به کمک پدربزرگ می آیند - و به همین ترتیب تا زمانی که موش برسد.

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

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

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

    برنج. 11. بلوک دیاگرام.

    1. Bosova L.L. انفورماتیک و فناوری اطلاعات و ارتباطات: کتاب درسی پایه ششم. - M.: BINOM. آزمایشگاه دانش، 2012
    2. Bosova L.L. انفورماتیک: کتاب کار کلاس ششم. - M.: BINOM. آزمایشگاه دانش، 2010.
    3. Bosova L.L., Bosova A.Yu. دروس انفورماتیک در پایه های 5-6: راهنمای روش شناختی. - M.: BINOM. آزمایشگاه دانش، 2010.
    1. پورتال اینترنتی "جامعه برای کمک متقابل معلمان" ().
    2. پورتال اینترنتی "Nsportal.ru" ().
    3. پورتال اینترنتی "جشنواره ایده های آموزشی" ().
    1. §3.3، 3.4 (Bosova L.L. Informatics and ICT: Textbook for class 6);
    2. سعی کنید به طور مستقل یک الگوریتم خطی از 5-6 شکل بنویسید.
    3. یک بلوک دیاگرام از الگوریتم چرخه ای برای انجام تکالیف ایجاد کنید.

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

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

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

    مانند هر برنامه دیگری از سری مایکروسافت آفیس، Visio دارای تمام ابزارهای لازم برای کار راحت است: ایجاد، ویرایش، اتصال و تغییر ویژگی های اضافی اشکال. تجزیه و تحلیل ویژه ای از سیستم از قبل ساخته شده نیز اجرا شده است.

    دیا

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

    یک کتابخانه استاندارد بزرگ از اشکال و اتصالات، و همچنین ویژگی های منحصر به فردی که توسط همتایان مدرن ارائه نشده است - این همان چیزی است که هنگام تماس با Dia در انتظار کاربر است.

    منطق پرواز

    اگر به دنبال نرم افزاری هستید که با آن بتوانید مدار لازم را به سرعت و به راحتی بسازید، Flying Logic دقیقا همان چیزی است که نیاز دارید. هیچ رابط پیچیده و دست و پا گیر و تعداد زیادی تنظیمات نمودار بصری وجود ندارد. یک کلیک - اضافه کردن یک شی جدید، دوم - ایجاد اتحاد با بلوک های دیگر. شما همچنین می توانید عناصر مدار را در گروه ها ترکیب کنید.

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

    جریان نرم افزار BreezeTree

    FlowBreeze یک برنامه جداگانه نیست، بلکه یک افزونه برای یک ماژول مستقل است که توسعه نمودارها، فلوچارت ها و سایر اینفوگرافیک ها را بسیار آسان می کند.

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

    ادراو MAX

    مانند ویرایشگر قبلی، Edraw MAX محصولی برای کاربران پیشرفته ای است که به طور حرفه ای در چنین فعالیت هایی مشغول هستند. با این حال، بر خلاف FlowBreeze، این نرم افزار مستقل با امکانات بی شمار است.

    از نظر سبک رابط و عملکرد، Edraw بسیار شبیه به . جای تعجب نیست که آن را رقیب اصلی دومی می نامند.

    ویرایشگر فلوچارت های الگوریتم AFCE

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

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

    FCEditor

    مفهوم برنامه FCEditor اساساً با سایر برنامه های ارائه شده در این مقاله متفاوت است. اولا، کار منحصراً با فلوچارت های الگوریتمی انجام می شود که به طور فعال در برنامه نویسی استفاده می شود.

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

    شم را بلاک کنید

    برنامه BlockShem، متأسفانه، امکانات بسیار کمتر و کاربر پسندی را ارائه می دهد. هیچ خودکارسازی فرآیند به هیچ شکلی وجود ندارد. در فلوچارت، کاربر باید به صورت دستی شکل ها را ترسیم کرده و سپس آنها را ترکیب کند. این ویرایشگر بیشتر یک ویرایشگر گرافیکی است تا یک ویرایشگر شی که برای ایجاد نمودار طراحی شده است.

    کتابخانه چهره ها متاسفانه در این برنامه به شدت ضعیف است.

    همانطور که می بینید، مجموعه بزرگی از نرم افزارها برای ساخت فلوچارت طراحی شده اند. علاوه بر این ، برنامه ها نه تنها از نظر تعداد عملکردها متفاوت هستند - برخی از آنها شامل یک اصل عمل کاملاً متفاوت است که از آنالوگ ها قابل تشخیص است. بنابراین، توصیه کردن از کدام ویرایشگر برای استفاده دشوار است - هر کس می تواند دقیقاً محصول مورد نیاز خود را انتخاب کند.