Главная страница

Технология программирования. 1. Устройство компьютера. Оперативная память, процессор


Скачать 478.73 Kb.
Название1. Устройство компьютера. Оперативная память, процессор
АнкорТехнология программирования
Дата21.08.2022
Размер478.73 Kb.
Формат файлаpdf
Имя файлаТехнология программирования.pdf
ТипДокументы
#649792
страница6 из 6
1   2   3   4   5   6
массив. Иногда массив называют также таблицей или вектором. Массив позволяет объединить множество элементов одного типа в единую переменную.
Массив переменных или объектов состоит из определенного числа однотипных данных, называемых элементами массива. Все элементы массива индексируются последовательно, начиная с нуля.
Размещение элементов массива в памяти выполняется последовательно.

01.02.2021
Московский финансово-промышленный университет «Синергия»
e-biblio.ru/book/bib/01_informatika/ProgBK/Book_teria_prog.html#_Toc241999345 67/69
Количество элементов в массиве определяет размер массива и является константным выражением.
Имя массива определяет адрес первого элемента массива.
Все элементы массива имеют один и тот же тип. Элементы массива обычно нумеруются индексами от 0 до n-1, где n - число элементов массива. В некоторых языках можно задавать границы изменения индексов, в других нижняя граница значения индекса равна единице,
а не нулю. Мы, тем не менее, будем придерживаться языка Си (а также C++, Java, C#), в котором нижней границей индекса всегда является ноль. Это очень удобно, т.к. индекс элемента массива в этом случае равен его смещению относительно начала массива.
Длина массива задается при его описании и не может быть изменена в процессе работы программы.
При описании массива указывается тип и число его элементов. Тип записывается перед именем массива, размер массива указывается в квадратных скобках после его имени. Примеры:
целый a[100]; описан массив целых чисел размера 100 (индекс меняется от 0 до 99)
вещественный r[1000]; описан вещ-й массив из 1000 элементов.
В языке Си соответствующие описания выглядят следующим образом:
int a[100];
double r[1000];
Для доступа к элементу массива указывается его имя и в квадратных скобках - индекс нужного элемента. С элементом массива можно работать как с обычной переменной, т.е. можно прочитать его значение или записать в него новое значение. Примеры:

01.02.2021
Московский финансово-промышленный университет «Синергия»
e-biblio.ru/book/bib/01_informatika/ProgBK/Book_teria_prog.html#_Toc241999345 68/69
a[3] = 0; элементу массива a с индексом 3 присваивается значение 0;
a[10] = a[10]*2; элемент массива a с индексом 10 удваивается.
Массив - это самая важная конструкция алгоритмического языка.
Важность массива определяется тем, что память компьютера логически представляет собой массив (его можно рассматривать как массив байтов или как массив четырехбайтовых машинных слов).
Индекс в этом массиве обычно называют адресом. Элементы массива читаются и записываются исключительно быстро, за одно действие, независимо от размера массива и величины индекса. Для программиста конструкция массива как бы дана свыше. Большинство других структур данных, используемых в программировании,
моделируются на базе массива.
При создании массива память под все его элементы выделяется последовательно для каждого элемента в зависимости от типа массива. Для многомерных массивов в первую очередь изменяются значения самого правого индекса.
Например, для массива char a[2][4] будет выделено восемь байтов памяти, в которых в следующем порядке будут размещены элементы массива:
элемент a [0][0] a[0][1] a[0][2] a[0][3] a[1][0] a[1][1] a[1][2] a[1][3]
N байта 1 2 3 4 5 6 7 8
Двухмерные массивы можно рассматривать как матрицу, в которой первый индекс определяет строку, а второй индекс - столбец.
Порядок расположения элементов матрицы в памяти - по строкам.
4.7. Текстовые строки
Текстовые строки представляются массивами символов. Строковая переменная содержит на самом деле адрес этого массива. В отличие

01.02.2021
Московский финансово-промышленный университет «Синергия»
e-biblio.ru/book/bib/01_informatika/ProgBK/Book_teria_prog.html#_Toc241999345 69/69
от символа, который занимает либо один, либо два байта в зависимости от используемой кодировки, строка имеет переменную длину. Существуют два способа указания длины строки:
1. строка заканчивается символом с нулевым кодом, т.е. либо нулевым байтом в случае однобайтового представления символов,
либо двумя нулевыми байтами в случае двухбайтового представления. Такой способ принят в языке Си. Отметим, что нулевой байт - это вовсе не символ '0'! Символ '0' имеет код 48 в кодировках ASCII и UNICODE, а изображаемых символов с нулевым кодом не существует;
2. строка в качестве первого элемента (байта или двух байтов)
содержит общее число символов, не включая начального элемента.
Затем идут сами символы в указанном количестве. Такой способ используется в языке Паскаль.
Недостаток первого способа состоит в том, что для вычисления длины строки необходимо последовательно просмотреть все ее элементы, начиная с первого, пока не будет найден нулевой байт.
Такая операция может быть долгой для длинной строки. Недостаток второго способа заключается в том, что длина строки ограничена. В
случае однобайтовых символов максимальная длина строки равна
255, т.е. максимальному числу, которое можно записать в одном байте. Длина строки двухбайтовых символов ограничена числом
65535.
Впрочем, существуют и другие способы представления строк,
которые используются в объектно-ориентированных языках. Строка рассматривается как объект, внутреннее устройство которого скрыто от пользователя, хотя, как правило, он содержит массив или адрес массива символов и длину строки. Обычно в случае представления строк в виде объектов ограничения на длину строки отсутствуют.
1   2   3   4   5   6


написать администратору сайта