Основи мови Pascal

Основні поняття мови Pascal, структура програми, команди введення й виведення даних

Як і будь-яка людська мова, Pascal має свій "алфавіт" і свою "лексику". Алфавітом (використовуваними символами) в цій мові є всі літери англійського алфавіту, цифри й деякі спеціальні знаки (про них пізніше). Зверніть увагу: усі команди в Pascal пишуться англійською, кирилиця не дозволяється, хоча текстові повідомлення в середовищі PascalABC.NET можна виводити й українською мовою, а от в справжньому Pascal-і навіть текстові повідомлення доведеться писати англійською або транслітом (napryklad takym chynom).

Кожна програма, написана на Pascal, повинна мати одну й ту саму структуру. Відступати від неї не можна. Отже, будь-яка програма повинна мати такий вигляд:

program <назва програми>;

var <опис змінних>;

begin

текст програми

end.

Після службового слова program через пробіл записується назва програми. Цей рядок у програмі, взагалі кажучи, необов'язковий, якщо створити програму зовсім без цього рядка, то вона абсолютно нормально працюватиме. Назва програми більше потрібна самому програмісту для того, щоб не перечитуючи її код розібратися, про що вона. Якщо ви усе-таки записуєте назву програми (що дуже бажано!), то пам'ятайте, що назва програми пишеться лише англійськими буквами, не повинна містити пробілів і починатися з цифри, тобто, назви типу площа квадрата, nova programa і 3kutnyk - невірні: перша, через кирилицю і наявність пробіла між словами, друга - теж через наявність пробіла, третя починається з цифри. Краще так: ploshcha_kvadrata, trykutnyk, друга ж назва - узагалі невдала, оскільки не несе конкретної інформації про те, що ж саме робить ця програма.

Рядок, що починається з var (від англ. variable - змінна) призначено для опису того, які саме змінні використовуються в програмі і якого вони типу. Річ у тім, що перед запуском програми процесор потрібно "попередити" про те, скільки змінних будуть використовуватися і якого вони розміру, щоб зарезервувати місце в пам'яті для їх подальшого розміщення.

Змінні можна називати будь-яким чином, як зручно вам. Головне правило: змінна повинна бути задана тільки літерами англійського алфавіту, не містити пробілів і не починатися з цифри (ті самі вимоги, що й до назви програми). Змінною може бути і одна літера, і ціле слово, і словосполучення. Наприклад, правильними для позначення площі трикутника будуть і s, і ploshcha, і ploshcha_trykytnyka. Зрозуміло, що придумуючи назви для своїх змінних слід подбати про розумний баланс між інформативністю назви і її довжиною. З цієї точки зору, варіант ploshcha_trykutnyka поганий, оскільки занадто довгий. В той же час, варіант s є цілком прийнятним, оскільки в математиці саме цією літерою ми й позначаємо площу.

Між program і наступним begin можіть міститися й інші розділи, такі, наприклад, як uses - список використовуваних бібліотек, const - опис постійних величин, label - опис міток всередині програми, procedure або function - опис підпрограм та інші.

Сам текст програми пишеться між т.зв. "операторними дужками" begin і end.

Тепер про вимоги щодо оформлення тексту програми.

1. Слід пам'ятати, що Pascal не розрізняє велику і малу літери. Тому змінні, наприклад, max і Max (так само s і S) сприйматимуться програмою, як одне й те саме. Тому варіант, який ми використовуємо в математиці, позначаючи радіус вписаного (меншого) кола літерою r, а радіус описаного (більшого) кола літерою R в даному випадку приведе до помилки. Краще ввести змінні r1 і r2. Але є в цьому й позитивна сторона. З огляду на це, можна усе писати з маленької літери й не "мучати" клавішу Shift.

2. Кожна команда повинна закінчуватися крапкою з комою. Pascal не тільки не розрізняє велику і малу літери, він не розрізняє ще й пробіли. Тому знак ";" є для програми сигналом про те, що в цьому місці закінчилась одна команда й далі слідуватиме наступна. Крапку з комою НЕ СТАВЛЯТЬ після begin і в деяких інших конструкціях типу розгалуження чи циклу, про які піде мова пізніше. Крапку з комою МОЖНА НЕ СТАВИТИ перед end (якщо поставите - помилки не буде).

3. Оскільки програма орієнтується в командах за крапками з комою, то, в принципі, усю програму можна написати хоч і в один рядок, але чи легко буде тоді орієнтуватися в програмі вам? Тому є ще одне правило: кожна нова команда починається з нового рядка, а після begin увесь наступний текст програми аж до end пишеться з відступом, щоб операторні дужки початку й кінця було добре видно.

4. Крапка ставиться тільки в кінці програми, після останнього заключного end. Таким чином увесь текст програми можна розглядати як одне величезне речення, розділене на частини крапками з комою.

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

Для того, щоб програма прочитала те, що введено з клавіатури, використовується (яка несподіванка!) команда read (з англ. - читати). Однак, дати вказівку на читання мало. Якщо нам дати щось у руки, ми самі можемо розібратися з тим, куди це покласти, бо ми, люди, вміємо мислити (хочеться на це сподіватися!). Комп'ютер так не може (принаймні, на сьогодні). Йому потрібно ще й зазначити, куди подіти прочитане. Отже, команда на читання повинна мати такий вигляд: read(a). Це означає: "Прочитай уведене з клавіатури й збережи прочитане в те місце пам'яті, яке було відведене для змінної a". Це аналогічно до того, як під час прибирання на кухні вам дають у руки, наприклад, чашку для того, щоб ви її поставили у шафу на відповідну поличку, відведену для чашок, а потім вам дають тарілку і ви ставите її на поличку, відведену під тарілки.

Але як ми дізнаємося під час роботи програми, що уже настав час щось вводити і що саме потрібно ввести? Очевидно, для цього програма повинна нам вивести якесь повідомлення про те, чого вона від нас хоче. Для виведення повідомлення на екран призначена команда (ні за що не здогадаєтесь!) write (з англ. - писати). Знов-таки, подати команду "напиши" мало, потрібно ще й зазначити, ЩО САМЕ написати. Таким чином, команда виведення повідомлення виглядатиме так: write('<текст повідомлення>'). Та фраза, яку буде виведено на екран, береться в одинарні лапки:

Ось вони де, поряд з ПРАВОЮ клавішею Shift. Натискати в АНГЛІЙСЬКІЙ розкладці але БЕЗ Shift

Поряд з read і write використовуються також readln і writeln, що означає read line new і write line new відповідно. Команда readln здійснює читання введеного з клавіатури й переводить курсор на новий рядок. Команда writeln здійснює те саме тільки після виведення повідомлення. writeln і readln використовуються, наприклад, для надання впорядкованого вигляду введеним даним і виведеним результатам. Про ці особливості піде мова далі.

Тепер перевірте засвоєне, виконавши завдання тесту: