Зарисовки в функциональном стиле

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

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

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

Связные списки - новый стиль

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

В данной статье сравниваются два способа изложения темы "Динамические структуры данных": традиционный - с помощью указателей - и новый - с помощью ссылок на объекты.

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

Всё внутри

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

В данной статье речь пойдет о том, почему в PascalABC.NET принято решение определять методы внутри класса и записи и почему это удобно.

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

Все типы - классы

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

В .NET все типы, кроме типов указателей, являются классами. В PascalABC.NET решено это не скрывать :)

Последствия этого факта для программирования и обучения раскрываются в этой статье.

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

Простейшие новые возможности

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

В данной статье рассматриваются простейшие новые возможности, часто используемые в коде программ PascalABC.NET: внутриблочные описания переменных, автоопределение типа, описание переменных в заголовке for и операторы +=, -=, *=, /=.

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

Новости

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. Реализованы обобщенные методы расширения для операций

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

// Пузырьковая сортировка с флагом
// Уровень сложности: 1
procedure BubbleSort(a: array of integer);
begin
  var i := a.Length - 1;
  var q: boolean;
  repeat
    q := true;
    for var j := 0 to i - 1 do
      if a[j + 1] < a[j] then
      begin
        Swap(a[j + 1], a[j]);
        q := false;
      end;
    i -= 1;
  until q;
end;

const N = 10;

begin
  var a := ArrRandom(N);
  writeln('Исходный массив: ');
  a.Println;
  BubbleSort(a);
  writeln('Отсортированный массив: ');
  a.Println;
end.