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

2. Оператор if

Для запису умовних переходів в алгоритмах використовується оператор if мови Turbo Pascal.

Формат цього оператора if:

If умова then оператор1 [else оператор2] [;]

Умова задається логічним виразом. Оператор1 та оператор2 можуть бути будь-яким допустимим оператором Turbo Pascal або групою операторів в операторних дужках begin...end. Група операторів в операторних дужках begin...end сприймається як одне ціле і тому називається структорованим оператором. Структурований оператор може мати в своєму складі інший структурований оператор, той в свою чергу також і т.д.

Дія оператора if.

  1. Обчислюється значення логічного виразу, яким задається умова.

  2. Якщо це значення дорівнює true (умова виконується), то виконується оператор1, в протилежному випадку виконується оператор2, якщо else оператор2 не записано та нічого не виконується, а управління передається наступному оператору.

П о п е р е д ж е н н я: Перед else (;) не записується.

Приклади:

1) if x>0 then f:=sin(x) else f:=cos(x);

Тут умова - це x>0, оператор1 - оператор присвоєння f:=sin(x) та оператор2- оператор присвоєння f:=cos(x). При додатніх значеннях x змінній f присвоюється значення функції sin(x), а при недодатних - cos(x).

2) if pl and tl

then

begin

t:=sqr(cos(x));

s:=sqrt(abs(ln(x*x+2);

z:=sqrt(t*t+s*s)

end

else

begin t:=0; s:=0; z:=0 end;

Тут умова – це логічний вираз pl and tl (pl,tl:boolean), оператор1 – це група з 3-ох операторів присвоєння в перших операторних дужках begin...end (структурований оператор), оператор2 – група з 3-ох операторів в других операторних дужках. При pl=tl=true виконується група операторів в перших операторних дужках, в протилежному випадку – група операторів в других операторних дужках.

3) if pl and tl

then

begin

t:=sqr(cos(x));

s:=sqrt(abs(ln(x*x+2);

z:=sqrt(t*t+s*s)

end;

При tl=pl=true виконується група операторів в операторних дужках, в протилежному випадку не виконується.

4) if x<=-2

then f:=1

else if x<=2

then f:=2

else f:=3;

Тут умова - це x<=-2, оператор1 –  оператор присвоєння f:=1, а оператор2 – if x<=2 then f:=2 else f:=3;

Після виконання цього оператора змінна f одержить значення 1, якщо x<=-2, значення 2 при -2<X<=2 та значення 3 при x>2.

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

3. Оператор case

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

Формат оператора case:

case селектор вибору of

список1 констант вибору:оператор1;

список2 констант вибору:оператор2;

списокn констант вибору:операторn;

[else оператор [;] ]

end [;]

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

Список констант вибору – послідовність констант типу, що співпадає з типом селектору вибору. Список констант вибору можна задавати і діапазоном: 1-ша константа..остання константа. При цьому необхідно, щоб константи вибору були впорядковані за зростанням.

Операторi, i=1,2, ..., n, , будь-який оператор мови Turbo Pascal.

Дія оператора case:

1) Обчислюється значення селектору вибору.

2) Послідовно перевіряються списки констант вибору. Якщо значення селектору вибору належить спискуі констант вибору>, то виконується операторі. Якщо ж значення селектору вибору не належить жодному спискуі констант вибору, то виконується операторі, який записується після else. Якщо останнього немає, то оператор case нічого не виконує (крім, звичайно, обчислення селектору вибору).

Приклади.

1) case i of

1,2:f:=1;

3..10: f:=2;

15:f:=3;

else f:=4

end;

Тут селектор вибору змінна і цілочисельного типу (змінна є первинним виразом). Оператор case має три списки констант вибору. Перший має дві константи 1 та 2, другий список констант вибору представлений діапазоном констант і має константи 3,4,5,6,7,8,9,10. Третій список констант вибору складається з однієї константи 15. Оператор1 – це оператор присвоєння f:=1;, оператор2 – f:=2;, оператор3 – f:=3; та оператор – f:=4; В результаті виконання цього оператора case змінна f одержить значення 1, якщо i=1 або 2, значення 2 при i=3, або 4, або 5, або 6, або 7, або 8, або 9, або 10, значення 3 при і=15, 5 при всіх решти значеннях змінної i.

2) case l1 and l2 of

true : begin x:=3; y:=4; z:=5 end;

false: begin x:=30; y:=40; z:=50 end

end;

Тут селектор вибору - логічний вираз l1 and l2, два списки констант вибору з однієї логічної константи. Оператор1 – - це begin x:=3; y:=4; z:=5 end; та оператор2 –  begin x:=30; y:=40; z:=50 end (складені з трьох операторів присвоєння). Після виконання цього оператора при l1=l2=true x=3; y=4; z=5, в протилежному випадку x=30; y=40; z=50.

3) case ch of

'a':ch1:='Група 18';

'b':ch1:='Група 19';

'c':ch1:='Група 28';

'd':ch1:='Група 29';

'e':ch1:='Група 38';

'f':ch1:='Група 39';

'g':ch1:='Група 48';

'h':ch1:='Група 49';

'i':ch1:='Група 58';

'j':ch1:='Група 59'

end;

Тут селектор вибору –  змінна символьного типу. Змінна текстового типу ch1 одержить значення 'Група 18' при ch='a', 'Група 19' при ch1='b' і т.д.

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