Скриншоты: проверяемые задания

Просмотров: 33697

Создание шаблона задания

Решение задания для электронного задачника Programming Taskbook

Решение задания для исполнителя Робот

Решение задания для исполнителя Чертежник

Новости

19.01.17. Добавлена операция безопасного среза: a?[-1:5:2]

29.08.16. Вышла версия 3.2. Реализован оператор yield.

12.02.16. Вышла версия 3.1. Добавлены кортежи в стиле (a,b) и кортежное присваивание (a,b) := (b,a)

31.12.15. Версия 3.0.0.1128. Реализованы обобщенные методы расширения для операций

Случайная программа

// Создание случайного идеально сбалансированного 
// бинарного дерева и его инфиксный обход
// Уровень сложности: 2

type
  Node<T> = auto class
    data: T;
    left, right: Node<T>;
  end;

function CreateTree(n: integer): Node<integer>;
begin
  if n <= 0 then
    Result := nil
  else
    Result := new Node<integer>(
      Random(100),
      CreateTree((n-1) div 2),
      CreateTree(n-1 - (n-1) div 2));
end;

procedure InfixPrintTree<T>(r: Node<T>);
begin
  if r = nil then
    exit;
  InfixPrintTree(r.left);
  Print(r.data);
  InfixPrintTree(r.right);
end;

const N = 20;

begin
  var root := CreateTree(N);
  InfixPrintTree(root);
end.