![]()
|
|||
lt;Имя массива>: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.
|
|||
|