нифига нету не одной книжки по паскалю
на трафик попал, сегодня 5е число а внешки уже больше гига
по этому , в виде исключения, сильно не пинать
как будет на паскале:
1) double f(double x) { return x*x; };
2) #include <math.h> (ну или что там подключать что бы косинусы, модули и т.д. работало)
3) abs(x);
4)int(x);
[Ответ]
Torpedo 20:18 05.06.2008
Если имеется ввиду старенький borland pascal (не Delphi), то
1.
function f(x: double): double;
begin
f:=x*x;
end;
2.
подключать ничего не надо - матиматика есть по умолчанию
Насколько помню то же самое что и int() - возврат целой части вещественного числа, только возвращаемые данные разного типа
[Ответ]
DWanek 21:35 05.06.2008
Всё выше написанное верно.
За исключением: int(x) - вообще не знаю, что такое. В паскале есть две функции: Trunc(X), которая возвращает целую чать дробного числа, путём отбрасывания дробной части, и вторая: Round(X), которая округляет число по всем правилам математики:
Есть, есть там приведение типов - которое работает как и в Ц. Оформляется как вызов функции с именем типа от аргумента. Кста, это введение борланда, в классике его нет.
В классике есть еще функция floor(x) - возвращает ближайшее целое, меньше чем аргумент - типа floor(4.6) = 4, floor(-3.7) = -3.
И на счет include - по хорошему эти функции находятся в модуле system. Но так как он автоматом подключается при компиляции писать конструкцию "uses system;" не надо
Вот пример кода. Програмка пробегает по дочерним нодам выбранного, пропуская дочерние дочерних, и записывает их названия в мемо.
procedure TForm1.Button1Click(Sender: TObject);
var
Node, ChildNode:TTreenode;
begin
node:=Treeview1.Selected;
if node.HasChildren then begin
Childnode:= node.getFirstChild;
memo1.Lines.Add(ChildNode.Text);
While ChildNode<>Node.GetLastChild do begin
Childnode:=node.GetNextChild(ChildNode);
memo1.Lines.Add(ChildNode.Text);
end;
end;
end;
[Ответ]
dn2k4 08:38 10.06.2008
Пример обхода и суммирования всех низлежащих:
function TDBTreeView.RecurseChilds(node: TTreeNode): double;
begin
while node <> nil do begin
if node.HasChildren then
Result := RecurseChilds(node.GetFirstChild);
Result := Result + GetResultForNode(node));
node := node.GetNextSibling;
end;
end;
function TDBTreeView.GetResult(curnode: TTreeNode: double;
begin
Result := 0;
if curnode = nil then Exit;
Result := RecurseChilds(curnode.GetFirstChild);
end;
[Ответ]
xxx-men 10:21 10.06.2008
Сообщение от -Doctor-:
Childnode:=node.GetNextChild(ChildNode);