Основни типове и пример на циклични алгоритми
Статията е предназначена да даде основни понятия за цикличния алгоритъм, които са общи за всеки програмен език и ниво на подготовка на програмиста.
съдържание
Понятието за алгоритъм
Алгоритъмът е поредица от действия за постигане на решение на изчислителен и друг проблем в ограничен брой стъпки. Действията (инструкциите) за изпълнението на алгоритъма могат да бъдат изпълнени едно след друго (последователно), едновременно (успоредно) или в произволен ред, като се използват цикли и условия на преход. Алгоритмите се използват не само в програмирането, но и в други области на дейност, например в управлението на производството и бизнес процесите.
Циклични алгоритми
Алгоритъмът се нарича цикличен, ако съдържа действия или групи от действия, които трябва да се изпълняват повече от веднъж. Повторяемите алгоритмични действия са тялото на цикъла. Освен това, всеки цикъл има условие, че изпълнението на цикличния алгоритъм завършва.
Видове циклични алгоритми
Всеки цикличен алгоритъм има условие за композиране в неговия състав, т.е. логичен израз, чийто резултат определя дали тялото на цикъла ще бъде изпълнено отново или веригата ще бъде прекъсната. По метода на обработка всички циклични алгоритми се разделят на три групи.
Цикъл с предварително условие
В такива циклични алгоритми, условието за продължаване се проверява преди обработката на тялото на бримката, т.е. има нужда от повтаряне на обработката на цикъла.
Помислете за продукцията на номера от -5 до 0 като пример за циклични алгоритми с предпоставка:
Елементи на алгоритъма:
- Задайте началната стойност на базовата променлива j до -5.
- Проверяваме състоянието на цикъла. Условието е положително и тялото на цикъла се изпълнява за първи път.
- След това добавяме 1 към променливата j, отново проверяваме състоянието на цикъла.
- Веригата продължава да работи, докато стойността на j е по-малка или равна на нула, в противен случай излизаме от цикъла на FALSE клон
Цикъл с последващо условие
Проверката на състоянието се извършва след първата обработка на корпуса на цикъла и контролира изхода от него.
Нека анализираме изчисляването на сумата от 1 до числото n като пример за циклични алгоритми, в които се използва следната условност:
- Въвеждаме ограничен брой изчисления на сумата n и задаваме нулеви начални стойности на общата сума и брояча на цикъла i.
- Контурът се изпълнява преди първата проверка на състоянието.
- Проверяваме състоянието на цикъла, т.е. стойността на брояча i е по-малка или равна на n.
- Ако резултатът от условието е положителен, ние отново изпълняваме цикъла, в противен случай приключваме цикъла и отпечатваме сумата на дисплея или отпечатваме.
Безусловен цикъл
Обикновено се използва в алгоритми, когато необходимия брой изпълнения на линия е известен предварително и често се използва при работа с масиви.
Такъв алгоритъм съдържа три задължителни елемента:
- Началната стойност, която се нарича параметър на цикъл, защото тази променлива се променя след всяко изпълнение на цикъла и определя времето за нейното завършване.
- Стойността, при която цикълът се прекратява.
- Стъпка цикъл.
При всяка стъпка програмата проверява дали началната стойност е по-голяма от крайната. И ако е така, цикълът свършва. В противен случай, добавяме стъпката към стартовата стойност и цикълът се повтаря. Трябва да се отбележи, че всеки безусловен цикъл може да бъде заменен от условен с предварително или последващо условие.
При съставянето на циклични алгоритми трябва да се спазват две необходими условия. Първо, за да завършим цикъла, е необходимо съдържанието на тялото да повлияе на пост или предпоставка, в противен случай можем да завършим с безкраен цикъл. Но за някои софтуерни задачи се прилагат такива цикли. Като пример за циклични алгоритми, които работят за неопределено време, можем да цитираме операционната система Windows, където се използва безкраен цикъл на избиране на мишката за определяне на действията на потребителя. На второ място, променливите, предавани на цикъла, трябва да осигуряват поне едно изпълнение.
Изчисляване на фактор
За да консолидираме четенето, даваме пример на циклични алгоритми за изчисляване на факториал на цяло число. Горният пример е цикъл с предварително условие, но е възможно да се приложи всеки вид цикличен алгоритъм.
- Вход: данните са цяло число, за което се дефинира факториалът.
- Системни променливи: параметърът на цикъла i, който отнема стойности от 1 до данните в стъпка 1.
- Резултат: променливия фактор е факторът на числените данни, който е продукт на числа от 1 до данни.
Помислете за алгоритъма на стъпки:
- Алгоритъмът получи данните за броя, за които е необходимо да се изчисли факториалът.
- Променливата фактор, в която ще се съхранява крайният резултат, получава стойност от една.
- организирам цикъл с параметър i и начална стойност 1. Крайната стойност е началното число. Щом величината на брояча i е по-голяма, веригата се прекратява.
- Провежда се цикълът на изчисляване на факторите - се умножават текущите стойности на факториалния и броячът i.
- Към стойността на брояча добавете единица, проверете състоянието на цикъла и, ако резултатът е положителен, го прекратим.
- След последното повторение на веригата, стойността на факторите! остава факториален и се показва или отпечатва.
- Програмиране. Цикли с параметър
- Свойства и методи на записване на алгоритми
- Учебен алгоритмичен език: цел, правила, команди. Понятието алгоритмичен език
- Java програмен език
- Какви са алгоритмите и защо са необходими?
- Линейни алгоритми - схема, структура и изчисление
- Блокова схема на алгоритъма: програми, задачи, елементи, конструкция
- Алгоритъм: концепция, свойства, структура и типове
- Какво представлява алгоритъм с разклоняване? Примери и дефиниция на алгоритми за разклоняване
- Цикъл с последващо условие и цикъл с предварително условие
- Програмиране. Основни алгоритмични конструкции
- Кръгове за jаvascript: за, докато правите
- Методи за описание на алгоритми и видове алгоритми
- Кръгове за jаvascript: за, докато правите
- Видове алгоритми в компютърната наука: примери
- Алгоритъм рекурсивен: описание, анализ, характеристики и примери
- Дефиниция, свойства и видове алгоритми
- Решаване на проблемите при програмирането. Цикличен алгоритъм
- Алгоритмизацията е процес на изграждане на алгоритъм за решаване на проблем. Алгоритъм и…
- Значението и използването на jаvascript невалидни
- Алгоритми за сортиране, каквито са