نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی پرتال اطلاعاتی

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

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

در این مقاله به بررسی مفاهیم اولیه الگوریتم می پردازیم.

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

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

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

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

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

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

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

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

الگوریتم چیست؟

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

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

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

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

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

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

ویژگی های اساسی الگوریتم

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

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

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

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

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

انواع مختلفی از الگوریتم ها وجود دارد، اما سه الگوریتم اصلی وجود دارد.

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

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

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

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

ساده ترین نوع حلقه ثابت است.

دو نوع الگوریتم حلقه وجود دارد:

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

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

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

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

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

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

مثال. سوال: آیا باران می بارد؟ گزینه های پاسخ: "بله" یا "خیر". اگر "بله" - چتر را باز کنید، اگر "نه" - چتر را در کیسه بگذارید.

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

الگوریتم کمکی را می توان در سایر الگوریتم ها تنها با ذکر نام آن استفاده کرد.

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

وضعیتبین کلمات "اگر" و "پس" قرار دارد.

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

داده ها- اطلاعاتی که بار معنایی معینی را حمل می کند و به گونه ای ارائه می شود که بتوان آن را انتقال داد و برای یک الگوریتم مورد استفاده قرار داد.

فرآیند الگوریتمی- حل یک مسئله توسط یک الگوریتم با استفاده از داده های خاص.

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

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

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

نسخه گرافیکی ساخت الگوریتم

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

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

همچنین، نمودارهای بلوک مطابق با GOST-19701-90 و GOST-19.003-80 نشان داده شده است.
اشکال گرافیکی مورد استفاده در الگوریتم به دو دسته تقسیم می شوند:

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

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

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

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

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

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

ساختار الگوریتم، همانطور که در بالا ذکر شد، باید مطابق با GOST ساخته شود، در غیر این صورت برای دیگران قابل درک و در دسترس نخواهد بود.

روش کلی ثبت شامل نکات زیر است:

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

هر الگوریتم باید شروع و پایان روشنی داشته باشد.

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

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

  • نام طرحواره
  • داده ها.
  • شروع کنید.
  • تیم ها
  • پایان.

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

اشکال هندسی مسئول اعمال مختلف در الگوریتم هستند

به صورت افقی بیضی شکل - شروع و پایان (علامت پایان).

مستطیل به صورت افقی - محاسبه یا سایر اقدامات (علامت فرآیند).

متوازی الاضلاع به صورت افقی - ورودی یا خروجی (علامت داده).

لوزی به صورت افقی - بررسی وضعیت (علامت راه حل).

یک شش ضلعی دراز و افقی یک تغییر (علامت آماده سازی) است.

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

نوع فرمول-کلمه ساخت الگوریتم.

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

مفهوم الگوریتم در علوم کامپیوتر

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

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

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

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

نتیجه

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

الگوریتم

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

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

رسمی سازی جزئی مفهوم یک الگوریتم با تلاش برای حل مسئله حل آغاز شد (آن. Entscheidungsproblem) که توسط دیوید هیلبرت در سال 1928 فرموله شد. مراحل بعدی رسمی سازی برای تعریف محاسبات کارآمد یا "روش کارآمد" ضروری بود. چنین رسمی‌سازی‌هایی شامل توابع بازگشتی گودل-هرباند-کلین، و جی.، λ-حساب توسط آلونزو چرچ، «فرمولاسیون 1» در سال 1936 توسط امیل پست، و ماشین تورینگ است. در روش شناسی، الگوریتم یک مفهوم اساسی است و با نزدیک شدن به مطلق پیش بینی شده، یک مفهوم کیفی جدید را به عنوان بهینه دریافت می کند. در دنیای مدرن، یک الگوریتم در شرایط رسمی اساس آموزش را با مثال ها، با تشبیه تشکیل می دهد. بر اساس شباهت الگوریتم ها در زمینه های مختلف فعالیت، مفهوم (نظریه) سیستم های خبره شکل گرفت.

تاریخچه این اصطلاح

تعریف رسمی مدرن الگوریتم در دهه 30-50 قرن XX در آثار تورینگ، پست، کلیسا (کلیسا - پایان نامه تورینگ)، N. Wiener، A.A. Markov ارائه شد.

خود کلمه «الگوریتم» از نام خوارزم شناس ابوعبدالله محمد بن موسی خوارزمی (الگوریتم - الخوارزمی) گرفته شده است. در حدود سال 825، او مقاله ای نوشت که در آن برای اولین بار سیستم اعداد اعشاری موقعیتی اختراع شده در هند را شرح داد. متاسفانه اصل فارسی کتاب باقی نمانده است. الخوارزمی قواعد محاسبات را در سیستم جدید فرموله کرد و احتمالاً برای اولین بار از عدد 0 برای نشان دادن موقعیت گمشده در نماد یک عدد استفاده کرد (نام هندی آن توسط اعراب به این صورت ترجمه شده است. as-sifrیا به سادگی sifr، از این رو کلماتی مانند "رقم" و "رمز"). تقریباً در همان زمان، سایر دانشمندان عرب شروع به استفاده از اعداد هندی کردند. در نیمه اول قرن دوازدهم، کتاب خوارزمی با ترجمه لاتین به اروپا نفوذ کرد. مترجمی که اسمش به دست ما نرسیده اسمش را گذاشته است Algoritmi de Numero Indorum("الگوریتم های محاسبه به زبان هندی"). به عربی کتاب نامیده می شد کتاب الجبر والمقابله(«کتابی در جمع و تفریق»). از عنوان اصلی کتاب کلمه جبر (جبر - الجبر - تکمیل) آمده است.

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

برخی بیرون آوردند الگوریزماز یونانی algiros(بیمار) و آریتموس(عدد). از این توضیح، خیلی روشن نیست که چرا اعداد "بیمار" هستند. یا زبان شناسان مردم را از بدبختی انجام محاسبات بیمار دیدند؟ فرهنگ لغت دایره المعارف بروکهاوس و افرون نیز توضیحات خود را ارائه کرده است. در او الگوریتم(اتفاقاً قبل از انقلاب از املا استفاده می شد الگوریتم، از طریق فیت) «از لغت عربی الغورتم یعنی ریشه» تولید شده است. البته به سختی می توان این توضیحات را قانع کننده دانست.

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

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

الگوریتم هنر شمارش با اعداد است، اما در ابتدا کلمه "عدد" فقط به صفر اشاره می کرد. گوتیه دو کوینسی (1236-1177) از این کلمات در یکی از شعرهای خود استفاده کرده است. algorismus-cipher(که به معنای عدد 0 بود) به عنوان استعاره ای برای توصیف یک شخص کاملاً بی ارزش. بدیهی است که درک چنین تصویری مستلزم آموزش مناسب مخاطبان بود، به این معنی که سیستم اعداد جدید قبلاً برای آنها کاملاً شناخته شده بود.

برای قرن‌های متمادی، چرتکه در واقع تنها وسیله محاسبات عملی بود؛ بازرگانان، صرافان و دانشمندان از آن استفاده می‌کردند. مزایای محاسبه روی صفحه شمارش توسط متفکر برجسته ای مانند هربرت اوریلاک (938-1003) که در سال 999 به نام سیلوستر دوم پاپ شد، در نوشته های او توضیح داده شد. چیز جدید به سختی راه خود را باز کرد و تاریخ ریاضیات وارد رویارویی سرسختانه بین اردوگاه های الگوریتم ها و اباکیست ها (که گاهی علف گرایان نامیده می شوند) شد که از استفاده از چرتکه برای محاسبات به جای اعداد عربی حمایت می کردند. جالب است که ریاضیدان معروف فرانسوی نیکلاس چوکه (1445-1488) به عنوان الگوریست در فهرست مالیات دهندگان شهر لیون ثبت شده است. اما بیش از یک قرن گذشت تا سرانجام روش جدید شمارش ایجاد شد؛ زمان زیادی برای توسعه نام‌گذاری‌های پذیرفته شده عمومی، بهبود و تطبیق روش‌های محاسبه برای نوشتن روی کاغذ صرف شد. در اروپای غربی، معلمان حساب همچنان تا قرن هفدهم "استادان چرتکه" خوانده می شدند، مانند ریاضیدان نیکولو تارتالیا (1500-1557).

بنابراین، انشا در مورد هنر شمارش نامیده شد الگوریتم ها... از میان صدها، موارد غیرعادی مانند رساله ای که در آیات نوشته شده است را می توان متمایز کرد کارمن دی آلگوریزم(لاتین کارمنو به معنای شعر) اثر الکساندر دی ویلا دی (متوفی 1240) یا کتاب درسی اخترشناس و ریاضیدان وینی گئورگ پورباخ (Georg Peurbach, 1423-1461) Opus algorismi jocundissimi("خنده دارترین انشا در مورد الگوریتم").

به تدریج معنای کلمه گسترش یافت. دانشمندان شروع به استفاده از آن نه تنها در محاسبات محاسباتی، بلکه در سایر روش های ریاضی کردند. مثلاً در حدود سال 1360 فیلسوف فرانسوی نیکلاس اورم (Nicolaus Oresme, 1323 / 25-1382) رساله ای ریاضی نوشت. الگوریزم تناسب("محاسبه نسبت ها")، که در آن او برای اولین بار از توان ها با توان های کسری استفاده کرد و در واقع به ایده لگاریتم ها نزدیک شد. هنگامی که به اصطلاح شمارش خط جایگزین چرتکه شد، کتابچه های راهنمای متعددی در مورد آن شروع به فراخوانی کردند الگوریتم خطی، یعنی قوانین شمارش روی خطوط.

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

ماشین تورینگ

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

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

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

توابع بازگشتی

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

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

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

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

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

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

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

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

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

مانند تزهای تورینگ و چرچ، اصل عادی سازی مارکوف را نمی توان به صورت ریاضی اثبات کرد.

الگوریتم های تصادفی

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

در عمل به جای مولد اعداد تصادفی از مولد اعداد شبه تصادفی استفاده می شود.

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

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

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

سایر رسمی سازی ها

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

  • ماشین های تورینگ چند نواری و غیر قطعی؛
  • ثبت و ماشین PAM - نمونه اولیه کامپیوترهای مدرن و ماشین های مجازی.

دیگر.

ویژگی های رسمی الگوریتم ها

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

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

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

به حالتی که نتیجه محاسبه تابع یک عبارت منطقی "درست" یا "نادرست" (یا مجموعه ای (0، 1)) باشد، مسئله ای نامیده می شود که بسته به محاسبه پذیری تابع می تواند قابل حل یا غیرقابل حل باشد.

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

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

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

تجزیه و تحلیل الگوریتم ها

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

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

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

  • صحت جزئی- برنامه هنگام خروج نتیجه صحیح را برای مواردی ارائه می دهد.
  • صحت کامل- برنامه خارج می شود و نتیجه صحیح را برای همه عناصر از محدوده داده ورودی برمی گرداند.

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

پ{س} آر

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

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

ساعات کاری

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

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

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

این پیچیدگی مجانبی است که اندازه وظایفی را که الگوریتم می تواند انجام دهد تعیین می کند. به عنوان مثال، اگر الگوریتم داده های ورودی را با اندازه پردازش کند cn²، جایی که جمقداری ثابت است، سپس می گویند که پیچیدگی زمانی چنین الگوریتمی O(n²).

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

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

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


پیچیدگی یک نظر نمونه هایی از
O(1) زمان اجرای پایدار به اندازه کار بستگی ندارد زمان تخمینی جستجوی جدول هش
O( ثبت گزارش n) رشد بسیار آهسته زمان مورد نیاز زمان اجرای تخمینی جستجوی درون یابی nعناصر
O(ورود n) رشد لگاریتمی - دو برابر کردن اندازه کار، زمان اجرا را به میزان ثابتی افزایش می دهد محاسبه ایکس n; جستجوی باینری در یک آرایه از nعناصر
O(n) رشد خطی - دو برابر کردن اندازه کار، زمان مورد نیاز را دو برابر می کند جمع / تفریق اعداد از nشماره؛ جستجوی خطی در آرایه ای از nعناصر
O(nورود به سیستم n) رشد آریتمی خطی - دو برابر کردن اندازه کار کمی بیش از دو برابر زمان مورد نیاز خواهد بود ادغام یا مرتب سازی هیپ nعناصر؛ مرز پایینی از نوع nعناصر
O(n²) رشد درجه دوم - دو برابر کردن اندازه کار، زمان مورد نیاز را چهار برابر می کند الگوریتم های مرتب سازی ابتدایی
O(n³) رشد مکعبی - دو برابر شدن اندازه کار، زمان مورد نیاز را هشت برابر افزایش می دهد ضرب ماتریس منظم
O(ج n) رشد تصاعدی - افزایش اندازه کار به میزان 1 منجر به جافزایش برابری در زمان مورد نیاز؛ دو برابر کردن اندازه کار، زمان مورد نیاز را مربع افزایش می دهد برخی از مشکلات فروشنده دوره گرد، الگوریتم های جستجوی بی رحمانه

در دسترس بودن داده های اولیه و برخی از نتایج

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

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

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

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

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

فرم های ثبت الگوریتم:

  • کلامی یا شفاهی (زبانی، فرمول-کلامی)؛
  • شبه کد (زبان های الگوریتمی رسمی)؛
  • شماتیک:
    • ساختار نگاره ها (طرح های ناسی- اشنایدرمن)؛
    • گرافیک (بلوک دیاگرام).

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

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

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

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

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

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

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

عملکردگره (a, b) اگر b = 0 برگشتآ در غیر این صورت برگشتگره (b, a مدب)

GCD شماره های 1599 و 650:

مرحله 1 1599 = 650*2 + 299
گام 2 650 = 299*2 + 52
مرحله 3 299 = 52*5 + 39
مرحله 4 52 = 39*1 + 13
مرحله 5 39 = 13*3 + 0


را نیز ببینید

یادداشت ها (ویرایش)

  1. کلین 1943 در دیویس 1965: 274
  2. Rosser 1939 در دیویس 1965: 225
  3. (ایگوشین ص 317)
  4. مبانی: ماشین تورینگ (با مترجم!. ریاضی خوب، ریاضی بد(9 فوریه 2007). بایگانی شده از نسخه اصلی در 2 فوریه 2012.
  5. (ایگوشین، بخش 33)
  6. دایره المعارف سایبرنتیک، ج. 2 ، ج. 90-91.
  7. (ایگوشین، بخش 34)
  8. الگوریتم‌های احتمالی را نباید با روش‌هایی اشتباه گرفت (که من از نامگذاری الگوریتم خودداری می‌کنم)، که نتیجه‌ای را ایجاد می‌کند که احتمال درستی بالایی دارد. ضروری است که یک الگوریتم نتایج صحیحی را تولید کند (کاهش خطاهای انسانی یا رایانه ای)، حتی اگر این اتفاق پس از مدت بسیار طولانی رخ دهد. هانری کوهندرس تئوری اعداد جبری محاسباتی. - Springer-Verlag, 1996. - P. 2. - ISBN 3-540-55640-0
  9. توماس اچ کورمن، چارلز ای. لیزرسون، رونالد ال. ریوز، کلیفورد استاین... - شابک 0-262-03293-7

به گفته نویسنده، شباهت آشکار شده بین مفاهیم «الگوریتم» و «فناوری فرآیند» دارای ویژگی اساسی و پیامدهای گسترده است. متأسفانه این شباهت هنوز توجه دانشمندان را به خود جلب نکرده است که منجر به نتایج منفی شد و تا حد زیادی به تقسیم علم به "سلول های منزوی" کمک کرد و موانع غیرموجهی را برای تماس های بین بخشی و بین رشته ای ایجاد کرد. امروزه برنامه نویسان و فناوران (به معنای وسیع کلمه، از جمله کشاورزان، پزشکان، معلمان، مدیران و غیره) "کاست" متفاوتی هستند که آموزش های متفاوتی دریافت می کنند و به زبان های حرفه ای متفاوت صحبت می کنند. این موانع درک یکدیگر را برای متخصصان در هنگام حل مشکلات اتوماسیون و کار بر روی پروژه های بین رشته ای دشوار می کند.

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

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

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

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

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

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

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

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

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

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

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

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

تفاوت های اصلی بین حفاظت از کار و ایمنی کار

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

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

  • استانداردهای ایمنی محل کار؛
  • مقررات ساختمانی؛
  • هنجارها و قوانین بهداشتی؛
  • استانداردهای طراحی تکنولوژیکی؛
  • سایر قوانین و مقررات تدوین شده توسط مقامات نظارتی.

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

وظیفه ایمنی شغلی محافظت در برابر اثرات مضر فیزیکی در محل کار است.

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

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

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

فوتسال در دو تیم چهار نفره بازی می شود. شرکت کننده اضافی دروازه بان است. تیم ها باید 2 نیمه بازی کنند و مدت زمان بازی مانند فوتسال 20 دقیقه است.

چگونه حروف اضافه با پیشوندها متفاوت هستند (تفاوت های اصلی)

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

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

5) عبارات دارای حرف اضافه را به کلمات با پیشوند تبدیل کنید:

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

از آنجایی که واحدهای زبان کاملاً متفاوت هستند، پیشوندها و حروف اضافه به صورت زیر تعریف می شوند:

تفاوت فوتسال با فوتسال

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

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

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

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

  • دور نباید بیش از 58-60 سانتی متر باشد.
  • جرم می تواند 430 - 460 گرم باشد. در صورت شرکت بانوان یا کودکان در فوتسال می توان وزن خود را به 380 گرم کاهش داد.
  • فشار باید بین 0.6 - 0.7 اتمسفر باشد، به طوری که اولین پرش توپ در استفاده به گیم پلی صحیح کمک می کند.

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

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

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

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

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

تاریخچه پیدایش این اصطلاح

مفهوم الگوریتم اولین بار به لطف ریاضیدانی به نام محمد الخوارزمی شکل گرفت. او در قرن 8-9 در شرق زندگی می کرد و دو اثر بزرگ نوشت. اولین مورد باعث ایجاد کلمه "جبر" و دومی - مفهوم "الگوریتم" شد. او مخفف عملیات حسابی بود که ما آنها را به عنوان جمع، تفریق، ضرب و تقسیم می شناسیم. در سال 1957، در یکی از نسخه های فرهنگ لغت انگلیسی، نویسندگان در نظر گرفتند که الگوریتم یک مفهوم قدیمی است. دوباره، آن را به طور فعال تنها با ظهور کامپیوتر استفاده شد. آنها اقداماتی را تعیین کردند که بخشی از یک فرآیند خاص بود. اما لازم نیست فقط ریاضی باشد. این به الگوریتمی از اقدامات هر ماهیت، به عنوان مثال، پختن یک ظرف اشاره دارد. از آن زمان، این مفهوم تقریباً از لبان همه مردم خارج نشده است.

تلاش برای تعریف این اصطلاح

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

اصطلاح "الگوریتم" به چه معناست؟

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

ویژگی های مشترک در همه الگوریتم ها

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

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

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

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

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

الگوریتم ها در علوم کامپیوتر

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

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

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

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

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

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

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

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

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

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

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

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

خواص الگوریتم ها چیست؟

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

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

الگوریتم در علوم کامپیوتر چیست؟

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

الگوریتمی که به زبان رسمی نوشته می شود معمولاً برنامه نامیده می شود. اغلب مفهوم یک الگوریتم ارتباط نزدیکی با فرآیند نوشتن آن در یک برنامه دارد. به همین دلیل است که واژه الگوریتم و برنامه اغلب مترادف در نظر گرفته می شوند.

نحوه ایجاد الگوریتم

برای ایجاد یک الگوریتم موثر و با کیفیت، باید چندین قانون را دنبال کرد:

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

الگوریتم خطی چیست؟

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

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

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

ویژگی گسستگی الگوریتم و معنای آن

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

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

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

مقالات مرتبط برتر