Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamenatsionnye_bilety__Otvety_na_nikh.doc
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
268.29 Кб
Скачать
  1. Тип массив (статический): описание, ввод, вывод

Массивы содержат фиксированное число элементов одного типа, так называемого типа элемента. На приводимой ниже синтаксической диаграмме тип элемента следует за словом of.

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

Приведем пример типа массив:

array[1..100] of Real

Если тип элемента в типе массив также является массивом, то результат можно рассматривать как массив массивов или как один многомерный массив. Например,

array[boolean] of array[1..100] of array[Size] of Real

интерпретируется компилятором точно так же, как массив:

array[boolean,1..10,Size] of Real

Ввод:

For i:=1 to 10 do readln(massiv[i]);

Вывод: тоже, но witeln

Данные на экран будут выведены в следующем виде: 3.24E-0001

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

Writeln(значение: ширина_поля_вывода : ширина дробнойчасти);

В этом случае представленная выше процедура Writeln можно было бы переписать следующим образом:

Writeln(0.324:2:4);

В результате данные на экран будут выведены в следующем виде: 0.3240

1. Статические массивы  Они определены установленными, неизменяемыми размерами. Размер и диапазон такого многомерного массива всегда даются для самого высокого, крайнего левого массива - родительского массива.  2. Динамические массивы  Динамические массивы не имеют никакой предраспределенной памяти. Определяется только когда создан указатель. Размеры таких массивов должны быть установлены прежде, чем они будут использоваться. Например :  SetLength(dynArray, 5);  Все динамические массивы начинаются с индекса = 03. Открытые массивы  И статические и динамические массивы можно передать подпрограммам как параметры. Если определение параметра массива не имеет никакого диапазона (то есть, динамический тип массива), то вы должны, как это ни парадоксально передавать статический массив как параметр. Такой массив упоминается как Открытый массив. Delphi передает длину как скрытый параметр для подпрограммы. 

  1. Тип запись: описание, ввод, вывод. Оператор Wlith

Ключевое слово Record один из самых полезных, и отличительных особенностей Delphi (и языка Паскаля). Оно обеспечивает средство сбора в одну структуру набора различных типов данных.  На каждое поле в записи ссылаются следующим способом record.field. Когда объявлено, опция Packed, Delphi минимизирует память, отведенную под запись. Эти сокращения в памяти повлиять на выполнение, где данные не выстроены, соответственно, по 2, 4 или 8 байт. По умолчанию должно выровняться, где необходимо, с заполнителями.  Есть два основных типа полей записи, как показано в двух синтаксических типах:  1. Простое объявление поля Это стандартные объявления переменных Delphi, типа:  size : Integer;  за исключением того, что их размер должен быть определен. Например:  description : string[20];  потому, что Delphi должен знать точный объём памяти необходимый этому полю в записи.  2. Выбираемые (Различные) разделы поля Они должны всегда следовать за любыми основными объявлениями полей (ключевое слово Case не имеет закончившего слова End;).  Они позволяют различным, альтернативным типам данных заменять друг друга. Например, запись пациента может иметь различный раздел объявлений для женщин по сравнению с мужчинами. Использование той же самой записи с Variant частью является разумнее.  По умолчанию, поля в записи выравниваются по Byte и Word границам. Для обоих типов записи, опция packed позволяет ей быть изменённой, чтобы уменьшить требуемый объём памяти.

Примечания

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

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