Функция 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?
Допустим так?
Для ввода в файл
Для ввода в файл следуетопределить условие, завершающее ввод информации что-то вроде следущего
Rewrite(f);
Read(s);writeln(f,s);
While s '@конецфайла' do
begin Read(s);writeln(f,s); end;
Close(f);
__________________
@конецфайла - набор символов обозначающие конец цикла
Вопрос в том, как на
Вопрос в том, как на стандартном вводе обозначите конец файла.
В Linux работает Ctrl+D (обозначает конец файла стандартного ввода). А Ctrl+C вообще завершает программу.