Процедура Writeln в Pascal

Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую ...

Тип данных Char. Функции Ord, Chr.

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, ...

Ветвления в Pascal.

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

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

Использование оператора WITH ... DO.

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

Сортировка одномерного массива. Метод пузырька.

Сортировка — перестановка местами объектов в определенном порядке. Известно несколько сотен алгоритмов сортировки и их модификаций.

Вычисление предела последовательности является типичной задачей на использование итерационного цикла.

Последовательность {Xn} определена следующим образом:

Vihchislenie predela posledovateljnosti

Найти предел последовательности {Xn}, принимая за него такое Хn, при котором |Xn – Xn-1| < ?.

Vihchislenie predela posledovateljnosti.

PROGRAM PR24;
VAR      
X, X1, E: REAL;
N: INTEGER;
BEGIN
     WRITELN('BBEДИTE E');
     READLN(E);
     N := 1;
     X := 1;
         REPEAT
            X1 := X;
            X := ( N * N +2)/(3*N * N – N +1);
            N:=N+ 1;
        UNTIL ABS(X – X1) <E;
    WRITELN('Предел последовательности равен', X:12:8)
END.

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

Для вычисления на компьютере сумм бесконечного ряда часто используют рекуррентные формулы, с помощью которых друг за другом вычисляют значения членов бесконечной последовательности. Рекуррентные формулы существенно сокращают время работы программы, упрощают процесс написания программы и ее отладки. Как правило, рекуррентные формулы программист должен составить сам. В этом и состоит искусство программирования вычислительных процессов. Рекуррентная формула может и отсутствовать. В этом случае каждый член ряда придется рассчитывать «в лоб» по полной формуле.
Есть определенные признаки, которые помогают выявить наличие рекуррентных формул. К таким признакам относятся выражения (-1)n, Xn, n! и подобные этим выражения, присутствующие в формуле общего члена бесконечного ряда. Часто рекуррентная формула для бесконечного ряда находится путем деления соседних членов ряда друг на друга.

Пример №25. Вычислить:

Vihchislenie predela posledovateljnosti..

Вычисление ряда окончить при выполнении условия:

Vihchislenie predela posledovateljnosti... Для решения этой задачи необходимо использовать рекуррентную формулу. А найти ее можно следующим способом. Сделаем преобразование исходного ряда в следующий вид:

Vihchislenie predela posledovateljnosti....

Тогда условие окончания вычислений будет выглядеть так | Ai | < ?.  Это условие либо выполнится для некоторого i = n и вычислительный процесс будет завершен, либо не выполнится. Во втором случае используют термин «зависание программы». Оператор ЭВМ искусственно останавливает программу и выясняет причину зависания: неправильные исходные данные, например, комбинация X и ?, или допущена ошибка в тексте программы, а может быть получена неправильная рекуррентная формула, или другая причина имеет место. Если Вам понадобятся аксессуары для телефонов, Вы  всегда сможете купить их в интернет-магазине гаджетов http://promate-rus.com/ по оптимальной и доступной цене.
Нас в этом примере интересует нормальный режим работы программы, а это означает, что существует такое n, для которого справедливы следующие формулы:

Vihchislenie predela posledovateljnosti.....

Эти формулы и будут исходными для нашей задачи. На этом первый этап подготовки бесконечного ряда к нахождению его суммы Y с погрешностью ? на компьютере завершается. Если рекуррентную формулу найти невозможно или нет в этом необходимости, то можно ограничиться только приведенными выше преобразованиями.
Но в нашем случае нужен второй этап преобразования, а именно, нахождение рекуррентной формулы. Для этого поделим два соседних члена Аi, Аi-1 (Иногда, с точки зрения математических преобразований проще будет разделить Аi+1 на Аi, что эквивалентно):

Vihchislenie predela posledovateljnosti......

Vihchislenie predela posledovateljnosti.......

PROGRAM PR25;
VAR      
Y, Е, А, X: REAL;
I: INTEGER;
BEGIN   
     WRITELN('Введите X, E');
     READLN(X, E);
     I:= 1;
     A:= -X*X/2;
   Y:=A;
        WHILE ABS(A) >= E
        DO BEGIN
              I := I+1;
              A:= -X*X/2/I/(2*I - 1)*A;
              Y := Y + A;
       END;
    WRITELN('Y=', Y:10:6)
END.


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


Комментарии  

 
+1 # ритта 09.02.2013 04:09
тема понравилась!!!! :lol:
 
 
0 # Акакий 26.11.2014 05:31
:eek:
 
   ГлавнаяПаскальЛекции по ПаскальСортировка двумерного массива.