Использование вложенного оператора If.

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

Div, Mod, сложение, вычитание в Pascal.

Помимо операций умножения и сложения, над целочисленными переменными производятся операции Div (операция целочисленного деления), Mod (вычисление остатка от целочисленного деления), операция вычитания «-».

Логические операции And, Or, Not, Xor в Pascal.

Над переменными логического типа можно производить логические операции. В языке программирования Pascal существуют следующие логические операции : Andлогическое умножение, Orлогическое сложение, Notлогическое отрицание, Xor ...

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

Тип данных Char.

Тип CHAR (литерный, символьный). Этот тип задает конечное упорядоченное множество символов (литер), допускаемое в конкретной реализации языка.

Линейные процессы вычислений.

Простейший алгоритм представляет собой цепочку блоков (операторов) от начального блока до конечного. Каждый блок должен быть выполнен один единственный раз. Это линейный алгоритм. Он отражает ...

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

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

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.
Следующая статья: Вложенный арифметический цикл.


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

Защитный код
Обновить

   ГлавнаяПаскальЛекции по ПаскальОтображение на экране значений двумерного массива.