Тема Паскаль 7: Использование текстовых файлов для ввода и вывода информации


Тема: Использование текстовых файлов для ввода и вывода информации

Цель: научить учащихся работать в среде Турбо Паскаль, ознакомить с использованием текстовых файлов для ввода и вывода информации. Развивать навыки работы с ПК и логическое мышление.

Тип урока: комбинированный.

Оборудование: компьютеры, программное обеспечение, раздаточный материал

Ход урока

И. Организационный момент

ИИ. Мотивация учебной деятельности

ИИИ. Сообщение темы и цели урока

ИV. Объяснение нового материала

Что такое файл?

Оксфордский толковый словарь английского языка подает слово «файл» так:

— это любой из различных типов выдвижных ящиков, полок, коробок и т. п., как правило, с металлическим стержнем для содержания бумаг вместе и в порядке так, чтобы их легко было найти; 
— это ряд людей или вещей, расположенных друг за другом. 

Авторы операционной системы MS DOS называют файлом именуемую область на внешнем носителе информации, например, на дискете. Эта область содержит некую информацию, например, программу или входные данные к ней. Но как обработку этой области задавать в Паскаль-программе?

На этот вопрос мы попытаемся ответить. По крайней мере частично и на примере системы Турбо Паскаль.

Файл — это самостоятельная последовательность символов, записанная в постоянную память компьютера. Это определенная выделенная область информации.

Существование файлов не зависит от работы какой-либо программы и они никуда не исчезают даже при включении и выключении компьютера.

Читать  Базовые структуры алгоритмов – Виды алгоритмов

Файлы могут хранить в себе различную информацию. Это тексты, программы, вирусы, картинки, интернет страницы и так далее.

Когда и зачем нужно использовать файлы?

Не всегда нам удобно пользоваться командной строкой при вводе и выводе информации в программе. Например:

·   необходимо сохранять исходные данные при отладке;

·   большое количество входных данных (тот, кто вручную тестировал программы с заполнением матриц, меня понимает)

·  многократное введение одной и той же информации, с минимальными изменениями или вовсе без изменений;

Так вот в этих и других случаях к нам на помощь приходит умение работать с файлами.

Как описать файловые переменные?

В разделе описания следующую запись

Var

F1, f2: text;

Говорит о том, что переменные f1 и f2 это текстовые файлы (которые мы можем открыть с помощью блокнота, посмотреть, и при необходимости редактировать).

Как установить связь между файловой переменной и самым фалом?

Для ответа на этот вопрос есть специальная процедура

Assign (f, ‘имя_файла’); — устанавливает связь между файловой переменной и самым файлом

Которая помогает нам это сделать. Фактически мы говорим, что переменной f соответствует такое-то имя файла. Например текстовый файл input. txt

Здесь имеется в виду, что файл с самой программой находится в той же папке, что и текстовый файл input. txt. Если же он в другой папке, то нам надо указать относительное расположение этого файла.

Читать  Тема 4 Паскаль: Указание повторения (циклы), понятие цикла

«Имя_файла» — полный путь к указанному файлу, записанный в относительной или абсолютной форме.

Как создать, открыть, сохранить и закрыть файл?

После того, как мы установили соответствие файловой переменной и самого файла мы можем начинать выполнять различные операции над этим файлом:

Открыть для чтения Reset (f); Если файла не существует, то будет выведена ошибка.

Создать или перезаписать Rewrite (f); Если файла не существует, то он будет создан;

Создать или открыть и дописать в конец файла Append (f) Если файла не существует, то он будет создан;

Сохранить и закрыть файл Close (f);

То, что мы только что перечислили — это просто внешняя работа с файлом.

Как использовать или изменить содержимое файла?

Для того что бы делать какие-либо внутренние изменения в самом файле так же существуют команды

Read (f, a, b) — читать из файла f две переменные a и b. После выполнения этой процедуры указатель в файле передвинется по переменную b;

  Readln (f, a, b, c) — читать из файла f трех переменных a, b и c, а затем перевести указатель (курсор) на начало следующей строки; если кроме уже считанных переменных в строке содержалось еще что-то, то оно будет проигнорировано.

Write (f, a, b, c) — записать в файл f переменные a, b и c;

Writeln (f, a, b) — записать в файл f переменные a и b, а затем записать туда же символ «конец строки».

Читать  Тема 1 Паскаль: Формализация и алгоритмизация вычислительных процессов

Задача.

Сформировать файл F, компонентами которого являются целые числа ci = 2i + 3i + 1. Количество чисел равна n, где n — натуральное число.
Переписать компоненты файла F в файл G с отрицательным знаком. Последним числом в файл G записать сумму полученных компонентов.

1

Программа:

 var G, F: file of integer;

  i, j, n: integer;
  s: integer;
  c, c1, c2: integer;
Begin

Writeln;

Write ( ‘Vvedite n:’);

Readln (n);

Assign (G, «C: g. txt ‘);

Assign (F, ‘C: f. txt’);

Rewrite (F)

For i: = 1 to n do

Begin

C1 = 1;

C2 = 1;

For j = 1 to i + 1 do begin

If j <i + 1 then c1 = c1 * 2;

C2 = c2 * 3;

End;

C = c1 + c2;

Write (F, c)

End;

Close (F)

Reset (F)

Rewrite (G)

S: = 0;

While not Eof (f) do
Begin

Read (F, c)

If c> 0 then c = c * (- 1);

Write (G, c)

S = s + c;

End;

Write (G, s);

Close (F)

Close (G)

Reset (G)

Writeln ( ‘Komponenty fajla j:’);

While not Eof (G) do
Begin

Read (G, c)

Write (c)

End;

Readln;

End.

1

Пример. Вывод таблицы значений функции в файл.

Программа:

Program file_of_values;

Var

Х: Real;

K: Word;

Out_file: Text; {Тип Text соответствует файла. состоящий из строк текста}

Function F (x: Real): Real; 

Begin

F = x / d. O + x)

End;

Begin

Assign (out_file, «c: user ivanov table. dat ‘);

Читать  Поиск элемента в таблице – Типичные задачи при работе с таблицами

Rewrite (out_file)

X = 0.0;

WriteLn (out_file, «Таблица значений функции F (x) = x / (l + x) ‘);

WriteLn (out_file)

WriteLn (out_file, «x»: 9, «F (x) ‘: 19)

WriteLn (out_file)

For k: = 0 to 50 do 

Begin

WriteLn (out_file, x: 9: 3, F (x): 19: 9);

X = x + 0.1:

If k mod 10 = 9 then WriteLn (out_file) 

End;

Close (out_file) 

End.

Здесь Text обозначает тип файла, состоящего из символов, организованных в строки. Такой файл создается обычным текстовым редактором, содержит текст и называется текстовым файлом.

Процедура Assign модуля System связывает специальную файловую переменную Out_file с файлом на диске, имеет то имя, которое задает программист. В нашем случае это Файлtable. dat, который находится в каталоге Userна диске С :. В этот момент файловая переменная только связывается с именем файла — ничего больше не происходит.

Процедура Rewrite открывает файл для записи и, если файл Table. dat уже существует на диске, удаляет его содержимое. Об этом не следует забывать! В дальнейшем процедура Close закрывает файл, выполнив предварительно его полное обновление, и размещает его на диске.

Обратите особое внимание на то, как используется оператор WriteLn, когда вывод направляется в файл, отличный от файла Output, задаваемый по умолчанию. Процедура WriteLn в общем случае имеет вид

WriteLn (par_1, раг_2, …. раr_n) 

с произвольным числом параметров par_i. Если первым параметром является файловая переменная, то все другие значения записываться в соответствующий файл, иначе они будут выводиться на экран (то есть на стандартное устройство вывода).

Читать  Тема 3 Паскаль: Указания разветвления, Составной оператор и оператор перехода

V. Домашнее задание

Конспект, п. 2.16. ст. 208

VI. Подведение итогов занятия

Отметить активных учеников, поставить оценки за работу

[Всего голосов: 3    Средний: 5/5]