Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.03.2015, 22:30   #1
crazy_bird
Новичок
Джуниор
 
Регистрация: 31.03.2015
Сообщений: 2
По умолчанию Помогите написать програму в Delphi 7 для вычисления выражения с факториалом

Дано натуральное число n
Нужно вычеслить n!+5!
в Delphi
crazy_bird вне форума Ответить с цитированием
Старый 31.03.2015, 22:37   #2
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Код:
var
	n, i, f: longint;
	
begin
	write('n = ');
	read(n);
	
	f:=1;
	
	for i:=2 to n do begin
		f:=f*i
	end;
	
	writeLn('Result = ', f + 2*3*4*5)
end.
Вадим Мошев вне форума Ответить с цитированием
Старый 02.04.2015, 15:35   #3
krGorka
Пользователь
 
Регистрация: 26.04.2010
Сообщений: 35
По умолчанию

Факториал определен для неотрицательных целых чисел . 0!=1 1!=1 2!=1*2
N!=1*2*..N
Код:
  for i:=2 to n do begin
		f:=f*i
нужно заменить на
Код:
 if (n>0) then  for i:=1 to n do f:=f*i;
krGorka вне форума Ответить с цитированием
Старый 02.04.2015, 16:45   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

krGorka, нет, это не так. Если уж Вы вдруг озаботились защитой от неверных данных, то нужно это делать на этапе ввода данных.

напоминаю, что в задаче
Цитата:
Дано натуральное число n
т.е. ввод n:
Код:
   repeat
	write('n = ');
	readLn(n);
        if n<1 then WriteLn('error! N must be pozitive!');
   until n>0;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.04.2015, 16:54   #5
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Ну, факториал от нуля же равен 1
Думаю, лучше написать, if n<0
Это если совсем упарываться.
Вадим Мошев вне форума Ответить с цитированием
Старый 02.04.2015, 17:39   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Вадим Мошев Посмотреть сообщение
Ну, факториал от нуля же равен 1
Думаю, лучше написать, if n<0
Это если совсем упарываться.
факториал от нуля определён, это так.
Но в задании сказано - "натуральное число"
Ноль не является натуральным числом, этому можно его не принимать!

впрочем, это всё обсуждение не суть как важно, ибо второй пост темы ( (c) Вадим Мошев) задачу решает. Остальное - от лукавого!
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите написать програму в Delphi 7 - вывести нечётные целые числа от 1 до 100, которые кратны 7 crazy_bird Помощь студентам 2 01.04.2015 08:42
Написать программу вычисления значения выражения: Анна1234 Паскаль, Turbo Pascal, PascalABC.NET 4 11.11.2014 22:38
написать программку для вычисления заданного арифметического выражения Shnack Паскаль, Turbo Pascal, PascalABC.NET 2 17.09.2013 16:29
Помогите создать програму для вычисления определенного интеграла Методом Симпсона Сергей Человек Помощь студентам 11 06.07.2009 16:15
Кто может написать програму для вычисления детерминанта в паскале? Mita Помощь студентам 3 11.07.2007 21:11