Другие языки программирования и технологии

Паскаль. Дано натуральное n. Вычислить используя цикл с постусловием + алгоритм

Дано натуральное n. Вычислить cos1/sin1+(cos1+cos2)/(sin1+sin2)+…+ (cos1+cos2)/(sin1+sin n), используя цикл с постусловием + алгоритм
Хм, три ответа и ни одного правильного: 1) Зачем тут двойной цикл когда и одним можно обойтись? 2) Какой ещё бесконечный цикл если всего n слагаемых, а надо просто цикл с постусловием? 3) а. После inc(i) надо ставить точку с запятой, иначе программа от этого небольшого бага просто не скомпилится; б. Если решать задание как оно показано на скрине:, тогда ответ неверный, потому что он считает не то что нужно. Вот как тогда тут нужно:
 var i, n, s, sin1, cos1, sinusy: real; 
begin
write('n: ');
read(n);
i := 1;
cos1 := cos(i);
sin1 := sin(i);
sinusy := sin1;
s := cos1/sin1;
repeat
i := i + 1;
sinusy := sinusy + sin(i);
s := s + (cos1 + cos(i))/ (sinusy + sin(i));
until i >= n;
writeln(s)
end.
А если, как Андрей предположил, например, в числителе последнего слагаемого просто многоточия не хватает, то его код в принципе правильный. Это момент надо уточнить, да и дело с концом!
КЛ
Костя Лорд И Арабаджиев
66 572
Лучший ответ
В скриншоте задачи либо не хватает многоточия, либо одно многоточие лишнее. В тексте "от руки" это многоточие опущено - скорее всего, ошибочно.
 var
i, n: integer;
sum, num, den: real;
begin
read(n);
repeat
inc(i)
num := num + cos(i);
den := den + sin(i);
sum := sum + num / den
until i >= n;
write(sum)
end.
Пиши двойной цикл, что тут думать-то?!

Похожие вопросы