суббота, 19 января 2019 г.

Команды и исполнители

Пересдали тест:

Морозова Мария  11


Результаты работы с тестом:

Фамилия, имя
Оценка
Морозова Маргарита
6
Трухан Ростислав
6
Маша Шаповалова и Маша Морозова
6
Попович и Федоренко
5
Данилова Мария Родионова Мария
10
Курысь Терещенко
9
Омельченко Ярослав
9
Овчаренко и Мартиненко
9
Чирва Саша Федоренко Гордей
10
Боговик и Бродовский
10
Леншин Ян,Пометун Макар
8
Колісник Вероніка і Юдіна Вікторія
10
Ткач Гнеев :)
8
Холод Овчаренко А
11
Тиньков Алексей и Блоха Андрей
11
Капырина Диана
8
ПАХОЛЮК И ФИЛИПЬЕВ
7
Абросимов и Хрипко
9




Розділ цитується за підручником Бондаренко О.О., Ластовецький В.В.,. Пилипчук О.П., Шестопалов Є.А. Інформатика. 5 клас.

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


Дискретність означає, що алгоритм повинен складатися з окремих завершених дій. Розпорядження повинні мати форму «виконати», «зробити», а не «виконувати», «робити».

Визначеність  – однозначність тлумачення правил виконання дій і порядку їхнього виконання. Алгоритм не повинен містити команди, які можуть сприйматися виконавцем неоднозначно, наприклад, «Порівняти числа А і В», «Вимкнути світло через кілька хвилин» тощо.

Виконуваність алгоритму означає, що алгоритм, призначений для певного виконавця, може містити тільки команди, які виконавець здатний виконати. Так, алгоритм для виконавця «Першокласник» не може містити команду «Побудуй бісектрису даного кута», хоча така команда може бути в алгоритмі, який призначений для виконавця «Восьмикласник».

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

Приклад 3. Наступна послідовність команд є нескінченною:
1. Взяти число 2.
2. Помножити взяте число на 10.
3. Додати до одержаного числа 5.
4. Якщо одержане число додатне, то виконати команду 3, якщо ні, то припинити виконання алгоритму.

Масовість – придатність до використання для великої кількості варіантів вхідних даних. Наприклад, алгоритм знаходження коренів лінійного рівняння повинен бути придатним для розв′язування будь-якого рівняння виду ax+b=с.

Результативність означає, що виконання послідовності вказівок алгоритму повинне приводити до цілком конкретного результату. Наприклад, алгоритм розв’язування рівняння повинен містити перевірку на випадок, коли коренів не існує, і передбачати видання повідомлення про відсутність коренів.

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

Виконавці алгоритмів

Кожен з виконуваних на практиці алгоритмів орієнтовано на певного виконавця. Виконавцем алгоритму може бути людина, комп’ютер, система людина-машина, верстат-автомат, робот тощо, яких «навчено» виконувати вказівки алгоритму. Якщо виконавцем є деякий пристрій, то вираз «виконавця навчено виконувати вказівку» означає, що пристрій може виконати задану вказівку автоматично, без зовнішнього втручання.

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

Щоб скласти орієнтований на конкретного виконавця алгоритм, потрібно знати характеристики виконавця.

Характеристики виконавця


 Кожен виконавець працює або живе в певних умовах, середовищі; і може виконувати певний набір дій. Перш ніж складати алгоритм розв’язування  задачі, потрібно дізнатися, які дії виконавець може виконувати.

Середовище – «місце існування» виконавця.
Припустимі дії – обмежений набір дій, що вміє виконувати даний виконавець.
Описати виконавця – значить указати його припустимі дії. Досяжні цілі – результати, що виконавець може    одержати за допомогою своїх припустимих дій.
Система команд виконавця – повний перелік команд, які «розуміє» виконавець. Виконавця можна уявити у вигляді пристрою з кнопковим управлінням, де кожна кнопка відповідає одній команді, натискання кнопки означає виклик команди.
Відмова – подія, що виникає при виклику команди в неприпустимому для даної команди стані середовища.

Приклад 1. Виконавець Кресляр призначений для побудови малюнків та креслень на полі розміром 5×5 клітин і вміє виконувати 3 команди:
      підняти перо;
      опустити перо;
      перейти до точки з координатами (х,у).


Якщо перо опущене, при пересуванні Кресляра за ним залишається слід. На початку роботи Кресляр знаходиться в точці (0,0) і тримає перо піднятим

Припустимим діям виконавця відповідає система команд:

Припустимі дії виконавця
Система
команд виконавця
Підняти перо
Опустити перо
Перейти до точки з координатами (х,у)
Підніми перо
Опусти перо
Перейди до точки (х,у)

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

Приклад 2. Складемо для виконавця Кресляра алгоритм побудови даху будиночка на полі 5×5 клітин:



      Перейди до точки (0,3).
      Опусти перо.
      Перейди до точки (2,5).
      Перейди до точки (3,5).
      Перейди до точки (5,3).
      Перейди до точки (0,3).
      Підніми перо.


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

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

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

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

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