3. Програмування на паскалі

3.1. Перше знайомство з Паскалем

Структура програми на Паскалі. За визначенням стандартного Паскаля програма складається із заголовка програми та тіла програми (блоку), за яким слідує точка – ознака кінця програми. У свою чергу, блок містить розділи описів та розділ операторів.

операторів

Розділ операторів є у будь-якій програмі і є основним. Попередні розділи мають характер описів та не всі обов'язково присутні у кожній програмі.

У Турбо Паскалі, на відміну від стандарту, можливе таке:

• відсутність заголовка програми;

• розділи Const, Type, Var, Label можуть йти один за одним у будь-якому порядку і зустрічатися в розділі описів скільки завгодно разів.

приклади програм. Вже сказано, що Паскаль розроблявся М. Віртом як навчальну мову. Основний принцип, закладений у ньому, – це підтримка структурної методики програмування. Цей принцип лежить в основі псевдокоду, який ми тут називаємо Алгоритмічною мовою (АЯ). По суті, розбіжність між АЯ та Паскалем полягає в наступному: АЯ – українськомовний, Паскаль – англомовний; синтаксис Паскаля визначено суворо і однозначно на відміну порівняно вільного синтаксису АЯ.

Запис програми на Паскалі схожий на англійський переклад алгоритму, записаного Алгоритмічною мовою. Порівняйте алгоритм розподілу простих дробів, записаний на АЯ, із відповідною програмою на Паскалі.

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

Тут використано таку рівність:

Заголовок програми починається зі слова Program (програма), за яким слідує довільне ім'я, придумане програмістом (division - розподіл). Розділ опису змінних починається зі слова Var (variables - змінні), за яким слідує список змінних. Типвказується після двокрапки словом Integer - цілий. Початок та кінець розділу операторів програми позначаються словами Begin (початок) та End (кінець). Наприкінці програми обов'язково ставиться крапка.

Оператори присвоювання в Паскалі записуються так само, як і в АЯ. Знак множення - * (зірочка).

Виведення результатів на екран дисплея здійснюється за допомогою процедури WriteLn (write line - писати в рядок). У розглянутому прикладі два цілих числа т і п виведуться в рядок, курсор на екрані перейде на початок наступного вільного рядка і робота програми завершиться.

Необхідно суворе дотримання правил правопису (синтаксису) програми. Зокрема у Паскалі однозначно визначено призначення знаків пунктуації. Точка з комою (;) ставиться наприкінці заголовка програми, наприкінці розділу опису змінних, після кожного оператора. Перед словом End точку з комою не можна ставити. Кома (,) є роздільником елементів у всіляких списках: списку змінних у розділі опису, списку величин, що вводяться і виводяться.

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

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

Надалі ми суворо опишемо синтаксичні правила Паскаля, а поки що для отримання початкового ставлення до мови звернемося до кількох прикладів програмування нескладних алгоритмів.

"Відтранслюємо" алгоритм обчислення факторіалу натурального числа (N!) на Паскалі.

операторів

З цього прикладу, по-перше, видно, як записується на Паскалі оператор циклу з передумовою (цикл-поки):

(While – поки, Do – робити). Якщо тіло циклу містить послідовність операторів, то кажуть, що воно утворює складовий оператор, на початку та в кінці якого треба писати Begin та End

Службові слова Begin та End часто називають операторними дужками, які поєднують кілька операторів в один складовий. Якщо тіло циклу — один оператор (не складовий), то операторних дужок не потрібно. Тоді транслятор вважає, що тіло циклу закінчується найближчим знаком «;».

Розглянемо ще один приклад програми – розв'язання квадратного рівняння.

програми

У цій програмі, порівняно з попередніми, з'явилося багато нових елементів. Ім'я речового типу в Паскалі – real.

Цикл із постумовою (цикл-до) програмується оператором

(Тут Repeat - повторювати, Until - до). Тіло циклу може бути як одиночним, так і складовим оператором, проте вживання Begin та End не потрібно, оскільки самі слова Repeat та Until виконують роль операторних дужок.

Знак не дорівнює Паскалі пишеться так: <>, знак більше або одно: >=.

Правила запису арифметичних виразів ми докладно розглянемо трохи згодом. У формулах обчислення коренів використовується стандартна функція квадратного кореня (), яка в Паскалізаписується так: sqrt(x). Порядок виконання операцій у виразі визначається дужками та старшинством операцій. Старшинство операцій таке саме, як і в алгебрі. Операції однакового старшинства виконуються у порядку їх запису (зліва направо).

Розгалуження в Паскалі програмується за допомогою умовного оператора, який має таку форму:

If Then Else «оператор 2>

(Тут If - якщо, Then - то, Else - інакше). Оператори 1 та 2 можуть бути як простими, так і складовими. Складовий оператор слід укладати в операторні дужки Begin та End.

Так само, як і в Алгоритмічній мові, можливе використання неповної форми умовного оператора:

Щоб виконати програму на ЕОМ, її потрібно ввести на згадку, відтранслювати і виконати. Щоб зробити всю цю роботу, на комп'ютері повинні бути спеціальні засоби програмного забезпечення. На ПК вони становлять систему Турбо Паскаль.