- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Описание языка PascalABC.NET - W Cat
Шрифт:
Интервал:
Закладка:
Платформа Microsoft.NET обеспечивает PascalABC.NET стандартной библиотекой, состоящей из огромного количества класссов для решения практически любых задач: от алгоритмических до прикладных. Именно поэтому в PascalABC.NET отсутствует необходимость в разработке большого числа собственных модулей.
Собственные модули, которые имеются в PascalABC.NET, ориентированы именно на начальное обучение программированию.
Для обучения программированию школьников реализованы модули классических школьных исполнителей Робот и Чертежник, содержащие около двухсот автоматически проверяемых заданий на основные конструкции языка программирования.
Кроме этого, среда PascalABC.NET содержит модуль электронного задачника Programming Taskbook (автор Абрамян М.Э.), позволяющий осуществлять автоматическую постановку и проверку заданий. Имеются также модули для преподавателя, позволяющие создавать задания для исполнителей Робот, Чертежник и электронного задачника.
Модуль растровой графики GraphABC и модуль векторных графических объектов ABCObjects могут быть использованы для создания простейших графических. а также интерактивных анимационных приложений, управляемых событиями.
Следует также отметить студенческие модули: модуль Collections упрощенных коллекций, модуль Arrays для простейших операций с динамическими массивами и модуль Forms для ручного создания простых приложений с оконным пользовательским интерфейсом.
Отличия языка PascalABC.NET от Delphi
Добавлено1. Операции += -= для событий .NET и для процедурных переменных.
2. Операции += -= *= для целых и += -= *= /= для вещественных.
3. Операция += для строк.
4. Подпрограммы с переменным числом параметров.
5. Операция new для вызова конструктора (ident := new type_name(params);).
6. Операция new для создания динамического массива.
7. Операция typeof.
8. Тип sequence of T.
9. Использование uses для подключения пространств имен .NET (реализовано в Delphi Prism).
10. Вид доступа internal (наряду с public, private, protected).
11. Инициализация переменных: var a: integer := 1;
12. Инициализация переменных: var a := 1;
13. Объявление локальных переменных в блоке.
14. Объявление параметра цикла в заголовке цикла: for var i := 1 to 10 do, foreach var x in a do.
15. Оператор lock, обеспечивающий синхронизацию потоков.
16. Методы в записях.
17. Инициализаторы полей в классах и записях.
18. Обобщенные классы (generics).
19. Реализованы типизированные файлы (в отличие от Delphi Prism, где они убраны).
20. Упрощенный синтаксис модулей.
21. Описание методов внутри интерфейса класса или записи.
22. Реализация записью интерфейса.
23. Методы расширения.
24. Лямбда-выражения.
Изменено1. Только сокращенное вычисление логических выражений.
2. Другой синтаксис foreach.
3. Интерфейсы interface в стиле .NET.
4. Другой синтаксис перегрузки операций.
5. Статические методы классов вместо классовых методов. Отсутствие типа TClass.
6. Деструкторы оставлены лишь для совместимости и не выполняют никаких действий.
7. Тип object - синоним System.Object.
8. Тип exception - синоним System.Exception.
9. Индексация string с 1, директива переключения на индексацию с 0.
10. Процедура write выводит любые типы.
11. Структурная эквивалентность типов для процедурных переменных, динамических массивов, типизированных указателей и множеств (в Delphi Object Pascal - именная эквивалентность типов за исключением открытых массивов).
12. Множества на базе произвольных типов (set of string).
13. Запрет использования указателей на управляемую память.
14. Процедурные переменные (делегаты) вместо procedure of object.
15. С бестиповыми файлами file можно работать с помощью процедур read, write.
16. Массивы массивов отличаются по типу от двумерных массивов (в частности, записи a[i][j] и a[i,j] неэквивалентны).
17. Перегрузка выполняется без ключевого слова overload.
18. Все конструкторы имеют имя Create.
19. Автоматическое управление памятью с помощью сборщика мусора (за исключением указателей на неуправляемую память).
Отсутствует1. Ключевые слова и директивы packed threadvar inline asm exports library unsafe resourcestring dispinterface in out absolute dynamic local platform requires abstract export message resident assembler safecall automated far near stdcall cdecl published stored contains implements varargs default deprecated package register dispid pascal writeonly и связанные с ними возможности.
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);
Идентификаторы и ключевые слова
Идентификаторы служат в качестве имен программ, модулей, процедур, функций, типов, переменных и констант. Идентификатором считается любая последовательность латинских букв или цифр, начинающаяся с буквы. Буквой считается также символ подчеркивания _.

