розділі оголошення змінних, якщо вони обчислюватимуться:
var <список змінних_1> : <тип змінних_1>;
…
<список змінних_n > : <тип змінних_n>;
Елементи списків записують через кому.
3. Оператори умови. Програми з розгалуженнями.
Команда розгалуження 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.
4. Оператори циклу мови ТР.
Цикл – це процес виконання певного набору команд деяку кі-ль-кість разів. Цикл реалізують або за допомогою конструкції 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.
5.Файлові типи даних. Організація числових та текстових файлів у мові ТР
Часто виникає потреба опрацьовувати інформацію, розташо-вану на зовнішніх но-сіях (на дисках). Прикладами таких даних є інформація про успіш-ність студентів, розклад руху транспорту, адресні книжки.
Файл - це сукупність даних, які розташовані на зовнішньому носії. Дані у файлі назива-ються елементами. Кіль-кість даних, на відміну від масиву, під час описування файлу не зазначають. Еле-мент файлу не має індекса. Тип елементів може бути як простим, так і складеним, але не може бути файлом.
Файловий тип даних описують у розділі описів типів так: type <ім’я типу>=file of <базовий тип>;
або безпосередньо у розділі огол-ня змінних: var <список змінних>: file of <базовий тип>;
П-д. type myfile = file of integer;
list = file of string[20];
var file1, file2: myfile; druzi: list;
komanda: file of boolean;
Дії з файлами. Для того, щоб знайти потрібний елемент файлу, необхідно послідовно переглянути всі попередні. Це нази-ва-ється послідовним доступом до файлу. Для опрацювання файлу його необхідно відкрити, виконати не-обхідні дії та закрити. Для визнач. кінця файлу є стандартна логічна функція eof (<ім’я файла>). Значення цієї функції буде true, якщо досягнуто кінець файлу. Файл можна відкрити лише або для читання, або для запи-су-ван-ня в нього інформації. Для роботи з файлами є такі команди:
assign(<ім’я файлу>,<зовнішнє ім’я>) - налагоджує зв’язок між іменем файлу і файлом на зовнішньому носії;
reset(<ім’я файлу>) - відкриває файл для читання з нього даних;
read(<ім’я файлу>,<ім’я змінної>) - читає (вводить) дане з файлу в оперативну пам’ять;
close(<ім’я файлу>) - закриває файл;
rewrite(<ім’я файлу>) - відкриває файл для записування в нього даних;
write(<ім’я файлу>,<ім’я змінної>) - записує (виводить) дане у файл.
Текстові файли. Дані у типованих файлах, описаних вище, певним чином кодуються комп’ютером. Ці файли