- •Содержание
- •Введение Общие положения
- •Основные сведения об алгоритмах
- •Язык Паскаль и интегрированные среды разработки программ
- •Турбо-Паскаль
- •Отладка и выполнение программы
- •Порядок выполнения лабораторных работ
- •Лабораторная работа № 1. Программирование формул
- •Лабораторная работа № 2. Ветвящиеся алгоритмы
- •Лабораторная работа № 3. Циклы с известным числом повторений
- •Лабораторная работа № 4. Циклы с заранее неизвестным числом повторений
- •Лабораторная работа № 5. Средства вывода. Таблицы
- •Лабораторная работа № 6. Двойные и кратные циклы
- •Лабораторная работа № 7. Сортировка массивов
- •Сортировка простыми включениями
- •Сортировка бинарными включениями
- •Сортировка простым выбором
- •Сортировка методом пузырька
- •Метод шейкер - сортировки
- •Лабораторная работа № 8. Подпрограммы – функции
- •Лабораторная работа № 9. Подпрограммы – процедуры
- •Лабораторная работа № 10. Работа с файлами и строками
- •Задание
- •Лабораторная работа № 11. Динамические переменные. Списки
- •Типы списков.
- •Задание.
- •Лабораторная работа № 12. Графический режим монитора. Построение графиков
- •Приложение а. Основные стандартные функции
- •Приложение б. Отличия языка иср PascalAbc.Net от Delphi Добавлено
- •Изменено
- •Отсутствует
- •Литература
Приложение б. Отличия языка иср PascalAbc.Net от Delphi Добавлено
Операции += -= для событий .NET и для процедурных переменных.
Операции += -= *= для целых и += -= *= /= для вещественных.
Операция += для строк.
Подпрограммы с переменным числом параметров.
Операция new для вызова конструктора (ident := new type_name(params);).
Операция new для создания динамического массива.
Операция typeof .
Использование uses для подключения пространств имен .NET (реализовано в Delphi Prism).
Вид доступа internal (наряду с public, private, protected).
Инициализация переменных: var a: integer := 1;
Инициализация переменных: var a := 1;
Объявление локальных переменных в блоке.
Объявление параметра цикла в заголовке цикла: for var i := 1 to 10 do, foreach x: real in a do.
Оператор lock, обеспечивающий синхронизацию потоков.
Методы в записях.
Инициализаторы полей в классах и записях.
Обобщенные классы (generics).
Реализованы типизированные файлы (в отличие от Delphi Prism, где они убраны).
Упрощенный синтаксис модулей.
Описание методов внутри интерфейса класса или записи.
Реализация записью интерфейса.
Методы расширения.
Лямбда-выражения.
Изменено
Только сокращенное вычисление логических выражений.
Другой синтаксис foreach.
Интерфейсы interface в стиле .NET.
Другой синтаксис перегрузки операций.
Статические методы классов вместо классовых методов. Отсутствие типа TClass.
Деструкторы оставлены лишь для совместимости и не выполняют никаких действий.
Тип object - синоним System.Object.
Тип exception - синоним System.Exception.
Индексация string с 1, директива переключения на индексацию с 0.
Процедура write выводит любые типы.
Структурная эквивалентность типов для процедурных переменных, динамических массивов, типизированных указателей и множеств (в Delphi Object Pascal - именная эквивалентность типов за исключением открытых массивов).
Множества на базе произвольных типов (set of string).
Запрет использования указателей на управляемую память.
Процедурные переменные (делегаты) вместо procedure of object.
С бестиповыми файлами file можно работать с помощью процедур read, write.
Массивы массивов отличаются по типу от двумерных массивов (в частности, записи a[i][j] и a[i,j] неэквивалентны).
Перегрузка выполняется без ключевого слова overload.
Все конструкторы имеют имя Create.
Автоматическое управление памятью с помощью сборщика мусора (за исключением указателей на неуправляемую память).
Отсутствует
Ключевые слова и директивы, и связанные с ними возможности:
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.
Приведение типов для переменных: Char(b) := 'd'.
Возможность присвоить адрес подпрограммы указателю pointer.
Записи с вариантами.
Строки PChar.
Возможность использовать операцию @ для процедурных переменных.
Вариантные типы.
Бестиповые параметры (var a; const b).
Открытые массивы (не путать с динамическими!).
Методы, связанные с сообщениями (message).
Классовые свойства.
Вложенные определения классов.
Константы-поля классов.
