- •Оглавление
- •Предисловие
- •Введение
- •1. Разветвляющиеся вычислительные процессы
- •If логическое_выражение then оператор1 еlse оператор2;
- •If логическое_выражение then оператор1;
- •Пример 1. Вычислить значение функции y(X)
- •Программа
- •Программа
- •2. Циклические вычислительные процессы
- •2.1. Циклы с заданным числом повторений
- •2.1.1. Вычисление массива значений функции
- •2.1.2. Обработка одномерных массивов
- •2.1.2.1. Поиск наименьшего (наибольшего) элемента массива
- •2.1.2.2. Вычисление суммы и количества элементов массива
- •2.1.2.3. Вычисление произведения элементов массива
- •2.1.2.4. Поиск элементов массива по заданному критерию
- •2.2. Циклы с неизвестным числом повторений
- •2.2.1. Табулирование функции
- •2.2.2 Итерационные вычислительные процессы
- •2.2.3. Вычисление суммы членов бесконечного ряда
- •2.3. Сложные циклы
- •2.3.1. Пример алгоритма, содержащего вложенный цикл
- •Программа
- •2.3.2. Обработка двумерных массивов (матриц)
- •2.3.2.1. Вычисление суммы и количества элементов массива
- •2.3.2.2. Поиск элементов массива по заданному критерию
- •3. Работа с текстовыми файлами
- •Программа
- •4. Функции в языке Pascal
- •5. Процедуры в языке Pascal
- •Программа
- •Программа
- •Исходные данные
- •Результаты
- •6. Модули в языке Pascal
- •Unit имя-модуля;
- •Uses имя-модуля1, имя-модуля2, …, имя-модуляN;
- •Пример модуля (библиотеки) с именем Unitmatr
- •Пример рабочей программы (программы пользователя)
- •Литература Методические пособия кафедры
2.2.3. Вычисление суммы членов бесконечного ряда
Пример 14. Найти сумму бесконечного ряда:
Условие выхода из цикла: sin(nx)/n
В этом примере будем использовать оператор while-do.
Общий вид оператора while-do:
While логическое_выражение do
begin
оператор1;
оператор2;
…
операторn;
end;
Выполнение оператора while-do:
Если значение логического_выражения равно true (истина), то выполняются операторы цикла, в противном случае происходит выход из цикла.
Программа Схема алгоритма
P rogram Prim14;
var
a,s,x,eps : real;
n : integer;
begin
writeln('Введите x, eps');
readln(x,eps);
s:=0;
n:=1;
a:=sin(x);
while abs(a)>eps do
begin
s:=s+a;
n:=n+1;
a:=sin(n*x)/n;
end;
writeln('s=', s:8:3);
end.
Исходные данные: Результат:
x = 3.48; eps = 0.0001 s= -0.168
Пример 15. Найти сумму ряда
Условие выхода из цикла: xn/n!
Указания. 1. В качестве начальных приближений переменных выберем следующие значения:
s:=0; n:=1; a:=x; где а - очередной (текущий) член ряда.
2. Каждый последующий член ряда будем получать умножением предыдущего члена на дробь x/n и умножать на –1, т.к. ряд знакопеременный, т.е. будем вычислять по формуле: a:= -a*x/n.
Программа Схема алгоритма
P rogram Prim15;
var
a,s,x,eps : real;
n : integer;
begin
writeln('Введите x,eps');
readln(x,eps);
s:=0;
n:=1;
a:=x;
while abs(a)>eps do
begin
s:=s+a;
n:=n+1;
a:= -a*x/n;
end;
writeln('s=', s:8:3);
end.
Исходные данные: Результат:
x = 1.3; eps = 0.0001 s= 0.727
2.3. Сложные циклы
Сложные циклы – это циклы, содержащие внутри себя другие циклы, называемые вложенными.
Цикл, не входящий в другие циклы, но содержащий в себе другие циклы, называется внешним циклом.
Цикл, входящий в другие циклы, но не содержащий в себе другие циклы, называется внутренним циклом.
2.3.1. Пример алгоритма, содержащего вложенный цикл
Пример 16. Вычислить элементы вектора C(n), который является произведением матрицы А(n,n) на вектор B(n). Причем элементы вектора B(n) вычисляются по формулам:
где i=1,2,…,n.
Указания.
1. Для вычисления элементов вектора B нужно организовать циклический процесс, внутри которого присутствует разветвление.
2. Для организации разветвления можно использовать значение логического выражения (i mod 2) = 0. Если его значение равно true, т.е. остаток от деления значения индекса на 2 равен нулю, то индекс чётный, иначе – нечётный.
3. Элементы вектора C рассчитываются по формулам:
.
4. Для вычисления элементов вектора C используются два цикла: внутренний с параметром j и внешний с параметром i.
Пусть элементы матрицы A(n,n) и вектора B(n) – вещественные числа и пусть n<=10.
На следующей странице представлена схема алгоритма, реализующего процесс решения данного примера.