Читайте также:
|
|
a) var amper: array [0..30] of real;
Описан массив с именем amper, состоящий из 31 элемента типа real; индексация его элементов начинается с нуля и заканчивается целым числом 30.
б) var v, w: array [-1..15] of integer;
Описаны два эквивалентных массива v и w целого типа, содержащие по 17 элементов в каждом.
Описание массивов с помощью описания типов. Этот способ включает себя два этапа: сначала в разделе описания типов объявляется пользовательский тип, а затем в разделе описания переменных указывается имя массива, принадлежащего данному типу:
type имя типа = array [ тип индекса ] of тип элементов;
var имя массива: имя типа;
Пример 4.2.
type vec = array [-5..10] of integer;
var b: vec;
Обращение к элементу массива. Массивы не могут обрабатываться целиком. Для того, чтобы получить доступ к элементу массива, нужно записать обращение к нему, которое выглядит как
имя массива [ индекс ]
В качестве индекса можно использовать константу, переменную или выражение, соответствующие типу индексов, объявленному в описании массива.
Пример 4.3
b[100], c[k], yes[j+2]
Приведены обращения к элементам массивов с именами b, c и yes. Значения переменных k и j должны быть определены заранее.
Ввод и вывод одномерных массивов. Для ввода и вывода всего массива или его части используют операторы цикла, как правило, оператор for.
Пример 4.4
Var
z: array [10..100] of integer;
K: integer;
Begin
for k:= 10 to 100 do read (z [ k ]);
for k:= 21 to 30 do write (z [ k ]);
В приведенном фрагменте программы вводятся все элементы массива z целого типа, а выводятся 10 его элементов – с 21-го по 30-й.
Отдельные элементы массивов вводятся так же, как и простые переменные.
Организация циклов с использованием массивов
Задачи такого рода являются весьма распространёнными в вычислительной практике, и программировать их можно с использованием любого из трёх описанных выше операторов цикла. Но наилучшим для этой цели часто является оператор for. Ниже приведены примеры организации циклических вычислительных процессов с помощью оператора for.
Пример 4.5. Дан вектор a, содержащий 50 компонент. Вычислить сумму его элементов.
Вначале надо ввести массив в компьютер, затем – вычислить сумму элементов.Как и любая сумма нескольких чисел, данная сумма вычисляется методом накопления.
Var
I: integer;
S: real;
a: array [1..50] of real;
Begin
write ('введите массив ');
for i:=1 to 50 do read(a[i]);
s:=0; { обнуление ячейки s, предназначенной
для накопления суммы }
for i:=1 to 50 do s:= s + a[i];
{ накопление суммы элементов массива }
writeln ('s=', s:10:3)
End.
Пример 4.6. Дан вектор b, содержащий 100 компонент. Найти наибольший элемент этого вектора.
Суть алгоритма задачи в следующем. Используется переменная с именем мах, в которой в каждый момент выполнения программы содержится максимум из уже просмотренных элементов (текущий максимум). Вначале мах равна первому элементу b[1]. Перебираются все элементы массива, и если встречается элемент больше мах, то его значение присваивается мах.
var max: real;
Дата добавления: 2015-07-18; просмотров: 95 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Readln (x, eps); | | | I : integer; |