PascalABC.NET

PascalABC.NET — мова праграмавання Pascal новага пакалення, якая ўключае ў сябе класічны Pascal, большасць магчымасцяў мовы Delphi, а таксама шэраг уласных пашырэнняў. Рэалізавана на платформе Microsoft.NET і ўключае ў сябе ўсе сучасныя моўныя сродкі: класы, перагрузку аперацый, інтэрфейсы, апрацоўку выключэнняў, абагульненыя класы і падпраграмы, зборку смецця, лямбда-выразы, сродкі паралельнага праграмавання.

PascalABC.NET з’яўляецца мультыпарадыгмавай мовай: на ёй можна праграмаваць у структурным, аб’ектна-арыентаваным і функцыянальным стылях.

PascalABC.NET — гэта таксама простае і магутнае інтэграванае асяроддзе распрацоўкі, якое падтрымлівае тэхналогію IntelliSense, якая змяшчае сродкі аўтафарматавання, убудаваны адладчык і ўбудаваны дызайнер формаў. Акрамя таго, кансольны кампілятар PascalABC.NET функцыянуе на Linux і MacOS пад Mono.

 Стандартныя модулі 
Паколькі ў PascalABC.NET можна карыстацца ўсімі бібліятэкамі платформы .NET, стандартныя модулі нешматлікія і арыентаваны на навучанне:

 Модуль растравай графікі GraphWPF
 Модуль растравай графікі GraphABC (састарэлы)
 Модуль 3D графікі і анімацыі Graph3D (на аснове свабоднай бібліятэкі Helix Toolkit)
 Модуль вектарнай графікі WPFObjects
 Модуль вектарнай графікі ABCObjects (састарэлы)
 Модуль FormsABC для стварэння графічных інтэрфейсаў (на базе тэхналогіі Windows Forms)
 Модуль NumLibABC (бібліятэка лікавых метадаў)
 Модулі выканаўцаў Робат і Чарцёжнік (школьная інфарматыка)
 Модуль электроннага задачніка Programming Taskbook (базавая версія).

 Прыклады праграм 

 Прыклад 1. Найменшае агульнае кратнае двух лікаў 
begin
  var (a, b) := ReadInteger2;
  var c := a * b;
  while b <> 0 do
    (a, b) := (b, a mod b);
  c := c div Abs(a);
  c.Print;
end.

 Прыклад 2. Раскладанне рацыянальнага ліку на простыя множнікі 
begin
  var n := ReadInteger;
  if n < 0 then print('-1');
  var i := 2;
  while n <> 1 do
    if n mod i = 0 then
    begin
      i.Print;
      n := Abs(n) div i
    end
    else if i = 2 then i := i + 1 else i := i + 2;
end.

 Прыклад 3. Канвенціраванне 10-ковага ліку ў n-ковы лік 
begin
  var (n, a) := ReadInteger2;
  var c := '';
  var m := false;
  if a < 0 then m := true;
  while a <> 0 do
  begin
    var b := a;
    (a, b) := (Abs(a) div n, Abs(b) mod n);
    if b >= 10 then c := chr(b + 55) + c else c := IntToStr(b) + c;
  end;
  if m = true then c := '-' + c;
  c.Print;
end.

 Спасылкі 
 Апісанне мовы PascalABC.NET
 Электронны задачнік па праграмаванні Programming Taskbook
 Форум PascalABC.NET

Катэгорыя:Мовы праграмавання платформы .NET
Катэгорыя:Свабодныя кампілятары і інтэрпрэтатары