Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Паскаль_теория.doc
Скачиваний:
8
Добавлен:
08.11.2018
Размер:
341.5 Кб
Скачать

3.Контрольные вопросы.

  1. Что называется файлом, какого типа могут быть компоненты файла, сколько компонентов может содержать файл?

  2. Какие существуют виды файлов, в чём их сходство и в чём отличие?

  3. Какие процедуры и функции используются для всех файлов.

  4. Какие процедуры и функции используются для типизированных файлов?

Тема: “Файлы, текстовые файлы”.

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

План работы.

1. Повторить теорию.

2. Выполнить практическую часть на компьютере, записав ответы в тетрадь.

3. Ответить на контрольные вопросы Ход работы. Теория.

Текстовый файл – это совокупность строк переменной длины. Доступ к файлу возможен только последовательный, начиная с первой строки. Текстовый файл можно создавать с помощью любого редактора в конце текста необходимо ставить признак конца строки (обычно это есть нажатие клавиши enter), конце файла необходимо ставить признак конца файла.

Признаком конца стоки является функция end of line (eoln(файловая переменная)).

Признаком конца файла является функция end of file (eof(файловая переменная)).

В текстовый файл данные можно записывать только в конец файла с помощью процедуры APPEND(имя файловой переменной), эта процедура открывает файл для записи, но указатель устанавливает на номер после последнего элемента файла. Для записи в файл можно применять read и readln, Write и writeln.

  1. Практическая часть.

Задание 1. Наберите заданную программу для решения следующей задачи: Скопировать текстовый файл в другой текстовый файл с сохранением строчной структуры text1.txt в text2.txt.

Рассмотрим 2 способа решения данной задачи:

1 способ (копирование посимвольное):

program copir;

var f1,f2:text;

s:integer;

begin assign (f1,’text1.txt’);

assign (f2,’text2.txt’);

reset(f1); rewrite(f2);

while not eof(f1) do begin

while not eoln(f1) do begin

read(f1,s); write(f2,s); end;

readln(f1);

writeln(f2); end; close(f1); close(f2); end.

2 способ (копирование построчное):

program copir;

var f1,f2:text; st:string;

begin assign (f1,’text1.txt’);

assign (f2,’text2.txt’);

reset (f1); rewrite(f2);while not eof(f1) do begin

readln(f1,st);

writeln(f2,st);

end;

close(f1); close(f2); end.

Задание 2. Наберите заданную программу для решения следующей задачи: Дан текстовый файл с именем 'text1.txt', вывести на экран строку, содержащую наибольшее количество строк.

Program textfile;

var

f:text; b:array[1..56]of integer; st:string;

l,i,j,k :integer;

begin

assign(f,'text1.txt');

reset(f); i:=1;

while not eof (f) do begin k:=1;

read(f,st);

for l:=1 to length(st) do

if st[l]=' ' then k:=k+1;

b[i]:=k; i:=i+1; readln(f);end;

For j:=1 to i do

write(b[j]:6); max:=b[1];

for j:=1 to i do begin

if b[j]>max then begin max:=b[j]; N:=j; end; end;

reset (f); l:=1;

while not eof(f) do begin

if l=n then while not eoln(f) do begin read(f,st);

write(st);

end;

readln(f); l:=l+1; end; end.

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