Данная техника позволяет избежать вычисления больших степеней и факториалов, они постепенно “накапливаются” в а от шага к шагу.
Пример 5. Сумма
В рассмотренном примере 4 мы получили рекуррентное соотношение за счёт свойства сокращаемости степеней и факториалов. Косинус таким свойством не обладает., поэтому, обозначив , придём к рекуррентному соотношению, в котором будет присутствовать отношение косинусов. Это не лучший вариант, поэтому предлагается за а обозначать только то, что что сможет сократиться при делении, а всё остальное добавлять в процессе вычисления суммы. В нашем случае положим как и прежде . Фрагмент программы, считающий s будет теперь выглядеть следующим образом:
s:=0;
a:=-x;
for k:=1 to n do
Begin
s:=s+a*cos(k*x);
a:=-a*x/(k+1);
end;
Одномерные массивы
Одномерным массивом называется упорядоченная совокупность однотипных элементов (компонент массива), рассматриваемых как единое целое. Каждый элемент массива снабжается индексом (номером). Поэтому массив можно назвать совокупностью переменных с индексами. В качестве индекса может быть переменная или выражение дискретно-упорядоченного типа, как правило типа integer. Индекс не может быть типа real, так как этот тип не является дискретно-упорядоченным. Говоря более точно, множество индексов должно определяться заданием типа-диапазона, который указывается при описании массива в квадратных скобках за словом array (см. ниже). Количество элементов массива называется размероммассива.
Описание массивов.
Описать какую-либо переменную как массив можно двумя способами.
1 способ. Определяется тип массива следующим образом:
type <имя типа>=array[<диапазон индексов>] of <тип компонент>;
<диапазон индексов> задается нижней и верхней границами изменения индекса массива.
Затем описывается переменная массива как принадлежащая типу <имя типа>:
var <имя переменной>: <имя типа>;
Например, массив a из 10 вещественных чисел (т.е. набор переменных с индексами a1, a2, … , a10 можно описать так:
type mass=array[1..10] of real;
var a:mass;
2 способ. Описать переменную как массив можно и непосредственно без предварительного описания типа:
var <имя переменной>:array[<диапазон индексов>] of <тип компонент>;
В нашем примере
var a:array[1..10] of real;
В этом случае тип массива будет безымянным.
Замечание. В нашем примере массива из 10 чисел можно было бы сделать следующие описания:
var a:array[0..9] of real;
или
var a:array[-4..5] of real;
Это бы по прежнему означало, что a есть массив из 10 вещественных чисел, только занумерованных соответственно от 0 до 9 либо от –4 до 5
Дата добавления: 2016-09-06; просмотров: 1063;