|
|||
<Имя массива>:Array[<диапозон1>, <диапазон2>] of <тип компонент>; ⇐ ПредыдущаяСтр 2 из 2 < Имя массива>: Array[< диапозон1>, < диапазон2> ] of < тип компонент>;
Например: Var M: array[1.. 10, 1.. 10] of integer; {Описание двумерного массива (матрицы) из 100 эл-тов целого типа}
Способы задания элементов массива 1) константа типа массив
Пример1. Const Vector: Array [1.. 5] of real = (0. 1, -3. 24, 11. 87, 1. 0, 4. 7); {В результате будет сформирован одномерный вектор с вещественными компонентами} Matrix: Array [1.. 2, 1.. 4] of integer = ( (1, 2, 3, 4), (5, 6, 7, 8) ); {В результате будет сформирована матрица следующего вида
1 2 3 4 5 6 7 8}
CharVector1: Array [1.. 4] of char = (‘C’, ‘H’, ‘A’, ‘R’);
2) ввод элементов с клавиатуры
Пример 2. Var а: аrray[1.. 20] of integer; i: integer; Begin For i: = 1 to 20 do read(a[i]); {Заполнение массива A с клавиатуры} End.
3) заполнение случайными числами, при помощи функции Random. Random(N) – встроенная математическая функция возвращающая случайное целое число от 0 до N, где N- переменная, выражение или константа целого типа. Функция Random может быть задана и без аргумента. В этом случае будет генерироваться случайное вещественное число из диапазона от 0 до 1. Randomize – встроенная математическая процедура, обеспечивающая несовпадение последовательностей случайных чисел, генерируемых функцией Random. (Если генерировать случайные числа с помощью функции Random без предварительного использования процедуры Randomize, то при каждом перезапуске программы цепочка случайных чисел будет повторяться. )
Пример 3.
Var D, B: Array[1.. 50] of integer; C: Array[1.. 100] of real: j, k, n: integer; Begin Randomize; For j: = 1 to 20 do b[j]: =Random(20); {Заполнение массива B случайными целыми числами в диапазоне от 0 до 20} For k: = 1 to 50 do c[k]: =Random; {Заполнение массива С случайными вещественными числами в диапазоне от 0 до 1} For n: = 1 to 50 do d[n]: =10*Random-5; {Заполнение массива D случайными вещественными числами в диапазоне от -5 до 5} end.
Задача. Найти среднее арифметическое элементов массива А размерности n.
Program AVERAGE_1; const n=10; Var a: array[1.. n] of real; i: integer; S, av: real; begin S: =0; For i: =1 to n do begin write ('введите', i, '-ый элемент'); readln (a[i]); S: = S+a[i]; end; av: = S/n; writeln ('среднее арифметическое =', av); end.
Решить эту же задачу, оформив заполнение массива случайными числами, распечатку массива и подсчет среднего арифметического процедурами.
Program AVERAGE_2; const n=10; Type massiv = array[1.. N] of integer; Var a: massiv; av: real;
Procedure vvod (var a: massiv); Var i: integer; Begin For i: =1 to n do a[i]: =10*Random - 5; End;
Procedure vivod (a: massiv); Var i: integer; Begin For i: =1 to n do Write(a[i]: 3); Writeln; End;
Procedure summa (a: massiv; var av: real); Var S: real; Begin S: =0; For i: =1 to n do S: = S+a[i]; av: = S/n; End;
begin vvod(a); vivod(a); summa (a, av); writeln ('среднее арифметическое =', av); End.
|
|||
|