Обобщение на алгоритмични основи на резюмето

3. Основната структурна дизайн на алгоритмичните

4. Позоваванията

Всеки алгоритъм не съществува само по себе си, но е предназначена за определен изпълнител (човешки, робот, компютър, език за програмиране и т.н.). Имоти, които характеризират всеки човек на изкуството, е, че той е в състояние да изпълнява определени команди. Набор от команди, които художникът е в състояние да изпълнява, се нарича система от художник отбори. Алгоритъмът е описан в изпълнителния екип, който ще го изпълни. Обектите, върху които изпълнителят може да извършва действия, които формират така наречените медии художника. Първоначалните данни и резултатите от всеки алгоритъм винаги принадлежат към средата на художника, който е предназначен за алгоритми.

Значение "алгоритъм" е много подобен на ценностите на думи "рецептата", "метод", "процесът". Въпреки това, за разлика от алгоритъма на рецепта или процес има следните свойства: дискретност, маса, сигурност, ефективност, формалност.

Дискретност (прекъсване - обратното на непрекъснатост) - това свойство е алгоритъм, който се характеризира структурата: Всеки алгоритъм се състои от отделно действие приключи, казва: "Тя е разделена на стъпки."

Маса - Приложимост на алгоритъма за всички проблеми от типа считат, във всички входни данни. Например, в реални числа, алгоритъм за решаване на квадратно уравнение трябва да съдържа всички възможни резултати разтвори, т.е. Помислете за стойността на дискриминантен алгоритъм открива някакви два различни корени на уравнението, или две равни или заключава, че няма реални корени.

Увереност (детерминизъм, точност) - собственост на алгоритъма, което показва, че всяка стъпка на алгоритъма трябва да бъдат строго определени и подлежат на различни тълкувания; стриктно да се определи реда на отделните етапи. Не забравяйте приказката за Иван Царевич? "Това беше принц Иван на пътя, той стигна до разклонението. Той вижда един голям камък, надписа: ". Просто отидете - ще загубите главата си, отидете надясно - съпругата му намерите, отидете в ляво - да забогатеят" Иван стои и мисля какво да правя по-нататък. " Тези инструкции могат да съдържат един алгоритъм.

Ефективност - имота, състояща се в това, че всеки алгоритъм трябва да се прекрати, след като краен (вероятно много голям) брой стъпки. Разглеждане на безкрайните алгоритмите е извън обхвата на теорията на алгоритмите.

Формалност - този имот, показва, че всеки изпълнител, може да се приемат и изпълняват указанията на алгоритъма работи официално, т.е. Това разсейва от съдържанието на задачата и само стриктно изпълнява инструкциите. Спекулира "какво, как и защо" трябва разработчикът на алгоритъма, а художникът официално (без да се замисля) последователно се изпълняват предложения екип и получава желания резултат.

Разгледайте следните алгоритъм описания на методи: устно описание, Псевдокод програма диаграма.

Вербална описание е структурата на алгоритъма на естествен език. Например, всички домакински уред уреди (ютии, електрически трион, бормашина и т.н.), има ръчен режим на работа, т.е. словесно описание на алгоритъма, според която устройството трябва да се използва.

не съществува няма правила за съставяне на словесно описание. Писане алгоритъм осъществява по произволен начин в естествената, например, на руски език. Този начин за описване не е широко разпространена, тъй като не са строго формализиране (под "официално" означава, че описанието е абсолютно пълен и взема под внимание всички възможни ситуации, които могат да възникнат в хода на съдебното решение); Не е ясно в описанието на някои действия; бъбривост страдание.

Псевдо-кода - описание на структурата на алгоритъма в естествен, частично формализиран език, което позволява да се определят основните етапи на решаване на проблема, преди неговото прецизно писане на език за програмиране. В псевдо-код, използван някои формална структура и общ математически символи.

Строги правила за писане на синтактични псевдо код не съществува. Това улеснява влизането на алгоритъма за проектиране и ни позволява да се опише алгоритъм, с помощта на всеки набор от команди. Въпреки това, в някои Псевдокод често използвани дизайн, присъщи на официална език, което улеснява прехода от Псевдокод да пише на алгоритъма на език за програмиране. Или една единствена официална дефиниция на псевдо-код не съществува, така че може да има различни псевдо-код, различен набор от думи, използвани и дизайни.

Блок-схема - описание на структурата на алгоритъм, използващ геометрични фигури с линии облигации, показващи реда на изпълнение на отделните инструкции. Този метод има няколко предимства. Благодарение на видимост, тя осигурява на "яснотата" на алгоритъма и ясно показва реда на изпълнение на отделните отбори. На блок на всяка формална структура отговаря на определени фигури, свързани с пожар геометрична фигура, определени от линии.

Помислете за някои от основната структура се използва за изграждане на блок-схемите на програми алгоритми регулирани ГОСТ 19.701-90.

Блок характеризиращи начало / край на алгоритъма (за съчетания - на повикване / възвръщаемост)

Блок - процес, предназначен за описване на конкретни действия

Устройството - Предварително процес, предназначен да се позове на помощни алгоритми (рутинни)

Блок - I / O неопределен носител или описание на източника на данни

Единицата - решението (или проверка състояние блок условия)

Устройството - границите цикъл описват циклични процеси от типа "линия с предпоставка", "цикъл с postcondition"

Описания алгоритъм в устна форма, Псевдокод или под формата на блок схема позволи някои произвол в командването на изображението. Въпреки това, тя е достатъчна, за да позволява на човек да разбере същността на нещата и да изпълни алгоритъма. На практика, изпълнителите са компютри алгоритми. Поради това, алгоритъм за изпълнение на компютър, за да бъде написана, за да се "разбират" език, официален език, наречен език за програмиране.

Програма - описанието на алгоритъма на структурата на алгоритмичен език за програмиране.

Елементарните етапи на алгоритъм, могат да бъдат разделени в следните алгоритмични конструкции: линейна (последователно), разклонени, циклични и циклични с предпоставка с postcondition. Всеки алгоритъм може да бъде съставен с помощта на четири алгоритмично проектиране.

Линеен наречен алгоритмична дизайн, изпълнен като последователност от операции (стъпки), в която всяко действие (етап) на алгоритъма се извършва само веднъж и се извършва (I + 1) -ти операция (етап) след всеки и-те етапи (стъпки), ако-тото действие - не е краят на алгоритъма.

Клонове (или разклонена) се нарича алгоритмична дизайн осигурява избора между две алтернативи в зависимост от стойността на входните данни. Всеки специфичен набор от входни данни разредителни алгоритъм намалява линейно един. Разграничение е непълна (ако - тогава) и пълна (ако - тогава - друг) клон. Пълен разклонения дава възможност да се организира два клона в алгоритъма (т.е., или по друг начин), всяка от които води до общата точка на сливане, така алгоритъм продължава независимо от кой път е избрана (фиг. 1). Непълно разклоняване алгоритъм приема някои действия на само един клон (I), втората част липсва, т.е. за един от теста не е нужно да се извърши никакво действие с резултатите, контрол веднага отива на мястото на сливане.

Фиг. 1. Пълното разклоняване

Циклични (или цикъл) се нарича алгоритмична структура, в която някои от поредна група действие (стъпки) алгоритъм може да се извърши няколко пъти, в зависимост от входните данни или условията на проблема. Група повтарящи действия всеки етап от цикъла се нарича тялото на цикъла. Всяко циклична структура съдържа разредителни елементи алгоритмична дизайн.

Цикъл с предусловие

Тази циклична структура първо проверява стойността на условен израз (състояние), преди провеждане на следващия етап от цикъла. Ако стойността на условния израз е истина, тялото на цикъла се изпълнява. След което управлението се насочва към състоянието наскоро проверка и т.н. Тези стъпки се повтарят толкова дълго, колкото условния израз няма да лъжа. По време на първия цикъл състояние неспазване е прекратено. Брой стъпки цикъл по-рано не е определена и зависи от входните данни на проблема. Основната особеност на този цикъл с предпоставка е, че ако един е условен израз е лъжа, тялото на цикъла не се изпълнява изобщо.