Помощь - Поиск - Пользователи - Календарь
Полная версия: Решение уравнения
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Dead.MorozZ
Сообщения разделены из темы: задача на знание элементарной геометрии

Кто нибудь помогите не могу решить задачу в понедельник sad.gif сдавать
smilie, а я в Паскале воще не секу sad.gif . Короче нужно решить уравнение y = m! * sqrt(x^2 - a^2) + n! * (x^2 - a^2) спомощью
1) Procedure
2) Function
числа m, n, x, a вводятся с клавиатуры
И еще если пришлите целый код. PlzzZZ
Заранее благодарен:-) :molitva: :molitva:
volvo
Dead.MorozZ, не надо превращать темы в свалку вопросов.
GoodWind
Dead.MorozZ, что именно непонятно ?
Dead.MorozZ
Мне не понятно как написать эту прогу smile.gif smile.gif А крнкретно ВСЕ. если можешь очень прошу помочь
volvo
Цитата(Dead.MorozZ @ 17.09.05 18:11)
если можешь очень прошу помочь

Помочь и написать за тебя - совершенно разные вещи...
Dead.MorozZ
Без разницы. Если тебе так будет угодно то
ПАПИШИТЕ ЗА МЕНЯ ПРОГУ УСЛОВИЕ КОТОРОЙ УКАЗАНО ВЫШЕ smile.gif smile.gif smile.gif


мы не занимаемся написанием прог за кого-то... мы помогаем написать...
но помочь можно только тому, кто хочет понять... ты, видимо не хочешь
GoodWind
открыто по просьбе автора темы:
Цитата
Открой PlzZ:). Я прогу то примерно написал мне надо кое-что спросить.
Dead.MorozZ
Вот примерный код той проги(см выше) Скажите PlzZ какие параметры надо в скобках указывать при вызове процедуры

uses crt;

procedure factM (m: LongInt; var rezM: LongInt);
var i: integer;
begin
rezM := 1;
for i := 1 to m do
rezM := rezM * i;
end;

procedure factN (n: LongInt; var rezN: LongInt);
var j: integer;
begin
rezN := 1;
for j := 1 to n do
rezN := rezN * j;
end;

var
y, x, a: integer;
m, n: integer;

begin
writeln ('Input m', m);
readLn;
m := factM(????);
writeln ('Input n', n);
readLn;
n := factN(????);
writeln ('Input x', x);
readLn;
writeln ('Input a', a);
y := factM * sqrt(x * x - a * a) + factN * (x * x - a * a);
read (y);
end.

Я конечно понимаю что в этой проге немеренно багов но главное помогите с процедурой а остальное сам как-нибудьsmile.gif)
P.S. спасибо GoodWind, что тему мою разбаннилsmile.gif)

Тегами CODE пользуйся...
volvo
y := factM * sqrt(x * x - a * a) + factN * (x * x - a * a);
Ты не сможешь это делать при использовании процедур. Для такого использования factM и factN должны быть функциями...
Dead.MorozZ
Тогда как же быть??
GoodWind
function factM:Longint;
var i: integer;
rezm:longint;
begin
rezM := 1;
for i := 1 to m do rezM := rezM * i;
factM:=rezM;
end;

function factN:Longint;
var i: integer;
rezN:longint;
begin
rezN := 1;
for i := 1 to m do rezN := rezN * i;
factN:=rezN;
end;


теперь, как показал volvo

y := factM * sqrt(x * x - a * a) + factN * (x * x - a * a);



и еще... зачем тебе read(y); в конце ? откуда ты его читаешь ? blink.gif
надо бы
writeln(y);

наверно...

добавлено:

а основная часть вообще левая....


var y:longint;
m,n,a,x:integer;

begin
write('Give me A: ');readln(a);
write('Give me X: ');readln(x);
write('Give me M: ');readln(m);
write('Give me N: ');readln(n);
writeln('Y=', factM * sqrt(x * x - a * a) + factN * (x * x - a * a));
readkey;
end.

Dead.MorozZ
Это, конечно, хорошо!! СПАСИБО!! Но мне надо сделать прогу используя процедурыsmile.gif С функциями я примерно так и сделалsmile.gif
С процедурами помогитеsmile.gif
volvo
Ну, или проще:
function fact(x: integer): Longint;
var i: integer; rez: longint;
begin
rez := 1;
for i := 1 to x do rez := rez * i;
fact := rez;
end;
...
z := sqr(x) - sqr(a); { чтобы не вычислять 2 раза }
write( 'y =', fact(M) * sqrt(z) + fact(N) * z )
GoodWind
млин...
ну тогда

procedure fact (m: LongInt; var rez: LongInt);
var i: integer;
begin
rez := 1;
for i := 1 to m do
rez := rez * i;
end;


и основную часть:

var nF,mF:longint;
n,m,a,x,z:integer;
begin
write('Give me A: ');readln(a);
write('Give me X: ');readln(x);
write('Give me M: ');readln(m);
write('Give me N: ');readln(n);
fact(n,nF);
fact(m,mF);
z := sqr(x) - sqr(a); { чтобы не вычислять 2 раза }
Writeln('y =', mF * sqrt(z) + nF * z);
readkey;
end.

Dead.MorozZ
ИМХА!!! Господа СПАСИБО!!! Очень признателен!! Действительно помогли!! :molitva: :molitva: :molitva: :molitva: :molitva: :molitva: :molitva: :molitva: :molitva:
GoodWind
вышли ящик пива на мыло smile.gif :p10: и мы в расчете lol.gif
Dead.MorozZ
А вот и обещанный ящик ПИВА как и договаривались

Делите на всех(((((smile.gif)))
Наслаждайтесь!! И еще раз спасибо!!!
Shura
Мдааа.... Это было забавно...
Цитата
А ну-ка попишите-ка за меня!

smile.gif smile.gif smile.gif
GoodWind
Shura, не надо флуда. :fire:
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.