RESET(F1);
WHILE NOT EOF(F1) DO BEGIN READ(F1, X); IF (X> = '0') AND (X<= '9') THEN BEGIN К:= ORD(X)-ORD('0'); SUM:= SUM+K END; END; WRITELN('SUM =:', SUM); CLOSE(F1); END. Для решения задачи: - формируем тело программы и описываем переменные; - привяжем файл TWO к файловой переменной F1 и откроем его на чтение; - организуем цикл по считыванию элементов файла F1 и подсчету количества цифр в нем до тех пор, пока не будет найден конец файла F1 с помощью функции EOF(Fl); - выводим результат; - закрываем файл. Переменные: F1 - текстовый файл; X - очередной элемент файла; К - вспомогательная переменная; SUM - сумма цифр.
Borland Pascal Version 7.0 Copyright (с) 1983, 92 Borland International SUM =: 140 Рис. 8.5. Результат работы PRG8_4 Задача 8.5 Построить конкатенацию (последовательную запись) файла TWO самого с собой. В данном случае для того, чтобы открывать файл только один на чтение, нужно воспользоваться процедурой настройки на требуемый компонент ]SEEK(F1, 0) -пи возврата к началу файла F1. Эта процедура будет доступна только при том условии, если указать тип файла F1, например как файл символов. ROGRAM PRG8_5; VAR F1: FILE OF CHAR; F2: TEXT; X: CHAR; I: INTEGER; BEGIN ASSIGN(F1, 'TWO'); RESET(F1); ASSIGN(F2,' '); REWRITE(F2); FOR I:= 1 ТО 2 DO BEGIN WHILE NOT E0F(F1) DO BEGIN READ(F1, X); WRITE(F2, X) END; WRITELN; SEEK(F1, 0) END; WRITELN; CLOSE(F1); CLOSE(F2) END. Для решения задачи: - формируем тело программы и описываем переменные; - привяжем файл TWO к файловой переменной F1 и откроем его на чтение; - переменную F2 свяжем со стандартным устройством вывода - экраном дисплея и откроем его на вывод; - организуем двукратный последовательный просмотр по считыванию элементов файла F1 и записи их в файл F2; - закрываем оба файла. Переменные: F1 - файл символов; F2 - текстовый файл; X - очередной элемент файла.
|