русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Теоретичні відомості


Дата додавання: 2014-11-27; переглядів: 786.


 

Всі оператори мови Паскаль[5] можна поділити на прості та структурні (складні). До складних операторів відносяться: складений оператор, умовний, оператор вибору та оператори циклу. Вони являють собою конструкції, що включають в себе інші оператори.

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

1. IF B THEN A;

2. IF B THEN A1 ELSE A2;

де B - логічний вираз;

A1, A2, A - прості або складені оператори.

Складений оператор представляє собою послідовність операторів, укладених в операторні дужки BEGIN - END.

Перший тип запису – це коротка форма умовного оператору. Такий оператор дозволяє організувати виконання оператора A при умові, що логічний вираз має значення true. Якщо логічний вираз має значення false, оператор A не виконується, а виконується наступний оператор, що слідує за умовним [5].

Другий вид запису оператора – це повна форма. Вона дозволяє виконати оператор A1 у разі, якщо логічний вираз має значення true, і оператора A2 - якщо логічний вираз має значення false.

Приклади запису операторів:

IF N DIV 2 * 2 = N THEN N1: = N ELSE N2: = N * N;

IF X <0.1 THEN V: = EXP (X);

Умовний оператор можна розширити за рахунок вкладеності нових умов в оператор. У цьому випадку розгалуження програми виконується не за двома, а за більшою кількістю напрямів. Це призводить до скорочення числа операторів, але одночасно знижує наочність програми. Нова умова реалізується за допомогою вкладеного умовного оператора. За прийнятою угодою в мові Паскаль ELSE завжди відноситься до найближчого йому IF. Наприклад:

IF B1 THEN A1

ELSE IF B2 THEN A2

ELSE A3.

Для багаторазового обчислення групи операторів при зміні одного або декількох параметрів одночасно, у мові Паскаль використовуються оператори циклу FOR, WHILE, REPEAT.

Оператор циклу з перевіркою на початку (цикл з передумовою) while має вигляд:

while B do S;

де B – логічний вираз;

S - простий або складений оператор.

Тіло циклу S буде виконуватись до тих пір, поки значення виразу B буде дорівнювати true. Як тільки B стане рівним false, управління передається оператору, наступному за оператором циклу, а оператор S всередині циклу не виконується. Якщо вираз B буде дорівнювати false при першому вході в цикл, то оператор S не виконається жодного разу. Очевидно, що значення змінних, які входять у вираз, повинні змінюватися всередині циклу, інакше цикл буде повторюватися нескінченно.

Приклад. Вивести всі парні числа від 2 до 10.

Program test;

var k: integer;

Begin

k: = 2;

while k <= 10 do

begin

write (k: 3);

k: = k +2;

end

end.

Параметром циклу в цій програмі є змінна k, яка послідовно приймає значення 2, 4, 6, 8, 10.

Оператор циклу з перевіркою в кінці (цикл з постумовою) repeatмає вигляд:

 

repeat S1; S2 ;...; Sn until B;

де S1, S2 ,..., Sn - оператори тіла циклу;

B - логічне вираження.

Вихід з циклу здійснюється, якщо вираз B приймає значення true. Якщо ж значення виразу B дорівнює false, то виконуються оператори S1, S2 ,..., Sn, а потім знову обчислюється вираз B. На відміну від оператора while, в операторі repeat перевірка умови виконується в кінці циклу, тому він забезпечує хоча б одне обчислення навіть при початковому значенні логічного виразу true.

Нижче наведена програма, що здійснює ті ж дії, що і в попередньому прикладі, але з використанням оператора repeat:

Program test1;

var k: integer;

begin

k: = 2;

repeat

write (k: 3);

k: = k +2

until k> 10

end.

У результаті будуть виведені парні числа від 2 до 10, що співпадає з результатом роботи попередньої програми test, де використовується оператор while.

Приклад. Обчислити значення заданої функції, при зміні аргументу в зазначеному діапазоні і з заданим кроком (таблиця 3.1). Організувати виведення значення аргументу і обчисленого значення функції у вигляді таблиці.

Таблиця 3.1 – Приклад завдання

 

  Функція   Умова Початкові дані   Діапазон та крок зміни аргументу

 

Program k;

Const

a= -0.5;

b=2;

Var t, y :real;

Begin

t:=0;

Writeln(‘Таблиця функції’);

Writeln;

While t<=3.01 do

begin

If (t>=1) and (t<=2) then y:=a*sqr(t)*ln(t);

If t< 1 then y:= sqr(t);

If t > 2 then y:= a* sin(t);

Writeln(‘t = ’,t:4:2,’ y= ’,y:5:2);

t:=t+0.15;

end;

end.

У цій програмі послідовно виконуються умовні оператори, які мають коротку форму запису. Кількість операторів зменшиться , якщо використати вкладені умовні оператори циклів:

If (t> = 1) and (t <= 2) then y: = a * sqr (t) * ln (t)

else

if t <1 then y: = sqr (t)

else y:= a* sin(t);

 


<== попередня лекція | наступна лекція ==>
Теоретичні відомості | Варіанти завдань


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн