ВУЗ:
Составители:
Рубрика:
99
Для решения этой же задачи можно воспользоваться формулой четного числа,
которая позволяет вычислить четное число по его номеру: четное (i) = 2·i.
Получаем следующий фрагмент:
{ фрагмент 3a }
readln(N);
{ Здесь N - количество слагаемых }
s:=0;
i:=1;
while i<=N do
begin s:=s+2*i;
i:=i+1;
end;
Упражнение. Напишите программу для вычисления суммы s = 1/2 + 1/4 + ... +
+1/(2·n).
10.4.3. Модификация 3
Посмотрим, как изменится фрагмент 2, если в операторе i:=i+2 изменить знак +
на знак *. Чтобы понять, что делает приведенный ниже фрагмент программы,
выполним трассировку.
{ фрагмент 4 }
readln(N);
s:=0;
i:=1;
while i<=N do
begin s:=s+i;
i:=i*2; <-- + изменили на *.
end;
В начале s=0, i=1.
После первого шага s=0+1, i=2.
После второго шага s=0+1+2, i=4.
После третьего шага s=0+1+2+4, i=8.
После четвертого шага s=0+1+2+4+8, i=16.
Продолжая трассировку заключаем, что после окончания цикла получим
сумму
степеней числа два, меньших N.
10.4.4. Модификация 4
Посмотрим, как изменится фрагмент 2, если в операторе s:=s+i изменить i на
некоторое заданное число x. Чтобы понять, что делает приведенный ниже
фрагмент программы, выполним трассировку.
{ фрагмент 5 }
readln(N,x); <-- вводим число x. N - граница суммирования.
s:=0;
i:=1;
while i<=N do
begin s:=s+x; <-- i изменили на x.
99
Для решения этой же задачи можно воспользоваться формулой четного числа,
которая позволяет вычислить четное число по его номеру: четное (i) = 2·i.
Получаем следующий фрагмент:
{ фрагмент 3a }
readln(N);
{ Здесь N - количество слагаемых }
s:=0;
i:=1;
while i<=N do
begin s:=s+2*i;
i:=i+1;
end;
Упражнение. Напишите программу для вычисления суммы s = 1/2 + 1/4 + ... +
+1/(2·n).
10.4.3. Модификация 3
Посмотрим, как изменится фрагмент 2, если в операторе i:=i+2 изменить знак +
на знак *. Чтобы понять, что делает приведенный ниже фрагмент программы,
выполним трассировку.
{ фрагмент 4 }
readln(N);
s:=0;
i:=1;
while i<=N do
begin s:=s+i;
i:=i*2; <-- + изменили на *.
end;
В начале s=0, i=1.
После первого шага s=0+1, i=2.
После второго шага s=0+1+2, i=4.
После третьего шага s=0+1+2+4, i=8.
После четвертого шага s=0+1+2+4+8, i=16.
Продолжая трассировку заключаем, что после окончания цикла получим сумму
степеней числа два, меньших N.
10.4.4. Модификация 4
Посмотрим, как изменится фрагмент 2, если в операторе s:=s+i изменить i на
некоторое заданное число x. Чтобы понять, что делает приведенный ниже
фрагмент программы, выполним трассировку.
{ фрагмент 5 }
readln(N,x); <-- вводим число x. N - граница суммирования.
s:=0;
i:=1;
while i<=N do
begin s:=s+x; <-- i изменили на x.
Страницы
- « первая
- ‹ предыдущая
- …
- 95
- 96
- 97
- 98
- 99
- …
- следующая ›
- последняя »
