Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Лаба, проблема с написанием

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Лаба, проблема с написанием
Имя
Сообщение << Старые топики   Новые топики >>
Лаба, проблема с написанием - 2008-11-08 19:15:46.810000   
larian

Сообщений: 3
Оценки: 0
Присоединился: 2008-11-08 17:43:57.216666
Люди,я вечный должник по программированию и сейчас оно стало так сказать ребром-нужно срочно сдать.Осталась пара заданий,которые просто никак не могу сделать верно. Если не трудно,пишите так сказать "детским" языком!
С меня репа!

1)Составьте программу, вычисляющую значение функции:
U(m,n)=(m+n)!/(m-n)!
Для вычисления факториала используйте подпрограмму-функцию. Значения аргументов m и n введите с клавиатуры.

Факториалом целого положительного числа n называется произведение:
n!=1*2*3*…*n
Основное свойство факториала:
n!=n*(n-1)!
Post #: 1
RE: Лаба, проблема с написанием - 2008-11-08 21:06:52.120000   
kolPeeX

Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
unsigned long fact(unsigned int i) { if(i==1) return 1; return fact(i-1)*i; } long U(int m, int n) { return fact(m+n)/fact(m-n); } //дальше уже детский сад. лень. int main(int ac, char **av) {/* ... */
Post #: 2
RE: Лаба, проблема с написанием - 2008-11-08 21:55:13.390000   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
module Solution where import Monad fact :: Integer -&gt; Integer fact n = foldl (*) 1 [1..n] u :: Integer -&gt; Integer -&gt; Double u m n = doFact (+) / doFact (-) where doFact pred = (fromInteger $ fact (m `pred` n)) :: Double main :: IO () main = do m &lt;- getDouble "m" n &lt;- getDouble "n" putStrLn $ "U(m, n) = " ++ (show $ u m n) where getDouble str = do putStr $ "Enter " ++ str ++ ": " liftM read $ getLine :: IO Integer
Post #: 3
RE: Лаба, проблема с написанием - 2008-11-08 21:56:20.903333   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
(defmacro with-user-inputed ((&rest vars) &body body) `(let (,@(loop for var in vars collect `(,var (progn (format t "Enter value of ~a: " ',var) (force-output t) (read))))) ,@body)) (defun ! (n) (if (&lt;= n 0) 1 (* n (! (1- n))))) (defun U (m n) (/ (! (+ m n)) (! (- m n)))) (with-user-inputed (m n) (U m n))
Post #: 4
RE: Лаба, проблема с написанием - 2008-11-08 21:57:48.543333   
Denaturat

Сообщений: 1741
Оценки: 453
Присоединился: 2008-10-27 20:50:06.380000
все любят гипножабу

P.S. посчитай U(50000, 10000)
Post #: 5
RE: Лаба, проблема с написанием - 2008-11-08 23:03:58.376666   
larian

Сообщений: 3
Оценки: 0
Присоединился: 2008-11-08 17:43:57.216666
Люди,а не трудно написать на языке паскаль? т.к. я не смогу перевести то,что вы мне написали.спасибо заранее!
Post #: 6
RE: Лаба, проблема с написанием - 2008-11-09 08:51:53.023333   
kolPeeX

Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
var us_m, us_n: integer; function fact(I:integer):integer; begin if I=1 then fact:=1 else fact:=fact(I-1)*I; end; function U(m,n:integer):double; begin U:=fact(m+n)/fact(m-n); {или Result:=..., точно не помню} end; begin write('M = '); readln(us_m); write('N = '); readln(us_n); writeln('U(',us_m,',',us_n,') = ',U(us_m,us_n)); readln; {не забудь сделать обработку ошибок} end.

P.S. 1000-й пост :)
Post #: 7
RE: Лаба, проблема с написанием - 2008-11-09 10:42:46.193333   
Herm

Сообщений: 218
Оценки: 0
Присоединился: 2008-08-15 21:08:09.063333
Вот на скорую руку на бросал. за ошибки не ругай.

program lab; Uses crt; var m,n:integer;Z:real; Function Fact(a:integer):integer; var I,S:integer; begin S:=1; For a:=1 to a do begin S:=S*a; Fact:=S; end; end; Function U(x,y:integer):real; var k,l:integer; begin k:=x+y; l:=x-y; U:=Fact(k)/Fact(l); end; begin clrscr; Readln(m,n); Z:=U(m,n); Writeln; Writeln('Z=',z:2:2); readln; end.
Post #: 8
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Лаба, проблема с написанием







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.