мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
pascal:files [20/11/2009 14:03] dnaumovpascal:files [06/02/2018 10:56] (текущий) – [Замена стандартного ввода / вывода] oca
Строка 17: Строка 17:
   fout: textfile;   fout: textfile;
   a, b, c: integer;   a, b, c: integer;
 +  s : string;
 +  f, h, p : real;
  
 begin begin
Строка 28: Строка 30:
   writeln(fout, s);             {записываем текст в файл fout}   writeln(fout, s);             {записываем текст в файл fout}
   writeln(fout, a:8, b:8, c:8); {записываем три целых числа в файл fout}   writeln(fout, a:8, b:8, c:8); {записываем три целых числа в файл fout}
-  writeln(fout, a:8:5, b:8:5c:8:1); {записываем три дробные числа в файл fout}+  writeln(fout, f:8:5, h:8:4p:8:1); {записываем три дробные числа в файл fout}
  
   close(fout) {обязательно закрываем файл после завершения работы с ним}   close(fout) {обязательно закрываем файл после завершения работы с ним}
Строка 95: Строка 97:
   f:=1.2345; h:=-1.2345; p:=0.0;   f:=1.2345; h:=-1.2345; p:=0.0;
  
-  writeln(s);             {записываем текст в файл fout+  writeln(s);             {записываем текст в файл output
-  writeln(a:8, b:8, c:8); {записываем три целых числа в файл fout+  writeln(a:8, b:8, c:8); {записываем три целых числа в файл output.txt
-  writeln(a:8:5, b:8:5c:8:1); {записываем три дробные числа в файл fout}+  writeln(f:8:5, h:8:4p:8:1); {записываем три дробные числа в файл output.txt}
  
   close(output) {обязательно закрываем файл после завершения работы с ним}   close(output) {обязательно закрываем файл после завершения работы с ним}
Строка 112: Строка 114:
 </code> </code>
  
 +Важно помнить, что **заменив стандартный ввод/выдод Вы не сможете читать данные с клавиатуры или писать на экран**.
 +
 +==== Разбор строки ====
 +Пусть дан входной файл вида
 +<code>
 +2
 +fam name 5
 +fam2 name2 4
 +</code>
 +
 +Прочитаем из него данные, поместив значения из строки в разные переменные
 +
 +<code pascal>
 +var
 +    s:string;
 +    c:char;
 +    i:integer;
 +    n : integer;
 +    fname, name:string;
 +    mark:integer;
 +    position : integer;
 +begin
 +assign(input,'data.txt');
 +reset(input);
 +readln(n);
 +
 +for i := 1 to n do
 +begin
 +        readln(s);
 +        //fname
 +        position := pos(' ', s);
 +        fname := copy(s, 1, position);
 +        delete(s,1,position);
 +        //name
 +        position := pos(' ', s);
 +        name :=  copy(s, 1, position);
 +        delete(s,1,position);
 +        //mark
 +        val(s, mark);
 +        writeln('fname: ',fname, ' name: ', name, ' mark: ', mark);
 +end;
 +
 +close(input);
 +
 +end.
 +</code>
 +
 +В результате получим:
 +
 +<code>
 +fname: fam  name: name  mark: 5
 +fname: fam2  name: name2  mark: 4
 +</code>
 +
 +==== Процедуры и функции ====
 +^ Имя ^ Описание ^
 +|<code pascal>-</code>|-|