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

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

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

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

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

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

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

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

Всё внутри

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

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

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

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

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

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

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

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

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

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

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

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

Новости

05.05.20. Выпущена версия PascalABC.NET 3.6.3. Основное - срезы на запись и конструкция ^i для обращения к элементам по индексу с конца. Список остальных изменений - здесь.

09.04.2020. Бонус! В связи с переходом школ на дистанционное обучение выкладываем в открытый доступ книгу Осипова А.В. "PascalABC.NET: выбор школьника. Часть 1".

22.02.2020. Вышла версия 3.6.2. Основные изменения - здесь.

07.10.19. Выложена полная версия книги Осипова А.В. «PascalABC.NET: введение в современное программирование».

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

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

// Минимальный в массиве и его индекс
// Уровень сложности: 1
function MinInd(a: array of real): integer;
begin
  var min := a[0];
  Result := 0;
  for var i:=1 to a.Length-1 do
    if a[i]<min then
    begin
      min := a[i];
      Result := i;
    end;
end;


const n = 20;

begin
  var a := ArrRandomReal(n);
  Writeln('Исходный массив: ');
  a.Println;

  var ind := MinInd(a);
  Writeln('min=',a[ind],' индекс=',ind);
end.