Download
The latest versions for Windows and .NET 10.
Download →PascalABC.NET is a modern Pascal programming language for .NET, combining clear and logical syntax with professional development capabilities. Type inference, tuples, slices, classes, generics, and lambda expressions make programs concise, readable, and efficient.
PascalABC.NET is a universal multi-paradigm language supporting procedural, object-oriented, and functional programming. It is suitable for learning modern programming, scientific research, application development, and everyday tasks.
The PascalABC.NET programming system includes a simple and powerful development environment with code completion, automatic formatting, automated assessment tools, and examples for beginners.
begin
var (a,b) := ReadReal2('a,b:');
Println($'{a} * {b} = {a*b}')
end.begin
var a := [12,73,25,48,9,41,36,80];
for var i := 0 to a.Length-1 step 2 do
if a[i] in 10..50 then
Print(a[i])
end.// Все делители числа
function Divisors(n: integer): List<integer>;
begin
Result := [];
for var i := 1 to n do
if n mod i = 0 then
Result.Add(i)
end;
begin
Divisors(24).Println
end.// В массиве отобрать различные четные числа,
// упорядочить их по возрастанию и возвести в квадрат
begin
var a := [7,2,9,4,2,6,8,4];
a.Where(x -> x mod 2 = 0)
.Distinct
.Order
.Select(x -> x*x)
.Println
end.// Срезы и индексация с конца
begin
var a := [10,20,30,40,50,60];
a[1:4].Println; // 20 30 40
a[::2].Println; // 10 30 50
Println(a[^1]) // 60
end.// Сколько перестановок слова ОДЕКОЛОН
// не содержат одинаковых соседних букв?
##
'ОДЕКОЛОН'
.Permutations
.Where(s -> not s.IsMatch('(.)\1'))
.Distinct
.Count
.PrintThe latest versions for Windows and .NET 10.
Download →A concise introduction to PascalABC.NET.
Open →The PascalABC.NET extension for Visual Studio Code.
Open →