Основи ПаскаляПри записі програми на мові програмування можна користуватися лише символами, передбаченими алфавітом мови. Алфавіт мови Паскаль складають букви, цифри та спеціальні символи (знаки операцій і обмежувачі). Спеціальний символ може бути однією літерою або парою літерою. У подальшому викладі будемо використовувати: заголовні букви латинського та російського алфавітів: ABCDEFGHIJKLMNOPQRSTU VWXYZ А Б В Г Д Е Е Ж З І Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ И Ь Е Ю Я арабські цифри: 0 1 2 3 4 5 6 7 8 9 знаки операцій: + - * / = <> <> <=> =: = обмежувачі: . ,:; '() [] ^ Із символів алфавіту будують більш складні конструкції - слова, словосполучення, пропозиції. Слово - це деяка мінімальна одиниця мови самостійного значення, що представляє собою утворену згідно з деякими правилами послідовність символів. У мові Паскаль під словом розуміють число, рядок, ім'я. Словосполучення - це група слів, що має певний сенс. У мові програмування ця конструкція, що складається зі слів і символів і задає правило обчислення деякого значення, називається виразом . Мінімальна конструкція мови, що представляє собою закінчену думку, є пропозиція . Пропозиція або задає повний опис деякої дії, що необхідно виконати, і називається оператором , або описує структуру і організацію даних - об'єктів мови, над якими ці дії роблять, і називаєтьсяописом . Сукупність описів і операторів, об'єднана єдиним алгоритмом, утворює програму . Для того щоб навчитися писати програми, необхідно вивчити синтаксис мови (правила записи його конструкції) і його семантику (сенс і правила використання цих конструкцій). Розглядаючи поняття слова в мові Паскаль, слід зазначити, перш за все, існування деякого набору службових (ключових) слів, призначення яких у мові строго визначене (зарезервовано) і які не можуть бути використані з іншою метою. Службові слова використовуються, наприклад, для позначення операторів (CASE - оператор вибору, IF, THEN, ELSE - оператор умовного переходу), описів (CONST - констант, VAR - змінних), деяких операцій (DIV - цілочисельного ділення). У таблиці наведено список службових слів мови Паскаль, пояснення значень яких будуть вводитися в міру вивчення засобів мови. Числа записуються в програмі у десятковій системі числення і можуть бути цілими і дійсними, позитивними і негативними.Позитивний знак числа (+) може бути опущений як для цілих, так і для дійсних чисел. Дійсні числа зображуються у природній формі та напівлогарифмічний (показовою). В природній формі число повинно містити десяткову точку, яка застосовується замість десяткової коми, причому число не може починатися або закінчуватися крапкою. Приклад 1 (Неправильно записані числа): 15. - закінчується крапкою; .65 - починається сточки; 155.27.54 - містить дві точки. Напівлогарифмічний форма запису використовується для представлення дуже великих або дуже маленьких чисел, які нелегко зобразити звичайної десяткової записом. Наприклад, маса спокою електрона приблизно дорівнює 0,000000000000000000000000000000910956 р Такі числа частіше записують у більш зручному вигляді з десятковим множником: 9,10956 * 10 -28 . При записи таких чисел в мові Паскаль частина числа, яка читається як "помножити на десять в ступені", позначається буквою Е і число в програмі виглядає наступним чином: 9.10956Е-28. Цифри, що передують букві Е, утворюють мантиссу числа, цифри, наступні за буквою Е - порядок. Мантиса і порядок можуть мати знак "+" або "-". Слід пам'ятати, що при написанні числа мантиса не повинна бути відсутнім або починатися або закінчуватися точкою. Приклад 2 (Правильно записаних чисел записаних в полулогарифмической формі): -0.131E5 50E7 -5E-02 123.7E-5 Приклад 3 (Неправильно записаних чисел): Е-05 - відсутня мантиса; -5.Е02 - мантиса числа закінчується крапкою; -Е12 - відсутня мантиса; Допустимий діапазон зміни цілих і дійсних чисел залежить від конкретної реалізації мови. Спроба використовувати числа, значення яких лежать за межами допустимого діапазону, призведе до помилки. Рядок - це послідовність символів мови, укладена в апострофи (одиночні лапки). Якщо в рядок необхідно включити сам апостроф, то його записують двічі. Приклад 4 (рядки) 'A' 'Таблиця значень' 'Контрольна робота з курсу електротехніка' 'XYZ' '575' '0.5 + 17E-5'. Приклад 5 (Невірно записані рядки): 'CONST - ні кінцевого апострофа; PROGRAM - апострофи відсутні зовсім; '15 .8'E5 - апостроф стоїть не в кінці рядка; '+ * .; " - не вистачає ще одного апострофа в кінці рядка. Використовуються рядки для роботи з текстами, наприклад для виведення текстів і коментарів на друк. Максимальна довжина рядка визначається конкретною реалізацією мови. Імена ( ідентифікатори ) служать для позначення різних об'єктів і конструкцій програми і відрізняються від службових слів тим, що вибираються (призначаються) самим програмістом за наступним правилом: ім'я повинне складатися з букв і цифр, але першим символом може бути тільки буква. Довжина імені у багатьох реалізаціях мови не обмежується, проте рекомендується, щоб вона не перевищувала 6-8 символів.Наступні імена складені без помилок: X Y22M РОЗМІР GAMMA ALFA R15 А такі імена, навпаки, помилкові: 4ABC - починається з цифри; Y.22 - містить неприпустимий символ - точку; A + B - містить неприпустимий символ - знак "+"; РОЗМІР ПАЛЬТА - прогалини в імені неприпустимі. Вибір імені слід здійснювати виходячи з логічної або фізичної сутності позначуваного об'єкта, при цьому рекомендується дотримуватися наступних правил:
Розглянемо трохи докладніше, для позначення яких об'єктів і конструкцій служать імена (ідентифікатори). Перш за все, слід зазначити, що імена використовуються для позначення даних - величин, над якими в програмі використовується для позначення даних - величин, над якими в програмі виробляються деякі дії. Постійні величини, значення яких не змінюються в процесі виконання програми, називаються константами. Константи в програмі можуть бути представлені або безпосередньо своїм значенням (числом, рядком), або ім'ям. Для деяких констант у мові визначені стандартні імена.Величини, яких можуть змінюватися в процесі виконання програми, називаються змінними. Змінні в програмі можуть бути представлені тільки ім'ям. У машині кожної величиною відводиться певна область пам'яті, де зберігається її значення. Дані можуть бути різних типів. Наприклад, константа може бути числом (цілим або речовим), рядком. Змінна, подібно константі, також може бути арифметичної (значення змінної - число) або строковой (значення змінної - рядок). Арифметичні змінні можуть бути цілими або речовими. Тип константи визначається формою її записи. Завдання типу змінної здійснюється за допомогою вказівки деякого імені (стандартного або певного користувачем) у спеціальній конструкції мови, званої описом. Змінним речового виду відповідає ім'я - REAL, цілого - INTEGER. І нарешті, імена використовуються для позначення всієї програми та окремих її частин (процедур і функцій), що дають опис деякого складного дії або групи дій, вироблених над даними і мають деякий самостійне значення. Алгоритми окремих широко використовуваних процедур і функцій вже складені розробниками мови, і їхні програмні опису зберігаються в машині в спеціальній області пам'яті. Для цих процедур і функцій встановлені стандартні імена, а самі вони називаються стандартними процедурами і стандартними функціями. Програміст, як тільки йому буде потрібно вказаний алгоритм, викликає необхідну процедуру або функцію, вказуючи програмі її ім'я і дані, які її необхідні. Приклад 6 Для ілюстрації введених понять розглянемо програму, що реалізовує тривіальний алгоритм складання двох довільних дійсних чисел і друку результату:
Перший рядок є заголовком програми, де PROGRAM - службове слово, SUMMA - ім'я програми. Далі йде розділ опису даних, в якому змінні A, B, C, беруть участь в обчисленнях, оголошені як змінні дійсного типу. Тут VAR - службове слово, що позначає розділ опису змінних, REAL - стандартне ім'я, що позначає дійсний тип. Опис всіх змінних програми обов'язково! BEGIN, END - службові слова, що обмежують розділ операторів. Після службового слова END, що визначає одночасно і кінець програми, ставиться крапка. Оператор введення READ здійснює виклик стандартної процедури введення, в результаті виконання якої змінні А і В отримають (набудуть) задаються числові значення. Ці значення є, як правило, вихідними даними розв'язуваної задачі. Наступний оператор - оператор присвоювання - позначається символом : = , праворуч від якого варто обчислюється вираз, а ліворуч - ім'я змінної, якій присвоюється обчислене значення.Оператор WRITELN - оператор виводу - також є викликом стандартної процедури. Якщо в цьому операторі вказана константа, то вона безпосередньо виводиться на друк, якщо вказано ім'я змінної, то на друк виводиться її значення. У прикладі здійснюється друк текстів, укладених в апострофи, а потім значення змінної С. Точка з комою в мові Паскаль є роздільником між операторами. Прогалини є роздільниками між іменами, числами і службовими словами, причому всередині імен, чисел і службових слів прогалини зустрічатися не повинні. Оператори в програмі, якщо немає спеціальних вказівок, виконуються зліва направо і зверху вниз (природний хід виконання програми). |