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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2009, 12:38   #1
Чешитепузо
 
Регистрация: 27.03.2009
Сообщений: 3
По умолчанию Функция маx и min!

У меня в универе заданьеце было решить пример с помощью функций!
Там я прогу дописать не успел, но перед уходом решил проверить на ошибки ! Ошибок не выдало. (Там у нас стоит 6ай Делфа)
вот код функции мах
function max(x,y,z:real):real;
begin
if x>y
and
x>z
then
x:=max
else
y>x
and
y>z
then
y:=max
else
if z>x
and
z>y
then
z:=max;
end;
От нефиг делать решил написать ее дома! НУ ввожу тот же код! Он мне в строке x>z выдает ошибку [Error] Unit1.pas(29): Operator not applicable to this operand type.((
Поползал почитал умных книжек там увидел что сравниваемые данные в круглых скобках. Заключил все в круглые скобки. И мне стал выдавать ошибки на 1ой else [Error] Unit1.pas(32): Not enough actual parameters.
Потом решил проделать контрольный пример который проделывал в универе на 6ой делфе
function Step(N:integer; X:real):real;
var i:integer; y:real;
begin
y:=1;
for i:=1 to N do
y:=y*x;
step:=y; // присваивание функции результата
// вычисления степени
end; // Step

procedure TForm1.Button1Click(Sender: TObject);
begin
// ввод значения числа А и показателя степени М
A:=StrToFloat(Edit1.Text);
M:=StrToInt(Edit2.Text);
// Вызов функции с передачей ей фактических параметров
Z:=Step(5,A);
Z:= Z+Step(3,1/A);
if M=0 then R:=1
else if M>0 then R:=Step(M,A)
else R:=Step(-M,1/A);
Z:=Z/(2*R);
Edit3.Text:=FloatToStrF(Z,fffixed,7 ,5);
end;

end.
И где начинается обработка операций по нажатию кнопки заставил меня в var описать все переменные! когда в 6делфе такого не было! КАк и ошибок связанных с функциями max(x,y,z)
Потом полозил у вас по справке и там почитал что функции мах и min изначально вбиты в делфе , попробовал проделать код который в примере был так мне на мах ошибку выдал мол не знает че это такое! Если не трудно подскажите советом!))

Последний раз редактировалось Чешитепузо; 27.03.2009 в 12:41.
Чешитепузо вне форума Ответить с цитированием
Старый 27.03.2009, 12:54   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Функция у вас написана неверно )
Код:
function max(x,y,z:real):real;
begin
if (x>y) and (x>z) then max := z
else if (y>x) and (y>z) then max := y
else if (z>x) and (z>y) then max := z;
end;
И советую так ентером не увлекаться ) Проще будет ошибки отлавливать.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 27.03.2009, 16:21   #3
Чешитепузо
 
Регистрация: 27.03.2009
Сообщений: 3
По умолчанию

Спасибо огромное! теперь ясна ошибка)
Чешитепузо вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Разность между max и min значениями Иван 883 Паскаль, Turbo Pascal, PascalABC.NET 2 16.02.2009 23:24
min элемент в массиве DeFace Общие вопросы C/C++ 2 06.01.2009 21:36
m=min(max{aij}) Массивы на C++ Wia Помощь студентам 2 22.12.2008 19:23
нахождение min в массиве jenja Общие вопросы C/C++ 2 04.10.2008 19:32
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50