
Министерство образования Республики Беларусь
Учреждение образования «Белорусский государственный университет информатики и радиоэлектроники»
Факультет заочного обучения
Кафедра экономической информатики
Дисциплина: Информатика
КОНТРОЛЬНАЯ РАБОТА №1
на тему:
Разработка подсистемы приема и учета выполнения заказов на доставку пиццы на дом по городу.
Студентка: гр. 101501 Чиженок Алеся Александровна
Руководитель: старший преподаватель кафедры ЭИ, Унучек Е.Н.
Минск 2011
Содержание
Одномерные и многомерные массивы, их инициализация. 4
Руководство пользователя 7
Схемы алгоритмов 16
Листинг программного кода 23
Одномерные и многомерные массивы, их инициализация.
Одномерные массивы
В программах средней и высокой сложности используется, как правило, большое количество переменных. Присвоение имени каждой из них – процесс трудоемкий. Поэтому были предложены массивы – последовательности однотипных величин. Каждый элемент массива есть переменная заданного типа. Тип присваивается при описании массива и делается это тем же способом, что и описание простых переменных. Отличие состоит в указании количества элементов массива в конце описания в квадратных скобках. Например:
float A[10]; //описание массива из 10 вещественных переменных
Обращение к конкретному элементу массива осуществляется через его номер. При этом следует запомнить, что элементы массивов нумеруются с нуля, поэтому последний элемент имеет номер на 1 меньший общего количества элементов в массиве:
A[0], A[1], A[2], …, A[9].
В программе это выглядит, например, так:
x = A[2]; //x присвоено значение 3-го по счету элемента массива A
Важно отметить, что при обращении к элементам массива автоматический контроль выхода индекса за границу массива не производится, что может привести к ошибкам.
Как и переменные, элементы массива могут быть инициализированы. Инициализирующие значения для массивов записываются в фигурных скобках. Значения элементам присваиваются по порядку. Если элементов в массиве больше, чем инициализаторов, элементы, для которых значения не указаны, обнуляются:
int b[5] = {3, 2, 1}; // b[0]=3, b[l]=2, b[2]=l, b[3]=0, b[4]=0
int a[5] = {0}; //обнуление всего массива
Размерность массива вместе с типом его элементов определяет объем памяти, необходимый для размещения массива, которое выполняется на этапе компиляции, поэтому размерность может быть задана только целой положительной константой или константным выражением. Размерность массивов предпочтительнее задавать с помощью именованных констант, как это сделано в примере ниже, поскольку при таком подходе для ее изменения достаточно скорректировать значение константы всего лишь в одном месте программы. Если при описании массива не указана размерность, должен присутствовать инициализатор, в этом случае компилятор выделит память по количеству инициализирующих значений:
float a [10]; //размерность задана целой положительной константой
const int n = 10; // размерность задана с помощью именованной
int marks[n]; // константы
int b[] = {3, 2, 1}; // размерность массива равна трем
При обработке массивов удобно использовать операторы цикла. В следующем примере подсчитывается сумма элементов массива:
const int n = 10;
int i, sum;
int marks[n] = {3, 4, 5, 4, 4};
for (i = 0, sum = 0; i<n; i++)
sum += marks[i];
cout << RUS("Сумма элементов: ") << sum;
Многомерные массивы
Многомерные массивы задаются указанием каждого измерения в квадратных скобках, например, оператор
int matr [6][8];
задает описание двумерного массива из 6 строк и 8 столбцов. Массив состоит из 48 элементов. В памяти такой массив располагается в последовательных ячейках построчно.
Трехмерный массив будет описан как:
double mass[4][3][2];
Многомерные массивы размещаются так, что при переходе к следующему элементу быстрее всего изменяется последний индекс.
Для доступа к элементу многомерного массива указываются все его индексы, например,
matr[2][3]=4;
элементу матрицы matr2,3 присвоено значение 4;
x= matr[2][3];
переменной x присвоено значение элемента матрицы matr2,3.
При инициализации многомерного массива он представляется как массив из массивов, при этом каждый массив заключается в свои фигурные скобки (в этом случае величину первой размерности при описании можно не указывать),
int mass2 [][2]={ {1, 1}, {0, 2}, {1, 0} };
Можно задать общий список элементов в том порядке, в котором элементы располагаются в памяти (тогда все размерности указываются):
int mass2 [3][2]={1, 1, 0, 2, 1, 0};
Обнулить весь массив можно так:
int mass2 [3][2]={0};