Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PR.doc
Скачиваний:
2
Добавлен:
27.10.2018
Размер:
147.46 Кб
Скачать

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

Основна частина програми на мові Паскаль представляє собою послідовність операторів,кожен з яких виконує деякі дії над даними. Оператори виконуються послідовно в тому порядку, в якому вони записані в тексті програми і відділяються один від одного ‘’ ;’’ . Всі оператори мови Паскаль можна поділити на три групи : прості, структурні та оператори вводу-виводу. Крім операторів, які входять до цих трьох груп існує також оператор with, який використовується при роботі з записами.

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

Оператор безумовного переходу goto <мітка> - перехід до оператора, поміченого спеціальним ідентифікатором - міткою. Використання цього оператору вважаеться поганим тоном програмування і жоден з кваліфікованих програмістів не використовує його.

Оператор визову процедури складається з імені процедури та, якщо необхідно, списку параметрів, що передаються процедурі.

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

Оператор присвоєння ( := ) передписує виконати вираз, що задається в його правій частині і присвоїти результат змінній, ідентифікатор якої знаходиться в лівій частині. Змінна і вираз повинні мати один і той же тип за виключенням випадку, коли змінна має тип real, а вираз - integer. Допускається присвоєння будь - яких типів даних, окрім файлових.

Запис оператору присвоєння має такий вигляд :

<ідентифікатор змінної> : =<вираз>;

Наприклад :

sort :=1; cina :=15.23+nds; nazv :=’ model N 452’; result := sin(x)+a*exp(y);

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

Складеним оператором в мові Паскаль називається група з довільного числа операторів, відокремлених один від одного ‘’;’’ , обмежена операторними дужками begin i end :

begin

<оператор_1> ;

.............................

<оператор_n> ;

end;

Складений оператор може сприйматися як єдине ціле і знаходитися в будь-якому місці програми, де синтаксис мови допускає існування оператора.

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

Паскаль допускає використання двох умовних операторів : if та case.

Оператор умови if може приймати одну із наступних форм :

  1. if <умова> then <оператор_1> else <оператор_2>;

  2. if <умова> then <оператор>;

Умова - це вираз булевського типу. Вона може бути простою або складною. Складні умови утворюються за допомогою логічних операцій and, or, not. В умовах можна використовувати всі можливі операції відношення допустимі для типів операндів. В разі, якщо умова набула значення “iстина” виконується оператор, що йде за словом then. Інакше виконується оператор, що йде за словом else, якщо воно присутнє.

Один оператор if може входити в склад іншого оператора if. В такому випадку говорять про вкладеність операторів :

if <умова_1> then if <умова_2> then <оператор_1> else <оператор_2>;

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

if <умова_1> then begin if <умова_2> then <оператор_1> end else <оператор_2>;

else відповідає першому then.

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

сase <селектор> of

<список_1> : <оператор_1>;

.....................

<список_n> : <оператор_n>

else <оператор >

end;

Cелектор - це вираз, який може приймати певні значення. Список - це перелік деяких констант -можливих значень виразу-селектора. В разі, якщо значення селектора знаходиться в якомусь із списків, виконується оператор, який йде за цим списком. Список може складатися і із однієї констенти.

Існування вираза else <оператор> необов’язкове. Але якщо цей вираз існує, то оператор виконується лише в тому випадку, якщо селектор набув значення, якого не існує в жодному із списків.

Оператори циклу (повтору) використовуються при організації циклів.

Цикл - це послідовність операторів, яка може виконуватися більше одного разу. Якщо кількість повторів наперед відома, використовується оператор for, якщо ні - оператори repeat або while.

Оператор повтору for складається із заголовку та тіла. Він може бути представлений в двох форматах :

  1. for <параметр цикла> := <n1> to <n2> do <оператор> ;

  2. for <параметр цикла> := <n1> downto <n2> do <оператор> ;

n1 та n2 - вирази, які визначають відповідно початкове і кінцеве значення параметру.

Вираз for ... do - це заголовок, <оператор> - тіло циклу.

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

Параметр цикла, його початкове та кінцеве значення повинні належати до одного й того ж типу даних. При цьому допускається будь-який скалярний тип, окрім дійсного. У випадку цикла for...to параметр з кожним кроком збільшується на одиницю, у випадку for...downto - зменшується.

Кількість кроків можна визначити по таблиці :

Оператор

n1<n2

n1=n2

n1>n2

for ... to

n2-n1+1

1

0

for ... downto

0

1

n1-n2+1

Параметром циклу може бути і змінна типу char. Наприклад :

for ch :=’a’ to ‘e’ do write (ch :2);

Результат :

a b c d e

Оператор повтору repeat складається із заголовку - repeat, тіла і умови закінчення - until <умова>:

repeat <тіло> until <умова>;

Умова - це вираз булевського типу. В ній допустимі логічні операції і операції відношення.

Оператор repeat має три характерні особливості :

  1. тіло виконуєьтся хоча б один раз;

  2. тіло виконуєтья поки умова хибна;

  3. в тілі може знаходитись будь-яка кількість операторів без операторних дужок.

Оператор while аналогічний оператору repeat, але перевірка умови виконання тіла циклу відбувається на самому початку оператора :

while <умова> do <тіло>;

Тут тіло може бути простим або складним оператором

Перед кожним виконанням тіла, в тому числі і першим обчислюєтья умова. Якщо вона істинна, то тіло виконується, якщо хибна - то ні.

Вийти із циклічних операторів можна обминаючи умови перевірки - за допомогою оператора goto або штучно зробивши умови перевірки хибними чи істинними в залеж

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]