Снова здравствуйте. ☻ Продолжаем изучать оператор цикла с параметром for. Ниже следующие 5 заданий из решебника Абрамяна.
For10. Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + ... + 1/N (вещественное число).
var
i, N: integer;
S: real; { <-- Искомая сумма }
begin
write('N = ');
readln(N);
S := 0; { <== Начальное значение суммы }
for i := 1 to N do
S := S + 1 / i;
writeln;
writeln('Сумма первых ', N,
' членов гармонического ряда: ', S);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647
For11. Дано целое число N (> 0). Найти сумму N2 + (N + 1)2 + (N + 2)2 + ... + (2·N)2 (целое число).
var
i, N, Sum: integer;
begin
write('N = ');
readln(N);
Sum := 0; { <== Начальное значение суммы }
for i := N to 2 * N do
Sum := Sum + sqr(i); { <== Увеличиваем сумму на i^2 }
writeln;
writeln('Сумма: ', Sum);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647
For12. Дано целое число N (> 0). Найти произведение 1.1 · 1.2 · 1.3 · ... (N сомножителей).
var
i, N: word;
D: real;
begin
write('N = ');
readln(N);
D := 1; { <== Начальное произведение }
for i := 1 to N do
D := D * (1 + i / 10);
writeln;
writeln('D = ', D);
readln
end.
**type** word;
: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535
**type** word;
: Представляет 16-битовое целое число без знака.Диапазон значений: 0 .. 65 535
For13. Дано целое число N (> 0). Найти значение выражения 1.1 − 1.2 + 1.3 − ... (N слагаемых, знаки чередуются). Условный оператор не использовать.
var
i, N: integer;
a, S: real;
begin
write('N = ');
readln(N);
a := -1; { <== начальное значение члена ряда }
S := 0; { <== начальная сумма }
for i := 1 to N do
begin
a := -a * (1 + i / 10); { <== i-й член ряда }
S := S + a { <== находим сумму }
end;
writeln;
writeln('Сумма: ', S);
readln
end.
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647
**type** integer;
: Представляет 32-битовое целое число со знаком.Диапазон значений: -2 147 483 648 .. 2 147 483 647
For14. Дано целое число N (> 0). Найти квадрат данного числа, используя для его вычисления следующую формулу:
N2 = 1 + 3 + 5 + ... + (2·N − 1).
После добавления к сумме каждого слагаемого выводить текущее значение суммы (в результате будут выведены квадраты всех целых чисел от 1 до N).
var
i, N, A: integer;
begin
write('N = ');
readln(N);
A := 0; { <== Начальное значение квадрата числа }
writeln;
writeln('Квадраты натуральных чисел от 1 до ', N, ':');
writeln('':6, '-------------------');
writeln(' | числа | квадраты |');
writeln('':6, '-------------------');
for i := 1 to N do
begin
A := A + 2 * i - 1; { <== увеличиваем сумму }
{ Выводим результат в столбец (числа - квадраты): }
writeln('':6, '|', i:6, ' | ', A:9, '|')
end;
readln
end.
$1 $2