Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kitkat_otvety.doc
Скачиваний:
3
Добавлен:
01.08.2019
Размер:
3.29 Mб
Скачать

Билет 2

  1. Данные целого типа. Представление в ЭВМ. Операции над целочисленными данными.

  2. Инициализация файлов

Целые типы данных предназначены для представления целых чисел. В Object Pascal предусмотрено несколько целочисленных ти­пов, отличающихся диапазоном возможных значений. Диапазон возможных значений целых типов зависит от их внутреннего представления, которое может занимать один, два, четыре или восемь байтов.

Наибольшая производительность центрального процессора и операционной системы достигается при использовании типов Integer и Cardinal. Вес остальные целые типы, кроме Int64, представляет собой подмножества двух выше указанных типов. При использовании процедур и функций с целочисленными параметрами следует руководствоваться «вложенностью» типов, т. е. везде, где может использоваться word, допускается использование Byte (но не наоборот). В Longint «входит» Smallint, оторый, в свою очередь, включает в себя shortint.

При применении к данным целого типа операций *, div, mod, +, - полученный результат будет также целого типа. При применении к данным целого типа операции / полученный результат будет вещественного типа. При применении к целочисленным данным поразрядных операций not, and, or, hor и операций поразрядных сдвигов shl, shr результатом будут также целые число. Также можно применить к целым типам операцию взятия адреса @, её результатом будет указатель. К целочисленным данным можно применить операции отношения < > <= >= <> =. Результатом такой операции будет логическое значение.

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

При работе с данными целого типа необходимо следить за тем, чтобы значения переменных или выражений не выходили за допустимые границы диапазона значений. По умолчанию действует директива компилятора {SR-}, означающая, что проверка выхода значений из допустимого диапазона отменена. Это приводит к тому, что при выходе за допустимые границы значение будет изменяться циклически, то есть величина цикла бу­дет равна количеству значений, входящих в диапазон значений для соответствующего типа. Для того чтобы контролировать выход за границы диапазона значений, следует в про­грамме поместить директиву компилятора {SR+}. В этом случае при выходе за границы диапазона будет генерироваться исключение и на экран будет выведено сообщение об ошибке.

2) Под файлом понимается именованная область внешней памяти. Файлы предназначены для хранения информации на внешних запоминающих устройствах - винчестере, дискетах, лазерных компакт-дисках и т.д. Документ, созданный в текстовом редакторе, рисунок, созданный в графическом редакторе, консольное приложение - это все примеры файлов. Файлы раз­ных типов, создаваемые и обрабатываемые различными приложениями, имеют различ­ный формат, т.е. внутреннее представление данных. Несмотря на все различия, общим для всех файлов является то, что у них есть имя, а так же то, что длина файла опреде­ляется только объемом информации, помещенным в него, и ограничивается объемом внешнего запоминающего устройства.

Object Pascal располагает средствами создания и обработки файлов различных типов. Для того чтобы получить доступ к файлу, нужно иметь возможность связать созданное в Delphi приложение с некоторым файлом для чтения или записи информации. Эта связь создается при помощи переменных файлового типа, или, иначе, - файловых переменных. Файловая переменная связывается с именем файла в результате обращения к стандартной процедуре AssignFile : AssignFile (<файловая переменная.>, <имя файла>);

<файловая переменная> - (правильный идентифика­тор, объявленный в программе как переменная файлового типа); <имя файла > - текстовое выражение, содержащее имя файла и, если это необходимо, маршрут доступа к нему. Если файл находится в одной папке с обрабатывающей его программой, то достаточно указать только имя файла, в противном случае надо указать полный путь к файлу. Когда связь с внешним файлом установлена, его можно открыть для ввода или вы­вода информации. Существующий файл можно открыть с помощью процедуры Reset: Reset(< файловая переменная >); Процедура Reset открывает существующий внешний файл, имя которого было свя­зано с файловой переменной. Если внешний файл с указанным именем отсутствует, то возникает ошибка периода выполнения программы (генерируется исключение). Если файл уже открыт, то он сначала закрывается, а затем открывается вновь. Текущая пози­ция в файле устанавливается на начало файла, т.е. связанная с файлом переменная-ука­затель будет указывать на компонент с порядковым номером 0. Если файловая переменная связана с текстовым файлом, то он будет доступен толь­ко для чтения. Для типизированных и нетипизованных файлов, открытых процедурой Reset, допускается выполнять операции чтения и записи в файл. Новый файл можно создать и открыть для записи с помощью процедуры Rewrite: Rewrite (< файловая переменная >); Процедура Rewrite создает новый внешний файл, имя которого связано с файловой переменной. Если внешний файл с указанным именем уже существует, то он удаляется и на его месте создастся новый пустой файл. Если файл уже открыт, то он сначала зак­рывается, а затем открывается вновь. Текущая позиция в файле устанавливается на на­чало файла, т.е. связанная с файлом переменная-указатель будет указывать на компонент с порядковым номером 0.

Если процедура Rewrite открывает текстовый файл, то он становится доступным только для записи. Для типизированных и нетипизованных файлов, открытых процеду­рой Rewrite, допускается выполнять операции чтения и записи в файл. Текстовый файл может быть открыт процедурой Append: Append(< файловая переменная >); Процедура Append открывает существующий внешний файл, связанный с файловой переменной, для присоединения. Если внешнего файла с указанным именем не существу­ет, то генерируется исключение. Если файл уже открыт, то он сначала закрывается, а за­тем открывается заново. Переменная-указатель будет указывать на конец файла. После обращения к Append текстовый файл становится доступным только для записи.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]