Лекція 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>  ...