Большой Воронежский Форум
» Программирование>пАмАгИтЕ решить задачу на паскале xD
xxx-men 19:59 05.06.2008
нифига нету не одной книжки по паскалю
на трафик попал, сегодня 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.
подключать ничего не надо - матиматика есть по умолчанию

3.
так и будет
x:=abs(y);

4.
x:=int(y); [Ответ]
xxx-men 20:31 05.06.2008

Сообщение от Torpedo:
borland pascal

он самый

trunc() - а это что за монстр? [Ответ]
Torpedo 20:42 05.06.2008
Насколько помню то же самое что и int() - возврат целой части вещественного числа, только возвращаемые данные разного типа [Ответ]
DWanek 21:35 05.06.2008
Всё выше написанное верно.

За исключением: int(x) - вообще не знаю, что такое. В паскале есть две функции: Trunc(X), которая возвращает целую чать дробного числа, путём отбрасывания дробной части, и вторая: Round(X), которая округляет число по всем правилам математики:

Trunc(2,25) = 2
Trunc(2,5) = 2
Trunc(3,98) = 3
Round(2,25) = 2
Round(2,5) = 3
Round(3,98) = 4 [Ответ]
xxx-men 22:10 05.06.2008

Сообщение от DWanek:
Round(X), которая округляет число по всем правилам математики

фигасебе, ды я просто в сказке [Ответ]
dn2k4 22:30 05.06.2008

Сообщение от DWanek:
int(x)

Есть, есть там приведение типов - которое работает как и в Ц. Оформляется как вызов функции с именем типа от аргумента. Кста, это введение борланда, в классике его нет.
В классике есть еще функция floor(x) - возвращает ближайшее целое, меньше чем аргумент - типа floor(4.6) = 4, floor(-3.7) = -3.
И на счет include - по хорошему эти функции находятся в модуле system. Но так как он автоматом подключается при компиляции писать конструкцию "uses system;" не надо

ууух, какую древность вспомнил =) [Ответ]
xxx-men 22:38 05.06.2008

Сообщение от dn2k4:
floor(x) - возвращает ближайшее целое, меньше чем аргумент

Сообщение от dn2k4:
floor(-3.7) = -3.

или ты хотел написать отбрасывает дробную часть
или floor(-3.7)=-4
или хватит на сегодня, пора смотреть "губку боба" [Ответ]
dn2k4 22:41 05.06.2008
Фсе, надо больше спать =) Конечно -4... также как и floor(-3.1) =) [Ответ]
xxx-men 20:46 09.06.2008
вопрос по делфям.
дано:
TreeView1: TTreeView;
targetNode:TTreeNode;

с помощь бубна или медитаций или Selected находица нужный мне targetNode.

как пробежать по дочерним TTreeNode?

ну для начала можно унaть , "а есть ли они?".. делаю так : if targetNode.HasChildren then .... это верно?

Сообщение от :
это что бы легче было вспоминать
public
function AlphaSort(ARecurse: Boolean = False): Boolean;
procedure Assign(Source: TPersistent); override;
procedure Delete;
procedure DeleteChildren;
procedure Expand(Recurse: Boolean);
function getFirstChild: TTreeNode; {GetFirstChild conflicts with C++ macro}
function GetLastChild: TTreeNode;
function GetNext: TTreeNode;
function GetNextChild(Value: TTreeNode): TTreeNode;
function getNextSibling: TTreeNode; {GetNextSibling conflicts with C++ macro}
function GetNextVisible: TTreeNode;
function GetPrev: TTreeNode;
function GetPrevChild(Value: TTreeNode): TTreeNode;
function getPrevSibling: TTreeNode; {GetPrevSibling conflicts with a C++ macro}
function GetPrevVisible: TTreeNode;
function HasAsParent(Value: TTreeNode): Boolean;
procedure MakeVisible;
function IsFirstNode: Boolean;
property Count: Integer read GetCount;
property Cut: Boolean read GetCut write SetCut;
property Data: Pointer read FData write SetData;
property Deleting: Boolean read FDeleting;
property Focused: Boolean read GetFocused write SetFocused;
property DropTarget: Boolean read GetDropTarget write SetDropTarget;
property Selected: Boolean read GetSelected write SetSelected;
property Expanded: Boolean read GetExpanded write SetExpanded;
property Handle: HWND read GetHandle;
property HasChildren: Boolean read GetChildren write SetChildren;
property ImageIndex: TImageIndex read FImageIndex write SetImageIndex;
property Index: Integer read GetIndex;
property IsVisible: Boolean read IsNodeVisible;
property Item[Index: Integer]: TTreeNode read GetItem write SetItem; default;
property ItemId: HTreeItem read FItemId;
property Level: Integer read GetLevel;
property OverlayIndex: Integer read FOverlayIndex write SetOverlayIndex;
property Owner: TTreeNodes read FOwner;
property Parent: TTreeNode read GetParent;
property SelectedIndex: Integer read FSelectedIndex write SetSelectedIndex;
property StateIndex: Integer read FStateIndex write SetStateIndex;
property Text: string read FText write SetText;
property TreeView: TCustomTreeView read GetTreeView;
end;

[Ответ]
-Doctor- 22:42 09.06.2008
Вот пример кода. Програмка пробегает по дочерним нодам выбранного, пропуская дочерние дочерних, и записывает их названия в мемо.

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);

оО, понял [Ответ]
Вверх