Описание языка PascalABC.NET - [7]

Шрифт
Интервал

2. Приведение типов для переменных: Char(b) := 'd'.

3. Возможность присвоить адрес подпрограммы указателю pointer.

4. Записи с вариантами.

5. Строки PChar.

6. Возможность использовать операцию @ для процедурных переменных.

7. Вариантные типы.

8. Бестиповые параметры (var a; const b).

9. Открытые массивы (не путать с динамическими!).

10. Методы, связанные с сообщениями (message).

11. Классовые свойства.

12. Вложенные определения классов.

13. Константы-поля классов.

Справочник по языку

Описание языка PascalABC.NET

Язык программирования PascalABC.NET - это язык Pascal нового поколения, включающий в себя все возможности стандартного языка Pascal, расширения языка Delphi Object Pascal, ряд собственных расширений, а также ряд возможностей, обеспечивающих его совместимость с другими .NET-языками. PascalABC.NET является мультипарадигменным языком - на нем можно программировать в различных стилях: структурное программирование, объектно-ориентированное программирование, функциональное программирование.

Кроме того, наличие большого количества стандартных .NET-библиотек классов формирует стиль, ощутимо отличающийся от стиля стандартного Pascal.

Данный раздел содержит описание языка PascalABC.NET.

Основы

* Структура программы

* Типы данных

* Выражения и операции

* Область действия идентификатора

Операторы

* Операторы присваивания

* Составной оператор

* Оператор описания переменной

* Оператор цикла for

* Оператор циклаforeach

* Операторы цикла while и repeat

* Условный оператор if

* Оператор выбора варианта case

* Оператор вызова процедуры

* Оператор try except

* Оператор try finally

* Оператор raise

* Операторы break, continue и exit

* Оператор goto

* Оператор lock

* Оператор with

* Пустой оператор

Структурное программирование

* Процедуры и функции

* Модули

* Библиотеки dll

* Документирующие комментарии

Объектно-ориентированное программирование

* Обзор классов и объектов

* Наследование

* Полиморфизм

* Обобщенные типы

* Анонимные классы

* Автоклассы

* Обработка исключений

* Методы расширения

* Интерфейсы

* Атрибуты (в разработке)

Элементы функционального программирования

* Лямбда-выражения

* Захват переменных

* Последовательности

* Методы последовательностей

Стандартные модули

* Системный модуль PABCSystem

Дополнительные вопросы

* Open MP

* Управление памятью

* Директивы компилятора

Структура программы

Структура программы: обзор

Программа содержит ключевые слова, идентификаторы, комментарии. Ключевые слова используются для выделения синтаксических конструкций и подсвечиваются жирным шрифтом в редакторе. Идентификаторы являются именами объектов программы и не могут совпадать с ключевыми словами.

Программа на языке PascalABC.NET имеет следующий вид:

program имя программы;

раздел uses

раздел описаний

begin

операторы

end.

Первая строка называется заголовком программы и не является обязательной.

Раздел uses начинается с ключевого слова uses, за которым следует список имен модулей и пространств имен .NET, перечисляемых через запятую.

Раздел описаний может включать следующие подразделы:

* раздел описания переменных

* раздел описания констант

* раздел описания типов

* раздел описания меток

* раздел описания процедур и функций

Данные подразделы следуют друг за другом в произвольном порядке.

Далее следует блок begin/end, внутри которого находятся операторы, отделяемые один от другого символом точка с запятой. Среди операторов может присутствовать оператор описания переменной, который позволяет описывать переменные внутри блока.

Раздел uses и раздел описаний могут отсутствовать.

Например:

program MyProgram;

var

a,b: integer;

x: real;

begin

readln(a,b);

x := a/b;

writeln(x);

или

uses GraphABC;

begin

var x := 100;

var y := 100;

var r := 50;

Circle(x,y,r);

Идентификаторы и ключевые слова

Идентификаторы служат в качестве имен программ, модулей, процедур, функций, типов, переменных и констант. Идентификатором считается любая последовательность латинских букв или цифр, начинающаяся с буквы. Буквой считается также символ подчеркивания _.

Например, a1, _h, b123 - идентификаторы, а 1a, ф2 - нет.

С каждым идентификатором связана область действия идентификатора.

Следующие слова являются ключевыми, служат для оформления конструкций языка и не могут использоваться как идентификаторы:

and array as auto begin case class const constructor destructor div do downto else end event except file final finalization finally for foreach function goto if implementation in inherited initialization interface is label lock mod nil not of operator or procedure program property raise record repeat set shl shr sizeof template then to try type typeof until uses using var where while with xor

Ряд слов является контекстно ключевыми (они являются ключевыми только в некотором контексте):

abstract default external forward internal on overload override params private protected public read reintroduce unit virtual write

Контекстно ключевые слова могут использоваться в качестве имен.

Некоторые ключевые слова совпадают с важнейшими именами платформы .NET. Поэтому в PascalABC.NET предусмотрена возможность использовать эти имена без конфликтов с ключевыми словами.


Еще от автора Неизвестный Автор
Галчонок

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Призраки ночи

В книге собраны предания и поверья о призраках ночи — колдунах и ведьмах, оборотнях и вампирах, один вид которых вызывал неподдельный страх, леденивший даже мужественное сердце.


Закат  вечности

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


mmmavro.org | День 131, Победа

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


mmmavro.org | День 132, Поэт

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Песнь о Нибелунгах

…«Песнь о Нибелунгах» принадлежит к числу наиболее известных эпических произведений человечества. Она находится в кругу таких творений, как поэмы Гомера и «Песнь о Роланде», «Слово о полку Игореве» и «Божественная комедия» Данте — если оставаться в пределе европейских литератур…В. Г. Адмони.


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.