Мітки та переходи
writeln('час від'їзду : ', y)
end
until t=t0.
Цикл читання можна записати за допомогою одного старого програмістського трюку. Він полягає у використанні "нескінченного циклу" у сполученні з переходом за кінець циклу. Скористаємося оператором break мови Турбо Паскаль:
t0:=0; y:=0;
while true do
begin
readln(x, t);
{!!! } if t=t0 then break; {ознака кінця: вихід із циклу }
{замість break можливо exit – вихід із (під)програми}
if y
y:=b+t;
writeln('час від'їзду : ', y)
end
Більш загальним випадком завдання кінця послідовності є повторення найпершого значення послідовності. Схема розв'язання залишається тією самою, тільки спочатку "особливе значення" запам'ятовується в результаті читання, а не присвоювання.
3. Кінець послідовності значень при читанні з клавіатури задається не їх кількістю і не особливими значеннями – замість набирания чергової сталої натискаються спеціальні клавіші. В усіх системах програмування мовою Паскаль є функція з ім'ям eof. Для читання послідовності значень із клавіатури її виклик (без аргументу або з аргументом input) записується, як правило, в умові продовження while-циклу такого вигляду:
writeln('задайте значення :');
while not eof do
begin
readln(v); використання та обробка значення v;
writeln('задайте значення:');
end
Після друкування запрошення "задайте значення" виконується виклик функції eof, під час чого комп'ютер очікує натискання на клавіші. Якщо натиснути "особливу клавішу Ctrl" і, тримаючи її, натиснути клавішу "Z", то з виконання виклику функції eof повертається true. У цьому випадку умова продовження noteof хибна, і виконання циклу завершується. Якщо ж натиснути будь-яку іншу клавішу, наприклад, почати набирати сталу, то з виклику eof повертається значення false, і починається виконання тіла циклу. При виконанні виклику readln змінній v "присвоюється з зовнішнього світу", тобто від клавіатури, відповідне значення. Далі за програмою воно обробляється, потім з'являється запрошення, потім при обчисленні умови продовження викликається eof тощо.