Лекція 1. Алгоритм. Властивості алгоритмів. Блок-схема.
Спадний і висхідний проектування. Абстракція.
Вид заняття
Частота
Вид атестації
I семестр
II семестр
Лекція
1 раз/нед
Іспит
Іспит
Семінар
1 раз/2 тиж
Лабораторні
1 раз/нед
Залік
Залік
I семестр - Алгоритмізація, програмування на мові Паскаль (Borland Delphi) в консольному додатку. Структури даних: прості і масиви, текстові файли. Алгоритми: обчислення суми, твори, кількості, пошуку значення і номери екстремального значення, сортування, перевірки умов, виконуваних В«для всіхВ»/В«хоча б одногоВ» елемента масиву. p> II семестр - Алгоритмізація, програмування на мові Паскаль (у середовищі Borland Delphi) з використанням форми, і короткий вступ в програмування на мові С + + (в середовищі C + + Builder). Структури даних: записи, об'єкти (коротко), списки, стеки, черги, дерева, рядки, множини, файли. Алгоритми: пошуку кореня рівняння на відрізку з заданою точністю та суми ряду, рекурсія. h2> Алгоритм. Властивості алгоритмів
Алгоритм - строго певна послідовність дій, виконання яких призводить до вирішення поставленого завдання за кінцеве число кроків.
Алгоритмізація - процес розробки алгоритму (плану дій) для вирішення завдання. <В
Поява алгоритмів пов'язують із зародженням математики. Більше 1000 років тому (у 825 році) вчений з міста Хорезму Абдулла (або Абу Джафар) Мухаммед бен Муса аль-Хорезмі створив книгу з математики, в якій описав способи виконання арифметичних дій над багатозначними числами . Саме слово В«алгоритмВ» виникло в Європі після переведення на латинь книги цього середньоазіатського математика, в якій його ім'я писалося як В«АлгоритмиВ». <В
Людині в житті і практичній діяльності доводиться вирішувати безліч різних завдань. Рішення кожної з них описується своїм алгоритмом, різноманітність цих алгоритмів дуже велике. Можна виділити три основні види алгоритмів:
1. лінійної структури,
2. розгалужується структури,
3. циклічної структури . p> Для стислості їх називають просто: лінійні, розгалужуються і циклічні алгоритми. Різноманітність ж алгоритмів визначається тим, що будь-який алгоритм розпадається на частини, фрагменти і кожен фрагмент являє собою алгоритм одного з трьох зазначених видів. Тому важливо знати структуру кожного з алгоритмів. p> В алгоритмах лінійної структури дії виконуються послідовно одне за іншим:
В алгоритмах розгалуженої структури залежно від виконання або невиконання будь-якої умови виробляються різні послідовності дій. Кожна така послідовність дій називається гілкою алгоритму . p> В алгоритмах циклічної структури залежно від виконання або невиконання будь-якої умови виконується актуальна послідовність дій, що називається тілом циклу. вкладеннями називається цикл, що знаходиться всередині тіла іншого циклу. p> Розрізняють цикли з предусловием (ПОКИ) і постусловіем (ДО) :
ітераційними називається цикл, число повторень якого не задається , а визначається в ході виконання циклу. У цьому випадку одне повторення циклу називається итерацией . p> 4. Допоміжний алгоритм - алгоритм, який можна використовувати в інших алгоритмах, вказавши тільки його ім'я . Наприклад: ви в дитинстві вчилися підсумовувати одиниці, потім десятки, щоб підсумувати двозначні числа містять одиниці ви не вчилися новому методу підсумовування, а скористалися старими методами. <В В
Властивості алгоритмів
Зрозумілість - кожна команда повинна входити в систему команд виконавця. p> Дискретність - це розбиття алгоритму на ряд окремих закінчених команд (кроків ), кожна з яких повинна бути виконана перш, ніж виконавець перейде до виконання наступної. p> Детермінованість (точність, визначеність) - команда алгоритму виконавцем повинна розумітися однозначно. Не повинно бути двоякого тлумачення команди. p> Результативність і кінцівку - за кінцеве число кроків алгоритм або повинен призводити до вирішення завдання, або після кінцевого числа кроків зупинятися через неможливість отримати рішення з видачею відповідного повідомлення, або необмежено тривати протягом часу, відведеного для виконання алгоритму, з видачею проміжних результатів. p> ...