Составить программу, вычисляющую выражение интеграл — Pascal(Паскаль)

type
  ref = ^el;
  el = record
    key: integer;
    l, r: ref
  end;
 
var
  n, p, e: integer;
  root: ref;
 
function tree(n: integer): ref;
var
  newnode: ref;
  x, nl, nr: integer;
begin
  if n = 0 then tree := nil
  else begin
    nl := n div 2;
    nr := n - nl - 1;
    read(x);
    new(newnode);
    with newnode^ do
    begin
      key := x;
      l := tree(nl);
      r := tree(nr);
    end;
    tree := newnode;
  end; end;
 
procedure printtree(t: ref; h: integer);
var
  i: integer;
begin
  if t <> nil then
    with t^ do
    begin
      printtree(l, h + 1);
      for i := 1 to h do write(' ');
      writeln(key);
      printtree(r, h + 1);
    end;
end;
 
procedure poisk(Tree: ref; e: integer);
begin
  if Tree = nil then exit;
  poisk(Tree^.l, e);
  if Tree^.key = e then p := p + 1;
  poisk(Tree^.r, e);
end;
 
begin
  writeln('v-te kol-vo uzlov');
  readln(n);
  root := tree(n);
  printtree(root, 0);
  writeln('E=?');
  readln(e);
  poisk(root, e);
  writeln('elem. vstrechaetsya ', p, ' raz');
  readln;
end.

Leave a Comment

60 − 56 =