muzruno.com

Блокова схема на алгоритъма: програми, задачи, елементи, конструкция

В съвременния свят на цифровите технологии, програмирането е основата за работата на различни компютри, приспособления и друго електронно оборудване. А способността за бързо и правилно изготвяне на блокова диаграма на алгоритъма е основата, основата на тази наука. Такава схема е графичен модел на процесите, които трябва да се извършват от оборудването. Състои се от отделни функционални блокове, изпълняващи различни функции (начало / край, I / O, функционално повикване и т.н.).блокова схема на алгоритъма

Алгоритъм и алгоритмизация

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

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

Елементи на блокови диаграми

Диаграмата на програмния алгоритъм е последователност от графични символи, които предписват изпълнението на конкретни операции, както и връзките между тях. Във всяка такава изображение се показва информация за задачата, която трябва да бъде изпълнена. Размерите и конфигурацията на графичните символи, както и редът на последователността, се регулират от GOST 19003-80 и GOST 19002-80.

Нека разгледаме основните елементи на диаграмата на алгоритъма (примери за техните надписи са дадени на снимката).

1. Процесът е изчислително действие или последователност от такива действия.

2. Решението е да проверите даденото състояние.

3. Модификация - заглавието на цикъла.

4. Предварително дефиниран процес - достъп до процедурата.

5. Документ - печатни и изходни данни.

6. Информация за въвеждане на карта.

7. Вход / Изход - вход / изход на данни.

8. Съединител - разрушаване на поточните линии.

9. Старт / край - начало, край, стоп, начало, вход и изход се използват в помощни алгоритми.

10. Коментар - използвайте за обяснителни надписи.



11. Вертикалните и хоризонталните потоци са посоката на последователността, линията на комуникация между блоковете.

12. Обединяване - свързване на нишки.

13. Интерстициален конектор - етикет, който символизира прехода към друг лист.Примери за блок схема на алгоритъма

Правила за рисуване

Конструкцията на диаграмата на алгоритъма се извършва съгласно специфичните изисквания, предписани от GOST. Например, когато свързвате графични символи, се използват само хоризонтални или вертикални линии. Потоците от дясно на ляво и отдолу нагоре са маркирани със стрелки. Другите редове може да не се етикетират. Разстоянието между паралелните потоци не трябва да бъде по-малко от три милиметра, а между останалите елементи - не по-малко от пет милиметра. Размерите на блоковете трябва да са пет. Съотношението хоризонтално спрямо вертикалното на графичния символ е 1.5. Понякога е разрешено равно на две. За удобство на описанието, графичните символи трябва да бъдат номерирани. По природа на връзките се разграничават видовете блокови диаграми на алгоритъма на линейна, циклична и разклоняваща структура.изгответе блокова диаграма на алгоритъма

Променливи, константи и клетки с памет

За по-добро разбиране на принципа на алгоритъма може да се разгледа прост автоматик. Състои се от памет, състояща се от клетки - процесор за писане / четене на главата. Какъв е принципът на функциониране на такова устройство? Главата, получила заповед от процесора, извършва запис на данни в клетка или прочита константа. В най-простия случай това ще бъде аритметично число. В допълнение, константите могат да бъдат структури от данни, низ от знаци и т.н. Променлива е клетка в паметта, в която се съхранява информация. По време на изпълнението на алгоритъма могат да бъдат написани различни данни в такава клетка. На този принцип са изградени персонални компютри и друга електроника. Алгоритъмът за изпълнение на задачата е набор от инструкции за четене или записване на информация за тези клетки с памет.

масиви

Масивите са друг вид индексирани променливи. Всъщност това е колекция от клетки, обединени от обща нотация. Масивите разграничават двуизмерен, триизмерен и т.н. Най-простият от тях е поредица от последователни клетки. Такъв масив има своето собствено име. Всеки елемент има свой индекс. Константата, написана в клетка, се нарича масив.

Двуизмерният тип наподобява матрица при подреждането на елементите. Клетките в този масив се характеризират с два индекса (това прилича на шахматна дъска с номерация на клетки). По същия принцип се реализират триизмерни и повече структури.блокова диаграма на алгоритъма на програмата

Линейни алгоритми

Този тип последователност на блок-схема (примерите са представени в тази статия) се характеризира с изпълнението от горе до долу от горе до долу. В този случай машината изпълнява предписаните операции стъпка по стъпка. Всяко действие се обработва от процесора. В допълнение към изчисленията той, ако е необходимо, поръчва писане / четене на главата къде и какво да запише и как да чете. Крайният резултат се записва в клетките на паметта, всеки от които има собствен индекс и съхранява своята константа.

Разклоняващи алгоритми

На практика линейният тип е изключително рядък. Често е необходимо да се организира последователност, която, в зависимост от зададените условия, преминава през един или друг клон. Разработката на алгоритъм от разклонения тип съдържа елемента "Solution", чрез който се проверява определено условие и колкото повече от тях се намират, толкова повече клонове на последователността.блокова диаграма на алгоритъма на проблема

Схеми на алгоритми: примери

Помислете как работи разклонения алгоритъм. Като пример, вземете функцията: z = y / x. От условието може да се види, че това уравнение има едно ограничение - невъзможно е да се дели с нула. Така че трябва да изключите това решение и да предупредите потребителя за грешката. Първо, се съставя блокова схема на алгоритъма. Той ще се състои от седем блока. Първият графичен символ е "Start", вторият е "Enter", тук трябва да посочите стойностите на X и Y. След това се следва блокът "Decision", в който се проверява условието: X = 0. В този случай автоматичността проверява клетката с константа, ако входната стойност съвпада с нея, тогава решението на алгоритъма ще премине по клон "Да". В този случай контролът се прехвърля в четвъртия блок и машината дава "грешка", работата приключва в седмия знак "Край". Ако резултатът от теста е отрицателен, тогава в петия графичен символ се извършва процесът на разделяне и се определя стойността на Z. В шестия блок резултатът се показва на екрана.

Циклични алгоритми

Често при решаване на проблеми е необходимо да се повтори изпълнението на операция за същата зависимост за различните стойности на променливите и да се правят повторни пропуски през същата секция на веригата. Такива зони се наричат ​​цикли, а алгоритъмът се нарича цикличен. Използването на този метод значително намалява самата последователност. Циклични алгоритми често се разделя на два вида: с досега неизвестен и известен преди това брой такива пропуски.

Пример за решение на разклонения алгоритъм

Помислете за пример, в който е дадена блокова диаграма на алгоритъм с неизвестен до този момент брой преминавания. За да направим това, трябва да решим проблема с посочването на най-малкия брой термини в поредицата естествени числа, сумата от която надвишава числото К. Такава блокова схема на алгоритъма се състои от осем символа. Първо, въвеждаме стойността на числото K (N2). След това в блок 3 променливата П получава стойността "one", което означава, че започва броене на естествени числа. А кумулативната сума С в началото получава стойност "нула". Допълнителен контрол се прехвърля в петия блок, където се изпълнява командата: C = C + P. Това означава, че сумиране стойности С и Р-клетки, и резултатът е презаписана в С. След прибавянето на първия срок в последователността се проверява №6 условия единица - ако сумата надвишава предварително определен брой К? Ако условието не е изпълнено, контролът се прехвърля в четвъртия блок, където се добавя към променливата P и преходът отново се блокира # 5. Тази процедура ще настъпи до условието: C> K, т.е. натрупаната сума надвишава зададената стойност. Променлива II е броячът на цикъла. След това има преход към блок номер 7, където се отпечатват резултатите от произведението.алгоритъмът се определя от блокова схема

Алгоритми, съдържащи структури на вложени структури

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

Помощни алгоритми

Този тип последователност е аналог на езиковата подпрограма. Допълнителният алгоритъм има име и параметри, които се наричат ​​формални. Името се дава, за да се разграничи между другото, а параметрите изпълняват ролята на изходните и входните математически функции. Те са избрани по такъв начин, че пълният набор от необходими количества да е изчерпан. Често един и същ формален параметър се оказва вход и изход. Например в такъв алгоритъм може да се подаде масив към входа за обработка. И в получената част тя може да бъде представена в променена форма като изходен параметър. Сред алгоритмите от спомагателния тип се различават функциите и процедурите.

Декомпозиция на алгоритъма

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

Споделяне в социалните мрежи:

сроден