Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Массивы одномерные

.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
50.16 Кб
Скачать

Массивы

Основные определения и понятия

Массив – это структурированный тип данных, состоящий из фиксированного числа элементов одного типа. Проще можно сказать, что массив – это совокупность данных одного типа с общим для всех элементов именем.

В реальной жизни массив можно представить как одномерную или двумерную (прямоугольную) таблицу. Например, таблица температур за текущий месяц (линейная таблица), расписание движения поездов, автобусов, занятий (двумерная таблица).

Если элементы массива записаны в одну строку, то такой массив называется одномерным, если в строки и столбцы, то – двумерным.

Массивы

Одномерные

(линейные таблицы, вектора)

Двумерные

(прямоугольные таблицы, матрицы)

Одномерным называется массив, все элементы которого записаны в одну строку или столбец.

Двумерным называется массив, элементы которого записаны с троки и столбцы.

Элементы массива могут быть целого, вещественного, символьного, строкового и других типов. Тип элементов массива называется базовым.

Максимальное количество элементов массива называется размерностью массива и обычно обозначается латинскими буквами k, m, n.

Доступ к каждому элементу осуществляется путём указания индекса (порядкового номера) элемента.

Индекс – это номер элемента массива. Как правило, обозначается латинскими буквами i, j.

Одномерные массивы

Описание массива

Массив так же как все остальные данные, которые будут использоваться при решении задачи должны быть предварительно описаны в разделе описания переменных.

1 способ

Var n,i: integer;

Imja: array [1..35] of tip;

{n – размерность массива, i – индекс}

{Imja – имя массива, tip – тип элементов массива, 35 – максимальное количество элементов, которое может быть в массиве}

Вместо слова «tip» в разделе описания записывается integer, longint, word или byteесли все элементы массива целые числа (в зависимости от диапазона чисел, которые будут находиться в массиве), real – если элементы массива вещественные числа, char – если элементы массива являются символьными величинами, stringесли строковыми и так далее.

2 способ

Для описания массива используется раздел задания типов данных пользователя.

Type imja_tipa=array [1..15] of tip;

Var Imja1, Imja2: imja_tipa;

n,i:integer;

Ввод элементов массива

С помощью клавиатуры

1

Writeln (‘ww. razm. massiva n’); Readln (n);

For i:=1 to n do

Begin

Write (‘ww. x[‘,i,’]=’);

Readln (x[i]);

End;

С помощью функции генерации случайных чисел

Элементы массива действительные числа

2

Writeln(‘ww. razm. massiva n’); Readln (n);

Randomize;

For i:=1 to n do

T[i]:=random(100)+random;

Элементы массива целые числа

3

Writeln(‘ww. razm. massiva n’); Readln (n);

Randomize;

For i:=1 to n do

T[i]:=round(random(100)+random);

Примечание. В функции random(100) аргумент 100 указывает на то, что в таблицу будут записаны числа из диапазона от 0 до 99.

Вывод элементов массива

В одну строку

4

For i:=1 to n do

Write (x[i],’, ’);

Writeln;

В один столбец

5

For i:=1 to n do

Writeln (x[i]);

Нахождение суммы, произведения, среднего значения, экстремумов элементов массива

Программу для решения задач, данные в которых организованы в виде массива, как правило, можно «собирать» как домик из кубиков. Но для этого необходимо знать решение ключевых задач, таких как нахождение суммы, произведения, среднего арифметического значения элементов массива, максимального и минимального элементов, количества элементов с заданными свойствами.

Фрагменты решения названных задач для одномерных массивов приведены ниже в таблице.

Нахождение суммы элементов массива

6

S:=0;

For i:=1 to n do S:=s+x[i];

Нахождение произведения элементов массива

7

P:=1;

For i:=1 to n do P:=P*x[i];

Нахождение среднего арифметического элементов массива

8

S:=0;

For i:=1 to n do S:=s+x[i];

Sr:=s/n;

Нахождение максимального элемента массива и его местоположение в массиве

9

max:=x[1]; nommax:=1;

For i:=2 to n do

If max<=x[i] then

begin

max:=x[i];

nommax:=i

end;

Нахождение минимального элемента массива и его местоположение в массиве

10

min:=x[1]; nommin:=1;

For i:=2 to n do

If min>=x[i] then

begin

min:=x[i];

nommin:=i

end;

Нахождение количества элемента массива с заданными свойствами

11

K:=0;

For i:=1 to n do

If x[i]{характеристика элемента} then

K:=k+1;

Замена элементов массива с заданными свойствами

12

For i:=1 to n do

If условие then

X[i]:=;

Пример решения задачи с использованием одномерных массивов

Класс участвовал в соревнованиях по бегу на короткие дистанции. Данные каждого участника заносились в линейную таблицу. Помогите судье найти суммарный результат класса и номера самого лучшего и самого худшего бегунов класса.

Program primer1;

Var k,I:integer;

R:array [1..25] of real;

S:real;

Max, min: real;

Nommax, nommin: integer;

Begin

Writeln (‘ww. kol-vo k=’);

Readln (k);

1

For i:=1 to k do

Begin

Write (‘ww. R[‘,i,’]=’);

Readln (R[i]);

End;

6

S:=0;

For i:=1 to n do

S:=s+R[i];

Writeln (‘s=’,s:9:2);

9

max:=R[1]; nommax:=1;

For i:=2 to n do

If max<=R[i] then

begin

max:=R[i];

nommax:=i

end;

Writeln (‘nommax=’, nommax);

Writeln (‘max=’, max:9:2);

10

min:=R[1]; nommin:=1;

For i:=2 to n do

If min>=R[i] then

begin

min:=R[i];

nommin:=i

end;

Writeln (‘nommin=’, nommin);

Writeln (‘min=’, min:9:2);

Readl()

End.

Список задач для решения

  1. Найти количество элементов массива, введённых с помощью клавиатуры, являющихся целыми числами, значение которых меньше 50.

  2. В таблице, созданной с помощью генератора случайных чисел, все элементы меньшие 50 возвести в квадрат.

  3. Определить есть ли в данном массиве нечётные числа.

  4. В таблице находятся как чётные, так и нечётные числа. Необходимо получить таблицу, в которой будут находиться только чётные числа.

  5. В одномерном массиве даны положительные и отрицательные числа. Элементы массива вводятся с помощью клавиатуры. Найти сумму положительных и произведение отрицательных элементов массива. Какое число, положительное или отрицательное, получилось в результате произведения отрицательных элементов массива.

  6. Дана таблица, созданная с помощью генератора случайных чисел. Найти сумму всех элементов стоящих на чётных местах и произведение элементов, стоящих на нечётных местах

  7. Найти номер элемента массива, значение которого равно округлённому среднему арифметическому значению максимального и минимального элементов этого массива.

  8. В рамках спартакиады проводились соревнования по прыжкам в длину. Данные заносились в таблицу. Помогите судье определить номер победителя и среднее значение длины прыжка. После чего, пошалите, и измените все результаты, меньшие среднего на максимальное значение. Подсчитайте, сколько человек теперь имеют максимальное значение.

  9. Маша и Витя измеряли температуру воздуха в декабре месяце разными термометрами. Маша измеряла температуру на южной стороне дома термометром, который показывает только целые числа, а Витя – на северной и термометром, который показывает действительные числа с одной цифрой после запятой. Температура была как положительной, так и отрицательной. Результаты измерений ребята записали в две таблицы. Определите, у кого максимальная температура была выше. Позже Маше и Вите дали задание в марте произвести такие же измерения температуры. А им так не хочется… Подсказкин пришёл на помощь и подсказал им, что температура в марте будет по абсолютной величине такой же, как и в декабре. Какие таблицы должны получить Катя и Витя.

Задачи для самоконтроля

  1. Ваши отметки по математике за четверть занесите в линейную таблицу.

  2. Найдите среднее арифметическое своих отметок.

  3. Округлите и получите вашу отметку по математике за четверть.

  4. Найдите свою максимальную и минимальную отметки.

  5. Найдите среднее арифметическое минимальной и максимальной отметок.

  6. Сравните найденное среднее значение минимальной и максимальной отметок с найденной отметкой по математике за четверть.

  7. Замените в таблице все отметки стоящие на чётных местах с максимальной отметкой.

  8. Замените все отметки меньшие среднего значения минимальной и максимальной отметок на найденную отметку по математике.

  9. Найдите произведение полученных отметок.

  10. Найдите сумму нечётных цифр в числе, равном полученному произведению.