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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2009, 21:54   #1
вкусняшка
Пользователь
 
Регистрация: 17.02.2009
Сообщений: 13
Восклицание вычисление выражений (pascal)

вычислить z=n/mk,где
n=1*2*3...n(произведение всех чисел от 1 до n)
m=1*2*3...m(произведение всех чисел от 1 до m)
k=1*2*3...k(произведение всех чисел от 1 до k)
плииззззз..........кто нить!!!
вкусняшка вне форума Ответить с цитированием
Старый 19.02.2009, 22:02   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

вот функция, которая считает произведение от 1 до a:
Код:
function proiz(a : integer) : integer;
 var rez : integer;
 begin
 rez := 1;
 while a>1 do
  begin
  rez := rez * a;
  dec(a);
  end;
 proiz := rez;
 end;
-
читаете n,m,k, а потом считаете z:
Код:
z := proiz(n)/(proiz(m)*proiz(k));
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]

Последний раз редактировалось Sazary; 20.02.2009 в 10:48. Причина: исправил опечатку. Спасибо AndrzejX
Sazary вне форума Ответить с цитированием
Старый 20.02.2009, 06:23   #3
AndrzejX
Пользователь
 
Регистрация: 12.11.2008
Сообщений: 55
По умолчанию

Опечатка: функция называется proiz, а результат записывается в переменную proizv. И вообще, лучше пользоваться встроенной переменной Result - результат, возвращаемый функцией
AndrzejX вне форума Ответить с цитированием
Старый 20.02.2009, 21:40   #4
valetik
 
Регистрация: 28.12.2008
Сообщений: 9
По умолчанию

Самый интерес в этой задаче - нахождение аргументов n, m и k. А перемножить и поделить их уже труда не составит. Так вот эти самые аргументы n, m и k есть не что иное как факториалы.

В свою очередь предлагаю другой вариант функции по нахождению факториала. В основе ее работы лежит принцип рекурсии (вызов функции самой из себя).

Код:
function fact(MinValue, MaxValue: Integer) : Integer;
begin
   If MinValue=MaxValue then
   begin
      fact:=MinValue;
      exit;
   end;

   fact:=MinValue*fact(MinValue+1, MaxValue);

end;
Соот-но вызов fact(1,10) вычисляет 10 факториал. В нашем случае там будут фигурировать n, m и k.
valetik вне форума Ответить с цитированием
Старый 14.03.2009, 16:42   #5
вкусняшка
Пользователь
 
Регистрация: 17.02.2009
Сообщений: 13
По умолчанию

вот спасибочки
вкусняшка вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вычисление X n-го порядка // delphi, pascal JENqa Помощь студентам 2 26.12.2008 17:02
Задача на вычисление суммы ряда, Pascal die_hard Помощь студентам 9 07.12.2008 19:05
Pascal: Вычисление корна с помощью рекурсии. MaGWaY_minsk Помощь студентам 2 11.11.2008 22:20
Решение простых выражений MStorm Помощь студентам 5 10.03.2008 14:34