Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛР10-С++-26-апреля-2012.doc
Скачиваний:
23
Добавлен:
15.09.2019
Размер:
2.35 Mб
Скачать

Министерство финансов Российской Федерации

Всероссийская государственная налоговая академия

ИНФОРМАТИКА И ПРОГРАММИРОВАНИЕ

Бакалавры: 230700 "Прикладная информатика"

Язык программирования С++

Лабораторная работа № 10

ПРОГРАММИРОВАНИЕ ВЫЧИСЛИТЕЛЬНЫХ ПРОЦЕССОВ,

СОДЕРЖАЩИХ ОДНОМЕРНЫЕ МАССИВЫ

Автор профессор кафедры "Прикладной информатики в экономике"

кандидат технических наук Л.К. Кузнецов

26 апреля 2012 г.

Москва

ВГНА

2012

Лабораторная работа № 10

Программирование вычислительных процессов, содержащих одномерные массивы

Цель работы:

Ознакомиться:

  • с понятием массива;

  • с назначением массивов;

  • с видами массивов;

  • с понятием переменной с индексами;

  • с понятием размерности массива;

  • с правилами описания, массивов в программах на языке С++;

  • с выражениями над массивами (с правилами действия с массивами);

  • с организацией циклов при работе с массивами.

Изучить типовые алгоритмы обработки одномерных массивов.

Научиться разрабатывать и отлаживать в среде программирования программы обработки массивов.

Получить практические навыки по программированию вычислительных процессов, содержащих одномерные массивы.

1. Краткие теоретические сведения

Ниже приводятся минимальные сведения, необходимые только для вы­полнения лабораторной работы

1.1. Переменные с индексами и массивы

Помимо одиночных (скалярных, простых) переменных, которые рассмот­рены нами ранее в предыдущих лабораторных работах, С++ позволяет объявлять также агрегаты переменных (массивы, структуры, указатели) и каждый такой агрегат обрабатывать как единую переменную.

Массив – это упорядоченная последовательность величин (пе­ременных), обладающих одинаковыми характеристиками и обозначаемая одним именем, для хранения которых отводятся последовательно распо­ложенные поля памяти.

Значения всех переменных, входящих в один массив, должны обяза­тельно иметь одинаковые характеристики (атрибуты). Например, если массив состоит из вещественных переменных, то все переменные должны быть только вещественного типа, с одинако­вой формой представления, основанием и точностью значений.

Массивы могут состоять из арифметических данных, символов, строк, структур, указателей.

Каждый массив характеризуется своим именем, количеством измерений (индексов) и количеством переменных в каждом измерении (граница­ми каждого индекса).

В качестве имени массива, не входящего в какую-либо объем­лющую совокупность, может быть любой идентификатор, выбираемый про­граммистом по своему усмотрению в соответствии с правилами образования и выбора идентификаторов в языке С++ (лаб. работа № 2).

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

Элемент массива именуется с помощью имени (идентификатора) массива и индексов, которые указывают положение элемента в массиве.

Доступ к отдельным элементам массива осуществляется по имени массива и индексу (порядковому номеру) элемента.

Каждому элементу массива ставится в соответствие один или несколько индексов.

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

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

Максимальная величина размерности массива в языка С++ определяется возможностями конкретного компилятора, обычно не менее 63..

Число индексов у переменных с индексами соответ­ствует размерности массива.

В языке С++ индексы переменной заключаются в ин­дексные (квадратные) скобки и помещаются вслед за идентификатором мас­сива. Например, переменные с индексами х1, а6, n на C++ записыва­ются соответственно, в виде х[1], а[6], gamma[n]. Приведенные пе­ременные являются элементами одномерных массивов: x, а и gamma, соответственно.

Внимание: обратите внимание, что индексы в квадратных скобках указываются после имени массива без пробела.

У многомерных массивов индексы переменной в их списке отделяются друг от друга запятыми. Например, y[1,3], b[0,0], beta[i,j,k] есть запись переменных y1,3, b0,0, betai,j,k,

Отдельный индекс задает номер позиции элемента по соответствующе­му измерению. Например, а[6] означает шестой элемент одномерного массива а; у[i,j] - элемент находится на пересечении i-ой строки и j-го столбца в двумерном массиве (матрице) у.

Число индексов в переменной с индексами должно быть равно числу измерений массива. В качестве индексов, указываемых в индексных (круглых) скобках, могут использоваться:

а) целые числа (например, х[1], а[5], y[1,3], b[0,0]);

б) скалярные переменные (например, gamma[i], b[i,j], beta[i,j,k]) ;

в) арифметические выражение (например, z[i,a+3, b/2], с1[i,i+k3], q[(x+2)/(x+i), x+2).

Арифметические выражения, используемые в качестве индексов, назы­вают индексными выражениями. По смыслу индекс­ные выражения должны принимать только целочисленные значения. Если же значение индексного выражения оказывается не целым числом, то в С++ установлено, что в качестве индекса в таких случаях следует при­нимать целую часть от результата вычисления выражения. Например, если a = 4,1 b = 0,6, то при обращении к элементу массива x(a*b) будет вы­брано значение второго элемента массива х(2).

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

Массивы являются одной из простейших форм структурной организации данных.