Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль - лекциии.doc
Скачиваний:
0
Добавлен:
10.12.2019
Размер:
1 Mб
Скачать

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

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

Важливою подією, що дозволила зробити великий крок в області програмування, стало створення алгоритмічних мов. При цьому відпала потреба вручну перетворювати запис алгоритмічних мов в послідовність машинних команд, процес кодування здійснювався автоматично самою ЕОМ при допомозі програми -транслятора.

Транслятор - це спеціальна програма, яка здійснює перетворення запису алгоритмічної мови в послідовність машинних команд. Зараз існує багато мов програмування: Алгол, Фортран, PL-1, Ада, Бейсік, Сі, Паскаль, Асемблер, Delfy, Perl, PHP і т.д. Всі мови можна умовно розділити на мови високого та низького рівня. До мов низького рівня відноситься Асемблер, всі останні мови - це мови високого рівня.

Коли на початку 70-их років швейцарський вчений Вірт розробив Паскаль, він намагався створити взірцеву мову, на основі якої можна ефективно вивчати

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

Основні поняття мови

Абетка Паскаля складається з букв латинської, української та російської абетки, цифр від 0 до 9, ряду спеціальних символів:

.,:;'+-*/ ( ) [] = <>! |__|

Із символів абетки, цифр будуються слова, словосполучення,

речення.

Слово - число, рядок, ім'я.

Словосполучення - група слів, що має деякий зміст.

Речення - конструкція мови, яка являє собою закінчену думку.

Оператор -повний опис деякої дії.

Рядок - послідовність символів мови, що заключаються в апострофи.

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

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

Це службові слова: CASE, PROGRAM, IF, THEN, GOTO, PROCEDURE

і т.д.

Структура програми

Програма на Паскалі має слідуючу структуру:

Приклад:

PROGRAM PR1;

Var A,B,C: integer;

Begin

A:=3;

В: =2;

C:=A+B;

Writeln(C);

End.

Всі програми починаються з заголовку:

PROGRAM PR1;

Тут слово PROGRAM - службове слово, яке сповіщає транслятор про те, що весь текст, починаючи з цього слова і закінчуючи крапкою, є програмою, яку потрібно перекласти на машинну мову. Після слова PROGRAM йде PR1 - це ім'я, яке програміст дає своїй програмі. Закінчується заголовок ; . Цим знаком (;) ми говоримо про те, що інструкція закінчилась, а далі буде іти нова.

Ідентифікатори.

Ідентифікатори - це імена. Вони використовуються для позначення різних об'єктів. Ідентифікатори повинні дотримуватись наступних правил:

1) завжди починатися з букви, за якою йдуть букви або цифри;

2) в ідентифікаторі не повинно бути проміжків, ком та інших непередбачуваних знаків;

3) в багатьох версіях Паскаля враховуються тільки перші 8 літер;

4) треба уникати подібних з виду імен ах1 - ахі;

5) імена функцій забороняється використовувати як ідентифікатори (cosx, sinx);

6) неможливо використовувати в якості ідентифікаторів

службові слова:

DO, TO, PROGRAM, CASE,...

Наприклад: Які з приведених наборів символів є ідентифікаторами?

ІАМ, MICRO, А54, DJPROB; - правильно.

IAN.2, Зх, DE PR; - не правильно.

Розділ опису складається з наступних розділів:

1. розділ опису міток;

2. розділ опису констант;

3. розділ. опису типів;

4. розділ опису змінних;

5. розділ опису процедур та функцій;

Розділ опису міток починається з службового слова Label, за яким перелічуються мітки, що використовуються в програмі.

Наприклад:

Label 5,14,63;

Для опису міток використовуються цілі числа без знаку (мітка містить не більше 4 символів ). Мітками позначаються зсилки в програмі. Мітка відокремлюється від оператора двокрапкою :.

Наприклад:

5 : Writeln(x);

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

Розділ опису констант - починається зі слова Const, після якого йде перелік імен використаних констант та їх значення. Імена та значення констант розділяються = . Кожний опис константи закінчується (;).

Наприклад:

Const АВ=50;

РІ=3.14;

Тип константи визначається типом відповідного значення константи. Якщо в програмі не використовуються константи, то цей розділ опускається.

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

Константи логічного типу мають два значення - True, False.

Константи символьного типу записуються літерами, що взяті в апострофи: 'К', '?', '8'.

Завдання: Визначити тип вказаних констант:

'К', 2, 2.ОЕ-2, False, 5.6,' ^', True, '2'.

с. ц. д. л. д. с. л. с.

Текстові константи записуються послідовністю символів, взятих в апострофи.

Наприклад: 'Програмування'

Розділ опису змінних починається з службового слова Var, після

якого йде перелік імен змінних та їх типів.

Наприклад:

Var rl, r2, ...,rn: Т; , де r1,r2,…,rп- змінні, Т - тип змінних.

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

Стандартні типи даних.

До стандартних типів відносяться:

1. Integer -цілий ( всі цілі числа та 0); 1, 157, -16

2. Real - дійсний (всі числа що мають дробову частину); 17.8; -192.3

3. Char - символьний ( всі символи, що розміщені на клавіатурі

ЕОМ); ‘A’ , ’B’ , ’2’.

4. Boolean - логічний (приймає два логічних значення TRUE -FALSE);

Розглянемо просту програму: Знайти суму 3-х цілих чисел.

l.Program pr1;

2. Var А, В, С, D: Integer;

3. Begin

4.А:=1;

5.В:=3;

6. С: =5;

7.D:=A+B+C;

8. Writeln(D);

9. End.

В третьому рядку стоїть Begin. Після нього нічого не стоїть, так як це не інструкція, а оператор, який служить для формування структури програми. Між Begin та End записуються всі інструкції.

Можна ще сказати, що Begin та End служать для надання завершеності структури програми. Після End обов'язково ставимо крапку - це останній оператор.

Оператор введення.

Приклад: Знайти суму двох дійсних чисел.

1. Program prl;

2. Var РАМІ, РАМ2, S: Real;

3. Begin

4. Read(PAMl, РАМ2);

5. S:=PAM1+PAM2;

6. Writeln(S);

7. End.

В четвертому рядку записано Read(PAMl,PAM2). Це процедура введення. На великих ЕОМ використовували перфокарти (на них записували програму та вхідні дані). Зараз введення даних на ЕОМ виконується з клавіатури (дані вводить програміст). Оператор введення Read здійснює виклик стандартної процедури введення, в результаті виконання якої змінні РАМ1 і РАМ2

одержать задані числові значення. Ці значення є вхідними даними для задачі. Оператор введення складається з ідентифікатора Read та списку змінних, які записуються в круглих дужках. Число змінних може бути любим. Якщо змінних більше однієї, вони розділяються один від одного комами.

Приклад:

Які із наступних послідовностей символів є операторами введення?

Read(a, b+c)> Read(x,y,z); Read(z; t)i

- + -

Оператор виведення.

Оператор виведення складається із ідентифікатора Write та списку виразів, що записується в круглих дужках. Оператор виведення дозволяє виділити із всього набору обчислювань та величин ті, які є відповіддю до задачі.

Приклад: Write(x,y); +

Write('x= 'X); +

Write(x;y;z); -

В Pascal можна вводити дані тільки цілого, дійсного та символьного типів! Дані набираються на терміналі, при цьому для введення двох чисел використовується проміжок або кінець рядка. Проміжок між символами, між числом та символом не потрібен. Оператор Readln у порівнянні з оператором Read після введення всіх вказаних у операторі даних здійснює перехід до наступного рядку. Можливе виведення всіх чотирьох типів даних (для логічного типу виводиться константа True або False).

Оператор присвоєння.

Оператор присвоєння надає змінній конкретне значення.

Наприклад: х:=5.

Присвоєння заповнює участок пам'яті, який відведений для змінної та одночасно знищує старе значення.

Загальна схема оператора присвоєння:

ім 'я:=вираз;

В результаті виконання оператора присвоєння змінній присвоюється значення деякого виразу.

Наприклад: А:=1; А:=х+7;

В усіх випадках спочатку обчислюється вираз, що розміщується після : =, а потім одержане значення присвоюється змінній.

Приклад:

Які із наступних послідовностей символів є операторами присвоєння?

a:=b; a:b-sqr(2); z:=0; -у:=У;

+ - + -

Вирази.

Складні вирази будуються із чисел і змінних за допомогою знаків операцій додавання, віднімання, множення, ділення (+,-,*,/). Крім них у виразах можуть бути використані круглі дужки та деякі функції. Знак"-" можливо використовувати для відображення величин, протилежних даним. Не можна розміщати 2-а знака операції поряд. При обчислюванні значень виразів діють звичні правила - старші операції (множення і ділення), потім (додавання та віднімання). Із двох операцій одного старшинства першою виконується та, знак якої раніше зустрічається у виразі. Круглі дужки змінюють порядок обчислення виразів:

(х+у)/2 або х+у/2

У виразах можуть бути використані такі

СТАНДАРТНІ ФУНКЦІЇ :

|Х| - ABS(X)

X - SQR(X)

- SQRT(X)

SINX - SIN(X)

COSX - COS(X)

ex - EXP(x)

lnx - LN(X)

В Паскалі не існує операції піднесення до довільного ступеня, тому її замінюють з'єднанням функцій ехр та In:

Приклад 1: Написати вирази по правилам Паскаля:

1.

2.

3.

4.

Приклад 2: Записати вираз в традиційно - математичній формі.

1.

2.

3.

4.