ВВЕРХ
ВНИЗ

Сумма N слагаемых и произведение N сомножителей

Снова здравствуйте. Продолжаем изучать оператор цикла с параметром for. Ниже следующие 5 заданий из решебника Абрамяна.

For10. Дано целое число N (> 0). Найти сумму 1 + 1/2 + 1/3 + ... + 1/N (вещественное число).

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
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.

For11. Дано целое число N (> 0). Найти сумму N2 + (N + 1)2 + (N + 2)2 + ... + (2·N)2 (целое число).

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
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.

For12. Дано целое число N (> 0). Найти произведение 1.1 · 1.2 · 1.3 · ... (N сомножителей).

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
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.

For13. Дано целое число N (> 0). Найти значение выражения 1.1 − 1.2 + 1.3 − ... (N слагаемых, знаки чередуются). Условный оператор не использовать.

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
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.

For14. Дано целое число N (> 0). Найти квадрат данного числа, используя для его вычисления следующую формулу:

N2 = 1 + 3 + 5 + ... + (2·N − 1).

После добавления к сумме каждого слагаемого выводить текущее значение суммы (в результате будут выведены квадраты всех целых чисел от 1 до N).

Код Pascal
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
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.

Яндекс.Метрика