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