Информатика в задачах, примерах, алгоритмах
.pdf
7. Циклы
192. |
Дана числовая последовательность: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
Sin |
5 |
|
Cos 3 |
|
a n−1 |
|
|
a n−2 |
|
|
|
|
|
|
|
|
|
|
|
||||
a1 = |
|
|
, a2 = |
|
|
, ..., a n = |
|
− |
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
||
12 |
|
15 |
0,85 |
|
|
21 |
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
Подсчитать сумму отрицательных элементов при n = 100. |
|||||||||||||||||||||||||
Ответ: –128846,8. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
|||||
193. |
Дана числовая последовательность |
|
, |
|
|
, |
|
|
, |
|
|
, |
|
|
, ... . |
||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
7 |
|
9 |
|
11 |
|
13 |
|
15 |
|
|||||
Найти произведение членов последовательности от пятого до
двадцать пятого. |
|
|
|
|
|
|
|
Ответ: 1,555535E–32. |
|
|
|
|
|
|
|
|
1 |
|
1 |
|
1 |
|
|
194. Дана числовая последовательность |
|
, |
|
|
, |
|
, ... . |
|
|
|
|
||||
|
2 |
|
3 |
|
4 |
|
|
Найти сумму первых пятидесяти членов.
196. Дана числовая последовательность {6, 9, 12, ...}.
Найти сумму членов с десятого по двадцать пятый включи-
тельно. |
|
|
|
|
|
|
|
|
|
Ответ: 888. |
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
1 |
|
|
197. Дана числовая последовательность |
|
|
|
, |
|
, |
|
, ... . |
|
|
|
|
|
|
|||||
|
|
|
Sin1 |
|
Sin 2 |
|
Sin3 |
|
|
Найти сумму членов с десятого по двадцать пятый включи- |
|||||||||
тельно. |
|
|
|
|
|
|
|
|
|
Ответ: –2635,135. |
{ |
|
|
|
|
} |
|
||
198. Дана числовая последовательность |
|
|
|
|
|
||||
|
100, 97, 94, ... . |
|
|||||||
Найти сумму членов с первого по двадцать первый включи- тельно.
Ответ: 1470.
61
Информатика в задачах, примерах, алгоритмах
|
1 |
|
1 |
|
1 |
|
||
199. Дана числовая последовательность |
|
, |
|
|
, |
|
|
, ... . |
|
|
|
|
|
||||
8 |
|
12 |
|
16 |
|
|||
Найти сумму членов с десятого по двадцать пятый включи- тельно.
Ответ: 0,2313629. |
|
|
|
|
|
|
|
|
|
− |
1 |
, − |
1 |
, − |
1 |
|
|
200. Дана числовая последовательность |
|
|
|
|
, ... . |
|||
|
|
|
|
|||||
|
|
2 |
|
3 |
|
4 |
|
|
Вычислить произведение членов с первого по пятнадцатый включительно.
Ответ: –4,779479E–14.
201. Дана числовая последовательность:
{a1 = 1, a2 = 3, ..., a n = a n−1 − 2a n−2 }.
Найти сумму положительных элементов при n = 35.
Ответ: 299717.
202. Дана числовая последовательность: |
|
|
|
|||||||||||
|
|
= |
Cos |
2 |
|
= |
Sin |
3 |
|
= a n−1 − |
1 |
|
|
|
a |
1 |
|
|
|
, a2 |
|
|
, ..., a n |
|
a n−2 |
. |
|||
12 |
|
15 |
|
12 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
||||
Найти сумму положительных элементов при n = 25.
Ответ: 0,1324195.
203. Дана числовая последовательность: |
|
|
|||||||||
|
|
= |
Cos 2 |
, a2 = |
Sin3 |
|
= a n−1 − |
|
|
||
a |
1 |
|
|
|
, ..., a n |
4a n−2 |
. |
||||
2 |
5 |
||||||||||
|
|
|
|
|
|
|
|
||||
Найти сумму отрицательных элементов при n = 17.
Ответ: –6468,686.
204. Дана числовая последовательность: |
|
|||||||||
|
|
= |
Cos 2 |
, a2 = |
Sin3 |
|
= a n−1 − 4a n−2 |
|
||
a |
1 |
|
|
|
, ..., a n |
. |
||||
2 |
5 |
|||||||||
|
|
|
|
|
|
|
||||
Найти сумму отрицательных элементов при n = 37.
Ответ: –3,604246E+09.
205. Дана числовая последовательность: |
|
|
|||||||||||||
|
|
= |
Cos |
2 |
|
= |
Sin |
3 |
|
= |
a n−1 |
− |
a n−2 |
||
a |
1 |
|
|
|
, a2 |
|
|
, ..., a n |
|
|
. |
||||
12 |
|
15 |
|
0,85 |
21 |
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||
Найти сумму положительных элементов при n = 100.
Ответ: 22343,88.
62
7. Циклы
206. Дана числовая последовательность: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
1 |
|
|
|
|
|
1 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a1 = |
ln |
|
, a2 |
= ln |
|
|
, a3 = ln |
|
, ... . |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
2 |
4 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Найти сумму при n = 15. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
Ответ: 38,29647. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
1 |
|
1 |
|
1 |
|
|
|||||||
207. Дана числовая последовательность |
|
|
, |
|
|
|
, |
|
|
|
, |
|
|
, |
|
|
|
, ... . |
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
5 |
|
|
7 |
|
9 |
|
11 |
|
||||||||
Найти сумму первых ста элементов. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
Ответ: 2,289318. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
208. Дана числовая последовательность: |
|
a n−2 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||
|
Sin 5 |
|
|
Cos 3 |
|
|
|
a n−1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
a1 = |
|
|
|
, a2 |
= |
|
|
|
|
|
, ..., a n |
= |
|
− |
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|||
12 |
|
|
|
15 |
0,85 |
|
|
21 |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Подсчитать сумму отрицательных элементов при n = 48. |
|||||||||||||||||||||||||||||||||||
Ответ: –181,6948. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
|
|
1 |
|
|
|
|
|
|
||||||
209. Дана числовая последовательность |
|
|
, |
|
|
|
|
, |
|
|
|
, ... . |
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
|
12 |
16 |
|
|
|
|
|
||||||||||
Найти сумму членов с первого по девяносто пятый включи- тельно.
Ответ: 1,036691.
210. Дана числовая последовательность:
{a1 = 0, a2 = 4,..., a n = a n−1 − 3a n−2 }.
Найти сумму отрицательных элементов при n = 63.
Ответ: –1,179872E+15.
211. Дана числовая последовательность:
{a1 = Sin3, a2 = 2,..., a n = a n−1 − 5a n−2 }.
Найти сумму отрицательных элементов при n = 21.
Ответ: –1917736.
|
1 |
|
1 |
|
1 |
|
1 |
|
212. Дана числовая последовательность |
|
, |
|
, |
|
, |
|
, ... . |
|
|
|
|
|||||
|
2 |
|
4 |
|
6 |
|
8 |
|
Найти сумму членов последовательности с первого по пятидесятый включительно.
Ответ: 2,249603.
63
Информатика в задачах, примерах, алгоритмах
|
1 |
|
1 |
|
1 |
|
|
213. Дана числовая последовательность Cos |
|
|
,Cos |
|
,Cos |
|
, ... . |
|
|
|
|
||||
|
3 |
|
5 |
|
7 |
|
|
Найти сумму членов последовательности с первого по семнадцатый включительно.
Ответ: 16,8907. |
|
|
|
|
|
|
|
|
1 |
|
|
1 |
|
1 |
|
214. Дана числовая последовательность |
|
|
, |
|
, |
|
, ... . |
|
|
|
|
||||
|
Sin1 |
|
Sin 2 |
|
Sin3 |
|
|
Найти сумму членов последовательности с десятого по тридцатый включительно.
Ответ: –2543,513.
215. Дана числовая последовательность {a1 = 2, a2 = 5, a3 = 8, ...}.
Члены последовательности с четными номерами заменили на обратные им числа (5 на –5). Найти сумму членов последовательности с десятого по тридцать первый включительно.
Ответ: 33.
Факториал
Факториалом натурального числа n называется произведение натуральных чисел от 1 до n.
n! = 1*2*3*4* … *n. Факториал нуля принимается за единицу.
0! = 1.
С точки зрения программирования факториал имеет одно замечательное свойство, а именно n! = (n – 1)!*n, а алгоритм, реализующий это свойство, называется рекурсией.
Пример программы, вычисляющий факториал посредством рекурсии:
DECLARE FUNCTION fuc# (n%)
'Программа, вычисляющая факториал числа
PRINT “Введите число, факториал которого необходимо вычислить”
INPUT “n=”; n% PRINT fuc#(n%) FUNCTION fuc# (n%)
IF n% > 1 THEN fuc# = n% * fuc#(n% - 1) ELSE fuc# = 1 END FUNCTION
64
7. Циклы
7.2. Циклы с условием. Числовые ряды
Не всегда, работая с числовыми последовательностями, можно знать число однотипных операций, которые необходимо произвести для достижения поставленной задачи. Для решения таких задач существуют циклы с параметром, так называемые циклы типа “До” и типа “Пока”. В Бейсике такие циклы обеспечивают операторы:
•WHILE-WEND — пока (по-английски While) условие верно, операторы тела цикла будут выполняться;
•DO-WHILE(UNTIL)-LOOP — ключевое слово Until (до тех пор, пока) обеспечивает выполнение операторов тела цикла до тех пор, пока условие, указанное в заголовке, не станет верным. Условие выполнения цикла проверяется перед выполнением операторов тела цикла, следовательно, тело цикла может не выполняться ни разу.
•DO-LOOP-WHILE(UNTIL) — пример программного блока, который останавливает выполнение программы, пока не будет нажата какая-либо клавиша. Условие выполнения цикла проверяется после выполнения операторов тела цикла, следовательно, в любом случае тело цикла выполняется хотя бы один раз.
PRINT “для продолжения нажмите любую клавишу” DO: LOOP WHILE INKEY$ = “”
Èëè
PRINT “для продолжения нажмите любую клавишу” DO: LOOP UNTIL INKEY$ “”
В задачах 216—226 требуется написать программу, которая решает поставленную задачу и выводит результат на экран дисплея.
Пример. Дано целое число m > 0. Найти наибольшее целое k, при котором 4k < m.
65
Информатика в задачах, примерах, алгоритмах
Возможный вариант программы
a1: CLS 'Очищаем экран дисплея |
|
|
INPUT “введите m>0 ”, m% |
'вводим m |
|
SELECT CASE m% |
'Проверяем условие |
|
CASE IS > 0 'm%>0 |
|
|
k = 0 |
|
|
WHILE 4 ^ k < m% |
'Öèêë äî òåõ ïîð, ïîêà |
|
k = k + 1 |
|
|
WEND |
'Конец цикла |
|
PRINT “k=”; k — 1 |
'Печать результата |
|
CASE ELSE |
'm% не больше нуля |
|
PRINT “вводимое число должно быть больше нуля” PRINT “попробуйте еще раз”: SLEEP: GOTO a1 END SELECT
Ответ: При m = 1025 k = 5.
Задачи
216. Дана числовая последовательность:
{a1 = 8,2, a2 = 7,9, a3 = 7,6, ...}.
Найти сумму всех положительных членов.
Ответ: 116,2.
217. Дана числовая последовательность:
{a1 = −6,5, a2 = −6, a3 = −5,5, ...}.
Найти сумму всех отрицательных членов.
Ответ: –45,5.
218. После каждого движения поршня разряжающего насоса из сосуда удаляется 20% находящегося там газа. Сколько движений поршня нужно сделать, чтобы достичь давления P при начальном давлении Pn ?
Ответ: Ïðè Pn = 100 и P=1 потребуется 21 движение поршня.
219. Шары расположены в форме треугольника так, что в первом ряду находится один шар, во втором — два, в третьем — три и так далее. Сколько рядов удастся построить, если имеется N шаров?
Ответ: Ïðè N = 105 будет построено 14 рядов.
66
7. Циклы
220. Спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 10% от результата предыдущего дня. Найти:
a) какой путь пробежит спортсмен в 7-й день?
Ответ: 17,71561 км.
b)через сколько дней спортсмен будет пробегать более 20 км в день?
Ответ: Через 8 äíåé.
c)через сколько дней спортсмен пробежит суммарный путь более 100 км?
Ответ: Через 8 äíåé.
221. Сколько чисел нужно взять в последовательности 1 + 2 +
+3 + 4 + ... , чтобы получить число, большее чемN?
Ответ: Ïðè N = 252 нужно взять 23 числа.
222. Сколько чисел нужно взять в последовательности 1 + |
1 |
+ |
|
||
2 |
|
|
+1 + 1 +..., чтобы получить число, большее чем N? 3 4
Ответ: Ïðè N = 5 нужно взять 83 числа. ïðè N = 10 нужно взять 12 367 чисел. ïðè N = 12 нужно взять 91 328 чисел.
223. Найти: |
|
|
|
|
|
|
|
|
|
|
|
1) наибольшее |
число |
âèäà |
1 |
|
, n ≥ |
0, |
меньшее |
N; |
ãäå |
||
2n |
|||||||||||
0 ≥ N ≥ 1. |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
||
Ответ: Ïðè N = 0,5 n = 2; |
|
|
|
|
|
|
|
|
|
||
ïðè N = 0,01 n = 7; |
|
|
|
|
|
|
|
|
|
|
|
ïðè N = 0,000001 n = 20. |
|
|
|
|
|
|
|
|
|
||
2) наименьшее |
число |
âèäà |
|
1 |
|
, n ≥ |
0, |
большее |
N, |
ãäå |
|
3n |
|
||||||||||
|
|
|
|
|
|
|
|
|
|||
0 ≥ N ≥ 1.
Ответ: Ïðè N = 0,5 n = 1; ïðè N = 0,01 n = 5;
ïðè N = 0,000001 n = 13.
67
Информатика в задачах, примерах, алгоритмах
224. Вычислить наибольшее целое положительное число a, удовлетворяющее условию:
a)3a 2 − 127a < 0;
Ответ: a = 42.
b)−4a + 81
a + 3 ≥ 0;
Ответ: a = 411.
c)7a 3 + 81a 2 − 10 6 < 0.
Ответ: a = 48.
225.Найти натуральное число, которое:
а) в пять раз меньше суммы предшествующих ему натуральных чисел;
Ответ: Это число 11.
b) равно сумме предшествующих ему натуральных чисел.
Ответ: Это число 3.
226. Для данного числа à > 0 найти такое натуральное n, для которого
n! < a è (n + 1)! > a.
Ответ: Äëÿ à = 120 n = 4; äëÿ à = 10 000 n = 7;
äëÿ à = 1 000 000 n = 9.
7.3. Бесконечные числовые ряды. Пределы числовых последовательностей
Число x называется пределом числовой последовательности {a, a2 , ..., a n }, если для любого сколь угодно малого ε можно указать такое достаточно большое положительное число N, ÷òî äëÿ âñåõ n > N выполняется неравенство
a n − x
< ε .
В задачах 227—237 требуется написать программу, которая решает поставленную задачу и выводит результат на экран дисплея.
Пример. Дана числовая последовательность:
|
|
1 |
|
1 |
|
1 |
|
(−1) |
n |
|
||
− |
, − |
, + |
|
|
||||||||
|
, ..., |
|
, ... . |
|||||||||
|
|
|
|
|
n |
|
||||||
|
|
|
8 |
|
16 |
|
2 |
|
|
|||
2 |
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Вычислить сумму данной последовательности при n = ∞ с точ- ностью 0,0000001.
68
7. Циклы
Возможный вариант программы:
CLS |
|
'Очищаем экран |
a = 1 |
|
'первый член ряда |
s = a |
|
'сумма ряда |
e = .000000001# |
|
'точность вычисления |
DO |
'Начало цикла |
|
a = -a / 2 |
|
'вычисляем очередной член |
|
|
'последовательности |
s = s + a |
'накапливаем сумму |
|
LOOP UNTIL ABS(a) < e ' Конец цикла |
||
PRINT s |
'Печатаем сумму |
|
|
|
|
|
2 |
|
Ответ: 0,666666686... |
|
. |
|
||
|
3 |
|
В нижеприведенных задачах для вычисления факториала удобно воспользоваться определением функции “факториал”, приведенным в п.7.1.
Задачи
227. Дана числовая последовательность S (x) = ∑∞ 1 ; Подсчитать
n=1 n2
сумму с точностью 0,00000001.
π 2
Ответ: 1,644725…...
.
6
228. Дана числовая последовательность
сумму с точностью 0,000001.
Ответ: 0,693.
229. Дана числовая последовательность ∑∞
n=0
сумму с точностью 0,000001.
Ответ: π ; ~ 0,785398.
4
∑∞ (−1)n+1 |
1 |
; Подсчитать |
||
|
||||
n=1 |
n |
|||
(−1)n |
1 |
|
|
; Подсчитать |
2n + 1
69
Информатика в задачах, примерах, алгоритмах
|
|
|
|
∞ |
|
|
|
1 |
|
|
|
|
|
|
230. Дана числовая последовательность |
∑ |
|
|
|
|
; |
|
Подсчитать |
||||||
|
|
|
|
|
|
|||||||||
|
|
n(n + 1) |
|
|||||||||||
|
|
|
n=1 |
|
|
|
|
|
|
|
||||
сумму с точностью 0,000001. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: 1. |
|
|
∞ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
||
231. Дана числовая последовательность |
∑ |
|
|
|
|
|
; |
|
Подсчитать |
|||||
|
|
|
|
|
|
|
||||||||
n(n + |
2) |
|
||||||||||||
|
|
n=1 |
|
|
|
|
||||||||
сумму с точностью 0,000001. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: 0,75. |
∞ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
232. Дана числовая последовательность ∑ |
|
|
|
|
|
|
|
|
|
|
|
; Подсчи- |
||
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
n(n + 1)(n + |
2) |
||||||||||||
|
n=1 |
|
|
|||||||||||
тать сумму с точностью 0,000001. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: 0,25. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233. Дана числовая последовательность ∑∞ |
1 |
|
|
Подсчитать сумму с |
||||||||||
|
|
|
|
|
||||||||||
|
n=0 n ! |
|
|
|
|
|
|
|
||||||
точностью 0,000001. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: 2,718281828286169...(е). |
(−1)n |
|
|
|
|
|
|
|
||||||
234. Дана числовая последовательность ∑∞ |
Подсчитать сумму |
|||||||||||||
|
n=0 |
|
|
n ! |
|
|
|
|
|
|
|
|||
с точностью 0,000001. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: 0,3678794. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
235. Дано действительное число õ. Вычислить ∑∞ (−1) |
n+2 |
|
||||||||||||
|
n ; с точно- |
|||||||||||||
|
|
|
|
|
|
|
|
n=1 |
n ! x |
|
|
|||
ñòüþ 0,0000001. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ответ: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
∑ |
|
|
|
|
|
|
1 |
|
|
–0,632120560766 |
|
||||||||||
|
|
|
|
|
||||||||||
2 |
|
|
–0,393469335162 |
|
||||||||||
|
|
|
|
|||||||||||
–1 |
|
1,718281826198 |
|
|||||||||||
|
|
|
|
|||||||||||
0,5 |
|
0,8646647195 |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70
