LINUX.ORG.RU

Ada не могу понять задание


0

1

Развлекаюсь примерчиками по Аде. Задание: Вычислить сумму четных целых чисел от 2 до 30. Вывести последовательность этих чисел в столбец, используя форматный вывод выровнять по правому краю, для записи числа отвести 5 позиций. Использовать оператор цикла for.

Сам код:

with Ada.Text_IO, Ada.Integer_Text_IO;
procedure lab1_2 is
i, result : integer;
begin
Result :=0;
for i in 2..30 loop
	if (i rem 2) = 0 then
	Ada.Integer_Text_IO.Put(result,5);
	Ada.Text_IO.New_Line;
	Result:=Result+i;
	end if;
end loop;
Ada.Text_IO.Put("Result is :");
Ada.Integer_Text_IO.Put(result,5);
end lab1_2;

Результат:

    0
    2
    6
   12
   20
   30
   42
   56
   72
   90
  110
  132
  156
  182
  210
Result is :  240
Но разве сумма четных чисел от 2 до 30 равна 240? Или я не так понял задание, или мне пора идти спать.

★★★★★

товарищ, разве вам неизвестна формула арифметической прогрессии?
А = (30 + 2)/2 = 16
N = (30 - 2)/2 + 1 = 15
S = 16*15 = 240

anonymous ()

Но разве сумма четных чисел от 2 до 30 равна 240?

инфа 95%

hired777 ()

Сумма четных чисел от 2 до 30 равна сумме всех чисел от 1 до 15 умножить на два, которая, в свою очередь, равна произведению 15 + 1 и половины от числа чисел от 1 до 15. Иди спать. Я тоже скоро пойду.

anonymous ()
Ответ на: комментарий от anonymous

точно, арифмитическая прогрессия. Спасибо. Ушел спать.

splinter ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.