В Турбо Паскале существует возможность работы с таблицами, они имеют название - массивы.
Массив – это совокупность элементов одного типа, объединенных под общим именем. Каждый элемент массива имеет свой индекс (порядковый номер), который определяет его относительную позицию. Число элементов массива задается при описании и в дальнейшем не изменяется.
Массив объявляется в следующей форме:
A:Array[B1,B2,…,Bn] of M;
Array – массив;
Of – из;
Здесь - имя массива (правильный идентификатор);
B1, B2,…,Bn – списки индексных типов, их можно задавать, указав любой перечисляемый тип (кроме Longint) Количество списков (n) определяет размерность массива, они разделяются запятыми и заключаются в квадратные скобки;
M - тип элементов, любой тип Турбо Паскаля;
Доступ к каждому элементу массива в программе осуществляется с помощью индекса - целого числа (точнее, выражения порядкового типа). При упоминании в программе любого элемента массива сразу за именем массива должен следовать индекс элемента в квадратных скобках.
|
|
Одномерные массивы
Рассмотрим работу с одномерными массивами (в алгебре они называются векторами):
Дадим таблице имя - Tab
Каждое число в таблице имеет тип Integer. Это - тип злементов (M).
Индексы данной таблицы изменяются от 1 до 8. У одномерных массивов один список (B1).
Таким образом, описание этого массива (в разделе Var) выглядит так: Tab:Array[1..8] of Integer;
Задав конкретные значения индексов, можно выбрать определенный элемент массива. Например, оператор:
N:=A[5];
Присвоит переменной N значение элемента массива, имеющего индекс 5, т.е. число 11.
Задача 1.
Задан одномерный массив из N чисел. Изменить все элементы массива, увеличив их на единицу.
Работу с массивом можно разделить на 4 этапа:
1. Описание массива (выделить место в памяти компьютера для данного массива);
2. Ввод элементов массива (с клавиатуры; с помощью оператора присваивания; с помощью функции Random);
3. Работа с массивом (изменить элементы массива в соответствии с заданием);
4. Вывод массива (на экран или принтер);
Последовательный доступ к каждому элементу массива удобно осуществлять в цикле.
Решение:
Program Mass1;
{1} Var Tab:Array[1..10] of Integer;
I,N:Integer;
Begin
Writeln(’Введите число элементов массива (N<=10)’);
Readln(N);
{2} For I:=1 to N do Readln(Tab[I]);{ввод элементов с клавиатуры}
{3} For I:=1 to N do Tab[I]:= Tab[I]+1;
{4} For I:=1 to N do Writeln(’Tab[’,I,’]=’,Tab[I]);
End.
Задачи:
1. Задан одномерный массив из N чисел. Изменить значения элементов массива: а) все уменьшить на 100; б)если элемент больше 100 – на 100; в) если элемент отрицательный – на квадрат.
2. Задан одномерный массив из N чисел. Сосчитать количество элементов массива:
|
|
а) положительных; б) отрицательных; в) нулевых.
3. Заполнить одномерный массив элементами, значения которых равны их удвоенным порядковым номерам.
4. Задан одномерный массив из N чисел. Найти те элементы, значения которых совпадают с их индексом.
5. Задан одномерный массив из N чисел. Сосчитать: сумму, произведение и среднее арифметическое всех элементов массива.
6. Задан одномерный массив из N чисел. Определить сумму положительных и отрицательных элементов массива.
7. Задан одномерный массив А из N чисел. Создать новый массив путем деления всех элементов массива А на число Х.