Меряем производительность

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

Статья дополнена 19.03.19.

Насколько быстро выполняется программа на PascalABC.NET? Наверняка ведь медленнее, чем на C# или на C++. Или нет? Давайте проверим.

Подробнее...
 

Графика. Классы штампов

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

В данной статье рассказывается о том, как реализовывать простые графические классы, упрощающие рисование в графическом окне.

Подробнее...
 

Регулярно выражаемся

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

В статье описываются регулярные выражения и примеры их использования в PascalABC.NET

Подробнее...
 

Учебный модуль для работы с массивами

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

В настоящей статье речь пойдет о модуле Arrays, специально разработанном для изучения темы "Массивы".

Подробнее...
 

Динамический или статический?

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

Речь пойдет о динамических массивах, о преимуществах и особенностях их использования.

Подробнее...
 

Графика, графика, графика! Часть 1. Введение.

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

Данная статья открывает цикл статей, в которых рассказывается о простой графической библиотеке GraphABC, реализованной в PascalABC.NET, о важности графики для начинающих и о том, почему не компилируется код с InitGraph(gd,gm,'').

Подробнее...
 

Модуль FormsABC: создание простого интерфейса

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

В статье показывается, как создавать простые программы с главной формой и простым пользовательским интерфейсом. Для этого используется новый модуль FormsABC, помогающий автоматически размещать компоненты на форме. В качестве примера рассматривается задача вычисления определенного интеграла методом прямоугольников с выводом результатов в TextBox.

Подробнее...
 

Новости

13.07.19. Опубликована презентация Новые возможности PascalABC.NET 3.5 (2015-2019 гг).

09.02.19. Опубликованы книги Валерия Рубанцева Занимательные проекты на Паскале и PascalABC.NET. Программирование графики на примерах.

02.02.19. Опубликована наиболее известная из книг Валерия Рубанцева Занимательные уроки с Паскалем и книга Графика для компьютерных игр.

30.01.19. Опубликованы две книги Валерия Рубанцева из серии Развивающее программирование: Решение задач на языке Паскаль и Увлекательная математика с Паскалем.

28.01.19. По согласованию с автором открыта страница Валерия Рубанцева с книгами о PascalABC.NET. Опубликована книга Функциональное программирование на PascalABC.NET.

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

// Создание случайного идеально сбалансированного 
// бинарного дерева и его инфиксный обход
// Уровень сложности: 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.