Использование program, begin…end, write, readln, Uses Crt, Clrscr.

В этом уроке мы напишем самую простую программу, состоящую всего из пяти строк. Эта программа будет выводить сообщение на экран. Для написания программы нам необходимо знать как работают операторы Write, Readln, а также понять для чего нужны ...

Перевод числа из десятичной системы счисления в шестнадцатеричную.

Напишем программу, которая вводит с клавиатуры целое число в диапазоне от 0 до 15 и преобразует его к шестнадцатеричной системе счисления. Напомню, что в шестнадцатеричной системе счисления числа в диапазоне от 0 до 9 соответствуют таким же числам в ...

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

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

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

Вложенные итерационные циклы.

Под вложенным итерационным циклом понимают такую алгоритмическую структуру, при которой в тело одного итерационного цикла включен другой итерационный цикл. Другими словами, любая составная ...

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

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

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

Последовательность {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:
 
   ГлавнаяПаскальЛекции по ПаскальТип данных Char.