Основы объектно-ориентированного программирования на языке C# book | Page 27

2.1 Класифiкацiя внутрiшнiх структур алгоритмiв струкцiı̈ для ı̈хньоı̈ обробки. Лише такий алгоритм гарантує однозна- чне отримання необхiдного результату та класифiкується як детермi- нований. Щодо такого алгоритму можна стверджувати: його неодно- разове застосування до однакових вхiдних даних завжди приводить до одного й того самого результату. Стохастичнi алгоритми ми не розглядатимемо. 2.1 Класифiкацiя внутрiшнiх структур алгоритмiв Oсновними алгоритмiчними структурами є: лiнiйна, розгалуження та цикл. Лiнiйнi структури. Простi задачi мають лiнiйний алгоритм розв’я- зання. Це означає, що вiн не мiстить перевiрок умов i повторень. Розглянемо алгоритм такоı̈ задачi: за даними довжинами катетiв a, b обчислити площу прямокутного трикутника. Алгоритм: Вхiд: Числа a, b. 1. Ввести a, b. 2. S = ab/2. 3. Вивести значення S. 4. Кiнець. Вихiд: Значення площi S. Для перевiрки працездатностi алгоритму необхiдно задати значе- ння вхiдних змiнних, обчислити кiнцевий результат за алгоритмом i порiвняти iз результатом ручного розрахунку. Структура–розгалуження. Достатньо часто та або iнша дiя має виконуватись залежно вiд значення логiчного виразу, який є умовою. У таких випадках використовується розгалуження. Розглянемо алгоритм розв’язання квадратного рiвняння ax 2 + bx + c = 0. Алгоритм: Вхiд: Коефiцiєнти a, b i c iз рiвняння ax 2 + bx + c = 0 27