Поучаствуй в замерах производительности программ для PascalABC.NET, Free Pascal и Visual C++.
Скачай программы и заполни эту таблицу.
09.03.22. Вышла версия 3.8.3. Основное - цикл for с шагом, цикл foreach с индексом. Список изменений - здесь.
24.08.21. Вышла версия 3.8.1. Основное - атрибут [Cache] и модуль PlotWPF. Список изменений - здесь.
20.03.21. Опубликован материал "PascalABC.NET и ЕГЭ по информатике 2021"
12.03.21. Опубликован первый интерактивный курс по PascalABC.NET на платформе Stepik.
07.03.21. Вышла версия PascalABC.NET 3.8. Основное: срезы многомерных массивов и распаковка составных параметров лямбда-выражений в переменные. Список основных изменений - здесь.
// Создание случайного идеально сбалансированного
// бинарного дерева и его инфиксный обход
// Уровень сложности: 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.