Відмінності між версіями «* Типи алгоритмів»
Анюта (обговорення • внесок) |
Анюта (обговорення • внесок) |
||
Рядок 28: | Рядок 28: | ||
<center>'''Алгоритми з розгалуженнями'''</center> | <center>'''Алгоритми з розгалуженнями'''</center> | ||
− | + | Ситуації, коли заздалегідь відома послідовність необхідних дій, зустрічаються вкрай рідко. У житті часто доводиться ухвалювати рішення залежно від обстановки. Якщо йде дощ, ми беремо парасоль і надягаємо плащ; якщо пекуче, надягаємо легкий одяг. Зустрічаються й більш складні умови вибору, У деяких випадках від обраного рішення залежить подальша доля людини. | |
Логікові ухвалення рішення можна описати так: | Логікові ухвалення рішення можна описати так: |
Версія за 18:52, 22 жовтня 2012
В алгоритмах команди записуються один за одним у певному порядку. Виконуються вони не обов'язково в записаній послідовності: залежно від порядку виконання команд можна виділити три типи алгоритмів:
• лінійні алгоритми;
• алгоритми з розгалуженнями;
• алгоритми з повтореннями.
Алгоритм, у якому команди виконуються в порядку їх запису, тобто послідовно один за одним, називається лінійним.
Наприклад, лінійним є наступний алгоритм посадки дерева:
1) викопати в землі ямку;
2) вилучити в ямку саджанець;
3) засипати ямку із саджанцем землею;
4) полити саджанець водою.
Ситуації, коли заздалегідь відома послідовність необхідних дій, зустрічаються вкрай рідко. У житті часто доводиться ухвалювати рішення залежно від обстановки. Якщо йде дощ, ми беремо парасоль і надягаємо плащ; якщо пекуче, надягаємо легкий одяг. Зустрічаються й більш складні умови вибору, У деяких випадках від обраного рішення залежить подальша доля людини.
Логікові ухвалення рішення можна описати так:
ЯКЩО ТО ІНАКШЕ
Приклади:
• ЯКЩО прагнеш бути здоровий, ТО загартовуйся, ІНАКШЕ валяйся весь день на дивані;
• ЯКЩО низько ластівки літають, ТО буде дощ, ІНАКШЕ дощу не буде;
• ЯКЩО уроки виучені, ТО йди гуляти, ІНАКШЕ вчи уроки.
У деяких випадках можуть бути відсутні;
ЯКЩО ТО
Приклад:
• ЯКЩО назвався груздем, ТО полізай у кузов.
Форма організації дій, при якій залежно від виконання деякої умови відбувається одна або інша послідовність кроків, називається розгалуженням.
Зобразимо б виді блок-схеми послідовність дій учня 6 класу Мухіна Васі, яку він уявляє собі так: «Якщо Павлик будинку, будемо вирішувати завдання по математиці. А якщо ні, то слід подзвонити Марині й разом готовити доповідь по біології. Якщо ж Марини немає будинку, то треба сісти за твір.»
На практиці часто зустрічаються завдання, у яких одне або кілька дій буває необхідно повторити кілька раз, поки дотримується деяке заздалегідь установлене умова.
Форма організації дій, при якій виконання однієї й тієї ж послідовності команд повторюється, поки виконується деяке заздалегідь установлене умова, називається циклом (повторенням).
Алгоритм, що містить цикли, називається циклічним алгоритмом або алгоритмом з повтореннями.
Ситуація, при якій виконання циклу ніколи не закінчується, називається зацикленням. Слід розробляти алгоритми, що не допускають таких ситуацій.
Розглянемо приклад з математики.
Натуральне число називають простим, якщо воно має тільки два дільники: одиницю й саме це число .
2, 3, 5, 7 — прості числа; 4, 6, 8 — ні. В III столітті до нашої ери грецький математик Ератосфен запропонував наступний алгоритм для знаходження всіх простих чисел, менших заданого числа n;
1) виписати всі натуральні числа від 1 до n;
2) викреслити 1;
3) підкреслити найменше з невідмічених чисел;
4) викреслити всі числа, кратні підкресленому на попередньому кроці;
5) якщо в списку є невідмічені числа, то перейти до кроку 3, а якщо ні, то всі підкреслені числа — прості.
Це циклічний алгоритм. При його виконанні повторення кроків 3-5 відбувається, поки у вихідному списку залишаються невідмічені числа.