Условие задачи : Вычислить сумму ряда чисел 1 + 1/2 + 1/3 + … + 1/n, где n вводиться пользователем (Язык Pascal)
Сложность : легкая .
Решение задачи :
И так задача у нас с вами не сложная так что давай те её быстро разберем.
Начнем мы с каркаса нашей программы :
program summa; begin end.
Дальше давай те подумаем какие нам нужны переменные , если у нас в условие сказано найти сумму ряда чисел , то это уже одна переменная есть под сумму, и также в условии сказано что пользователь вводит n, уже 2 переменные , и еще переменная для цикла , т.к. мы будем использовать цикл for :
var sum : real ; i, n : integer ;
Переменная sum у нас будет типа real , т.к. ответ у нас будет содержать не целое число .
Теперь перейдем к телу нашей программы . Для начало мы попросим пользователя ввести длину нашего ряда , т.е. переменную n. И сразу обнулим нашу переменную sum чтобы не возникло не каких ошибок:
write('Vvedite dliny ryada : '); readln(n); sum := 0 ;
И теперь чтобы сосчитать сумму нашего ряда нам нужно организовать цикл и сложить все элементы нашего ряда.
for i := 0 to n do sum := sum + 1/i ;
т.е. здесь мы просто прибавляем к нашей сумме значение 1/n и n каждый раз увеличивается на единицу, а цикл у нас выполняется пока i не станет равным n.
После первого прохода у нас вся сумма будет равна 1 , т.к. у нас sum := 0, а i будет равняться 1 . После второго захода у нас i уже равняется 2 , а переменная sum будет равна 1 , и мы складываем текущее значение суммы т.е. единицу и значение 1 / i и вся сумма будем равняться 1,5 и так далее.
Ну и теперь просто выведем наш результат и сразу его округлим .
writeln('Symma = ', sum:3:3) ;
Всё решение задачи Pascal :
program summa; var sum : real ; i, n : integer ; begin write('Vvedite dliny ryada : '); readln(n); sum := 0 ; for i := 1 to n do sum := sum + 1/i ; writeln('Symma = ', sum:3:3) ; readln; {чтобы программа сразу не закрылась} end.