Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

Константы в Pascal.

Иногда, бывает так, что у нас в программе встречаются величины, которые не меняются в процессе выполнения программы (т.е. фактически они противоположность переменных). Такие величины называются константами. Константы указываются в специальном ...

Функции Sqr, Abs, Sqrt, Sin, Cos, Arctan, Ln, Exp, Pi в Pascal.

Мы уже знаем, какие существуют функции для целых переменных. Это – нахождение модуля числа (Функция Abc), а также возведение числа в квадрат (Функция Sqr). В этом уроке мы рассмотрим функции, применяемые к дробным числам. Это функции Sqr - квадрат ...

Циклы и массивы

Тип данных Real.

Тип REAL (вещественный). Число типа REAL занимает три слова (шесть байтов). При работе с вещественными числами нужно помнить, что на любом отрезке вещественной оси существует бесчисленное множество ...

Оператор варианта CASE.

Иногда его называют также оператором выбора. Это оператор CASE, который является обобщением оператора IF и позволяет сделать выбор из произвольного числа имеющихся вариантов.

Многие циклические вычислительные процессы используют рекуррентные зависимости при решении различных математических задач.

В общем виде формулу для рекуррентных вычислений можно представить так:

Arifmeticheskiyj cikl s rekurrentnoyj zavisimostjyu

В этой рекуррентной формуле для вычисления i-го члена последовательности Yi, где i > k, используются k предыдущих членов последовательности Yi-1,Yi-2,...,Yi-k . Для вычислений по этой формуле нужно задать k первых членов последовательности – Y0,Y1,...,Yk-1 .
Использование рекуррентных формул, как правило, сокращает текст программы и время ее выполнения на компьютере. Однако в большинстве случаев рекуррентную формулу нужно написать программисту, что в ряде случаев вызывает определенные трудности.

Пример 18. Вычислить значение tgx:

Arifmeticheskiyj cikl s rekurrentnoyj zavisimostjyu.

Знаменатель формулы для вычисления tgX представляет собой цепную дробь. Для вычисления такого знаменателя в цикле удобно использовать рекуррентную зависимость с памятью в один член последовательности Аi= F(Ai-1). Для вывода рекуррентной формулы следует использовать таблицу 18.

Arifmeticheskiyj cikl s rekurrentnoyj zavisimostjyu..

Из таблицы 23 видно, что рекуррентная формула принимает вид:

Arifmeticheskiyj cikl s rekurrentnoyj zavisimostjyu...

PROGRAM PR18;
VAR      
X, A: REAL;
I: INTEGER;
BEGIN
   WRITELN('BBEДИTE X');
   READLN(X);
   A := 1;
   FOR I := 1 TO 5
   DO A := 11 - 2 * I - X * X/A;
   WRITELN('tgX = ', X/A:8:5)
END.

Arifmeticheskiyj cikl s rekurrentnoyj zavisimostjyu....

Пример 19. Пользуясь рекуррентной формулой, для заданного N вычислить

Arifmeticheskiyj cikl s rekurrentnoyj zavisimostjyu.....

известны Y0, Y1, Y2, a Yi(i?3) вычисляется по формуле:

Arifmeticheskiyj cikl s rekurrentnoyj zavisimostjyu......

Arifmeticheskiyj cikl s rekurrentnoyj zavisimostjyu.......

Первым шагом в работе алгоритма является ввод данных Y0, Y1, Y2, N. При вводе трех первых значений последовательности нужно использовать рабочие ячейки Y3, Y2 и Y1 соответственно. На втором шаге требуется проанализировать значение N. Если N < 3, то рекуррентная формула для подсчета S суммы первых N членов не потребуется. Для определения S при условии N < 3 в алгоритме предусмотрен переключатель (оператор CASE), имеющий три ветви: N = 0, N = 1 и «В противном случае», куда попадает и случай N = 2. Для каждой ветви подсчитывается соответствующая сумма S. Третий шаг выполняется только в том случае, если N > 2. На этом шаге для I от 3 до N по рекуррентной формуле вычисляются Y, и подсчитывается их сумма S. Вы можете скачать архиватор бесплатно бесплатно и без регистрации. Найденное значение S на последнем четвертом шаге выводится на экран.
PROGRAM PR19;Arifmeticheskiyj cikl s rekurrentnoyj zavisimostjyu........
VAR     
Y3, Y2, Yl, Y, S: REAL;
I, N: INTEGER;
BEGIN
WRITELN('ВВЕДИТЕ Y0, Yl, Y2, N');
READLN(Y3, Y2, Yl, N);
CASE N OF
   0: S := Y3;
   1: S := Y3 +Y2
   ELSE S := Y3 + Y2 + Y1
END;  {CASE}
IF N > 2
THEN FOR I := 3 TO N
DO BEGIN
       Y := LN(ABS(Y1*Y1 + Y3 + 1));
       S := S + Y;
       Y3 := Y2;
       Y2 := Y1;
       Y1 := Y
       END;
WRITELN('S=', S:10:8)
END.

 


Предыдущая статья: Табулирование функций.
Оглавление: Лекции по Pascal.
Следующая статья: Вложенный арифметический цикл.


Комментарии  

 
+2 # EVG 07.10.2021 04:48
;-)
Ответить
 

Добавить комментарий

   ГлавнаяПаскальЛекции по ПаскальАрифметический цикл с рекуррентной зависимостью.