PascalABC.NET
PascalABC.NET — мова праграмавання Pascal новага пакалення, якая ўключае ў сябе класічны Pascal, большасць магчымасцяў мовы Delphi, а таксама шэраг уласных пашырэнняў. Рэалізавана на платформе Microsoft.NET і ўключае ў сябе ўсе сучасныя моўныя сродкі: класы, перагрузку аперацый, інтэрфейсы, апрацоўку выключэнняў, абагульненыя класы і падпраграмы, зборку смецця, лямбда-выразы, сродкі паралельнага праграмавання.
PascalABC.NET | |
---|---|
Семантыка | імператыўная |
Клас мовы | мультыпарадыгмавая: Структурнае, аб’ектна-арыентаванае, абагульненае, працэдурнае праграмаванне, функцыянальнае прграмаванне |
Тып выканання | кампілятар |
З’явілася ў | 2002 |
Аўтар(ы) | С. С. Міхалковіч, І. В. Бондараў, А. В. Ткачук, С. А. Іваноў |
Пашырэнне файлаў | pas |
Рэліз | 3.5, зборка 2067 (25.05.2019) |
Тыпізацыя даных | статычная |
Асноўныя рэалізацыі |
PascalABC.NET, Pascal ABC (падтрымка спынена) |
Зведала ўплыў | Pascal, Delphi, C#, Python |
Ліцэнзія | LGPL |
Сайт | pascalabc.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.