35
LOGO Мета: Сформувати та систематизувати знання щодо основних понять та властивостей алгоритму, засобів його запису та основних правил представлення для подальшого використання в програмуванні; розрізняти базові алгоритмічні конструкції Актуалізаці я Тема: Основи алгоритмізації та програмування ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є. 23.11.2016

9 основи алгоритмізації

  • Upload
    -

  • View
    41

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 9 основи алгоритмізації

LOGO

Мета:Сформувати та систематизувати

знання щодо основних понять та

властивостей алгоритму, засобів його

запису та основних правил представлення для

подальшого використання в програмуванні;

розрізняти базові алгоритмічні конструкції

Актуалізація

Тема: Основи алгоритмізації та

програмування

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 2: 9 основи алгоритмізації

LOGO

ДАВАЙТЕ ЗГАДАЄМОВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.

23.11.2016

Page 3: 9 основи алгоритмізації

1. З ЯКИХ ДВОХ ЧАСТИН СКЛАДАЄТЬСЯ ПОНЯТТЯ

«ПЕРСОНАЛЬНИЙ КОМП'ЮТЕР»?

апаратна частина

Відповідь:

програмне

забезпечення

«ПК»

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 4: 9 основи алгоритмізації

2. ДАЙТЕ ВИЗНАЧЕННЯ ПОНЯТТЮ

«ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ» (ПЗ) ПК?

Це сукупність програм, процедур і правил, а також документації, що стосується

функціонування системи обробки даних

Відповідь:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 5: 9 основи алгоритмізації

3. СКЛАД ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ КОНКРЕТНОЇ ОБЧИСЛЮВАЛЬНОЇ СИСТЕМИ

НАЗИВАЄТЬСЯ . . . ?Відповідь:Програмною

конфігурацією

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 6: 9 основи алгоритмізації

4. ЩО ТАКЕ МІЖПРОГРАМНИЙ ІНТЕРФЕЙС?

Це розподіл програмного

забезпечення на декілька зв'язаних між

собою рівнів.

Відповідь:4

32

1

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 7: 9 основи алгоритмізації

Відповідь:

5. НА ЯКІ РІВНІ РОЗПОДІЛЯЄТЬСЯ ПЗ ПК?

1 – базовий

2 – системний

3 – службовий

4 – прикладний

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 8: 9 основи алгоритмізації

6. ДЛЯ ЧОГО ПРИЗНАЧЕНІ ІНСТРУМЕНТАЛЬНІ МОВИ

ТА СИСТЕМИ ПРОГРАМУВАННЯ?

Для розробки програм користувача, тобто нового програмного

забезпечення

Відповідь:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 9: 9 основи алгоритмізації

7. ДО ЯКОГО РІВНЯ ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

ВОНИ ВІДНОСЯТЬСЯ?

4 – прикладний рівень ПЗ

Відповідь:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 10: 9 основи алгоритмізації

Тема: Основи алгоритмізації та програмування

3.Базові алгоритмічні структури

2.Засоби запису алгоритмів

1.Поняття та властивості алгоритмуПитан

ня лекції

:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 11: 9 основи алгоритмізації

1.1 ПОНЯТТЯ АЛГОРИТМУ

це описана на деякій мові точна кінцева система правил, що визначає зміст і порядок дій над деякими об'єктами, суворе виконання яких дає рішення завдання

Алгоритм

Походження терміну зв'язують із ім'ям великого узбецького математика й астронома аль-Хорезмі, в латинській транскрипції яке звучало Algorithmus

(Algorismus)

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 12: 9 основи алгоритмізації

Абу Абдулах Мухамед ібн Муса аль-Хорезмі

موسى بن محمدالخوارزمي

«аль - Хорезмі» - це людина з міста Хорезмі, в наш час це місто Хіва в Хорезмській області Узбекистану . Жив вчений близько 820 р н.е. Вважається, що він першим вирішив квадратнерівняння ах2+bх+с=0. У своїй книзі «Обчислення за допомогою індійських цифр» описав систему цифрових позначень, прийняту в той час. Після перекладу його книги (зробленого в XIII сторіччі) індійська цифрова система була прийнята в Європі (0,1,…,9). Цією системою ми користуємося й понині. А вперше вжив термін «алгоритм» математик Лейбниць

Пам’ятник аль-Хорезмі в місті Хіва

аль-Хорезмі на казахській банкноті

Пам’ятник аль-Хорезмі в Тегеранському університетіВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.

23.11.2016

Page 13: 9 основи алгоритмізації

1

23

4

5

в

повсякден

ному житті

людини

Кулінарні рецепти

Приклади алгоритмів

Інструкції до будь-якого пристрою Правила гри

Мапи маршрутівІнформатика

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 14: 9 основи алгоритмізації

– це об'єкт, що вміє виконувати певний набір дій (людина, робот, комп'ютер).

– зрозуміле і точне розпорядження (вказівка) виконавцеві зробити визначену послідовність дій для досягнення зазначеної мети або рішення поставленої задачі.

– це всі команди, які виконавець знає та уміє виконувати.

Алгоритм Виконавець Система команд виконавця (СКВ)

Середовище виконавця

– обстановка, у якій функціонує виконавець; об'єкти, над якими виконавець може робити дії (вхідні дані) .

Визначення

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 15: 9 основи алгоритмізації

Дискретність

Точність

Зрозумілість

Результатив

ність

Масовість

1.2 ВЛАСТИВОСТІ АЛГОРИТМУ

алгоритм повинен складатися з конкретних дій, що ідуть у визначеному порядку

кожен крок алгоритму повинен бути чітко і недвозначно визначений і не повинний допускати довільного трактування виконавцем

виконавець повинен уміти виконувати кожну команду алгоритму, тобто вони повинні входити до системи команд виконавця

будь-який алгоритм повинен завершуватися за кінцеве число кроків та приводити до правильного результату для всіх припустимих вхідних значень

можливість застосування алгоритму до всіх задач даного типу, при будь-яких наборах вхідних даних

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 16: 9 основи алгоритмізації

Для запису алгоритму існує загальна методика:

Алгоритм

1

4

2

3

5

При розробці

алгоритму повинні бути враховані усі

вище названі

Кожний алгоритм повинен мати ,

що розкриває його зміст.

Необхідно позначити

і алгоритму

Указати , які дозволяють виконувати

певні дії над виділеними

даними.

Описати й

дані.

.

ім'я

початоккінець

вхіднівихіднікоманди

властивості

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 17: 9 основи алгоритмізації

послідовність

інструкцій

(команд) деякої системи програмування, признач

ених для

виконання

комп'ютером

Програма

алгоритмічна мова для

опису структу

ри алгорит

му на природн

ій, частков

о формалізованій

мові

Блок-схема- опис структури алгоритму за допомогою геометричних фігур з зазначенням ліній потоку інформації

представляє

структуру

алгоритму

записаного

природньою

мовою

Словесний опис Графічний описПсевдокод

2 ЗАСОБИ ЗАПИСУ АЛГОРИТМІВ

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 18: 9 основи алгоритмізації

Ніяких правил складання словесного опису не існує.

Запис алгоритму здійснюється в довільній формі на природній мові.

Цей метод строго не формалізуємий, допускає неоднозначність тлумачення при описі деяких дій.

Страждає багатослівністю.

Особливості словесного засобу:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 19: 9 основи алгоритмізації

Він забезпечує велику наочність алгоритму і явно відображає порядок виконання команд.

Хід виконання алгоритму позначений лініями зв'язку (потоку інформації).

У блок-схемі кожній формальній конструкції (команді) відповідає певна геометрична фігура або зв'язана лініями сукупність фігур, яка своєю формою або певною структурою характеризує цю дію або структуру.

Особливості засобу – блок-схеми:Основні конструкції блок-схем алгоритмів

ПроцесВизначенийпроцесУхвалення рішення(умова)Передача даних

Переривання(пуску/

останову)

Продовження таблиці:

Модифікація(цикл)Межа циклу

ДокументКоментарПереривання

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 20: 9 основи алгоритмізації

У псевдокоді використовуються деякі формальні конструкції й загальноприйнята математична символіка.

Строгих синтаксичних правил для запису псевдокоду не існує.

Однак у псевдокоді звичайно використовуються деякі конструкції, властиві формальним мовам, що полегшує перехід від псевдокоду до запису алгоритму мовою програмування.

Єдиного або формального визначення псевдокоду не існує, тому можливі різні псевдокоди, що відрізняються набором використовуваних слів і конструкцій.

Особливості засобу – псевдокод:

алг Названач| Ввести Р (дія)| N := P^2 (дія)| M := N-P/2 (дія)| Вивести N, M (дія)кін

алгоритм Назваарг Ррез Nпочаток| Ввести Р (дія)| N := P^2 (дія)| Вивести N (дія)кінець

або

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 21: 9 основи алгоритмізації

Система програмування – набір програм, необхідних для введення, редагування, налагодження й виконання програми, записаної за допомогою однієї з мов програмування.

Оператор – це елемент програми (команда), що задає повний опис деякої дії (кроку програми). Кожний оператор являє собою закінчену фразу мови програмування й визначає деякий цілком закінчений етап обробки даних.

Операнди – дані, які обробляються операторами в програмі.

Мова програмування – це формальна мова спеціально створена для спілкування людини з комп'ютером. Кожна мова програмування, так само як і «природня» мова (російська, українська, англійська і т.д.), має алфавіт, словниковий запас, свою граматику й синтаксис, а також семантику.

Основні поняття програмного методу:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 22: 9 основи алгоритмізації

ПРИКЛАД:

Скласти схему алгоритму рішення задачі – знаходження коренів квадратного рівняння , різними засобами.

+b

Словесний опис алгоритму рішення задачі:1. Назва алгоритму – визначення коренів

квадратного рівняння2. Визначити та ввести в пам'ять ПК вхідні дані -

коефіцієнти квадратного рівняння – ; вихідні дані – це або , або

3. Розрахувати дискримінант рівняння за формулою ;

4. Значення дискримінанту D порівняти з нулем: якщо , то (так) розрахувати корені квадратного рівняння за формулами – (4.1 , 4.2) та вивести (4.3) їх значення на монітор, інакше (ні), якщо (4.4), то (так)розрахувати один корінь квадратного рівняння за формулою – (4.5) та вивести (4.6) його значення на монітор, інакше (ні), вивести (4.7) на монітор повідомлення «дійсних коренів немає»;

5. Завершити алгоритм.

0D

aDbx

22,1

cabD 42cba ,,

0D

abx

2

21, хх х коренівдійсннемає .

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 23: 9 основи алгоритмізації

БЛОК-СХЕМА ТА ПСЕВДОКОД РІШЕННЯ ЗАДАЧІ:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 24: 9 основи алгоритмізації

ЛінійнаРозгалужена

Циклічна

3 БАЗОВІ АЛГОРИТМІЧНІ СТРУКТУРИ

Змішана

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 25: 9 основи алгоритмізації

ВИЗНАЧЕННЯ: Лінійною – називають алгоритмічну

конструкцію, якщо вона містить N кроків, усі кроки виконуються послідовно друг за другом від початку до кінця алгоритмуБЛОК-СХЕМА ТА ПСЕВДОКОД ЛІНІЙНОЇ СТРУКТУРИ:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 26: 9 основи алгоритмізації

ВИЗНАЧЕННЯ: Розгалуженою – називається

алгоритмічна конструкція, якщо послідовність виконання кроків алгоритму змінюється в залежності від деяких умов.

Умова – це логічне вираження, що може приймати два значення: «так(+)» — якщо умова вірна і «ні(-)» — якщо умова невірна

БЛОК-СХЕМА ТА ПСЕВДОКОД РОЗГАЛУЖЕНОЇ СТРУКТУРИ:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 27: 9 основи алгоритмізації

ВИЗНАЧЕННЯ: Циклічною – називають

алгоритмічну конструкцію, у якій деяка група кроків алгоритму може виконуватися кілька разів, залежно від вхідних даних або умови завдання.

Тіло циклу – це група повторюваних дій на кожному кроці циклу.

Перевірка умови роботи циклу – елементи розгалуженої алгоритмічної конструкції від якої залежить робота циклу.ІСНУЄ ТРИ ТИПИ ЦИКЛУ:

Цикл з параметром Цикл з передумовою Цикл з післяумовоюВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.

23.11.2016

Page 28: 9 основи алгоритмізації

LOGOВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.

23.11.2016

Page 29: 9 основи алгоритмізації

Завдання 1:заповніть кросворд по-горизонталі та отримайте

ключове поняття по-вертикалі

а

а

а

а

а

о

а

а

а

а

л г р т

г

го

оо

о

о

о о

оо

р ррр

рр р

и

х

нм

м

м

м

м

т

т

н

нз

б

в

вв

яп

п

пп

ч ь

уу

ь

тл

с

сс

іе

е

е

і

і

і

іл сз

хк

к

т

д д

1) зрозуміле і точне розпорядження виконавцеві зробити визначену послідовність дій для рішення поставленої задачі2) властивість, коли кожен крок алгоритму повинний бути чітко і недвозначно визначений3) графічний опис рішення задачі4) сучасне місто де мешкав середньовічний перський вчений математик, родоначальник поняття алгоритм5) алгоритмічна, частково формалізована мова для завдання алгоритму6) послідовність команд деякої системи програмування, призначених для виконання комп'ютером

1

34

6

ключ

98

7

7) команда програми, що задає повний опис деякої дії

8) властивість, коли виконавець «розуміє» кожну команду алгоритму

9) формальна мова спеціально створена для спілкування людини з комп'ютером

2

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 30: 9 основи алгоритмізації

Завдання 2:зберіть пазл – алгоритм «МИТТЯ РУК»

1 2 3 4

5 6 7 8

1

2

3

8

54

7

6

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 31: 9 основи алгоритмізації

Завдання 3:задайте алгоритм розрахунку математичного

виразу та вирахуйте його результат

5:3024

3)23:27(2:)429( 1 2 5 7 3 4 6

8 10 9

11 14

крок 1) результат – 18крок 2) результат – 14крок 3) результат – 7крок 4) результат – 9крок 5) результат – 7крок 6) результат – 21крок 7) результат – 28крок 8) результат – 8

крок 9) результат – 6крок 10) результат – 2крок 11) результат – 14

Алгоритм розрахунку:

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 32: 9 основи алгоритмізації

1-2

1.Опрацювати матеріал лекції.

2.Підготуватися до лабораторної роботи

3 4

ДОМАШНЄ ЗАВДАННЯ:

Питання для самостійного

вивчення:1.Базова лінійна структура 2.Базова структура розгалуження 3.Базова структура повторення (цикл) 4.Л1 с. 8593; Л2 с. 444455; Л3 с. 199214; Л4 с. 303327.

Творча самостійна домашня робота:За малюнком побудувати блок-схему та зробити словесний опис алгоритму приготування кулінарного блюда

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 33: 9 основи алгоритмізації

Домашнє завдання:Скласти блок-схему та словесний опис

алгоритму рецепту виготовлення блюда за зразком:

Схема-малюнок рецепту Блок-схема та словесний опис

даного алгоритму

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 34: 9 основи алгоритмізації

Блок-схема: Словесний опис алгоритму:

крок 1) початок алгоритмукрок 2) ввести інгредієнти: 1ст. муки, 1 яйце, 2 лож. оліїкрок 3) змішати інгредієнтикрок 4) змісити тістокрок 5) розділити тісто на 4 частиниНаступні кроки повторювати 4 рази: крок 6) взяти частину тіста крок 7) розкотати частку тіста качалкою крок 8) розділити частку на 4 полоси Наступні кроки повторювати 4 рази: крок 9) взяти полосу крок 10) звернути полосу в рулон крок 11) відрізати від рулону тіста 2 мм крок 12) поки рулон не закінчиться – повторювати крок 11 крок 13) висипати локшину на протвінькрок 14) просушити протвінь з локшиноюкрок 15) результат: скласти готову локшину в банкукрок 16) закінчити алгоритм

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016

Page 35: 9 основи алгоритмізації

LOGO

ВСП НАУ СКНАУ. Розробив викладач Чиримпей О.Є.23.11.2016