Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КНИГА_Учимся программировать TURBO PASCAL 7.doc
Скачиваний:
32
Добавлен:
19.08.2019
Размер:
1.62 Mб
Скачать

International

ffffff d s

j h . g f d s

dddd ss aa ttttt rrewqq

Рис. 8.7. Результат работы PRG8_6

Задача 8.7 Построить конкатенацию (последовательную за­пись) файла TWO самого с собой, только записан­ного задом наперед.

PROGRAM PRG8_7;

Var f1 : file of char;

F2 : TEXT;

X : char;

L, I: INTEGER;

BEGIN

ASSIGN(F1,'TWO');

RESET(F1);

ASSIGN(F2, ");

REWRITE(F2);

L:=FILESIZE(F1);

WHILE NOT EОF(F1) DO

BEGIN

READ(F1, X);

WRITE(F2, X)

END;

WRITELN;

FOR I := L-1 DOWNTO 0 DO

BEGIN

SEEK(F1, I);

READ(F1, X);

WRITE(F2, X)

END;

WRITELN;

CLOSE(F1);

CLOSE(F2)

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- привяжем файл TWO к файловой переменной F1 и откроем его на чтение;

- переменную F2 свяжем со стандартным устройством выво­да - экраном дисплея и откроем его на вывод;

- организуем двукратный последовательный просмотр по счи­тыванию элементов файла F1 и записи их в файл F2 (пер­вый просмотр - от начала до конца, второй - от конца до начала);

- закрываем оба файла.

Переменные:

F1 - файл символов;

F2 - текстовый файл;

X - очередной элемент файла;

L - длина файла;

I - переменная цикла.

Borland Pascal Version 7.0 Copyright (с) 1983, 92 Borland

International

qqwerr ttttt aa ss dddd

s d f g . h j

s d ffffff

ffffff d s

jh.gfds

dddd ss aa ttttt rrewqq

Рис. 8.8. Результат работы PRG8_7

Задача 8.8 Удалить в файле TWO текст после первой точки.

В данной программе следует использовать функцию TRUNCATE(Fl) для удаления части файла начиная с текущей по­зиции.

PROGRAM PRG8_8;

Var f1 : file of char;

F2 : TEXT;

X : char;

К : INTEGER;

BEGIN

ASSIGN(F1, 'TWO');

RESET(FI);

ASSIGN(F2,' ');

REWRITE(F2);

K:=-1;

WHILE NOT EOF(F1) DO

BEGIN

K:=K+1;

READ(F1, X);

IF X<>'.' THEN WRITE(F2, X)

ELSE

BEGIN

SEEK(F1, K+1);

WRITE(F2, X);

TRUNCATE(FI)

END;

END;

WRITELN;

CLOSE(F1);

CLOSE(F2)

END.

Для решения задачи:

- формируем тело программы и описываем переменные;

- привяжем файл TWO к файловой переменной F1 и откроем его на чтение;

- переменную F2 свяжем со стандартным устройством выво­да - экраном дисплея и откроем его на вывод;

- организуем последовательный просмотр по считыванию элементов файла F1 и записи их в файл F2 до первой точки;

- удаляем остаток файла со следующей позиции;

- закрываем оба файла.

Переменные:

F1 - файл символов;

F2 - текстовый файл;

X - очередной элемент файла;

К - вспомогательная переменная.

Borland Pascal Version 7.0 Copyright (с) 1983, 92 Borland

International

qqwerr ttttt aa ss dddd

sd f g .

Рис. 8.9. Результат работы PRG8_8

Практические задания

1. Даны два файла F1 и F2. Конкатенировать их друг с другом, записав в третий файл F3.

2. Дан файл, каждая строка которого - целое число. Найти наи­меньшее число и поставить его первым.

3. Дан файл, каждая строка которого - целое число. Упорядочить строки этого файла по возрастающей.

4. Слить в один два упорядоченных по возрастающей файла це­лых чисел. Файл-результат тоже должен быть упорядочен по возрастающей.