Завдання_3_карантин




  Шановні студенти!
Для виконання цього задання, необхідно уважно познайомитись з теоретичним матеріалом. 
Внизу цієї теорії містяться пункти домашнього завдання. Для їх виконання, вам достатньо на окремих аркушах записати словесні алгоритми конкретних дій, згідно наведених прикладів.
Строк виконання 23 квітня.
Бажаю вам творчіх успіхів! 
Тема: «Поняття алгоритма. Способи представлення алгоритма».
Одним з основних понять у програмуванні є поняття алгоритма. Слово «алгоритм» походить від «algorithmi» — латинської форми написання імені великого математика Аль-Хорезмі, який сформулював правила виконання арифметичних дій. Тому спочатку під алгоритмом розуміли тільки правила виконання чотирьох арифметичних дій над багатоцифровими числами в десятковій системі числення. На даний час  це поняття є одним із фундаментальних понять інформатики.
 Людина  протягом віків користувалась інтуїтивним поняттям алгоритма, яке включає в себе дії над певними об’єктами, що виконуються у визначеній послідовності. Інтуїтивно значення слова “алгоритм” розуміє кожний. Це процедура, “рецепт” розв’язування задачі, що однозначно наказує, як і в якій послідовності виконувати дії.Здебільшого алгоритм використовувався для описання обчислень і був розрахований на виконавця-людину.
При розробці алгоритма (програми) застосовуються різні методи. Найпоширенішими є методи: зверху-вниз – складна проблема розкладається поступово на простіші; знизу-вверх – виділяються простіші елементи, які  об’єднуються поступово у складніші; розширення ядра – спочатку виділяється основна (головна) частина алгоритму (скелет алгоритму), яка поступово доповнюється рештою елементів.
Для автоматизації обчислень, виконання (реалізації)  алгоритма були винайдені й створені спеціальні пристрої – електронні обчислювальні машини (ЕОМ) або комп’ютери.
Комп’ютери виявились універсальними пристроями, здатними обробляти різні дані, реалізувати алгоритми для задач з різних предметних областей. Тобто комп'ютери стали універсальними виконавцями, звільнивши людину від виконання обчислень. Людина стала займатись створенням алгоритмів (програм) для комп’ютера. При розробці алгоритму використовуються певні абстракції – як для дій, так і для даних. Тому поняття алгоритма,  виконавця потребують конкретизації.

2.2  Виконавець алгоритму

Кожний алгоритм створюється з розрахунку на конкретного виконавця, тому можна сказати, що алгоритм – це точні розпорядження (указівки, команди, операції, інструкції) виконавцеві здійснити послідовність дій, спрямованих на розв’язання поставленої задачі.
Під виконавцем будемо розуміти деяку абстракцію, яка характеризується :
  • набором дій (операцій), які виконавець здатний виконати;
  • набором об’єктів (даних), над якими виконуються дії;
  • набором інструкцій (команд), які виконавець розуміє і реалізує;
  • мовою спілкування з виконавцем (алгоритмічною мовою).
Алгоритм складається із команд – окремих вказівок виконавцеві виконати деякі конкретні дії. Команди алгоритму виконуються одна за одною, і на кожному кроці відомо, яка команда повинна виконуватися. Почергове виконання команд за кінцеве число кроків приводить до розв’язання задачі. Для того щоб виконавець міг розв’язати задачу за заданим алгоритмом, він повинен уміти виконувати кожну з дій, що вказується командами алгоритму.
Виконавцями алгоритмів можуть бути людина, автомати, тобто ті, хто розуміє та може виконати вказівки алгоритму.
Система команд виконавця – сукупність команд, які можуть бути виконані виконавцем; кожна команда алгоритму входить до системи команд виконавця.
Кожну дію (операцію) виконавець здійснює згідно з інструкцією, тобто він здатен виконувати дії алгоритму. Можна вважати, що алгоритм – це програма для абстрактного виконавця.
Таким чином можна сформулювати визначення алгоритму.
Алгоритм – це точний й повний опис послідовності виконання кінцевого числа дій, необхідних для вирішення будь-якого завдання заданого типу.
Алгоритм – спосіб розв’язання обчислювальних та інших завдань, що точно описує, як і у якій послідовності одержати результат, однозначно обумовлений вихідними даними.
Алгоритм – це скінченна сукупність інструкцій (команд) виконавцю про зміст та послідовність дій над певними об’єктами (даними), яка за скінченну кількість виконань інструкцій приводить до досягнення поставленої мети.
Для чого вивчати алгоритми?
По-перше, алгоритми є життєво необхідними складовими для рішення будь-яких задач з різноманітних напрямків комп’ютерних наук.
Алгоритми відіграють ключову роль у сучасному розвитку технологій. Тут можна згадати такі розповсюджені задачі, як:
• розв’язання математичних рівнянь різної складності, знаходження добутку матриць, обернених матриць;
• знаходження оптимальних шляхів транспортування товарів та людей;
• знаходження оптимальних варіантів розподілення ресурсів між різними вузлами (виробниками, верстатами, працівниками, процесорами тощо);
• знаходження в геномі послідовностей, які співпадають;
• пошук інформації в глобальній мережі Інтернет;
• прийняття фінансових рішень в електронній комерції;
• обробка та аналіз аудіо та відео інформації.
Цей список можна продовжувати й продовжувати і, власно кажучи, майже неможливо знайти таку галузь комп’ютерних наук та інформатики, де б не використовувались ті або інші алгоритми. По-друге, якісні та ефективні алгоритми можуть бути каталізаторами проривів у галузях, які є на перший погляд далекими від комп’ютерних наук (квантова механіка, економіка та фінанси, теорія еволюції). І, по-третє, вивчення алгоритмів це також неймовірно цікавий процес, який розвиває наші математичні здібності та логічне мислення.

Способи представлення алгоритму

Процес алгоритмізації – це визначення елементарних дій та порядку їх виконання для розв’язання поставленого завдання. Існують різні способи запису алгоритмів (словесний, формульно-словесний, метод блок-схем, програмний та ін.), які застосовуються для представлення алгоритму у вигляді, що однозначно розуміється і розробником, і виконавцем алгоритму.
Можна виділити  три основні способи представлення алгоритмів.
1.   Словесний спосіб. Таким способом ми описували алгоритми у прикладах, наведених вище.
2.   Графічний у вигляді блок-схеми .
3.   Алгоритмічною мовою або мовою програмування.
Для опису алгоритмів людина часто користується природною мовою, але для запису багатьох алгоритмів природна мова виявилась незручною, тому виникла необхідність у створенні штучних мов, наприклад мови математичних формул, хімічних процесів тощо. Існує спеціальна навчальна алгоритмічна мова, яка була створена для запису алгоритмів на папері; вона використовує слова природної мови, але має більш жорстку структуру. Найбільше поширення для запису логічної структури алгоритмів отримали графічні (структурні) схеми, які спрощують складання та аналіз алгоритму, полегшують перехід від запису алгоритму до написання програми.
Графічна схема (блок-схема) алгоритму  –  це графічне зображення алгоритму у вигляді спеціальних блоків з необхідними словесними поясненнями. Кожний етап алгоритму представляється у вигляді геометричної фігури (блоку), що має певну форму в залежності від характеру операції. Блоки на схемі з’єднуються стрілками (лініями зв’язку), які визначають послідовність виконання операцій та утворюють логічну структуру алгоритму.
Важливою особливістю базових структур алгоритмів є те, що вони мають один вхід і один вихід, що дозволяє при відносній незалежності конструювати окремі блоки алгоритмів, а потім окремо розроблені структури з’єднувати між собою (вихід однієї базової структури сполучається із входом іншої). Весь алгоритм представляє лінійну послідовність базових структур. 
Найчастіше використовуються графічні (блок-схеми) засоби та псевдокод. Мова програмування також є засобом зображення, але вона використовується  зазвичай для кодування розробленого алгоритму.
Графічні засоби зображення. Є великий набір стандартних графічних елементів для зображення алгоритмів. Ми обмежимось невеликою кількістю, достатньою для зображення структур керування та (простих) алгоритмів
 (табл. 2.1).
Таблиця 2.1 - Графічне позначення основних блоків алгоритму
№ з/п
Найменування
Позначення
Пояснення
1
Початок
Кінець
     https://dl.sumdu.edu.ua/textbooks/108989/459146/index.files/image008.gif
Початок/кінець алгоритму, переривання процесу обробки даних (для початку — тільки вихід, для кінця — тільки вхід)

2
Дані
     https://dl.sumdu.edu.ua/textbooks/108989/459146/index.files/image009.gif
Визначення даних
3
Процес
   https://dl.sumdu.edu.ua/textbooks/108989/459146/index.files/image010.gif
Виконання операції або групи операцій, у результаті яких змінюється значення, форма подання або розташування даних (один вхід, один вихід)
4
Розгалуження
   https://dl.sumdu.edu.ua/textbooks/108989/459146/index.files/image011.gif
Вибір напрямку виконання алгоритму залежно від деяких змінних умов (один вхід та тільки два виходи — так і ні)
5
Визначений процес
     https://dl.sumdu.edu.ua/textbooks/108989/459146/index.files/image012.gif
Програма,стандартна підпрограма
6
З’єднувачі
       https://dl.sumdu.edu.ua/textbooks/108989/459146/index.files/image013.gif
Вказівка зв'язку між перерваними лініями, що з'єднують блоки
7
Міжсторінковий з’єднувач
       https://dl.sumdu.edu.ua/textbooks/108989/459146/index.files/image014.gif
Вказівка зв'язку між перерваними лініями, що з'єднують блоки, розміщені на різних сторінках

Розглянемо приклади  словесних алгоритмів. Перший алгоритм вирішує завдання передачі інформації телефоном. Цим алгоритмом Ви користуєтеся у повсякденному житті.
Приклад 1.
Крок 1 – візьміть телефон.
Крок 2 – знайдіть в контактах необхідний для вас номер.
Крок 3 – позначкою зеленої трубки телефону активізуйте зв’язок.
Крок 4 – якщо ваш друг відповів на дзвоник, передайте йому власне голосове  повідомлення.

Приклад 2.  Побудувати за допомогою циркуля і лінійки бісектрису кута.
Алгоритм побудови має вигляд:
Крок 1 – Встановити ніжку циркуля у вершину кута А.
Крок 2 – Провести коло довільного радіуса.
Крок 3 – Позначити точки перетину В і С із сторонами кута.
Крок 4 – Провести коло з точки В тим самим радіусом.
Крок 5 – Провести коло з точки С тим самим радіусом.
Крок 6 – Позначити точку D їх перетину (що не збігається з вершиною кута).
Крок 7 – Провести пряму AD. Бісектрису кута побудовано.

 Приклад 3 Алгоритм дії для  посадки дерева. Маємо таку словесну форму алгоритму.
1.   Викопати у землі яму циліндричної форми, глибина і ширина якої у півтора рази більша за відповідні розміри кореневої системи саджанця.
2.   На дно ями на третину її глибини насипати землі з органічним добривом і перемішати.
3.   Встановити саджанець вертикально корінням донизу, щоб коріння торкалася дна ямки.
4.   Засипати кореневу систему землею.
5.   Вилити піввідра води на засипану кореневу систему.

Домашнє завдання.
Записати  в зошиті  алгоритм дій для таких ситуацій:
1)   Перейти вулицю згідно правил дорожнього руху.
2)   Написати повідомлення  у Viber або Telegram, з додаванням власного фото.
3)   Створити слайд презентації жовтим фоном, з таблицею та зображенням
4)   Написати твір з української літератури.
5)   Розрахувати квадратне рівняння.
6)   Приготування кулінарну страву – яєчню.
7)   Зробити молодшій сестрі зачіску: звичайна коса.
8)   Розпалити вогонь на пікніку, згідно правил безпеки.
9)   Пересадити квітку у новий горщик.
10)               Замовити  покупку підручника з інформатики по Інтернету.

Комментариев нет:

Отправить комментарий