Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инф(Пр+Лаб)ФИОП(2).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.02 Mб
Скачать

Лабораторная работа № 9. Программирование задач с одномерными массивами Одномерные массивы

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

Вектор-строка имеет вид: .

Пример 1. .

Вектор-столбец имеет вид:

. Пример 2. .

Элемент массива – величина, входящая в состав массива. Индекс – порядковый номер элемента в одномерном массиве (целое число типа integer). Размерность массива – количество элементов в массиве.

Одномерные массивы обычно обозначаются так: ; , где A – массив; n – размерность массива; i – индекс элемента; i‑тый элемент массива .

Описание одномерного массива в разделе описания переменных (Var) на языке Pascal имеет вид:

Mas : array [ IMin .. IMax ] of T

где array – массив, of – из, Mas – имя массива, IMin – минимальное значение индекса, IMax – максимальное значение индекса, T – тип элементов.

Это означает, что переменная Mas является массивом, который может иметь индексы от IMin до IMax у элементов типа T .

Пример 3. Var A:array[1..100] of real;

Это означает, что переменная A – массив, который может содержать от 1 до 100 элементов вещественного типа.

Доступ к элементу массива на языке Pascal имеет вид:

Mas [ Ind ]

где Mas – имя массива, Ind – индекс.

Это означает доступ к элементу массива Mas с индексом Ind .

Пример 4. a[1]; b[3]; c[i]; d[n]; f[k+1].

Это означает 1-й элемент массива A и т.д.

Порядок выполнения

  1. Зайти в Borland Pascal.

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

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

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

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

Пример задачи

Задача 1.

Дан одномерный массив A из n элементов. Найти сумму элементов массива:

.

Program Lab9;

Var

A:array[1..100] of real;

i,n:integer;

s:real;

Begin

writeln('Введи n');

read(n);

s:=0;

writeln('Введи массив A');

for i:=1 to n do

begin

read(A[i]);

s:=s+A[i];

end;

writeln('s=',s:10:3);

End.

Контрольный пример.

Исходные данные: ; .

Ручной счёт: .

Результат: .

Экран пользователя.

Введи n

5

Введи массив A

1 2 3 5 -1

s= 10.000

Дополнительное задание

  1. Дан массив L(n). Найти количество элементов, больших корня из суммы положительных элементов.

  2. Дан массив G(q). Найти произведение неотрицательных элементов и сумму элементов в диапазоне от 10 до 20.

  3. Дан массив A(n). Найти сумму и количество элементов, равных среднему значению.

  4. Дан массив C(m). Найти отношение максимального к минимальному элементу.

  5. Дан массив D(n). Найти минимальный среди элементов, больших суммы, и найти количество элементов, не равных максимальному.

  6. Дан массив A(n). Сформировать новый массив B умножением элементов массива A на 100. В новом массиве переставить местами третий и предпоследний элементы.

  7. Дан массив A(n). Положительные элементы массива заменить на их сумму, а отрицательные элементы уменьшить на минимальный.

  8. Дан массив A(n). Найти сумму элементов на чётных местах и произведение элементов, кратных 3.

  9. Дан массив A(n). У нечётных элементов отбросить дробную часть числа, а у элементов с индексами, дающими остаток 1 при делении на 3, отбросить целую часть числа.

  10. Сформировать массив случайных чисел в диапазоне от 10 до 20 и округлить значения элементов, по модулю меньших 1.