Технический форум
Вернуться   Технический форум > Программирование > Форум программистов > Delphi, Kylix and Pascal


Ответ
 
Опции темы Опции просмотра
Старый 05.06.2011, 14:56   #1 (permalink)
Владиславик
Member
 
Регистрация: 28.05.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию Решение задачи. Паскаль

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

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

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}
Владиславик вне форума   Ответить с цитированием

Старый 05.06.2011, 14:56
Helpmaster
Member
 
Аватар для Helpmaster
 
Регистрация: 08.03.2016
Сообщений: 0

Очень полезно почитать темы созданные людьми ранее

Необходимо найти принципиальное решение для следующей задачи...
Турбо Паскаль или Фри Паскаль. Задание по теме Типизированный файл
Паскаль, три задачи на массивы
Две задачи. Паскаль
Помогите решить задачи на Паскаль

Старый 05.06.2011, 15:51   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

В представленном фрагменте всё правильно, кроме верхней границы цикла for-to. Почему там стоит какое-то непонятное неизвестно откуда взявшееся i, а не n?
Vladimir_S вне форума   Ответить с цитированием
Старый 05.06.2011, 16:13   #3 (permalink)
Владиславик
Member
 
Регистрация: 28.05.2011
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
По умолчанию

наверное опечатка)))
если не сложно можно всю программу переделать) мне главное чтобы работала)))
спасибо за ранее)))
Владиславик вне форума   Ответить с цитированием
Старый 05.06.2011, 17:20   #4 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Владиславик Посмотреть сообщение
наверное опечатка)))
если не сложно можно всю программу переделать) мне главное чтобы работала)))
спасибо за ранее)))
Ничего не понимаю. В чем проблемы-то? Переменные описать, поставить вначале 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.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.




Часовой пояс GMT +4, время: 04:17.

Powered by vBulletin® Version 6.2.5.
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.