Авторские права

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

Здесь можно скачать бесплатно "W Cat - Описание языка PascalABC.NET" в формате fb2, epub, txt, doc, pdf. Жанр: Детская образовательная литература. Так же Вы можете читать книгу онлайн без регистрации и SMS на сайте LibFox.Ru (ЛибФокс) или прочесть описание и ознакомиться с отзывами.
Рейтинг:
Название:
Описание языка PascalABC.NET
Автор:
Издательство:
неизвестно
Год:
неизвестен
ISBN:
нет данных
Скачать:

99Пожалуйста дождитесь своей очереди, идёт подготовка вашей ссылки для скачивания...

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.

Вы автор?
Жалоба
Все книги на сайте размещаются его пользователями. Приносим свои глубочайшие извинения, если Ваша книга была опубликована без Вашего на то согласия.
Напишите нам, и мы в срочном порядке примем меры.

Как получить книгу?
Оплатили, но не знаете что делать дальше? Инструкция.

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

Описание и краткое содержание "Описание языка PascalABC.NET" читать бесплатно онлайн.



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

PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях.

PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм.






begin

i := 5;

end;

end;

B=class(A)

i: integer;

procedure p;

begin

i := 5;

inherited p;

end;

end;

Алгоритм поиска имени в классе следующий: вначале имя ищется в текущем классе, затем в его базовых классах, а если не найдено, то в глобальной области видимости.

Алгоритм поиска имени в глобальной области видимости при наличии нескольких подключенных модулей следующий: вначале имя ищется в текущем модуле, затем, если не найдено, по цепочке подключенных модулей в порядке справа налево. Например, в программе

uses unit1,unit2;

begin

id := 2;

end.

описание переменной id будет искаться вначале в основной программе, затем в модуле unit2, затем в модуле unit1. При этом в разных модулях могут быть описаны разные переменные id. Данная ситуация означает, что unit1 образует внешнее пространство имен, пространство имен unit2 в него непосредственно вложено, а пространство имен основной программы вложено в unit2.

Если в последнем примере оба модуля - unit1 и unit2 - определяют переменные id, то рекомендуется уточнять имя переменной именем модуля, используя конструкцию ИмяМодуля.Имя:

uses unit1,unit2;

begin

unit1.id := 2;

end.

Типы данных

Обзор типов

Типы в PascalABC.NET подразделяются на простые, строковые, структурированные, типы указателей, процедурные типы и классы.

К простым относятся целые и вещественные типы, логический, символьный, перечислимый и диапазонный тип.

К структурированным типам относятся массивы, записи, множества и файлы.

Все простые типы, кроме вещественного, называются порядковыми. Только значения этих типов могут быть индексами статических массивов и параметрами цикла for. Кроме того, для порядковых типов используются функции Ord, Pred и Succ, а также процедуры Inc и Dec.

Все типы, кроме типов указателей, являются производными от типа Object. Каждый тип в PascalABC.NET имеет отображение на тип .NET. Тип указателя принадлежит к неуправляемому коду и моделируется типом void*.

Все типы в PascalABC.NET подразделяются на две большие группы: размерные и ссылочные.

Список типов .NET

* Целые типы Вещественные типы Логический тип Символьный тип Перечислимый и диапазонный типы Статические массивы Динамические массивы Записи Множества Файлы Указатели Процедурный тип Последовательности Классы

Размерные и ссылочные типы

Все типы в PascalABC.NET подразделяются на две большие группы: размерные и ссылочные. К размерным относятся все простые типы, указатели, записи, статические массивы, множества и строки. К ссылочным типам относятся классы, динамические массивы, файлы и процедурный тип.

Размерные типы более эффективны при вычислениях: они занимают меньше памяти и операции, выполняемые над небольшими размерными типами, максимально эффективны. Ссылочные типы обладают большей гибкостью: память под них выделяется динамически в процессе работы программы и освобождается автоматически, когда объект ссылочного типа перестаёт использоваться.

Выделение памяти

Память под переменную размерного типа распределяется на программном стеке в момент её описания. При этом переменная размерного типа хранит значение этого типа.

var i: integer; // здесь под i выделяется память

i := 5;

Переменная ссылочного типа представляет собой ссылку на объект некоторого класса в динамической памяти. Если она не инициализирована, то хранит специальное значение nil (нулевая ссылка). Для инициализации ссылочных переменных используется вызов конструктора соответствующего класса:

type Person = auto class

name: string;

age: integer;

end;

var p: Person; // p хранит значение nil, память под объект не выделена

p := new Person('Иванов',20); // конструктор выделяет память под объект

Присваивание

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

var a,a1: array [1..1000000] of integer;

a1 := a; // копируются все 1000000 элементов

При присваивании переменных ссылочного типа осуществляется присваивание ссылок, в итоге после присваивания обе ссылки ссылаются на один объект в динамической памяти:

var p1: Person;

p1 := p; // копируется ссылка

Сравнение на равенство

Сравнение на равенство объектов размерного типа сравнивает их значения. В частности, две переменные типа запись равны если равны все поля этих записей.

type PersonRec = record

name: string;

age: integer;

end;

var p,p1: PersonRec;

p.name := 'Иванов'; p.age := 20;

p1.name := 'Иванов'; p1.age := 20;

writeln(p1 = p); // True

При сравнении на равенство переменных ссылочного типа проверяется, что они ссылаются на один и тот же объект.

var p := new Person('Иванов',20);

var p1 := new Person('Иванов',20);

writeln(p1=p); // False

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

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

Управление памятью для ссылочных типов осуществляется автоматически сборщиком мусора. Сборщик мусора запускается в неопределенный момент времени когда управляемой памяти перестаёт хватать. Он возвращает в пул неиспользуемой памяти те объекты, на которые больше никто не ссылается, после чего дефрагментирует оставшуюся память, в результате чего динамическая память всегда дефрагментирована и ее выделение при вызове конструктора происходит практически мгновенно.

Передача в подпрограммы

При передаче размерных типов по значению происходит копирование значения фактического параметра в переменную-формальный параметр. Если размерный тип имеет большой размер, это может занимать продолжительное время, поэтому размерный тип в этом случае передаётся по ссылке на константу:

type Arr = array [1..100] of integer;

procedure PrintArray(const a: Arr; n: integer);

begin

for var i:=1 to n do

Print(a[i])

end;

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

procedure Change666(a: array of integer);

begin

a[0] := 666;

end;

При этом в результате изменения формального параметра внутри подпрограммы меняется и содержимое соответствующего фактического параметра при вызове подпрограммы.

Целые типы

Ниже приводится таблица целых типов, содержащая также их размер и диапазон допустимых значений.

Тип

Размер, байт

Диапазон значений

shortint

1

-128..127

smallint

2

-32768..32767

integer, longint

4

-2147483648..2147483647

int64

8

-9223372036854775808..9223372036854775807

byte

1

0..255

word

2

0..65535

longword, cardinal

4

0..4294967295

uint64

8

0..18446744073709551615

BigInteger

переменный

неограниченный

Типы integer и longint, а также longword и cardinal являются синонимами.

Максимальные значения для каждого целого типа определены как внешние стандартные константы: MaxInt64, MaxInt, MaxSmallInt, MaxShortInt, MaxUInt64, MaxLongWord, MaxWord, MaxByte.

Для каждого целого типа T кроме BigInteger определены следующие константы как статические члены:

T.MinValue - константа, представляющая минимальное значение типа T;

T.MaxValue - константа, представляющая максимальное значение типа T;

Для каждого целого типа T определены статические функции:

T.Parse(s) - функция, конвертирующая строковое представление числа в значение типа T. Если преобразование невозможно, то генерируется исключение;

T.TryParse(s,res) - функция, конвертирующая строковое представление числа в значение типа T и записывающая его в переменную res. Если преобразование возможно, то возвращается значение True, в противном случае - False.

Кроме того, для T определена экземплярная функция ToString, возвращающая строковое представление переменной данного типа.

Константы целого типа могут представляться как в десятичной, так и в шестнадцатеричной форме, перед шестнадцатеричной константой ставится знак $:


На Facebook В Твиттере В Instagram В Одноклассниках Мы Вконтакте
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!

Похожие книги на "Описание языка PascalABC.NET"

Книги похожие на "Описание языка PascalABC.NET" читать онлайн или скачать бесплатно полные версии.


Понравилась книга? Оставьте Ваш комментарий, поделитесь впечатлениями или расскажите друзьям

Все книги автора W Cat

W Cat - все книги автора в одном месте на сайте онлайн библиотеки LibFox.

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

Отзывы о "W Cat - Описание языка PascalABC.NET"

Отзывы читателей о книге "Описание языка PascalABC.NET", комментарии и мнения людей о произведении.

А что Вы думаете о книге? Оставьте Ваш отзыв.