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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2011, 21:52   #1
Pyxy
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 39
По умолчанию модуль расчёта факториала (Паскаль/Delphi)

помогите пожалуйста
Составить программу вычисления значения выражения k!/m!. Функцию вычисления факториала числа спрятать в модуль.
Pyxy вне форума Ответить с цитированием
Старый 23.12.2011, 01:29   #2
Pyxy
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 39
По умолчанию

все зделал работает)
может кому то прегодится
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Unit1 in 'Unit1.pas';
var k,m: word; rez: real;
begin
write ('vvedit k i m:');
readln (k,m);
rez:=(Factorial(k))/(Factorial(m));
write ('znachennia vurazy: ',rez:5:2);
readln;
end.
вот модуль
Код:
unit Unit1;

interface
function Factorial(n: word): LongInt;
implementation
function Factorial(n: word): LongInt;
var
  fact: longint;
begin
  fact := 1;
  if n=0 then exit;
  for n := 1 to n do
  fact := fact*n;
  Factorial := fact;
end;
end.
Pyxy вне форума Ответить с цитированием
Старый 23.12.2011, 01:35   #3
Hacker19_90
Delphi Warrior
Старожил
 
Аватар для Hacker19_90
 
Регистрация: 15.08.2008
Сообщений: 2,502
По умолчанию

Ошиблись
Цитата:
Код:
 for n := 1 to n do
Поправте!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq - 636-954-303
Hacker19_90 вне форума Ответить с цитированием
Старый 23.12.2011, 01:39   #4
Pyxy
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Ошиблись

Поправте!
а что не правильно она работает
Pyxy вне форума Ответить с цитированием
Старый 23.12.2011, 01:57   #5
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Цитата:
Сообщение от Hacker19_90 Посмотреть сообщение
Ошиблись
В принципе, тут ошибки нет. Не красиво записано, согласен, но корректно. n локальная переменная, т.е. можно присваивать, n инициализирована, т.к. является аргументом. Пределы цикла for рассчитываются до начала самого цикла, так что ничего криминального тут нет.

Ошибка есть в другом: if n=0 then exit; - тут результат функции не определен.

Последний раз редактировалось Arigato; 23.12.2011 в 01:59.
Arigato вне форума Ответить с цитированием
Старый 23.12.2011, 02:01   #6
Pyxy
Пользователь
 
Регистрация: 12.12.2011
Сообщений: 39
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
В принципе, тут ошибки нет. Не красиво записано, согласен, но корректно. n локальная переменная, т.е. можно присваивать, n инициализирована, т.к. является аргументом. Пределы цикла for рассчитываются до начала самого цикла, так что ничего криминального тут нет.
главное что работает без проблем
Pyxy вне форума Ответить с цитированием
Старый 23.12.2011, 02:03   #7
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,865
По умолчанию

Цитата:
Сообщение от Pyxy Посмотреть сообщение
главное что работает без проблем
Вы не правы.
К тому же она у вас без проблем не работает. 0! = 1, а у вас 0! = 0, точнее сказать у вас он вообще не определен.
Arigato вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычисления факториала в Delphi fleepone Помощь студентам 4 24.10.2011 09:08
Модуль паскаль хлебец Помощь студентам 0 30.05.2011 21:51
паскаль, модуль Ам тя Помощь студентам 2 19.05.2010 17:31
Функция вычисления факториала (Паскаль)) Doublefaced Помощь студентам 12 01.10.2009 23:34