Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «ОписаниС языка PascalABC.NETΒ»

Автор W Cat

PascalABC.NET

ΠžΠ±Ρ‰ΠΈΠ΅ свСдСния

БистСма PascalABC.NET

PascalABC.NET – это систСма программирования ΠΈ язык Pascal Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Microsoft .NET. Π―Π·Ρ‹ΠΊ PascalABC.NET содСрТит всС основныС элСмСнты соврСмСнных языков программирования: ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, классы, ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΡƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, интСрфСйсы, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ классы, сборку мусора, лямбда-выраТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ срСдства ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, Π² Ρ‚ΠΎΠΌ числС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ OpenMP. БистСма PascalABC.NET Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π² сСбя Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ срСду, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π½Π° эффСктивноС ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ соврСмСнному ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

* ОписаниС языка PascalABC.NET. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° PascalABC.NET для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ для обучСния. ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ PascalABC.NET ΠΎΡ‚ Delphi (Object Pascal). ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ основныС особСнности PascalABC.NET, находятся Π² мСню "ΠŸΠΎΠΌΠΎΡ‰ΡŒ/ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ Π³Π»Π°Π²Π½ΠΎΠΌ".

Π―Π·Ρ‹ΠΊ Паскаль Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΡˆΠ²Π΅ΠΉΡ†Π°Ρ€ΡΠΊΠΈΠΌ ΡƒΡ‡Π΅Π½Ρ‹ΠΌ Никлаусом Π’ΠΈΡ€Ρ‚ΠΎΠΌ Π² 1970 Π³. ΠΊΠ°ΠΊ язык со строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятным синтаксисом. Π’ 80-Π΅ Π³ΠΎΠ΄Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ извСстной Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ стал компилятор Turbo Pascal Ρ„ΠΈΡ€ΠΌΡ‹ Borland, Π² 90-Π΅ Π΅ΠΌΡƒ Π½Π° смСну ΠΏΡ€ΠΈΡˆΠ»Π° срСда программирования Delphi, которая стала ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π»ΡƒΡ‡ΡˆΠΈΡ… срСд для быстрого создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ Windows. Delphi Π²Π²Π΅Π»Π° Π² язык Паскаль ряд ΡƒΠ΄Π°Ρ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉ, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ язык ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Object Pascal. Π‘ вСрсии Delphi 7 язык Delphi Object Pascal стал Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ просто Delphi. Из Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ Object Pascal слСдуСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹ΠΉ open source компилятор Free Pascal.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ PascalABC.NET Π΄ΠΈΠΊΡ‚ΠΎΠ²Π°Π»ΠΎΡΡŒ двумя основными ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌΠΈ: устарСваниС стандартного языка Pascal ΠΈ систСм, построСнных Π½Π° Π΅Π³ΠΎ основС (Free Pascal), Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π² соврСмСнной простой, бСсплатной ΠΈ ΠΌΠΎΡ‰Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ срСдС программирования.

PascalABC.NET опираСтся Π½Π° ΠΏΠ΅Ρ€Π΅Π΄ΠΎΠ²ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ программирования Microsoft.NET, которая обСспСчиваСт язык PascalABC.NET ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ количСством стандартных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ позволяСт Π»Π΅Π³ΠΊΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ Π΅Π³ΠΎ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ .NET-языками: C#, Visual Basic.NET, управляСмый C++, Oxygene ΠΈ Π΄Ρ€. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° .NET прСдоставляСт Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΊΠΈΠ΅ языковыС срСдства ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, Π΅Π΄ΠΈΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ управлСния ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Π² Π²ΠΈΠ΄Π΅ сборки мусора, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ свободного использования классов, наслСдования, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠ° ΠΈ интСрфСйсов ΠΌΠ΅ΠΆΠ΄Ρƒ модулями, написанными Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… .NET-языках. О Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Microsoft.NET, ΠΎ Π΅Π΅ прСимущСствах для программирования ΠΈ для обучСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ здСсь.

Π―Π·Ρ‹ΠΊ PascalABC.NET Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Delphi (Object Pascal). Π’ Π½Π΅ΠΌ отсутствуСт ряд спСцифичСских языковых конструкций Delphi, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ конструкции ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. ΠšΡ€ΠΎΠΌΠ΅ этого, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ряд возмоТностСй: имССтся Π°Π²Ρ‚ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΏΡ€ΠΈ описании, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ°, ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ +=, -=, *=, /=, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ нСпосрСдствСнно Π² Ρ‚Π΅Π»Π΅ класса ΠΈΠ»ΠΈ записи, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ встроСнными Π² стандартныС Ρ‚ΠΈΠΏΡ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΈ свойствами, ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠΎΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ управляСтся сборщиком мусора ΠΈ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ явного освобоТдСния, мноТСства set ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ созданы Π½Π° основС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ², Π²Π²Π΅Π΄Π΅Π½ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ foreach, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ†ΠΈΠΊΠ»ΠΎΠ² for ΠΈ foreach ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ нСпосрСдствСнно Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π°, ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΎΠ±ΠΎΠ±Ρ‰Π΅Π½Π½Ρ‹Π΅ классы ΠΈ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ (generics), лямбда-выраТСния ΠΈ Π΄Ρ€.

Π‘Π»ΠΈΠ·ΠΊΠΈΠΌ ΠΏΠΎ ΠΈΠ΄Π΅ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊ PascalABC.NET являСтся язык RemObjects Oxygene (Object Pascal 21 Π²Π΅ΠΊΠ°). Однако ΠΎΠ½ сильно ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ Π² сторону .NET: Π½Π΅Ρ‚ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… описаний, всС описания ΠΏΠΎΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² класс, содСрТащий статичСский ΠΌΠ΅Ρ‚ΠΎΠ΄ Main, отсутствуСт ряд стандартных ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ языка Паскаль. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, систСма RemObjects Oxygene - платная ΠΈ Π½Π΅ содСрТит собствСнной ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ (встраиваСтся Π² Visual Studio ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ IDE), Ρ‡Ρ‚ΠΎ практичСски Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ Π΅Π΅ Π² сфСрС образования.

Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда PascalABC.NET обСспСчиваСт подсвСтку синтаксиса, подсказку ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ (подсказка ΠΏΠΎ Ρ‚ΠΎΡ‡ΠΊΠ΅, подсказка ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ), Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎ запросу, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ ΠΊ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅Π½ΠΈ, элСмСнты Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.

ВсС ΠΏΡ€Π°Π²Π° Π½Π° систСму программирования PascalABC.NET ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‚ PascalABCCompiler Team (web-сайт http://pascalabc.net).

ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ Π³Π»Π°Π²Π½ΠΎΠΌ

Π”Π°Π½Π½Ρ‹ΠΉ тСкст содСрТит ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ особСнностСй PascalABC.NET.

* PascalABC.NET – лСгковСсная ΠΈ мощная срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ справочной систСмой, срСдствами подсказки ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ, Π°Π²Ρ‚ΠΎΡ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ, встроСнным ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠΎΠΌ ΠΈ встроСнным Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠΌ Ρ„ΠΎΡ€ΠΌ. Π˜Π½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ срСда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ PascalABC.NET ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π° Π½Π° созданиС ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ°Π»ΠΎΠΉ ΠΈ срСднСй слоТности, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π½Π° ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ соврСмСнному ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ.

* PascalABC.NET – ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ соврСмСнный язык программирования. По прСдоставляСмым возмоТностям ΠΎΠ½ прСвосходит язык Delphi ΠΈ содСрТит практичСски всС возмоТности языка C#.

* PascalABC.NET опираСтся Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡƒ Microsoft .NET - Π΅Ρ‘ языковыС возмоТности ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Π³ΠΎ Π³ΠΈΠ±ΠΊΠΈΠΌ, эффСктивным, постоянно Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΡΡ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΡΠΎΡ‡Π΅Ρ‚Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ Π½Π° PascalABC.NET ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… .NET-языках.

* ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ PascalABC.NET Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ΄, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉΡΡ Ρ‚Π°ΠΊ ΠΆΠ΅ быстро, ΠΊΠ°ΠΊ ΠΈ ΠΊΠΎΠ΄ Π½Π° C#, ΠΈ нСсколько ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ ΠΊΠΎΠ΄ Π½Π° C++ ΠΈ Delphi.

* PascalABC.NET являСтся прСдставитСлСм Π»ΠΈΠ½Π΅ΠΉΠΊΠΈ соврСмСнных языков Паскаль вмСстС с Delphi XE ΠΈ Oxygene.

* МнСниС, Ρ‡Ρ‚ΠΎ язык Паскаль устарСл ΠΈ ΡƒΡ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ свои ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ, основано Π½Π° прСдставлСнии ΠΎ старом ПаскалС ΠΈ старых срСдах программирования (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Free Pascal с Π΅Π³ΠΎ нСсоврСмСнной консольной ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ ΠΈ языком Delphi ΠΎΠ±Ρ€Π°Π·Ρ†Π° 2002 Π³ΠΎΠ΄Π°). К соТалСнию, масса отСчСствСнной ΡƒΡ‡Π΅Π±Π½ΠΎΠΉ Π»ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹ с упорством, достойным Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ примСнСния, ориСнтируСтся Π½Π° ΠΎΡ‚ΠΆΠΈΠ²ΡˆΠΈΠΉ Turbo Pascal с Π΄Ρ€Π΅Π²Π½Π΅ΠΉ консольной ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΎΠΉ, Π±Π΅Π΄Π½ΠΎΠΉ графичСской Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ ΠΈ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌΠΈ срСдствами ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования, развивая Ρƒ ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΡ…ΡΡ стойкоС ΠΎΡ‚Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ языку Паскаль Π²ΠΎΠΎΠ±Ρ‰Π΅.

* PascalABC.NET Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ соврСмСнными языковыми возмоТностями для Π»Π΅Π³ΠΊΠΎΠ³ΠΎ, ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΈ понятного програмирования.

* PascalABC.NET – достаточно зрСлая срСда. Π•Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ – учСбная систСма Pascal ABC – появилась Π² 2002 Π³ΠΎΠ΄Ρƒ. PascalABC.NET – Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π°ΡΡΡ срСда. ВСдутся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½ΠΎΠ²Ρ‹Ρ… языковых возмоТностСй, Π½ΠΎΠ²Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ.

* PascalABC.NET ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Web-Π²Π΅Ρ€ΡΠΈΡŽ WDE ProgrammingABC.NET, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ собой срСду Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² ΠΎΠΊΠ½Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ этом ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° сСрвСрС, Π²Π²ΠΎΠ΄-Π²Ρ‹Π²ΠΎΠ΄ (Π² Ρ‚.Ρ‡. ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ) пСрСдаСтся ΠΏΠΎ сСти.

Π”Π°Π»Π΅Π΅ приводится ряд ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ с ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΌΠΈ коммСнтариями, Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… возмоТности ΠΈ особСнности языка PascalABC.NET.

ВСксты ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠ΅ (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ C:\PABCWork.NET) Π² ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ΅ Samples\!MainFeatures.

Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠŸΠΎΠΌΠΎΡ‰ΡŒ/ΠšΠΎΡ€ΠΎΡ‚ΠΊΠΎ ΠΎ Π³Π»Π°Π²Π½ΠΎΠΌ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Π½Π΅ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°ΠΊΡ€Ρ‹Π²Π°Π»ΠΎ ΠΎΠΊΠ½ΠΎ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ PascalABC.NET.

ОсновноС

* AssignExt.pas. Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ»Π»ΡŽΡΡ‚Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ использованиС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² присваивания += -= *= /= для Ρ†Π΅Π»Ρ‹Ρ… ΠΈ вСщСствСнных. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ /= для Ρ†Π΅Π»Ρ‹Ρ…, разумССтся, Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½.

* BlockVar.pas. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π±Π»ΠΎΠΊΠ° begin-end ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ описании. Π­Ρ‚ΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π° Π² PascalABC.NET Π² силу особСнностСй Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΅Ρ‰Π΅ ΠΈ ускоряСт доступ ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² Π½Π° 30.

* AutoVars.pas. Если пСрСмСнная инициализируСтся ΠΏΡ€ΠΈ описании, Ρ‚ΠΎ Π΅Π΅ Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ: ΠΎΠ½ опрСдСляСтся ΠΏΠΎ Ρ‚ΠΈΠΏΡƒ ΠΏΡ€Π°Π²ΠΎΠΉ части (Π°Π²Ρ‚ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ°). ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ - ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ†ΠΈΠΊΠ»Π° for ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ прямо Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Ρ†ΠΈΠΊΠ»Π°, сочСтая это с Π°Π²Ρ‚ΠΎΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠ°.

* SimpleNewFeatures.pas. ΠŸΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΡŽΡ‰ΠΈΠΉ возмоТности ΠΈΠ· ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… Ρ‚Ρ€Π΅Ρ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

* WriteAll.pas. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° write Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ любой Ρ‚ΠΈΠΏ. Π’ частности, ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ всС элСмСнты мноТСства. Если Ρ‚ΠΈΠΏ Π΅ΠΉ нСизвСстСн, Ρ‚ΠΎ ΠΎΠ½Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ имя Ρ‚ΠΈΠΏΠ°.

* WriteFormat.pas. Бтандартная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° WriteFormat позволяСт ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π²Ρ‹Π²ΠΎΠ΄. Π’ΠΈΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π½ΠΎΠΉ строки заимствуСтся ΠΈΠ· .NET.

* StandardTypes.pas. Π’ этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ всС стандартныС Ρ†Π΅Π»Ρ‹Π΅ ΠΈ вСщСствСнныС Ρ‚ΠΈΠΏΡ‹. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹.

* RandomDiap.pas. К функциям Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайных чисСл добавилась Random(a,b), Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰Π°Ρ случайноС Ρ†Π΅Π»ΠΎΠ΅ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ [a,b]. ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Randomize Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ Π½Π°Π΄ΠΎ.

* RealExtNums.pas. ДСйствия с вСщСствСнными значСниями Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π² .NET привСсти ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ. ΠŸΡ€ΠΈ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… опСрациях (Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° 0, ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ взятиС Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ° ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ числа) ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ, Π»ΠΈΠ±ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NaN (Π½Π΅ число).

* Foreach.pas. ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ foreach ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для Ρ†ΠΈΠΊΠ»Π° ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌ, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ массивы, мноТСства ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, List<T>). Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.

* Amp.pas. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС ΠΈΠΌΠ΅Π½, Π² этом случаС ΠΏΠ΅Ρ€Π΅Π΄ Π½ΠΈΠΌΠΈ слСдуСт ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡ΠΎΠΊ & снятия Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС ΠΏΠΎΠ»Π΅ΠΉ. НапримСр, &Type ΠΈΠ»ΠΈ System.Type.

Π’ΠΈΠΏΡ‹