Информатика и информационные технологии
Шрифт:
5. Function FileSize(var F): Integer;
Возвращает размер в байтах файла F.
6. Function FilePos(var F): LongInt;
Возвращает текущую позицию внутри файла.
7. Procedure Reset(var F [: File; RecSize: Word]);
Открывает существующий файл.
8. Procedure Rewrite(var F: File [; Recsize: Word]);
Создает и открывает новый файл.
9. Procedure Seek(var F; N: LongInt);
Перемещает текущую позицию файла к определенному компоненту.
10. Procedure Append(var F: Text);
Дозапись.
11. Function Eoln[(var F: Text)]: Boolean;
Проверяет
12. Procedure Read(F, V1 [, V2…, Vn]);
{Типизированные и нетипизированные файлы}
Procedure Read([var F: Text;] V1 [, V2…, Vn]);
{Текстовые файлы}
Читает компонент файла в переменную.
13. Procedure Readln([var F: Text;] V1 [, V2…, Vn]);
Считывает строку символов в файле, включая маркер конца строки, и переходит к началу следующей.
14. Function SeekEof[(var F: Text)]: Boolean;
Возвращает признак конца файла. Используется только для открытых текстовых файлов.
15. Procedure Writeln([var F: Text;] [P1, P2…, Pn]);
{Текстовые файлы}
Выполняет операцию Write, затем помещает метку конца строки в файл.
15. Модули. Виды модулей
Модуль(UNIT) в Pascal – это особым образом оформленная библиотека подпрограмм. Модуль, в отличие от программы, не может быть запущен на выполнение самостоятельно, он может только участвовать в построении программ и других модулей.
Модуль в Pascal представляет собой отдельно хранимую и независимо компилируемую программную единицу.
Все программные элементы модуля можно разбить на две части:
1) программные элементы, предназначенные для использования другими программами или модулями, такие элементы называют видимыми вне модуля;
2) программные элементы, необходимые только для работы самого модуля, их называют невидимыми (или скрытыми).
unit <имя модуля>; {заголовок модуля}
interface
{описание видимых программных элементов модуля}
implementation
{описание скрытых программных элементов модуля}
begin
{операторы инициализации элементов модуля}
end.
Для обращения к переменной, описанной в модуле, необходимо применить составное имя, состоящее из имени модуля и имени переменной, разделенных точкой.
Рекурсивное использование модулей запрещено. Перечислим, какие бывают виды модулей.
1. Модуль SYSTEM.
Модуль SYSTEM реализует поддерживающие подпрограммы нижнего уровня для всех встроенных средств, таких как ввод-вывод, работа со строками, операции с плавающей точкой и динамическое распределение памяти.
2. Модуль DOS.
Модуль Dos реализует многочисленные процедуры и функции Pascal, которые эквивалентны наиболее часто используемым вызовам DOS, как, например, GetTime, SetTime, DiskSize и так далее.
3. Модуль CRT.
Модуль CRT
4. Модуль GRAPH.
С помощью процедур и функций, входящих в этот модуль, можно создавать различные графические изображения на экране.
5. Модуль OVERLAY.
Модуль OVERLAY позволяет уменьшить требования к памяти программы DOS реального режима.
16. Ссылочный тип данных. Динамическая память. Динамические переменные. Работа с динамической памятью
Статической переменной (статически размещенной) называется описанная явным образом в программе переменная, обращение к ней осуществляется по имени. Место в памяти для размещения статических переменных определяется при компиляции программы. В отличие от таких статических переменных в программах, написанных на языке Pascal, могут быть созданы динамические переменные. Основное свойство динамических переменных заключается в том, что они создаются, и память для них выделяется во время выполнения программы.
Размещаются динамические переменные в динамической области памяти (heap-области). Динамическая переменная не указывается явно в описаниях переменных, и к ней нельзя обратиться по имени. Доступ к таким переменным осуществляется с помощью указателей и ссылок.
Cсылочный тип (указатель) определяет множество значений, которые указывают на динамические переменные определенного типа, называемого базовым типом. Переменная ссылочного типа содержит адрес динамической переменной в памяти. Если базовый тип является еще не описанным идентификатором, то он должен быть описан в той же самой части описания типов, что и тип-указатель.
Зарезервированное слово nil обозначает константу со значением указателя, которая ни на что не указывает.
Приведем пример описания динамических переменных.
var p1, p2: ^real;
p3, p4: ^integer;
…
Процедуры и функции работы с динамической памятью
1. Процедура New{var p: Pointer).
Выделяет место в динамической области памяти для размещения динамической переменной p", и ее адрес присваивает указателю p.
2. Процедура Dispose(var p: Pointer).
Освобождает участок памяти, выделенный для размещения динамической переменной процедурой New, и значение указателя p становится неопределенным.
3. Процедура GetMem(var p: Pointer; size: Word).
Выделяет участок памяти в heap-области, присваивает адрес его начала указателю p, размер участка в байтах задается параметром size.
4. Процедура FreeMem(varp: Pointer; size: Word).
Освобождает участок памяти, адрес начала которого определен указателем p, а размер – параметром size. Значение указателя p становится неопределенным.
- Skype
- ВКонтакте
- Telegram
- Viber