ВУЗ:
Составители:
Рубрика:
119
s:=s+p;
i:=i+1
end.
Решение 2. Эту задачу можно решить и без использования вложенных циклов.
Заметим, что при вычислении следующего слагаемого выполняется часть работы,
которая уже была выполнена для предыдущего слагаемого. Выпишем i-е
слагаемое: u
i
=i·(i+1)·...·(2·i). (i-1)-е слагаемое равно: u
i-1
= (i-1) ·i·(i+1) ·...·2·(i-1).
Найдем их отношение:
(
)
(
)
(
)
(
)
(
)
(
)
(
)
(
)
u
u
=
ii+1i+22i-22i-1i
i-1 i i+1 i-2
=
2i-1 i
i-1
i
i-1
⋅
⋅
⋅⋅ ⋅
⋅
⋅
⋅
⋅
⋅⋅ ⋅⋅ ⋅
⋅
⋅
⋅
...
...
.
2
2
2
Отсюда u
i
= u
i-1
·(2·i-1)·2·i/(i-1). Получаем фрагмент 38.
{ фрагмент 38 }
s:=0;
u:=2; { первое слагаемое }
i:=2; { номер очередного слагаемого }
while i<=n do
begin
s:=s+u;
u:=u*(2*i-1)*2*i/(i-1);
i:=i+1
end.
Упражнения:
1. Установите начальные значения в следующей модификации фрагмента 38:
s:= ;
u:= ; { первое слагаемое }
i:= ; { номер очередного слагаемого }
while i<=n do
begin
u:=u*(2*i-1)*2*i/(i-1);
s:=s+u;
i:=i+1
end.
2. Вычислите:
а) s=1·2+3·4·5+6·7·8·9+..., всего n слагаемых;
б) s=(1+2) ·(3+4+5) ·(6+7+8+9) ·..., всего n сомножителей.
Сравните решение этих задач.
10.9. Стратегии ввода данных и вывода результатов
Для решения задач необходимо ввести исходные данные, т.е. взять их у
человека и перенести в оперативную память компьютера. Для отдельных данных
эту работу выполняет оператор ввода. Иногда требуется ввести в компьютер
последовательность значений. Здесь возможны следующие ситуации. В первой
ситуации требуется ввести заранее известное количество данных. Для этого
организуют
арифметический цикл со счетчиком, по значению которого
заканчивается цикл ввода. Во второй ситуации заранее неизвестно количество
119
s:=s+p;
i:=i+1
end.
Решение 2. Эту задачу можно решить и без использования вложенных циклов.
Заметим, что при вычислении следующего слагаемого выполняется часть работы,
которая уже была выполнена для предыдущего слагаемого. Выпишем i-е
слагаемое: ui=i·(i+1)·...·(2·i). (i-1)-е слагаемое равно: ui-1 = (i-1) ·i·(i+1) ·...·2·(i-1).
Найдем их отношение:
ui i ⋅ (i + 1) ⋅ (i + 2)⋅...⋅(2 ⋅ i - 2) ⋅ (2 ⋅ i -1) ⋅ 2 ⋅ i (2 ⋅ i -1) ⋅ 2 ⋅ i .
= =
u i-1 (i -1) ⋅ i ⋅ (i + 1)⋅...⋅(2 ⋅ i - 2) i -1
Отсюда ui = ui-1·(2·i-1)·2·i/(i-1). Получаем фрагмент 38.
{ фрагмент 38 }
s:=0;
u:=2; { первое слагаемое }
i:=2; { номер очередного слагаемого }
while i<=n do
begin
s:=s+u;
u:=u*(2*i-1)*2*i/(i-1);
i:=i+1
end.
Упражнения:
1. Установите начальные значения в следующей модификации фрагмента 38:
s:= ;
u:= ; { первое слагаемое }
i:= ; { номер очередного слагаемого }
while i<=n do
begin
u:=u*(2*i-1)*2*i/(i-1);
s:=s+u;
i:=i+1
end.
2. Вычислите:
а) s=1·2+3·4·5+6·7·8·9+..., всего n слагаемых;
б) s=(1+2) ·(3+4+5) ·(6+7+8+9) ·..., всего n сомножителей.
Сравните решение этих задач.
10.9. Стратегии ввода данных и вывода результатов
Для решения задач необходимо ввести исходные данные, т.е. взять их у
человека и перенести в оперативную память компьютера. Для отдельных данных
эту работу выполняет оператор ввода. Иногда требуется ввести в компьютер
последовательность значений. Здесь возможны следующие ситуации. В первой
ситуации требуется ввести заранее известное количество данных. Для этого
организуют арифметический цикл со счетчиком, по значению которого
заканчивается цикл ввода. Во второй ситуации заранее неизвестно количество
Страницы
- « первая
- ‹ предыдущая
- …
- 115
- 116
- 117
- 118
- 119
- …
- следующая ›
- последняя »
