Інформатика, Алгоритм та програма

Як вам відомо, комп'ютер - це програмно-керована система до роботи з інформацією, і саме програмне управління робить його настільки універсальним. Тому, як складаються програми, присвячена ця частина курсу інформатики та інформаційних технологій. А почнемо ми її з двох базових понять: "алгоритм" та "програма".

Алгоритм 1 – одне з фундаментальних понять інформатики. Цим словом позначають точне та безвідмовне розпорядження дій, які мають бути виконані. Тобто. ми можемо вважати алгоритмом будь-яку інструкцію, якщо:

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

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

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

Якими властивостями повинен мати алгоритм? Перерахуємо їх:

  • дискретність 2 - алгоритм ділиться на окремі елементарні кроки;
  • визначеність - кожна команда однозначно визначає дію виконавця;
  • кінцевість (результативність) - алгоритм повинен завершуватися за кінцеве число кроків.

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

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

Існує багато різних способів запису алгоритмів: графічні (наприклад, у вигляді блок-схем), за допомогою природної мови, якими умовними знаками ідр. Але якщо ми хочемо, щоб алгоритм був виконаний комп'ютером, він має бути обов'язково записаний особливою мовою. Такий запис називається програмою 4, а мова - мовою програмування.

Ви знаєте, що вся інформація на комп'ютері подається у вигляді двійкових кодів. У кодах, кожен із яких позначав одне найпростіше дію (начебто, " перенести число з однієї осередки пам'яті до іншої " ), доводилося писати і програми перших ЕОМ. Але це заняття дуже складне і копітке, а крім того, що вимагає глибокого знання особливостей конкретної машини. Тому були вигадані мови програмування високого рівня. Програма такою мовою – це послідовність команд, що позначаються словами природної мови або їх скороченнями. Кожна з них відповідає послідовності з десятків, а то й сотень машинних команд. В результаті запис виходить набагато компактнішим і зрозумілішим.

Але процесор не розуміє команд мов високого рівня, тому їх потрібно "перекласти". Для цього є спеціальні програми -- транслятори 5 .

Зараз у світі існує безліч мов програмування,розрахованих на різні сфери застосування. Ми в нашому курсі використовуватимемо Лого 6 - мову, спеціально створену для навчання основ програмування. Ця мова дуже проста (до речі, на відміну від професійних мов програмування, вона дозволяє записувати команди українською мовою), але, водночас, сприяє формуванню навичок, що дозволяють потім, за бажання, без особливих проблем перейти до роботи з такими популярними мовами як Сі або Паскаль. Особливо відомий мову Логоту своєю "черепашою графікою". Про те, що це таке, ми й поговоримо у наступному розділі.