В.В. Бублик, В.В. Личман, О.В. Обвінцев

К О Н С П Е К Т   Л Е К Ц І Й

з курсу

 

" І Н Ф О Р М А Т И К А   та   П Р О Г Р А М У В А Н Н Я "

 

Вступ

 

1. ЛІНІЙНІ ПРОГРАМИ

1.1. Прості арифметичні алгоритми

1.1.1. Постійні і змінні величини

1.1.2. Пам'ять, введення і виведення

1.1.3. Команда простого присвоєння

1.2. Послідовне виконання дій

1.2.1. Ланцюг команд

1.2.2. Лінійні алгоритми

1.2.3. Узагальнене присвоєння

1.3. Програмування лінійних алгоритмів

 

2. РОЗГАЛУЖЕНІ ПРОГРАМИ

2.1. Умови

2.1.1. Алгебра висловлювань

2.1.2. Імплікація, тотожність, альтернатива

2.1.3. Властивості умов

2.2. Бульові інструкції

2.2.1. Бульове присвоєння

2.2.2. Розгалуження

2.2.3. Порівняння розгалужених алгоритмів

2.3. Програмування розгалужених алгоритмів

 

3. ЦИКЛІЧНІ ПРОГРАМИ

3.1. Арифметичний цикл

3.1.1. Схема виконавця циклу

3.1.2. Основні властивості

3.1.3. Приклади арифметичних циклів

3.2. Рекурентні співвідношення

3.2.1. Співвідношення першого порядку

3.2.2. Співвідношення вищих порядків

3.2.3. Системи рекурентних співвідношень

3.3. Програмування арифметичного циклу

3.4. Цикли за умовою

3.4.1. Цикл з умовою повторення

3.4.2. Зв'язок циклу з умовою повторення з розгалуженням

3.4.3. Цикл з умовою закінчення

3.4.4. Цикл з виходом за умовою

3.5. Програмування циклів за умовою

3.6. Цикли з лічильником

3.7. Програмування циклів з лічильником

 

4. НАЙПРОСТІШІ ВЛАСТИВОСТІ ПРОГРАМ

 

5. ПРОСТІ ТИПИ ДАНИХ

5.1. Арифметика наближених обчислень

5.2. Числові типи даних

5.2.1. Натуральний тип

5.2.2. Цілий тип

5.2.3. Дійсний тип

5.2.4. Двійкове кодування

5.3. Програмування числових типів даних

5.3.1. Натуральний тип

5.3.2. Цілий тип

5.3.3. Дійсний тип

5.4. Символьний тип даних

5.5. Програмування символьного типу

5.6. Типи, що визначаються

5.7. Програмування типів, що визначаються

5.7.1. Тип перерахування

5.7.2. Обмеження

5.8. Тип рядок

5.9. Програмування типу рядок

 

6. ПІДПРОГРАМИ

6.1. Функції

6.2. Процедури

6.3. Підпрограми у мовах програмування

6.4. Рекурсивні підпрограми

 

7. СТРУКТУРИ ДАНИХ

7.1. Множини

7.2. Множини у мовах програмування

7.3. Записи

7.4 Об’єднання

7.5. Записи та об’єднання у мовах програмування

7.6. Масиви

7.7. Масиви у мовах програмування

7.8. Файли

7.8.1 Послідовні файли

7.8.2 Файли прямого доступу

7.8.3 Текстові файли

7.9. Файли у мовах програмування

7.10 Процедурний тип даних

 

8. ПОШУК ТА СОРТУВАННЯ

8.1. Пошук

8.2. Сортування

8.2.1. Сортування масивів

8.2.1.1. Сортування включенням

8.2.1.2. Сортування вибором

8.2.1.3. Обмінне сортування

8.2.1.4. Сортування злиттям

8.2.1.5. Швидке сортування

8.2.1.6. Порівняння методів сортування масивів

8.2.2. Сортування файлів

 

9. МОДУЛІ

 

10. РЕКУРСИВНІ СТРУКТУРИ ДАНИХ

10.1. Статична та динамічна пам’ять

10.2. Вказівники

10.3. Черга та дек

10.3.1. Черга

10.3.2. Дек

10.4. Списки

10.4.1 Класичний список

10.4.2 Список з поточним елементом

10.4.3 Кільцевий список

10.4.4 Двозв’язний список

10.5. Дерева та графи

10.5.1 Бінарне дерево

10.5.2 Сильно розгалужене дерево

10.5.3 Граф

 

11. ОБ’ЄКТНО-ОРІЄНТОВАНЕ ПРОГРАМУВАННЯ

11.1 Опис та використання класів та об’єктів

11.2 Статичне та динамічне зв’язування об’єктів та методів. Конструктори

11.3 Динамічні об’єкти. Деструктори

11.4 Проект „Опукла оболонка”