При решении многих задач приходится обрабатывать большое количество однотипных данных. Для хранения этих данных пришлось бы вводить большое количество переменных, но это же громоздко и неудобно. Эта проблема решается путем введения специального типа данных, который называется массивом. Массив – это обозначаемая одним именем последовательность однотипных элементов. Место каждого элемента в этой последовательности определяется его индексом.
Массив в языке Pascal ABC описывается так : Имя : array инд 1.. инд N of тип _ элементов ; Здесь имя – имя массива задается по тем же правилам, что и имена переменных других типов. Служебное имя array означает массив. В квадратных скобках задается диапазон индексов элементов массива : сначала указывают индекс первого элемента, затем ставят две точки, после указывают индекс последнего элемента. Диапазон индексов определяет максимально возможное количество элементов в массиве – размер массива. Например : в классе 25 учеников. Описание этого массива может выглядеть так Var A: array[1..25] of integer;
Можно задать в разделе описаний ( значения элементов, которые не изменяются при работе программы ( констант )). Например : Const A:array [1..3] of integer=(5,7,9); Присвоение значения элементу ( для этого указывают имя массива и индекс этого элемента ). Например : A[2]:=7; Ввод значений с клавиатуры с использованием стандартных процедур read или readln.
При решении многих задач используются числа, которые задаются случайным образом. Часто их применяют при тестировании и отладки программ, чтобы не набирать вручную исходные данные. Случайные значения элементов массива задаются с помощью функции random. Функция random без аргумента генерирует случайные вещественные числа на промежутке [0, 1). Если случайные вещественные числа должны принадлежать иному промежутку, например [3, 4), то значение элемента задается выражением X[i]:=random+3. Целые случайные числа из промежутка [0,n] генерирует функция random (n+1). Если целочисленные значения элементов массива должны принадлежать промежутку [a,b], то их вычисляют с помощью выражения : X[i]:= random(b-a+1)+a.
Элементы массива в программах используются так же, как обычные переменные. Элементам типа integer можно присваивать результат выполнения операций +, -, *, div, mod. Для элементов типа real возможны операции +, -, *, /. Рассмотрим это на примере. Составить программу, которая формирует массив из 7 случайных целых чисел, принадлежащих промежутку [-30; 30], и вычисляет сумму отрицательных чисел.
Program primer_1; Var a: array[1..7] of integer=; i, k: integer; Begin For i:=1 to 7 do a[i]:=random(61)-30; k:=0; for i:=1 to 7 do if a[i]
При обработке информации постоянно приходится сталкиваться с задачами поиска данных. Алгоритмы поиска являются одними из наиболее часто выполняемых. Цель поиска заключается в нахождении значений, индексов и количества элементов массива, удовлетворяющих заданным условиям. В качестве простых условий поиска чаще всего используется сравнение значений элементов массива X[i] с заданным числом B ( например, равенство X[i]=B или неравенство X[i] B). Самый простой способ поиска элементов массива с заданными свойствами – это последовательный просмотр всех элементов и проверка выполнения условий поиска. Такой алгоритм поиска называется линейным или последовательным.
В массиве хранится рост 10 учеников 9- го класса. Составить программу, которая определяет, есть ли в классе хотя бы один ученик ростом 167 см, и выводит его номер по списку. Program primer_2; Const h: array[1..10] of integer= (160,169,170,180,176,167,158,173,164,174); Var i, k: integer; Begin k:=0; For i:=1 to 10 do If h[i]=167 then k:=1; If k>0 then writeln( Номер ученика по списку =,k) Else writeln( Ученика с таким ростом нет ); End.