Мои Конспекты
Главная | Обратная связь

...

Автомобили
Астрономия
Биология
География
Дом и сад
Другие языки
Другое
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Металлургия
Механика
Образование
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Туризм
Физика
Философия
Финансы
Химия
Черчение
Экология
Экономика
Электроника

Операции открытия и закрытия файла.





Помощь в ✍️ написании работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

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

ASSIGN(F,D);

где F - файловая переменная, D - имя файла в виде строкового выражения. Например,

ASSIGN ( F, ’FFF.DAT’);

ASSIGN ( G, ’C:\MYDIR\SSS.DAT’ );

 

Процедуры RESET и REWRITE предназначены для открытия файлов. Например:

RESET (F);

REWRITE (F);

Процедура RESET предполагает, что открываемый файл уже существует, в противном случае возникает ошибка.

Процедура REWRITE допускает, что файл не существует, в этом случае он создается; если файл существует, то REWRITE очищает его.

В обоих случаях текущий указатель файла устанавливается на его нулевой элемент.

Процедура CLOSE завершает действия с файлом:

CLOSE (файловая переменная);

Например:

СLOSE (F);

CLOSE (G);

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

Операции ввода-вывода.Операции ввода-вывода реализуются с помощью процедур READ и WRITE. Они могут вызываться с различным числом параметров. Эти параметры могут иметь различные типы.

READ читает запись из файла в программу:

READ(F, A);

где F - файловая переменная; A - список ввода переменных, в которые будут помещаться читаемые из файла значения (тип А должен совпадать с типом файловой переменной).

Действия, осуществляемые при чтении элемента файла:

· читается элемент файла, на котором стоит указатель;

· прочитанное значение присваивается переменной из списка ввода;

· указатель смещается на следующий элемент файла.

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

Процедура WRITE записывает в файл информацию из программы.

WRITE (F, В);

где F - файловая переменная; В – выражение; тип выражения должен совпадать с типом файловой переменной.

Действия, осуществляемые при записи данных в файл:

· выражение помещается в файл в место, отмеченное указателем;

· указатель передвигается на одну позицию.

 

Перемещение по файлу. Изменение положения указателя осуществляется с помощью оператора:

SEEK(F, I);

где F - переменная файлового типа, I - порядковый номер элемента файла, на который необходимо установить указатель (тип переменной - LONGINT). Например, оператор установки указателя на начало файла имеет вид:

SEEK(F,0);

Функция FILESIZE (файловая переменная) возвращает общее число элементов файла.

Функция FILEPOS(файловая переменная) возвращает номер элемента, на который установлен текущий указатель.

Например,

SEEK(F, FILESIZE(F)-1); – устанавливает указатель на последнюю запись файла (последний элемент).

SEEK(F, FILESIZE(F)); - устанавливает указатель за последний элемент файла.

SEEK(F, FILEPOS(F)+1) пропуск элемента.

 

Функция EOF(файловая переменная) дает значение TRUE, если достигнут конец файла, FALSE – в противном случае.

 

Процедура TRUNCATE используется для отсечения от файла элементов, начиная с текущей позиции указателя включительно.

TRUNCATE (файловая переменная);

 

Команды:

{$I-} отключение автоматического контроля за правильностью открытия файла и возможность приостановить работу программы после открытия файла;

{$I+} включение автоматического контроля за правильностью открытия файла, при неправильном открытии файла происходит аварийное завершение программы.

IORESULT – функция, дающая некоторое целое число, анализируя которое, можно оценить, удачно или неудачно прошла процедура открытия файла. Если функция равна 0, то файл открылся нормально.

Пример 1. Сформировать файл F, компоненты которого являются целыми числами. Переписать в файл Н кратные 5, а в файл G не кратные 5 элементы.

VAR

H,G,F: FILE OF INTEGER;

A,I: INTEGER;

BEGIN

ASSIGN(F,’FFF.DAN’);

REWRITE(F);

A := 1;

WHILE A <> 0 DO

BEGIN

WRITE(‘Ведите число, конец ввода – 0’);

IF A <> 0 THEN WRITE (F,A);

END;

SEEK(F,0);

ASSIGN(H,’HHH.DAN’);

REWRITE(H);

ASSIGN(G,’GGG.DAN’);

REWRITE(G);

FOR I:=1 TO FILESIZE(F) DO

BEGIN

READ(F,A);

IF A MOD 5 =0 THEN WRITE(H,A) ELSE WRITE(G,A);

END;

WRITE(‘ФАЙЛ F’);

SEEK(F,0);

FOR I:= 1 TO FILESIZE(F) DO

BEGIN

READ(F,A);

WRITE(A,’ ‘);

END;

WRITELN;

WRITELN(‘ФАЙЛ Н, КРАТНЫЕ 5’);

SEEK(H,0);

WHILE NOT EOF(H) DO

BEGIN

READ(H,A);

WRITE(‘A,’ ‘);

END;

WRITELN;

SEEK(G,O);

WRITELN(‘ФАЙЛ G, НЕ КРАТНЫЕ 5);

WHILE NOT EOF(G) DO

BEGIN

READ(G,A);

WRITE(A,’ ‘);

END;

WRITELN;

CLOSE(F);

CLOSE(G);

CLOSE(H);

READLN;

END.

 

Пример 2. Написать программу формирования и вывода содержимого файла на экран в виде таблицы. Каждая запись файла имеет поле: номер зачетки, ФИО, стипендия. Предусмотреть возможность добавления записей в файл, если он существует и первоначального ввода, если файла нет. Режимы работы вывести на экран в виде меню:

Меню

1. Ввод

2. Вывод

3. Выход

Список студентов

Номер зачетки ФИО Стипендия
13 поз. 20 поз. 9 поз.

 

Ширина таблицы 46 позиций (13+20+9+4 позиции для разделителей).

Текст программы.

USES CRT; { использование модуля CRT, доступ к экрану в текстовом режиме }

TYPE

STUD=RECORD

NZ: STRING[10];

FIO: STRING[20];

STIP: REAL;

END;

VAR

F: FILE OF STUD;

A: STUD; N, L : INTEGER; T:REAL;

BEGIN

ASSIGN (F, ‘ST.REZ’);

{$I-}

RESET(F);

L := IORESULT;

{$I+}

IF L <> 0 THEN REWRITE (F);

N:=0; {НОМЕР РЕЖИМА РАБОТЫ}

WHILE N<=2 DO

BEGIN

CLRSCR;

(* X – ПОЗИЦИЯ В СТРОКЕ, Y - СТРОКА*)

GOTOXY (30, 10); WRITELN (‘МЕНЮ’);

GOTOXY (20, 14); WRITELN (‘1. ВВОД’);

GOTOXY (20, 16); WRITELN (‘2. ВЫВОД’);

GOTOXY (20, 18); WRITELN (‘3. ВЫХОД’);

GOTOXY (15, 20);

WRITE (‘ВВЕДИТЕ НОМЕР РЕЖИМА РАБОТЫ =>’);

READLN (N);

CLRSCR;

CASE N OF

1: BEGIN

IF L=0 THEN SEEK (F, FILESIZE(F));

A.NZ:=’1’;

WHILE A.NZ<>’0’ DO

BEGIN

WRITE(‘ВВЕДИТЕ НОМЕР ЗАЧЕТКИ ИЛИ 0, ЕСЛИ КОНЕЦ ВВОДА =>’);

READLN(A.NZ);

IF A.NZ <> ‘0’ THEN

BEGIN

WRITE (‘ФИО=>’); READLN (A.FIO);

WRITE (‘СТИПЕНДИЯ=>’); READLN (A.STIP);

WRITE (F,A);

END;

END;

RESET(F); L:=0;

END;

2: BEGIN

IF L<>0 THEN BEGIN

WRITELN (‘ФАЙЛ ПУСТ’);

READLN;

END;

IF L =0 THEN

BEGIN

SEEK (F, 0);

WRITELN (‘ СПИСОК СТУДЕНТОВ’);

WRITELN (‘_____________________________________________’);

WRITELN (‘| НОМЕР ЗАЧЕТКИ | ФИО | СТИПЕНДИЯ |’);

WRITELN (‘_____________________________________________’);

T:=0;

WHILE NOT EOF (F) DO

BEGIN

READ (F,A);

WRITELN (‘| ‘, A.NZ:10, ‘ |’, A.FIO:20, ‘| ’, A.STIP:6:2, ‘ |’);

T:=T+A.STIP;

END;

WRITELN (‘_____________________________________________’);

WRITELN(‘| ИТОГО |’,T:8:2,’ |’);

WRITELN (‘_____________________________________________’);

READLN;

END;

END;

3: CLOSE (F);

END; {КОНЕЦ CASE}

END; {КОНЕЦ WHILE-МЕНЮ}

CLRSCR;

END.

 

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

1. Назовите основные типы языков программирования.


2. Чем отличаются компиляция и интерпретация.

3. Определение алгоритма.

4. Формы представления алгоритмов.

5. Типы (базовые структуры) алгоритмов.

6. Назовите простые типы данных.

7. Определение оператора.

8. Составной оператор.

9. Простейшие операторы Паскаля.

10. Виды операторов цикла в Паскале.

11. Основные этапы жизненного цикла программного обеспечения.

 

Рекомендуемый библиографический список

1. Вычислительная техника и программирование: Учебник для техн. вузов / А.В. Петров, В.В. Алексеев, А.С. Баулин и др.; Под ред. А.В. Петрова. М.: Высш. Шк., 1990.

2. Зуев Е.А. Язык программирования TURBO PASCAL 6.0, 7.0.-М.: Веста, Радио и связь, 1993.

3. Фаронов В.В. Турбо-Паскаль 7.0. Начальный курс. Учеб. пособие. М.: «Нолидж», 1999.

 

ЗАКЛЮЧЕНИЕ

 

В любой отрасли техники накопленный опыт имел ценность не одно десятилетие. Знания в области вычислительной техники и информатики, приобретенные 10 лет назад, составляют лишь доли процента знаний, необходимых сегодня.

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

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

Доверь свою работу ✍️ кандидату наук!
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой



Поиск по сайту:







©2015-2020 mykonspekts.ru Все права принадлежат авторам размещенных материалов.