Начальное значение: 27.0
k= 3
Задача 4.3. Используя формулу для элементов последовательности ai, составить программу для вычисления суммы n элементов этой последовательности.
Дано:
Решение.
1. Анализ задачи.
В этой задаче элементы последовательности вычисляются рекуррентно, поэтому соотношение:
Пусть Si - сумма i первых элементов последовательности.
Тогда
Начальные значения:
Основные формулы:
Исходные данные:
n =3 (тест),
n =7 (рабочий вариант).
2. Тест для отладки программы:
3. Блок - схема:
4. Программа:
Program Sum; { Вычисление суммы заданного числа элементов
последовательности }
Var S, a: real; { Описание переменных }
i, n: integer;
Begin
WriteLn(' Введите n');
ReadLn(n); { Ввод числа элементов последовательности}
WriteLn(' Введено n=',n:4); { Вывод n }
S:= 0.0;
a:= -1.0;
for i:= 1 to n do begin
a:= -a / i; { Вычисление текущего элемента последовательности}
S:= S +a; { и суммы }
end;
WriteLn;
WriteLn(' сумма S=',S:10:4); { Вывод суммы }
End. { Конец программы}
5. Вид печати:
Введено n= 3
сумма S=0.6667
Задача 4.4. Разработать программу, которая определяет первый отрицательный элемент последовательности значений функции при изменении в интервале с шагом .
Дано:
Решение.
1. Анализ задачи.
Для вычисления требуемого результата необходимо последовательно вычислять значение функции и анализировать его знак. Для конкретных вариантов исходных данных может оказаться, что такого элемента в заданной последовательности нет. Следовательно, после завершения цикла необходимо вывести соответствующее сообщение.
Обозначим: a - начальное значение x; b - конечное значение x; h - шаг изменения x; .
Тогда: a = 2; b = 5; h = 0,5.
2. Тест для отладки программы:
.
.
.
- первый отрицательный элемент последовательности.
3. Блок - схема
4. Программа:
Program Otr; { Вычисление 1-го отрицательного э-та пос-ности}
Var x, y, a, b, h: real; { Описание переменных }
Begin { Начало основного блока }
Write('Введите a,b.h');
ReadLn(a,b,h); { Ввод исходных данных }
x:=a-h;
repeat x:= x +h;
y:= sin(x); { Вычисление y }
until (x+h>b) or (y<0); {комбинированное условие выхода из цикла}
if y<0 then WriteLn('y=',y:9:6,' при x=',x:3:1)
else WriteLn('Элемент не найден');
End. { Конец программы}
5. Вид печати:
y=-0.350783 при x=3.5
Задача 4.5. Разработать программу, определяющую сумму ряда для значения с точностью
Решение.
1. Анализ задачи.
Из соответствующих разделов математики известно, что суммой ряда называется предел, к которому стремится последовательность частичных сумм данного ряда, если он существует. Если такой предел существует, то ряд называется сходящимся, в противном случае - расходящимся. Также известно, что знакопеременный ряд сходится, если , где и - соответственно n -й и n +1-й члены ряда.
Кроме того, доказано, что , где - сумма ряда, а - сумма n членов ряда.
Следовательно, для получения требуемого результата будем накапливать частичную сумму элементов ряда, пока очередной член ряда не станет меньше заданной погрешности: .
Имеем .
Тогда . Отсюда следует, что
2. Тест для отладки программы:
3. Блок - схема
4. Программа.
Program Sum_R;
Var
S,r,x,eps:real; { Описание переменных }
Begin
WriteLn(' Введите x и eps');
Readln(x,eps); { Ввод исходных данных }
If abs(x) > 1 Then {если x>1, то ищем сумму ряда}
Begin
S:=1;
r:=1;
While abs(r) > eps do
Begin
r:=-r/x;
S:=S+r;
end;
WriteLn(' При x=',x:3:1,' S=',S:7:5)
End
else Write('Ряд расходится ');
END. { Конец программы}
5. Вид печати:
При x=6.3 S=0.86302
Варианты задания
Задача 4.1. Составить программу для табулирования функций и при изменении от до с шагом . В первой колонке печатать , во второй - , в третьей - . Исходные данные приведены в табл. 4.1.
Таблица 4.1
Вариант | |||||
1. | 0,3 | 0,36 | 0,01 | ||
2. | 0,12 | 0,22 | 0,02 | ||
Продолжение таблицы 4.1 | |||||
Вариант | |||||
3. | 0,1 | 3,6 | 0,5 | ||
4. | 1,2 | 2,2 | 0,2 | ||
5. | 0,3 | 1,1 | 0,1 | ||
6. | 0,5 | 1,5 | 0,2 | ||
7. | 0,1 | 0,15 | 0,01 | ||
8. | 0,5 | 0,7 | 0,02 | ||
9. | 1,5 | 1,6 | 0,01 | ||
10. | 2,0 | 2,7 | 0,1 | ||
11. | -1,5 | 1,0 | 0,5 | ||
12. | -1,2 | 0,4 | 0,2 | ||
13. | 0,2 | 0,7 | 0,1 | ||
14. | 0,1 | 0,8 | 0,1 | ||
15. | 0,3 | 1,2 | 0,1 | ||
Продолжение таблицы 4.1 | |||||
Вариант | |||||
16. | 1,5 | 2,5 | 0,1 | ||
17. | 3,0 | 3,9 | 0,1 | ||
18. | 0,2 | 0,28 | 0,01 |
Задача 4.2. Элементы последовательности заданы рекуррентно (табл. 4.2). Составить программу вычисления и печати числа элементов последовательности, удовлетворяющих указанному неравенству.
Таблица 4.2
Вариант | Формула | Изменение i | Начальное | Неравенство | |||
от | до | значение | |||||
1. | ao = 6 | ai > 1 | |||||
2. | ao = 1 | ai < 5 | |||||
3. | ao = 2 | ai > 100 | |||||
4. | ao = 1 | ai < 40 | |||||
5. | ao = 2 | ai > 15 | |||||
6. | ao = 1 | ai < 14 | |||||
7. | ao = -1 | ai > 500 | |||||
8. | ao = 100 | ai < 10 | |||||
9. | ao = 1,2 | ai > 5 | |||||
10. | ao = 2 | ai < 3 | |||||
11. | ao = 1 | ai > 10 | |||||
Продолжение таблицы 4.2 | |||||||
Вариант | Формула | Изменение i | Начальное | Неравенство | |||
от | до | значение | |||||
12. | ao = 2 | ai < 150 | |||||
13. | ao = 36 | ai > 0,1 | |||||
14. | ao = 64 | ai > 10 | |||||
15. | ao = 3 | ai > 4 | |||||
16. | ao = 1 | ai > -20 | |||||
17. | ao = 1 | ai <5 | |||||
18. | ao = 1,5 | ai > 3 | |||||
Задача 4.3. Используя формулу для элементов последовательности ai, составить программу для вычисления суммы n элементов этой последовательности (табл.4.3). Составить рекуррентные соотношения там, где это необходимо.
Таблица 4.3
Вариант | ai | Начальное значение i | n |
1. | |||
2. | |||
3. | |||
4. | |||
Продолжение таблицы 4.3 | |||
Вариант | ai | Начальное значение i | n |
5. | |||
6. | |||
7. | |||
8. | |||
9. | |||
10. | |||
11. | |||
12. | |||
13. | |||
14. | |||
15. | |||
16. | |||
17. | |||
18. |
Задача 4.4. Разработать программу, которая определяет первый отрицательный (положительный) элемент последовательности значений функции при изменении в интервале с шагом . Исходные данные приведены в табл. 4.4.
Таблица 4.4
Вариант | Первый элемент | ||||
1. | 0,25 | отрицательный | |||
2. | -1 | 0,5 | положительный | ||
3. | -1 | -0,5 | 0,1 | отрицательный | |
4. | -1,3 | 0,1 | 0,2 | положительный | |
5. | 1,5 | 0,1 | отрицательный | ||
6. | -5 | положительный | |||
7. | отрицательный | ||||
8. | 0,7 | 0,05 | положительный | ||
9. | 0,25 | 1,25 | 0,25 | отрицательный | |
10. | -0,5 | 0,7 | 0,3 | положительный | |
11. | -0,8 | -0,2 | 0,1 | отрицательный | |
12. | 0,9 | 1,2 | 0,05 | положительный | |
13. | 0,6 | 0,1 | отрицательный | ||
Продолжение таблицы 4.4 | |||||
Вариант | Первый элемент | ||||
14. | 0,9 | 1,2 | 0,05 | положительный | |
15. | 0,4 | 0,7 | 0,05 | отрицательный | |
16. | 0,2 | 0,8 | 0,1 | положительный | |
17. | -3 | отрицательный | |||
18. | положительный |
Задача 4.5. Разработать программу, определяющую сумму ряда для заданного значения с точностью Исходные данные приведены в табл. 4.5.
Таблица 4.5
Вариант | |||
1. | 0,45 | 0,01 | |
2. | 0,76 | 0,0001 | |
3. | 0,84 | 0,001 | |
4. | 0,29 | 0,00001 | |
5. | 0,44 | 0,001 | |
6. | 0,19 | 0,00001 |
Продолжение таблицы 4.5 |
Вариант | |||
7. | 0,21 | 0,01 | |
8. | 0,91 | 0,001 | |
9. | 0,37 | 0,0001 | |
10. | 0,05 | 0,00001 | |
11. | 0,13 | 0,01 | |
12. | 0,82 | 0,001 | |
13. | 0,66 | 0.0001 | |
14. | 0,44 | 0,00001 | |
15. | 0,25 | 0,01 | |
16. | 0,21 | 0,001 | |
17. | 0,78 | 0,0001 | |
18. | 0,32 | 0.00001 |