![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Работа с файлами (поиск, копирование, переименование, удаление).
Структура описания файловой переменной: Var < имя переменной>: file of < тип переменной>; Файловая переменная после описания связывается с некоторым файлом, после чего операции, выполняемые с ней, приводят к соответствующим изменениям в файле. Assign (< имя файловой переменной>, < идентификатор внешнего файла>); - организует связь между файловой переменной и внешним файлом. После выполнения всех операций связь между файловой переменной и файлом разрывают, и файловая переменная может повторно связываться с любым другим файлом этого же типа. С элементами файла можно выполнить только две операции: читать из файла и записывать в файл. Для того чтобы начать запись в файл, его следует открыть для записи. Это обеспечивает процедура Rewrite (FV); где FV — имя файловой переменной. При этом указатель устанавливается на начало файла. Если в файле есть информация, то она исчезает. Запись в файл осуществляется процедурой Write (FV, v); где v — переменная того же типа, что и файл FV. Запись происходит туда, где установлено окно (указатель). Сначала записывается значение, затем указатель смещается в следующую позицию. Для чтения элементов файла с его начала следует открыть файл для чтения. Это делает процедура Reset (FV). В результате указатель устанавливается на начало файла. При этом вся информация в файле сохраняется. Чтение из файла осуществляется процедурой Read (FV, v).где v - переменная того же типа, что и файл FV. Значение текущего цемента файла записывается в переменную v; указатель смещается к следующему элементу. Доступ к элементам файла в паскале последовательный, т.е. для того, чтобы прочитать n-тую запись файла, сначала нужно прочитать все предыдущие записи с 1-ой по (n-1)-ую. Rename(F, NewName) - переименование внешнего файла. Внешний файл, с которым связана файловая переменная F, получает новое имя, заданное параметром NewName. Работа с файлом в программе завершается его закрытием с помощью процедуры close(< имя файловой переменной>);. Erase(F) - удаляет внешний файл, с которым связана файловая переменная F. Алгоритмическая структура " цикл". Команда повторения. Привести пример.
Пока условие истинно выполняется серия, образующая тело цикла. Второй тип циклической структуры - цикл с постусловием (цикл-до): Здесь тело цикла предшествует условию цикла. Тело цикла повторяет своё выполнение, если условие ложно. Повторение кончается, когда условие станет истинным. Найти S=1+2+3+…+ n i: =1; s: =0; while i< =n do begin s: =s+i; i: =i+1; end; Строка в Турбо Паскале – последовательность символов произвольной длины до 255 символов. для определения данных строкового типа используется идентификатор String, за которым следует заключенное в квадратные скобки значение максимально допустимой длины строки данного типа. Если это значение не указывается, то по умолчанию длина строки равна 255 байт. Строку можно рассматривать как массив символов, однако в связи с широким использованием строк и некоторыми особенностями по сравнению со стандартными массивами они выделены в отдельный тип данных. Переменную строкового типа можно определить через описание типа в разделе определения типов или непосредственно в разделе описания переменных. Строковые данные могут использоваться в программе также в качестве констант. Недопустимо применение строковых переменных в качестве селектора в операторе Case. Определение строкового типа устанавливает максимальное количество символов, которое может содержать строка. Формат: Type < имя типа> = string [максимальная длина строки]; var < идентификатор, …>: < имя типа>; Переменную типа string можно задать и без описания типа: var < идентификатор, …>: string [максимальная длина строки]; Пример: const Address=’ул. Переверткина, 25’; {строковая константа} Type Flot = string[125]; Var Fstr: Flot; {описание с задание типа} St1: String; {по умолчанию длина строки = 255} St2, St3: String[50]; Nazv: String[280]; {ошибка, длина превышает 255}
К любому символу в строке можно обратиться, указав его номер. В самом начале строки (по нулевым номером) расположен байт, содержащий значение текущей длины строки. ^ Строковые выражения. Выражения, в которых операндами служат строковые данные, называются строковыми. Они состоят из строковых констант, переменных, указателей функций и знаков операций. Над строковыми данными допустимы операция конкатенации и операции сравнения. Конкатенация – применяется для объединения нескольких строк в одну результирующую строку. ^ Операции сравнения (=, < >, >, <, > =, < =) проводят сравнение двух строковых операндов и имеют приоритет более низкий, чем операция конкатенации, т.е. вначале всегда выполняются все операция конкатенации, если они присутствуют, и лишь потом реализуются операции сравнения. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строковыми операндами всегда имеет булевский тип и принимает значение True, если выражение истинно, и False, если выражение ложно. Запись подобная Str[0] дает доступ к нулевому байту, содержащему значение текущей длины строки. Значение нулевого байта не должно превышать 255, но нарушение этого правила не вызывает программного прерывания, так как директива компилятора R по умолчанию находится в пассивном состоянии {$R-}. Для обеспечения строкового контроля за диапазоном допустимых значений индекса следует перевести директиву R в активное состояние {$R+}. В этом случае компилятор активизирует дополнительные команды для проверки правильности диапазона. Обычно активный режим R устанавливается на стадии отладки программ.
|