Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

Работа с одномерными массивами

Массив — упорядоченный набор однотипных значений — компонент массива. Тип компонент называется базовым типом массива.

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

Переменная с индексом — идентификатор компоненты массива. Формат записи:

<имя массива>[<индекс>],

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

Описание массива определяет имя, размер массива и базовый тип. Формат описания в разделе переменных:

Var <имя массива> : Array [<тип индекса>] of <базовый тип>

Чаще всего в качестве типа индекса используется интервальный целый тип.

Линейный (одномерный) массив — массив, у которого элементы — простые переменные. В одномерных массивах хранятся значения линейных таблиц. Примеры описания одномерных массивов:

Var

В: Array [0. .5] of real;

R: Array [1. .34] of char;

N: Array ['A'. .' Z' ] of integer;

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

Пример 1. В программе вводится десять значений целочисленного массива А и выводятся значения вещественного массива В, содержащего 50 элементов. Соответствующие фрагменты программы:

Var A : Array [1. .10] of integer;

В : Array [1. .50] of real;

i : integer;

Begin

For i : = 1 to 10 Do

НЕ нашли? Не то? Что вы ищете?

Begin

Write('A[' ,i,']=');

ReadLn(A[i])

End;

For i:= 1 to 50 Do

Begin

WriteLn('В[' ,i,']=', В [i])

End;

End.

Пример 2. Заполнить случайными числами из диапазона [0, 1] вещественный линейный массив из N чисел.

Найти максимальное значение и его индекс (первый, если таких значений несколько).

Решение. Поскольку размер массива в программе должен быть однозначно задан, определим N в разделе констант, например, N = 20. При изменении размера массива достаточно будет отредактировать в программе лишь описание константы N.

Const N=20 ;

Var X: Array [1..N] of real;

k: integer; max: real; Kmax: integer;

Begin

For k: =1 to N Do X [ k] : =random; {Заполнение случайными числами}

max:=X[l]; Kmax:=l; {Инициализация вычисляемых переменных}

For k: =2 to N Do {Поиск максимального значения}

If X [k] >max Then

Begin

max: =X[k] ;

Kmax:=k End;

WriteLn (' Первое максимальное значение : X [' , Kmax, ']= ' , max)

End.

Пример 3. Дан целочисленный линейный массив. Отсортировать его элементы в порядке возрастания значений.

Решение. Воспользуемся алгоритмом, известным под названием «метод пузырька». Идея состоит в последовательном перемещении путем попарных перестановок наибольшего значения сначала на место N-гo элемента, затем (N-1)-го и т. д.

Опишем массив на максимальный размер (например, 100), а фактический размер N определим вводом.

Program Sortirovka;

Var

N, I, J, P : integer;

A: Array [1..100] of integer;

Begin

Write (' Введите число элементов : ' ) ;

ReadLn (N) ;

For I: =1 to N Do

Begin

Write ('Введите A[', I, '] ');

ReadLn (A[I] )

End;

For I:=l to N-l Do

Begin

For J: = 1 to N-1 Do

If A[J] <=A[J+1] Then

Begin

P:=A[J];

A[J] :=A[J+l];

A[J+l] :=P;

End

End;

For I:=l to N Do Write (A[I] , ' ') End.

Тест: N = 10; элементы массива: 1, 2, 2, 2, -1, 1, 0, 34, 3, 3.

Ответ: -1, 0, 1, 1, 2, 2, 2, 3, 3, 34.

Практические задания

1.  Дан массив натуральных чисел. Найти сумму элементов, кратных данному К.

2.  В целочисленной последовательности есть нулевые элементы. Создать массив из номеров этих элементов.

3.  Дана последовательность действительных чисел a1 a2, ..., аn. Заменить все ее члены, большие данного Z, этим числом. Подсчитать количество замен.

4.  При поступлении в вуз абитуриенты, получившие двойку на первом экзамене, ко второму не допускаются. В массиве А[n] записаны оценки экзаменующихся, полученные на первом экзамене. Подсчитать, сколько человек не допущено ко второму экзамену.

5.  Даны целые числа a1 a2, ..., аn. Вывести на печать только те числа, для которых выполняется ai < i.

Домашнее задание «Одномерные массивы»

1.  Дана последовательность натуральных чисел a1 a2, ..., аn. Создать массив из четных чисел этой последовательности. Если таких чисел нет, то вывести сообщение об этом факте.

2.  Дан массив действительных чисел, размерность которого N. Подсчитать, сколько в нем отрицательных, положительных и нулевых элементов.

3.  У вас есть доллары. Вы хотите обменять их на рубли. Есть информация о стоимости купли-продажи в банках города. В городе N банков. Составьте программу, определяющую, какой банк выбрать, чтобы выгодно обменять доллары на рубли.