program SumOfNaturalNumbers; var n, i, sum: integer; begin writeln('Введите n:'); readln(n); sum := 0; for i := 1 to n do sum := sum + i; writeln('Сумма первых ', n, ' натуральных чисел равна ', sum); end.
Второй способ:
program SumOfNaturalNumbersRecursive; function Sum(n: integer): integer; begin if n = 1 then Sum := 1 else Sum := n + Sum(n - 1); end; var n: integer; begin writeln('Введите n:'); readln(n); writeln('Сумма первых ', n, ' натуральных чисел равна ', Sum(n)); end.
Для проверки правильности работы программы можно ввести несколько значений n (например, 5, 10, 15) и убедиться, что программа выводит правильные суммы.
Схема:
-- Ввод n -- | V -- Сумма = 0 -- | -- Цикл i от 1 до n -- | -- Сумма = Сумма + i -- | -- Вывод суммы --
Задача: найти сумму n первых натуральных чисел.
Первый способ:
program SumOfNaturalNumbers;var
n, i, sum: integer;
begin
writeln('Введите n:');
readln(n);
sum := 0;
for i := 1 to n do
sum := sum + i;
writeln('Сумма первых ', n, ' натуральных чисел равна ', sum);
end.
Второй способ:
program SumOfNaturalNumbersRecursive;function Sum(n: integer): integer;
begin
if n = 1 then
Sum := 1
else
Sum := n + Sum(n - 1);
end;
var
n: integer;
begin
writeln('Введите n:');
readln(n);
writeln('Сумма первых ', n, ' натуральных чисел равна ', Sum(n));
end.
Для проверки правильности работы программы можно ввести несколько значений n (например, 5, 10, 15) и убедиться, что программа выводит правильные суммы.
Схема:
-- Ввод n --|
V
-- Сумма = 0 --
|
-- Цикл i от 1 до n --
|
-- Сумма = Сумма + i --
|
-- Вывод суммы --