Сколько байт занимает описанный массив a array boolean of real
Перейти к содержимому

Сколько байт занимает описанный массив a array boolean of real

Массивы

Как называются ячейки оперативной памяти, в которых хранятся данные массива?

Варианты ответов
  • Пункты массива
  • Строки
  • Индексы
  • Элементы массива
Вопрос 5

Какие действия возможны над массивами, как над единым целым?

Варианты ответов
  • Присваивание
  • Проверка неравенства
  • Сложение
  • Проверка равенства
Вопрос 6

Как обратится к элементу массива а с индексом 5?

Вопрос 7

Как называется структурный тип данных, используемый для хранения пронумерованных величин одного типа?

Варианты ответов
  • Регулярный тип
  • Комбинированный тип
  • Составной тип
  • Строковый тип
Вопрос 8

Какие варианты описания элементов массива являются правильными?

Варианты ответов
  • c: array [char] of 1..7;
  • m: array [integer] string;
  • t: array [real] of real;
  • a: array [1..2] of byte;
Вопрос 9

Сколько байт оперативной памяти в среде Pascal ABC занимает описанный двумерный массив?
a: array [1..50, 1..70] of integer;

ОЧЕНЬ НУЖНА БУДУ ОЧЕНЬ БЛАГОДАРЕН.
1)Сколько байт оперативной памяти будет занимать описанный массив?
t: array [1..80] of boolean;

5)Какие варианты описания элементов массива являются правильными?

Варианты ответов
c: array [char] of 1..7;
m: array [integer] string;
t: array [real] of real;
a: array [1..2] of byte;

6)Сколько байт оперативной памяти в среде Pascal ABC занимает описанный двумерный массив?
a: array [1..50, 1..70] of integer;

Открытые массивы в Pascal

При описании открытого массива (в разделе type или var) указывается тип элементов, из которых он состоит (например, real, char и др.), но не указываются границы индексов. Например:

В результате получаются как бы безразмерные массивы. Их размер может задаваться и меняться в программе при ее выполнении. Это так называемое динамическое распределение памяти, а переменные открытых массивов представляют собой ничто иное, как указатели на динамически выделяемую область памяти. Т.е. в переменных открытых массивов будут содержаться адреса начала массива, а не сам массив.

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

Чтобы в программе выделить память под открытый массив, следует воспользоваться процедурой setlength, которая принимает два фактических параметра – имя открытого массива и устанавливаемое количество элементов в нем. В результате работы setlength в памяти выделяется столько байт, сколько необходимо для хранения n-го количества элементов определенного типа. Так, если массив ранее описан как real и задано 5 элементов, то процедура setlength выделит под него 40 байт, т.к. для хранения каждого числа типа real требуется 8 байт памяти (хотя не обязательно 8, это может зависеть от компилятора).

Функция high принимает в качестве параметра имя массива и возвращает индексный номер последнего элемента массива. Например, выделяется память под десять элементов открытого массива; значит, индекс последнего будет равен 9 (т.к. индексация начинается с 0), что и вернет функция high.

Чтобы освободить, выделенную под массив память, используется оператор nil.

Обычно открытые массивы используются для передачи в подпрограмму массивов переменных размеров. Это позволяет с помощью одной и той же подпрограммы обрабатывать массивы произвольной длины. Без использования открытых массивов пришлось бы для каждого массива иной длины писать собственную подпрограмму.

Рассмотрите программу ниже и запустите ее на выполнение. Вам станет более понятно описанное выше.

Примечание. Функция sizeof возвращает количество памяти (в байтах), отведенное под переменную.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *