Считывание из файла pascal

Считывание из файла pascal

Процедура reset открывает файл для чтения. Т.е. мы можем в дальнейшем в программе извлекать данные из файла с помощью процедуры read.

Данные извлекаются «порциями» базового типа. В данном примере – это char (символы).

Чтение данных из файла продолжается до тех пор, пока не будет достигнут конец файла. Функция eof проверяет достигнут ли конец файла, переданного ей в качестве аргумента и, если достигнут, возвращает true. Выражение not eof (f) проверяет обратное – то, что конец файла еще не достигнут.

Для чего нам нужно уметь работать с файлами в Паскаль?

А для того, чтобы Вы могли начать самостоятельно решать задачи на портале и зарабатывать рейтинг.

Ранее мы рассмотрели ввод вывод данных в Паскаль. Ввод данных в этом случае осуществлялся вручную, с помощью клавиатуры и результат мы также смотрель сами в окне вывода. Для того чтобы Вам быть увереным в том, что программа написана правильно необходимо протестировать её.

Для того чтобы наша система автоматически тестировала Ваше решение необходимо, ввод и вывод данных осуществлять из текстовых файлов.

Ввод мы будем осуществлять из файла input.txt

Вывод будем производить в файл output.txt

Это не только наш принцип, по такой же схеме тестируются задачи на всех этапах республиканских олимпиад по информатике. Так что это важный момент, который Вам необходимо освоить.

Для того, чтобы организовать ввод данных из файла нам надо:

(буду писать так, чтобы было легко понять и запомнить, не научно)

1. Завести преременную типа текст и переменную в которую будем записывать прочитанное значение.

2. Связать эту текстовую переменную с файлом из которого будет производиться чтение.

3. Открыть файл для чтения.

4. Теперь можно читать данные. Тут нужно понимать и помнить отличия процедуры read, от readln. Про что я? Если в файле данные записаны в одной строке, через пробел, то мы пользуемся все время процедурой read столько раз, сколько чисел нужно прочитать.

Если же строк несколько, то когда доходим до символа стоящего в конце строки, используем readln. В результате чего будет считано последнее число строки и курсор переместится на новую.

Внимание! Для чтения из файла в скобках необходимо на первом месте указать ту текстовую переменную которую Вы связали с входным файлом, затем список переменных для чтения.

Самой распространенной ошибкой является то что забывают ставить эту переменную (текстовую).

5. Как только мы прочитали все переменные необходимо закрыть файл.

Внимание! Процедура close освобождает переменную t и мы можем её использовать в других целях, например для вывода данных. Если мы её не закрыли (нужно продолжать чтение), то для вывода необходимо будет завести еще одну текстовую переменную.

Все! На этом ввод окончен.

Читайте также:  Гленморанж виски 10 лет отзывы

Опишем процесс вывода результатов в текстовый файл.

1. Опять как и в случае со вводом, необзодимо связать текстовую переменную с выходным файлом. Только файл уже называется (для нашего портала) output.txt.

2. Затем необходимо создать или перезаписать файл output.txt

3. Выводим данные. Не забываем ставить файловую переменную в начале списка вывода.

4. Как и в предидущем случае после вывода всех данных необходимо закрыть файл.

Запишем программу целиком.

Практическое задание к уроку.

Ваша задача сейчас состоит в том, чтобы ввести программу в среде программирования Free Pascal (можно и в ABC Pascal) и запустить ее на исполнение.

Если у Вас появилась ошибка типа:

Ошибка ввода/вывода 2: Не удается найти указанный файл (для ABC Pascal)

exited with exitcode=2 (для Free Pascal),

создайте в папке где сохранена ваша программа файл input.txt и введите в него число.

В этой же папке, после удачного (без ошибок) запуска программы на исполнение должен появиться файл output.txt .

Для любознательных!

Блог содержит уроки для подготовки школьников к олимпиадам по информатике

Страницы

Уроки 39, 40 Чтение и запись данных в файл на Паскаль.

Для чего нам нужно уметь работать с файлами в Паскаль?
Ранее мы рассмотрели ввод и вывод данных в Паскале. Он осуществлялся вручную, с помощью клавиатуры и результат мы также смотрели сами в окне вывода. Для того чтобы быть уверенным в том, что программа написана правильно необходимо протестировать её. Для того чтобы специальные тестирующие системы автоматически проверяли решение необходимо, ввод и вывод данных осуществлять из текстовых файлов. По такой же схеме тестируются задачи на всех этапах республиканских олимпиад по информатике.

Читайте также:  Состав слов из букв

Ввод мы будем осуществлять из файла input.txt

Вывод будем производить в файл output.txt

Для организации ввода данных из файла надо:

2. Открыть файл для чтения:
reset(input);

3. При работе нужно понимать и помнить отличия процедуры read, от readln. Если в файле данные записаны в одной строке, через пробел, то мы пользуемся все время процедурой read столько раз, сколько чисел нужно прочитать.
Если же строк несколько, то когда доходим до символа стоящего в конце строки, используем readln. В результате чего будет считано последнее число строки и курсор переместится на новую.
read(a); readln(a);

Например, указан следующий формат ввода:

Для организации вывода данных в файл надо:

2. Открыть файл для записи:
rewrite(output);

3.Для вывода используем операторы write и writeln также, как и было до сих пор.

Задание 1. Перенаправление. Прочитайте число n из файла input.txt и выведите его в файл output.txt

Входные данные:
В единственной строке входного файла input.txt записано число.
Выходные данные:
В единственную строку выходного файла output.txt нужно вывести в точности то же число, которое задано во входном файле.

Program z1;
var a:longint;
Begin
assign(input,’input.txt’);
reset(input);
read(a);
close(input);
assign (output,’output.txt’);
rewrite(output);
writeln(a);
close(output);
End.

Экспериментальный раздел

Наберите программу в среде программирования Free Pascal, запустите ее на исполнение. У Вас может появится ошибка типа:
exited with exitcode=2 (для Free Pascal), если файла input.txt нет.

Создайте в папке, где сохранена ваша программа файл input.txt и введите в него число.

В этой же папке, после удачного (без ошибок) запуска программы на исполнение должен появиться файл output.txt.

Создание входного файла
Нажать F3, в открывшемся окне диалога Открыть файл написать имя входного файла (например, input.txt).
Если файл не существовал, среда Паскаля откроет пустое окошко с нужным именем. Ввести данные.
Не забыть нажать F2 — сохранить изменения.

Читайте также:  Настройка роутера netgear n150 wnr612v2

Открытие входного и выходного файлов
Переместить курсор на строку в одиноч­ных кавычках, содержащую имя файла, например ‘input.txt’ в операторе assign.
Нажать Ctrl+Enter.
После изменения входных данных не забыть сохра­нить файл — F2.

Переход между окнами входных, выходных данных и текстом программы осуществляется нажатием клавиши F6.

Задание 2. Сумма двух чисел. Даны числа А и В (0

Входные данные:
В первой строке входного файла содержится единственное число А, (0 Тесты Посмотреть решение

Задание 3. Перепутал строки. Даны два числа А и В(0

Входные данные:
Первая строка входного файла содержит число А.
Вторая строка входного файла содержит число В.
(0 Тесты Посмотреть решение

Во второй строке входного файла содержатся N чисел через пробел — элементы массива

Выходные данные:
Первая строка — количество отрицательных элементов массива

Задание 6. Имеются два текстовых файла, состоящие из одной строки. Переписать строку первого файла во второй, а строку второго файла — в первый. Использовать вспомогательный файл.


Program z6;
var s,t:string;
Begin
assign(input,’t1.txt’);
reset(input);
read(s);
close(input);

assign(input,’t2.txt’);
reset(input);
read(t);
close(input);

assign (output,’t.txt’);
rewrite(output);
writeln(s);
close(output);

Задачи для самостоятельного решения

1. Создайте текстовый файл на диске, заполненный N целыми числами, записанными через пробел.
а) Выведите на экран сумму этих чисел, среднее арифметическое и произведение;
б) то же вывести в файл в отдельные строки.

2. Дан файл, заполненный целыми числами через пробел. Вывести в новый файл все:
а) четные числа;
б) числа, делящиеся на 3 и не делящиеся на 7.

3. Имеется текстовый файл, состоящий из n строк, записанных в столбик. Переписать его строки в другой файл. Порядок строк во втором файле должен:
а) совпадать с порядком строк в заданном файле;
б) быть обратным по отношению к порядку строк в заданном файле.

4. Имеется текстовый файл, состоящий из n строк, записанных в столбик. Все четные строки этого файла записать во второй файл, а нечетные — в третий файл. Порядок следования строк сохраняется.

Ссылка на основную публикацию
Ярлычок листа в экселе
Ярлыки листов Excel Ярлыки листов Excel располагаются внизу слева в области рабочей книги. Имя каждого рабочего листа появляется на соответствующем...
Электродвигатель д4 15б кинопроектора луч 2
Н. ХЛЮПИН, г. Киров Скорость проекции фильма должна быть такой, чтобы частота мельканий изображения равнялась частоте полей телесигнала — 50...
Электромобили в китае производители
Вопросы загрязнения воздуха постоянно поднимаются на мировых конференциях, посвященных экологической ситуации. Первым шагом в ее сохранении является уменьшение количества выхлопных...
Считывание из файла pascal
Процедура reset открывает файл для чтения. Т.е. мы можем в дальнейшем в программе извлекать данные из файла с помощью процедуры...
Adblock detector