کامپیوتربرنامه نویسی

برنامه نویسی. سازه های عمومی الگوریتمی

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

الگوریتم

کلمه "الگوریتم" از algoritmi لاتین آمد. به چه معنی است؟ کلمه معتبر از نام ریاضیات، فعالیت های که در قرن نهم صورت گرفت می آید. رساله با توجه AL Khorezmi انسان می تواند به آشنا با نوع اساسی از طراحی الگوریتم و به طور کلی با مفهوم کلی است.

فرم های قبلی املایی به تصویب رسید - "الگوریتم". در حال حاضر آن تنها در موارد خاص استفاده می شود.

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

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

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

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

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

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

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

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

چه خواص باید طراحی الگوریتمی اساسی برای کار حداکثر دقت را داشته باشد؟

  1. فهم. هر تیم باید به عنوان روشن شی در حال اجرا باشد. به نظر می رسد که هیچ چیز آسان تر است از، برای مثال، کشیدن یک نقطه در مرکز، وجود دارد، اما از آن است املای نه از این تیم، که یک عمل را انجام می دهد، آن را نمی تواند انجام شود.
  2. اثربخشی. به این معنی که این ملک؟ مورد نیاز برای به دست آوردن یک نتیجه. الگوریتم نمی تواند اما به نوعی پاسخ منجر شود. به علت بروز خطا، شما می توانید نتیجه اشتباه است که مورد نظر بود، اما او خواهد شد. علاوه بر این، پاسخ باید پس از تعداد معینی از مراحل دریافت می شود.
  3. توده. هر الگوریتم باید قابل انطباق با هر کلاس از مشکلات باشد. بین آنها ممکن است داده های ورودی متفاوت است.
  4. اطمینان. هر عمل باید فقط یک معنی دارد، و نه امکان برای رمزگشایی مشتق است. در حالت ایده آل، مهم نیست که چقدر برنامه راه اندازی شد، در نتیجه باید به همان را در همه زمان ها است.
  5. گسسته. الگوریتم - مراحل پیاده سازی سازگار است. هر مرحله یک فرمان به جست و خیز و یا اضافه کردن امکانات جدید نمی تواند.
  6. صحت. هر الگوریتم این است که قابل انطباق با هر نوع وظایف، باید درست برای همه باشد. در برنامه نویسی، اغلب مشکلات در مراحل نوشتن، که اغلب زمان زیادی نیاز ندارد، و در انجام آنها برای همه نوع از سوالات وجود دارد. بنابراین، یک گام مهم خواهد بود به اشکال زدایی الگوریتم. می توانید با این و طراحی اولیه الگوریتمی کمک، تکرار که می تواند به نتایج بهتر منجر شود.

شرح الگوریتم

اگر ما در مورد چگونگی نوشتن الگوریتم صحبت می کنید، باید آن را در بر داشت زیر برجسته:

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

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

طراحی الگوریتم

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

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

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

ایجاد حلقه ها و انواع آنها

چه آن را برای ایجاد یک حلقه؟

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

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

الگوریتم پایه

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

الگوریتم های خطی

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

نمونه ای از یک الگوریتم خطی می تواند یک فرآیند تهیه چای:

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

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

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

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

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

نشانه به طور معمول، عبارات منطقی هستند، بیان "کمتر از"، "بیشتر"، "کمتر یا مساوی"، "بزرگتر یا مساوی با"، "برابر"، "برابر نیست." گاهی اوقات وی که در آن شرایط به فرمان و (U) یا (یا) در ارتباط با یکدیگر است.

یک مثال از چنین یک الگوریتم ممکن است راه حلی برای مشکل زیر است: اگر عبارت ((X + 3) / 1) به یک عدد مثبت برابر است، پس از آن نمایش نتیجه بر روی صفحه نمایش، اگر منفی - به اطلاع کاربر در مورد خطا.

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

چرخه قطعی و یا از چرخه ضد

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

به برنامه ای برای نمایش دو ردیف 4 بار:

  1. "چگونه شما هستند؟"
  2. "خب، از شما سپاسگزارم!"
  3. "چگونه شما هستند؟"
  4. "خب، از شما سپاسگزارم!"

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

1. برای من: = 1 تا 2 را انجام دهید:

- من یک چرخه ضد است، آن را تعیین تعداد تکرار در یک حلقه.

2. شروع (کمانک باز به دو عبارت چرخه بدن و تکرار با هم است.)

3. Writeln ( 'چگونه هستی؟ "):

- کلمه به این معنی writeln عبارات نتیجه گیری در نقل قول تکی.

4. Writeln ( 'خوب، به لطف').

5. پایان.

6. من: = i + 1 ام.

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

چرخه با postcondition

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

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

چرخه با پیش شرط

چرخه با postcondition است که در چنین راهی که آن را حداقل یک بار در هر صورت انجام ساخته شده است. با این حال، موارد، زمانی که چرخه در مورد یک بیماری مورد نیاز است، و نباید در غیاب عود انجام وجود دارد. در غیر این صورت، نتیجه نادرست خواهد بود. در این مورد یک حلقه با یک پیش شرط است. برای ایجاد طراحی لازم «در حالی که یک انجام B». اولین تیم به معنای واقعی کلمه به عنوان ترجمه "طولانی است." A - شرایط و - اقداماتی که تکرار خواهد شد. طرح تمام شده به معنی "تا زمانی که شرط درست باشد، انجام عمل."

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

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

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 fa.birmiss.com. Theme powered by WordPress.