Методика изучения основ алгоритмизации и программирования: ознакомление с типом данных «массив»
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Понятие о структурированном типе данных «массив» вводится в 9-м классе. Учащихся знакомят только с одномерными числовыми массивами. Рассматривают ввод и вывод элементов, арифметические действия над элементами массива, преобразование элементов массива, поиск элементов с заданными свойствами.

Массив – это обозначаемая одним именем пронумерованная последовательность однотипных элементов, к каждому из которых можно обратиться по его номеру. Массив является структурированным (составным) типом данных. Это значит величина, описанная как массив, состоит из конечного числа других величин. Например, массив из 10 целых чисел, массив из 50 вещественных чисел.

Массиву присваивается имя, по которому можно обращаться к нему, как к единому целому. Каждый элемент массива имеет свой номер (индекс), определяющий место элемента в последовательности. Доступ к отдельному элементу осуществляется по имени массива с указанием индекса, который записывается после имени в квадратных скобках, например,A[5],time[7].

Элементы массива в программах используются так же, как и обычные переменные, например:A[3]:= 25;   Sum:=Sum+A[i];

S:=(TEMP[1]+TEMP[31])/2; Y[k]:=X[k]*2;

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

Индексов может быть несколько, тогда массив называют многомерным. Пример двумерного массива – таблица.Ее можно рассматривать как совокупность одномерных массивов (несколько массивов-столбцов или несколько массивов-строк).

Далее рассматривают описание массива. Для использования массива в программе, его надо описать в разделе описания переменныхvar:

var имя_массива:array[индекс1..индексN]of тип_элементов;

Служебное слово array означает массив.В квадратных скобках задается диапазон индексов элементов массива: сначала указывают номер первого элемента в массиве индекс1, затем ставят две точки, после которых указывают номер последнего элемента индексN. Индексы задаются целыми (положительными и отрицательными) числами. Диапазон индексов определяет максимально возможное количество элементов в массиве – размер массива.Тип элементов может быть любым, например, числа, символы, строки, массивы. Мы будем рассматривать массивы с элементами числовых типов Integer иReal.

Далее рассматривают примеры описания массивов. Надо обратить внимание, что в описании для индекс1 и индексN должны быть заданы конкретные значения или константы. Поэтому описать массив можно двояко.

Пример 1.В классе 25 учеников. Известен рост каждого в сантиметрах. Как организовать хранение данных в памяти компьютера?

Для хранения значений роста можно использовать массив А, состоящий из 25 целых чисел. Индекс каждого элемента – порядковый номер ученика из списка в классном журнале. Например, элемент А[5] хранит рост ученика под пятым номером.Описание этого массива может выглядеть так:

var A:array[1..25] of integer ;

Здесь имя массива А, диапазон индексов от 1 до 25, размер массива 25 целых чисел.Этот массив можно описать и так:

constn1=1; n2=25;

varA: array[n1..n2] ofinteger;

Пример 6. Ввести оценки по информатике нескольких учащихся класса.

varA: array[1..25] ofinteger;    

{ максимальный размер 25 учащихся }

i, n: integer;

begin

write(‘введите количество оценок ’);

read(n); { реальный размер массива – n оценок }

writeln(‘введите не более ’, n, ‘ оценок через пробел’);

fori:=1 tondo read(A[i]);

end.

Способ 2. Программное задание элементов массива.Значения элементов массива, которые не изменяются при работе программы, можно задавать в разделе описаний как константы. Например, массив из 8 простых чисел:

ConstA: array[1..8] ofinteger=(2,3,5,7,11,13,17,19);

Значения цветовых констант можно поместить в массив:

Const Col: array[1..5] of integer = (clRed, clYellow, clGreen, clBlue, clPurple);

Пример 8. Сохранить в массиве таблицу значений функции y = x2. Аргумент изменяется от –5 до 5 с шагом 1.

consta = - 5;b = 5;

var y: array[-a..b] of integer;

i: integer;

begin

for i:=a to b do

y[i]:=sqr(i);   { возведение в квадрат }

end.

Способ 3. Задание элементов массива случайным образом. При этом компьютер сам генерирует (создает, «задумывает») число, и какое это будет число пользователю заранее не известно. Для получения случайного числа используют стандартную функцию random.Она генерирует случайные вещественные числа в интервале [0,1).

Пример 9. Создать массив из 10 элементов и заполнить его случайными вещественными числами, принадлежащими промежутку [0; 1).

varX: array[1..10] of real;

i: integer;

begin

for i:=1 to 10 do

X[i]:=random;

end.

В системе ABCPascal есть еще функция random(k), которая генерирует целые случайные числа из промежутка [0; k–1). В общем случае, если целочисленные элементы массива должны принадлежать промежутку [a; b], то значение элемента вычисляют по формуле: X[i]:=random(b–a+1)+a;

Пример 10. Создать массив из 10 элементов и заполнить его случайными целыми числами, принадлежащих промежутку [20; 50].

var X: array[1..10] of integer;

i: integer;

begin

fori:=1 to 10 doX[i]:=random(31)+20;

end.

Затем рассматривают вывод элементов массива.Для вывода значений элементов массива используют стандартные процедуры write и writeln и цикл for.Выводить элементы можно в строку или в столбец. Для вывода в строку используют процедуру write. При этом выводимые элементы необходимо отделять пробелами или иными символами, иначе все они будут напечатаны слитно.При использовании процедуры writeln значения выводятся в столбец по одному в строке.Можно использовать форматированный вывод с указанием количества позиций для цифр. При выводе элементов массива бывает полезно указывать его номер (индекс).

Пример 11. Задан массив из 9 простых чисел.Вывести в строку четыре первых числа, разделяя их двумя пробелами.

ConstA: array[1..9] of integer=(2, 3, 5, 7, 11, 13, 17, 19, 23);

var i: integer;

begin

fori:=1 to 4 do

write(A[i], ‘ ’);  

{вывод в строку i-го числа и двух пробелов }

end.

Пример 12. Задан массив из 9 простых чисел. Вывести четвертое число и три последних. Числа выводить в столбец,указывая их номера.

ConstA: array[1..9] ofinteger=(2, 3, 5, 7, 11, 13, 17, 19, 23);

vari: integer;

begin

writeln('четвертоечислоравно ', A[4]);

{ вывод 4 гочисла }

fori:=9 downto 7 do  

writeln('число с номером ', i, ' равно ', A[i]);                   {вывод чисел с номерами 9, 8 и 7 в столбец}

end.

Вещественные числа X удобно выводить, задавая формат вывода X:m:n,
где m – ширина поля вывода, а n – количество знаков после десятичной точки.

Пример 13. Создать массив из 7 случайных вещественных чисел, принадлежащих промежутку [3; 4]. Вывести пять первых чисел массива в столбец шириной 8 знаков, оставив в числах два десятичных знака.

var X: array[1..7] of real;

i: integer;

begin

fori:=1 to 7 do X[i]:=random+3; {создание

массива из 7 случайных чисел,

принадлежащих промежутку [3; 4]}

fori:=1 to 5 do writeln(X[i]:8:2); {вывод элементов массива с номерами от 1 до 5 в столбец

шириной 8 знаков из них два десятичных}

end.

На последующих уроках рассматривают арифметические действия над элементами массива. Над ними можно выполнять операции, допустимые для переменных соответствующего типа. Элементам типа integer можно присваивать результат выполнения операций +, –, *, div, mod. Целочисленные элементы могут быть операндами при делении (/). Для элементов типа real допустимы операции +, –, *, /.


Дата: 2019-02-19, просмотров: 630.