Учебник Turbo Pascal. Введение - Вычисление суммы значений в прямом и обратном порядке

ОГЛАВЛЕНИЕ

Вычисление суммы значений в прямом и обратном порядке

Следующая задача — вычисление суммы значений 1/n5 в прямом и обратном порядке. Программа forward_back_sum знакомит нас с зарезервированным словом uses, которое дает возможность подключать к программе библиотечные модули. В данном примере используются процедуры для работы с экраном в текстовом режиме. Для очистки экрана используется процедура ClrScr, которая находится в библиотечном модуле Crt. Перед вычислением четвертой степени значения целой (типа Word) переменной к ее значение присваивается вещественной переменной х. Это делается для того, чтобы избежать переполнения. Ведь диапазон значений вещественных переменных значительно больше, чем диапазон значений целых переменных типа Word.

Листинг 1.8. Суммирование в прямом и обратном порядке

program forward_back_sum;
uses Crt;
{Crt - библиотечный модуль, который содержит процедуры
для работы с экраном в текстовом режиме}
var
    х, summa, ammus : Real;
    k : Word;
begin
    ClrScr;
    WriteLn('l/n^5. 1 to 1000'):
    {Суммирование в прямом порядке}
    summa := 0.0;
    for k := 1 to 1000 do
    begin
        x := k;
        summa := summa + 1.0/(x*Sqr(Sqr(x)));
    end;
    {Суммирование в обратном порядке}
    ammus := 0.0;
    for k := 1000 downto 1 do
    begin
        x := k;
        ammus := ammus + 1.0/(x*Sqr(Sqr(x)));
    end;
    WriteLn(C'Прямая сумма = ', summa);
    WriteLn('Обратная сумма = ', ammus);
    WriteLn('Разность = ', summa - ammus);
    WriteLn;
    Write('Нажмите <Enter>');
    ReadLn;
end.

Перед тем как продолжить чтение книги, еще раз просмотрите разобранные нами программы. Убедитесь, что вам в них все понятно. Поэкспериментируйте с ними, попробуйте поменять параметры и посмотрите, как это повлияет на результаты вычислений.