Как можно найти сумму 1 + 1/2 + 1/3 + ... + 1/N для натурального числа N, и какой алгоритм можно использовать для этого? Напишите два варианта программы на Паскале: один с циклом "до", а другой с циклом "пока".
Информатика 8 класс Алгоритмы и программирование сумма 1 + 1/2 + 1/3 + ... + 1/N алгоритм нахождения суммы программа на Паскале цикл "до" цикл "пока" Новый
Чтобы найти сумму ряда 1 + 1/2 + 1/3 + ... + 1/N для натурального числа N, мы можем использовать простой алгоритм, который включает в себя следующие шаги:
Теперь давайте рассмотрим два варианта программы на Паскале: один с циклом "до", а другой с циклом "пока".
Вариант 1: Программа с циклом "до"
program SumSeriesDo; var N, i: integer; sum: real; begin sum := 0; write('Введите натуральное число N: '); readln(N); i := 1; // Цикл "до" repeat sum := sum + 1 / i; i := i + 1; until i > N; writeln('Сумма ряда 1 + 1/2 + 1/3 + ... + 1/', N, ' = ', sum:0:4); end.
Вариант 2: Программа с циклом "пока"
program SumSeriesWhile; var N, i: integer; sum: real; begin sum := 0; write('Введите натуральное число N: '); readln(N); i := 1; // Цикл "пока" while i <= N do begin sum := sum + 1 / i; i := i + 1; end; writeln('Сумма ряда 1 + 1/2 + 1/3 + ... + 1/', N, ' = ', sum:0:4); end.
В обоих вариантах программы мы сначала запрашиваем у пользователя значение N, а затем рассчитываем сумму ряда, используя соответствующий цикл. Результат выводится с точностью до четырех знаков после запятой.