• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Решение задачи. Паскаль

Регистрация
28 Май 2011
Сообщения
12
Реакции
0
Баллы
0
Решение задачи. Паскаль

Составить программу для вычисления суммы факториалов всех чётных чисел от N до m(n<=4, m<=8) (n и m вводятся (к примеру 3 и 7) и программа должна сосчитать факториалы 4 и 6)
помогите, если не сложно. Заранее спасибо

вот основное решение. только я не могу его правильно оформить! ошибку выдаёт :tehnari_ru_281:

readln(n,m);
s:=0;
while n<=m do begin
if n mod 2=0 then begin {если четное то начинаем считать}
f:=1;
for j:=1 to i do {в цикле считаем факториал}
f:=f*j;
s:=s+f; {суммируем}
end; {if}
inc(n); end;{while}
 
В представленном фрагменте всё правильно, кроме верхней границы цикла for-to. Почему там стоит какое-то непонятное неизвестно откуда взявшееся i, а не n?
 
наверное опечатка)))
если не сложно можно всю программу переделать) мне главное чтобы работала)))
спасибо за ранее)))
 
наверное опечатка)))
если не сложно можно всю программу переделать) мне главное чтобы работала)))
спасибо за ранее)))
Ничего не понимаю. В чем проблемы-то? Переменные описать, поставить вначале BEGIN, вывести результат и в конце поставить END. - в этом что ли?
Впрочем, раз уж такие проблемы на пустом месте, то - пожалуйста:
Код:
VAR
 n,m,f,s:LongInt;
 j:byte;
BEGIN
 writeln('n,m:');
 readln(n,m);
 s:=0;
 while n<=m do
  begin
   if n mod 2=0 then
    begin {если четное то начинаем считать}
     f:=1;
     for j:=1 to n do {в цикле считаем факториал}
      f:=f*j;
     s:=s+f; {суммируем}
    end; {if}
   inc(n);
  end;{while}
 writeln('S= ',s);
 readln
END.
 
Назад
Сверху