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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2010, 15:36   #1
bwitcher
Форумчанин
 
Регистрация: 09.06.2010
Сообщений: 112
По умолчанию Функции в Паскале

Составить программу для вычисления значения (с=n!/(m!(n-m)!)), определив функцию n!=
1) 0, если n<0
2) 1, если n=0
3) n!,если n>0

Код:
Program My;
var
C:real;
m,n,k:integer;
Function FR1(n:integer):real;
var i:integer; S:real;
begin
if n<0 then S:=0;
if n=0 then S:=1
else
S:=1;
for i:=1 to n do
S:=S*i;
Writeln(n,'!=', S:0:0);
end;
Function FR2(m:integer):real;
var i:integer; S:real;
begin
if m<0 then S:=0;
if m=0 then S:=1
else
S:=1;
for i:=1 to m do
S:=S*i;
Writeln(m,'!=', S:0:0);
end;
Function FR3(k:integer):real;
var i:integer; S:real;
begin
if k<0 then S:=0;
if k=0 then S:=1
else
S:=1;
for i:=1 to m do
S:=S*i;
Writeln(k,'!=', S:0:0);
end;
begin
Writeln('Введите число n');
Readln(n);
Writeln('Введите число m');
Readln(m);
k:=n-m;
C:=FR1(n)/FR2(m)*FR3(k);
Writeln('Значение выражения=',C);
end.
В чем ошибочка? Мог бы кто-нибудь исправить или переделать как-нибудь попроще?


Составить программу возводящую любое число n в любую степень m. Для возведения в степень определить необходимую функцию.

Так же решить нужно с помощью подпрограмм-функций. Поможете?

Последний раз редактировалось Stilet; 04.12.2010 в 21:18.
bwitcher вне форума Ответить с цитированием
Старый 04.12.2010, 15:46   #2
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

задолбал ты однако)
Код:
var m,n:integer;
function Fact(F:integer):Longint;
var i:integer;
f1:longint;
begin
f1:=1;
if f<0 then  f1:=0 else
for i:=1 to f do 
f1:=f1*i;
fact:=f1;
end;
begin
readln(m);readln(n);
writeln(fact(n)/fact(m)/fact(n-m):6:2);
readln;
end.
2)
Цитата:
Составить программу возводящую любое число n в любую степень m. Для возведения в степень определить необходимую функцию.
Код:
var  n,m:real;
function power(Base, Exponent: Extended): Extended;// из DRKB
var ex: extended;
begin
power := 0;
if (exponent <> 0)
   and (frac(trunc((1 / exponent) * 1000000) / 1000000) = 0)
   and (base < 0) then
   begin
     if round(1 / exponent) mod 2 = 0 then exit;
     ex := Exp(Exponent * Ln(-Base));
     power := -ex;
   end
else
  begin
     if Exponent = 0.0 then
       power := 1.0
     else if (Base = 0.0) and (Exponent > 0.0) then
       power := 0.0
     else if (Frac(Exponent) = 0.0) and (Abs(Exponent) <= MaxInt) then
       power := IntPower(Base, Integer(Trunc(Exponent)))
     else
       power := Exp(Exponent * Ln(Base))
  end;
end;
begin
readln(n);readln(m);
writeln(power(n,m):6:3);
end.
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"

Последний раз редактировалось Mad_Cat; 04.12.2010 в 15:55.
Mad_Cat вне форума Ответить с цитированием
Старый 04.12.2010, 16:09   #3
bwitcher
Форумчанин
 
Регистрация: 09.06.2010
Сообщений: 112
По умолчанию

Да, я понимаю, что задолбал, он делать-то надо, а с сам не могу) Спасибо!!!

Хоспаде, во 2 ваще ниче не понимаю. Что-то столько всего, мы такого и не проходили, кажется.

А с такой не поможете?
Даны действительные a,b,c. Получить m(a,c)/m(c,b)+m(a,b), где m(x,y)=tg(x+y)/sin(x+y)*cos(x-y)*tg(x-y)

Последний раз редактировалось Stilet; 04.12.2010 в 21:18.
bwitcher вне форума Ответить с цитированием
Старый 04.12.2010, 21:20   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
function m(x,y:double);begin result:=tg(x+y)/sin(x+y)*cos(x-y)*tg(x-y);end;
...
...:=m(a,c)/m(c,b)+m(a,b);
Смысл понятен?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 04.12.2010, 21:26   #5
bwitcher
Форумчанин
 
Регистрация: 09.06.2010
Сообщений: 112
По умолчанию

Если вот прям совсем честно, то не очень. Честное слово, чувствую себя идиотом.
bwitcher вне форума Ответить с цитированием
Старый 04.12.2010, 23:04   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Бывает... Спасает книга по паскалю или... Но лучше пока по паскалю.
Честно. Проверено на себе.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции в паскале swedalena Помощь студентам 9 02.06.2010 22:42
Функции в паскале !! ALABAMA Паскаль, Turbo Pascal, PascalABC.NET 13 24.05.2010 17:26
Функции в паскале swedalena Помощь студентам 3 22.05.2010 15:59
Функции на паскале Юля787 Помощь студентам 1 22.12.2009 21:47
функции в паскале fru1t__ Помощь студентам 5 13.10.2008 19:24