Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция Pascal_mat №3.doc
Скачиваний:
3
Добавлен:
20.08.2019
Размер:
433 Кб
Скачать
☆

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

var

А, В, С : Real;

і, j, k : Integer;

Flag : Boolean;

Vecl, Vec2: array [1..10] of Byte;

Reс1, Rec2: record

Ch : Char;

X : Real;

end;

Setl, Set2 : set of Char;

Begin

A := В * З;

і := j div k;

Flag := (i <> 1) and (B < C);

Vecl := Vec2;

Reсl := Rec2;

Setl := Set2;

End.

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

В иконання оператора присвоєння приводить до обчислення значення, що визначається виразом, і присвоєння цього значення змінній, що ідентифікується ім'ям, яке стоїть ліворуч від символу присвоєння. У випадку якщо ліворуч стоїть ідентифікатор функції, виконується визначення результату функції, тобто значення, що повертає функцією в точку виклику.

Допускається присвоєння значень не тільки простих, але й структурованих типів, таких як масиви, записи й множини.

Обов'язковим є вимога, щоб тип виразу в правій частині оператора й тип змінної або результату функції в лівій частині оператора були сумісні по присвоєнню.

Оператор процедури

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

Summa (A, m, n, Sum);

Initialize;

Swap (X, Y);

program Prim;

procedure Hello;

begin

WriteLn('Hello');

end;

begin

Hello;

end.

program Prim;

uses Crt;

procedure Hello(Stroka);

begin

WriteLn(Stroka);

end;

Begin

Clrscr;

GoToXY(40,15);

Hello('Привіт!');

end.

Виконання оператора процедури приводить до активізації дій, описаних у її тілі. Зазначені в операторі фактичні параметри повинні відповідати описаним у заголовку процедури формальним параметрам по типу, кількості й взаєморозміщенню. Перед активізацією тіла процедури відбувається передача фактичних параметрів відповідним формальним параметрам. Аналогічні дії виконуються при виклику методів, описаних в об'єктних типах.

Приклади:

Оператор переходу

О ператор переходу складається із ключового слова goto, після якого вказується мітка.

Виконання оператора goto приводить до передачі керування на оператор, перед яким стоїть зазначена в операторі goto мітка.

Обов'язковим є вимога, щоб мітка, зазначена в операторі переходу, розташовувалася в тому ж блоці або модулі, що й сам оператор goto. Це означає, що за допомогою оператора переходу заборонена передача керування усередину процедури (функції), а також передача керування із процедури (функції) у основну програму.

Варто помітити, що оператор goto суперечить принципам структурного програмування, і його використання в програмах не рекомендується. Особливо небезпечним є застосування оператора переходу в Turbo Pascal, у якому значно ослаблені, у порівнянні зі стандартом мови Pascal, обмеження на використання goto. Зокрема компілятор не видає повідомлення про помилку передачі керування усередину структурних операторів (наприклад, оператора for), що найчастіше приводить до непередбачених дій програми.

З огляду на сказане, можна порекомендувати взагалі виключити використання оператора переходу при написанні програм. Тим більше, що в Turbo Pascal включені певні процедури Break і Continue, які спеціально призначені ситуацій, у яких найбільше часто використається оператор goto.