яка складається не більше, ніж з 255 символів. Змінні рядкового типу можна описати у розділі опи-су констант, типів, або оголосити у розділі змінних. Напри-клад,
const s = ‘Bye!’; type t = string[10];
var top : t; w : string.
У квадратних дужках зазначають довжину рядка.
4. Оператори умови. Програми з розгалуженнями.
Команда розгалуження if (умовна команда) має два різновиди.
Повна команда розгалуження має вигляд
if <умова> then <ком_1> else <ком_2>;
Якщо логічний вираз істинний, то виконується команда , в протилежному випадку команда . Команди 1 та 2 можуть бути простими або складеними.
Приклад. Нехай x=9. У результаті виконання команд
if x>7 then y:=x*x else y:=sin(x);
if x<5 then z:=exp(x) else z:=sqrt(x);
В результаті отримаємо y=81, z=3.
У команді розгалуження перед службовим словом else символ “;” не ставиться.
Коротка команда розгалуження має вигляд
if <умова> then <команда_1>;
Якщо логічний вираз істинний, то виконується команда , інакше виконується команда, яка знахо-дить-ся за даною конструкцією.
Команда goto – це команда безумовного переходу, яка змі-нює послідовність виконання інших команд програми шляхом пере-ходу до виконання команди, що має мітку: goto < мітка >;
Мітка може стояти перед довільною командою в програмі. Вона від-окремлюється від команди двокрапкою.
<мітка> : <команда>;
Позначку треба заздалегідь оголосити на початку програми у розділі label:
label <список міток>;
Позначка може починатися з букви або бути числом від 0 до 9999.
Команда вибору сase має вигляд
case <вираз> of
<список значень 1> : <команда 1>;
…
< список значень n> : <команда n>
else <команда n+1>
end;
Тут вираз – це проста змінна цілого, символьного, перерахова-ного або лог. типу; списки значень – сталі або діапазони, тип яких збігається з типом виразу. Якщо список значень скла-да-ється з декількох елементів, то вони перераховуються через кому. Складова части-на else <команда n+1> може бути від-сут-ня – тоді матимемо коротку форму команди case.
Якщо значення виразу збігається зі значенням із списку i, то ви-конується команда з номером i, а інші команди цієї конструк-ції не викону-ють-ся. Якщо зна-чення виразу не збігається з жодним значен-ням з жодного списку, то вико-нується команда n+1 або, у випадку короткої форми, наступна команда після команди case.
5. Оператори циклу мови ТР.
Цикл – це процес виконання певного набору команд деяку кі-ль-кість разів. Цикл реалізують або за допомогою конструкції if-goto, або, що значно ефективніше, за допомогою команд циклу. Є три ви-ди команд циклів: з параметром, з передумовою та з після-умовою.
Команда циклу з параметром (for). Є два різновиди команди for. Розглянемо перший:
for <параметр> := <вираз > to <вираз > do <команда >;
Тут параметр – це змінна цілого, символьного, логічного або пере-ра-хо-ва-ного типу, а вирази і 2 задають початкове та кінцеве зна-чен-ня пара-метрa.
Параметру циклу присвоюється значення ви-ра-зу . Якщо це значення менше-рівне, ніж значення виразу , то викону-єть-ся коман-да . Після виконання команди 1 значення параметра автоматично збільшується на і знову порів-нюєть-ся зі значенням виразу і т.д. Коли значення параметра стане більшим, ніж зна-чення виразу , то виконується наступна після цик-лу команда.
Приклад. Нехай s=0. Після виконання команди циклу
for i:=4 to 6 do begin s:=s+i; z:=2*i end;
змінна s набуде значення 0+4+5+6=15, а змінна z – 12.
Розглянемо другий різновид команди циклу for:
for <параметр> := <вираз > downto <вираз2> do <команда >;
Ця команда діє як попередня, але крок зміни пара-мет-ра є –1.
Команда циклу з передумовою (while) має вигляд:
while <логічний вираз> do <команда 1>;
Доки значення логічного виразу істинне, викону-єть-ся команда . Істинний логічний вираз описує умову продов-жен-ня процесу виконання команди циклу.
Команда циклу з післяумовою (repeat) має вигляд:
repeat <команди> until <логічний вираз>;
Команди виконуються в циклі, доки значення логічного виразу не стане істинним. Істинний логічний вираз задає умову виходу з циклу. Команди після команди repeat виконаються принаймні один раз у випадку невиконання умови після команди until.
Приклад. Нехай змінні x, y мають значення x=5, y=0. У ре-зуль-таті виконання команди
repeat y:=y+x; z:=2*x; x:=x–2 until x<=1;
змінні y, z, x набудуть значень y=0+5+3=8, z=6, x=1.
6-7. Процедури та функції у мові ТР
Підпрограми призначені для реалізації алгоритмів опрацювання окремих частин деякої складної задачі. Розріз-няють два види під-про-грам – під-про-грами-процедури та підпро-грами-функ-ції. Під-програми поді-ля-ються на стандартні та підпрограми користу-вача. Стандартні підпрограми створювати не потрібно – вони містяться у стандартних модулях System, Crt, Dos, Graph тощо. Під-програма користувача — це по-йме-нована група команд, яку створюють і опису-ють в основній програмі в розділах procedure або function і до якої звертаються з будь-якого місця програми потрібну кількість разів. Процедури (procedure). Загальний опис процедури:
procedure <назва> (<список формальних параметрів>);
<розділи описів і оголошень процедури>;
begin <розділ команд процедури> end;
У списку формальних параметрів перераховують змінні разом із зазначенням їхніх типів. Розрізняють параметри-аргументи (параметри-значення) – вхідні дані для процедури, і параметри-результати (параметри-змінні), через які можна по-вер-тати результати роботи процедури в основну про-граму. Перед списками параметрів-результатів кожного типу за-пи-сують слово var. Зауважимо, що масиви фіксованих розмірів у списках формальних параметрів не можна описувати за до-помогою слова array (див. зразки програм). Розділи описів і оголошень у підпрограмах мають таку саму структуру як і в основній програмі.
П-д. procedure сina(k: integer; var c: real);
begin c:=k*10; с:=c+1; end;
У наведеному прикладі k є формальним параметром-аргументом, с – формальним параметром-результатом. До процедури звертаються з розділу команд основної програми або іншої підпрограми. Процедуру викликають за допомогою команди виклику: <назва_процедури> (<список фактичних параметрів>); Фактичними параметрами-аргументами можуть бути сталі, змінні, вирази, а параметрами-результатами лише змінні. Типи даних тут не зазначають. Між фактичними і формальними параметрами має бути відповідність за кількістю й типами.