Pascal. (через операторы цикла while и repeat) вычислить 2/1+3/2+4/3+...+(n+1)/n

Поляков Евгений Александрович

Учитель информатики высшей категории

Проверено учителем

Для решения данной задачи необходимо вычислить сумму ряда, где каждый член последовательности имеет вид i+1ithe fraction with numerator i plus 1 and denominator i end-fraction , при этом переменная ii изменяется от 11 до nn. Ниже приведены два варианта реализации программы на языке Pascal: с использованием цикла while и цикла repeat. Решение через цикл while В этом цикле условие проверяется до выполнения тела цикла. Если n=0n equals 0, цикл не выполнится ни разу. pascal

program SumWhile; var n, i: integer; s: real; begin write('Введите n: '); readln(n); s := 0; i := 1; while i <= n do begin s := s + (i + 1) / i; i := i + 1; end; writeln('Сумма (while): ', s:0:4); end. 
Use code with caution.Решение через цикл repeat В этом цикле условие проверяется после выполнения тела цикла. Тело цикла гарантированно выполнится хотя бы один раз. pascal
program SumRepeat; var n, i: integer; s: real; begin write('Введите n: '); readln(n); s := 0; i := 1; if n > 0 then begin repeat s := s + (i + 1) / i; i := i + 1; until i > n; end; writeln('Сумма (repeat): ', s:0:4); end. 
Use code with caution.Основные пояснения

  • Типы данных: Переменная s (сумма) обязательно должна иметь тип real, так как результат деления в Pascal всегда вещественный.
  • Логика накопления: На каждом шаге мы прибавляем к текущему значению s дробь, где числитель на единицу больше знаменателя.
  • Формат вывода: Использование :0:4 при выводе s ограничивает число знаков после запятой четырьмя цифрами для удобства чтения.

Могу ли я помочь вам составить блок-схему для этих алгоритмов или объединить их в одну программу с выбором способа решения?

Форма ответа

Ваш аватар