Строковые константы в Pascal.

В качестве значения строковой константы может выступать любая последовательность символов. Эта последовательность заключается в апострофы. Строковая константа отличается от символьной константы тем, что здесь в качестве значения константы можно ...

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

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

Строки в Паскаль.

Тип данных String (строковый тип) используется в Паскаль для обработки текстов. Если в одну переменную типа Char можно записать лишь один символ, то в переменную типа String можно записать до 255 символов.

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

Циклы с параметром. Оператор FOR.

Эти циклы организуются в программах, где заранее известно число повторений. При этом повторное выполнение сопровождается изменением управляющего параметра (переменной цикла).

Сортировка двумерного массива.

Пример 36. Задан двумерный массив X из 6 строк и 4 столбцов. Упорядочить массив X по возрастанию элементов дробной части столбца с номером N. Отсортированный массив X вывести на экран монитора.

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

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

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


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

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

   ГлавнаяПаскальЛекции по Паскаль