Логические функции

Функция odd используется для проверки четности или нечетности целого выражения.
odd(целое_выражение) – возвращает true, если параметр – нечетный, в противном случае возвращает false.
odd(3), odd(2), odd(0). Результат: true, false, false
odd(-3), odd(-2). Результат: true, false
odd(3.0). Результат: ошибка

Следующие функции служат для определения конца строки или конца файла соответственно. Функция eoln используется только с текстовыми файлами, которые организованы как строки символов. Функцию eof не следует использовать при вводе данных с клавиатуры.
eoln(имя_файла) – возвращает true, если была прочитана последняя литера текущей строки.

while not eoln do begin
    read(i); {целый тип, пробелы пропускаются}
    writeln(i:3)
end;
while not eoln do begin
    read(a); {вещественный тип, пробелы пропускаются}
    write(a:5:1)
end;

eof(имя_файла) – возвращает true, если была прочитана последняя литера файла (попытка дальнейшего чтения ведет к ошибке).

while not eof(f) do begin
    while not eoln(f) do begin
        read(ch); {тип char, пробелы учитываются}
        write(ch)
    end;
    writeln
end;
while not eof(g) do begin
    read(ch); {признак конца строки читается как пробел}
    write(ch)
end;

Комментарии

функция eof

Если в условии задачи сказано, что используется стандартный ввод-вывод, т.е. read, write, на вход подается несколько строк и заранее неизвестно сколько их. Можно ли в этом случае использовать функцию eof?
Допустим так?

while not (eof) do
begin
   readln(s); // s - строка
end

Для ввода в файл

Для ввода в файл следуетопределить условие, завершающее ввод информации что-то вроде следущего
Rewrite(f);
Read(s);writeln(f,s);
While s <> '@конецфайла' do
begin Read(s);writeln(f,s); end;
Close(f);

__________________
@конецфайла - набор символов обозначающие конец цикла

Вопрос в том, как на

Вопрос в том, как на стандартном вводе обозначите конец файла.

В Linux работает Ctrl+D (обозначает конец файла стандартного ввода). А Ctrl+C вообще завершает программу.