- •Лекция №7. Виды программных модулей. Выражения и операторы. Процедуры и функции
- •Программный модуль
- •Виды программных модулей
- •Структура программного модуля
- •Контекст выполнения программного модуля
- •Передача локального контекста программного модуля в качестве параметра
- •Выражения и операторы. Процедуры и функции. Выражения
- •Операции
- •Массивы
- •Встроенные функции для разных типов данных
- •Управляющие операторы и конструкции
- •Пользовательские процедуры и функции
- •Контрольные вопросы
- •Литература
Массивы
Массив - это объект данных, содержащий несколько значений, доступ к которым осуществляется по их номеру (индексу).
Число элементов массива называется его размером. Размером массива может быть только целочисленная буквальная константа.
Объявляем одномерный массив (вектор) а из пяти элементов.
перем а[5];
Элементы массива имеют следующие имена: а[1], а[2], а[3], а[4] и а[5]. В этих именах величины 1 - 5 - индексы элементов массива.
Массив считается определенным, если заданы значения всех его элементов. Для задания начальных значений элементов массива (инициализации массива) можно использовать:
1) цикл
для ин = 1 по 5 цикл
а[ин] = 1; // Теперь все элементы массива равны единице
конецЦикла;
2) присваивание
а[2] = 3; // изменят значение 2-го элемента массива а
а[5] = -4.7; // изменят значение 5-го элемента массива а
В качестве индексов массива могут использоваться числовые выражения, называемые индексными выражениями. Например:
а[6 / 2] = 9.1; // Меняем значение 3 - г о элемента массива а
Если индексное выражение массива вычисляется с нецелым значением, то в качестве индекса берется целая часть этого значения. Например:
а[6/5] = 9.1; // Меняем значение 1 -го элемента массива а
Значение индекса не должно выходить за границы массива. Так, при работе с ранее объявленным массивом а из пяти элементов ошибочны операторы
а[0] = 5; // Индекс не может быть меньше числа 1
а[6] = 9; // Индекс не может быть больше числа 5
Элементы одного и того же массива могут быть разного типа. Например:
а[1] = 5; // Элемент числового типа
а[3] = "Строка"; // Элемент символьного типа
а[5] ='25.11.01'; // Элемент типа Дата
Элементы массива могут быть агрегатного типа. Например:
сСотр= СоздатьОбъект("Справочник.Сотрудники");
табл = СоздатьОбъект("Таблица");
а[1] = 5; // Элемент числового типа
а[3] = сСотр; // Элемент агрегатного типа
а[5] = табл; // Элемент другого агрегатного типа
Массив не может в качестве элементов содержать другие массивы.
Массив может быть формальным параметром программного компонента (процедуры или функции). При этом размер массива не указывается, а квадратные скобки сохраняются. Для определения размера переданного процедуре (функции) массива используется встроенная функция Разм. Например:
// раздел переменных
перем ин, а[16], размА;
// раздел процедур и функций
процедура ИнициализацияМассива(а[])
для ин = 1 по размА цикл
а[ин] = ин; // Теперь все элементы массива проинициализированы
конецЦикла;
а[8/3] = -5;
а[3]="Строка";
а[4]='20.12.07';
конецПроцедуры // ИнициализацияМассива
процедура Выполнить( )
// Вызов процедуры, устанавливающей начальные значения элементов массива
// Ее фактическим параметром является имя массива
ОчиститьОкноСообщений();
ИнициализацияМассива(а);
для ин=1 по размА цикл
Сообщить(а[ин]);
конецЦикла;
конецПроцедуры // Выполнить
// раздел основной программы
размА = Разм(а); // Встроенная функция Разм вернет размер массива а
