З чого почати вчитися програмуванню?
Як пізнати мистецтво програмування на ЕОМ? А програмування - це саме мистецтво! Як змусити складну машину виконувати ваші команди? Як розібратися у всьому безлічі мов програмування?
З чого почати? На що звернути особливу увагу? Від великої кількості інформації з цього питання паморочиться голова. Не впадайте у відчай, я допоможу вам.
Мов програмування придумано безліч, і багато хто вже не актуальні. Немає потреби вчити всі мови, важливо вибирати мову під свої завдання. Загальне у всіх цих мов - на них не говорять, на них пишуть програми. Програма - це послідовність операторів.
При запуску програми оператори починають виконуватися в тому порядку, який передбачений алгоритмом. Виконує їх інтерпретатор, переводячи на мову машинних кодів. Можливо, що при запуску програму обробляє компілятор, тільки здійснюючи переклад і створюючи файл, який здатний працювати вже автономно. Інтерпретатор, як і компілятор - це програмне середовище, що дозволяє створювати, налагоджувати і запускати свої програми.
Раджу почати з мови BASIC, і не з візуалізованими версій цього продукту, а з найпростішого інтерпретатора під DOS.
BASIC - найпростіший мова програмування, який створений спеціально для навчання. Вивчіть нескладні оператори мови, в BASIC їх мінімум. Крім операторів введення і виведення інформації, в будь-якій мові програмування, як і в BASIC, присутні оператори циклу, умовні оператори та оператор присвоювання, а також існує можливість виклику підпрограми.
Давайте спробуємо розібратися в термінах. BASIC (крім того, що це абревіатура Beginner's All-purpose Symbolic Instruction Code - Універсальний код символічних інструкцій для початківців) в перекладі з англійської означає «Основний». Це означає, що в мові присутні тільки основоположні конструкції. Оператор - Спеціальна конструкція мови, що дозволяє виконати ту чи іншу дію. У мові також представлені змінні і константи. Константи бувають числові і рядкові. Числові константи - це просто числа: 1- 5.34- -0.99 і так далі. Строкові константи - це якісь слова, укладені в лапки, наприклад: "BASIC - проста мова!" або "Мені подобається програмувати".
Змінні мови - це комірки пам'яті, в яких зберігаються константи. Розглянемо найпростіший з операторів, оператор присвоювання: A = 0. Тут A - Це змінна, = - Оператор присвоювання, він поміщає число 0 в клітинку A. Або Pi = 3.14, Зараз ми призначили змінної Pi значення 3.14. Аналогічно робимо із строковими змінними: B $ = "Привіт". B $ - Строкова змінна, про це говорить знак $.
Розглянемо оператор циклу:
FOR I = 1 TO 10
[Набір операторів]
NEXT
Ця конструкція дозволяє виконати набір операторів, укладених між словами FOR і NEXT, 10 разів, причому в кожному циклі змінна I буде дорівнює номеру циклу, а саме від 1 до 10. Межі циклу можуть бути довільними.
Умовний оператор виглядає наступним чином:
IF A gt; 0 THEN [оператор-1]
ELSE [оператор-2]
Тобто якщо умова, укладена між IF і THEN, - істинно, то виконується оператор 1, інакше - оператор 2.
Підпрограма - це частина основної програми, яка може бути викликана з основної програми, причому не один раз. Робиться це в такий спосіб:
[Мітка]
[Набір операторів]
RETURN
Цей опис підпрограми, оператор RETURN говорить про те, що підпрограма закінчена, і комп'ютер повинен повернутися в точку виклику. Виклик здійснюється так:
GOSUB [мітка]
Після того як комп'ютер зустріне оператор GOSUB, він перейде до виконання набору операторів, укладених між [мітка] і RETURN.
Є ще один випадок, коли оператори виконуються не в тому порядку, в якому написані: оператор GOTO [мітка] повідомляє комп'ютера, до якого позначеного оператору потрібно перейти.
Після запуску програми інтерпретатор, на відміну від компілятора, почне виконувати оператори в тому порядку, який заданий алгоритмом. Якщо він зустріне помилку, то повідомить вас про це. На відміну від інтерпретатора, компілятор заздалегідь перевіряє програму на помилки і створює виконуваний файл.
Перевага інтерпретатора в простоті, а компілятора - в тому, що після вдалої компіляції він більше не потрібен. Операційна система вміє сама виконувати такі файли.