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

Здесь есть возможность читать онлайн «W Cat - Описание языка PascalABC.NET» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Жанр: Программирование, Детская образовательная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Описание языка PascalABC.NET: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Описание языка PascalABC.NET»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

Описание языка PascalABC.NET — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Описание языка PascalABC.NET», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

a shr n представляет собой целое положительное, полученное из двоичного представления числа a сдвигом вправо на n позиций.

Например:

3 shl 2 = 12

12 shr 2 = 3

поскольку 3=11 2, после сдвига влево на 2 позиции 11 2преобразуется в 1100 2=12, а 12=1100 2после сдвига вправо на 2 позиции преобразуется в 11 2=3.

Операции сравнения

Операции сравнения <, >, <=, >=, =, <> возвращают значение типа boolean и применяются к операндам простого типа и к строкам.

Операции = и <> также применяются ко всем типам. Для размерных типов по умолчанию сравниваются значения, для ссылочных типов - ссылки. Можно переопределить это поведение, перегрузив операции = и <>. Аналогично можно перегрузить все операции сравнения для типов записей и классов, вводимых пользователем.

Строковые операции

К строкам применимы все операции сравнения <, >, <=, >=, =, <>. Сравнение строк на неравенство осуществляется лексикографически: s1 < s2 если для первого несовпадающего символа с номером i s1[i]

Кроме этого, к строкам и символам применима операция конкатенации (слияния) +, ее результат имеет строковый тип.

Например, 'a'+'b'='ab'.

К строкам также применима операция +=:

s += s1; // s := s + s1;

Строка может складываться с числом, при этом число предварительно преобразуется к строковому представлению:

s := 'Ширина: '+15; // s = 'Ширина: 15'

s := 20.5+''; // s = '20.5'

s += 1; // s = '20.51'

Над строками и целыми определена операция *: s*n и n*s означает строку, образованную из строки s, повторенной n раз:

s := '*'*10; // s = '**********'

s := 5*'ab' // s = 'ababababab'

s := 'd'; s *= 3; // s = 'ddd'

Операции с указателями

Ко всем указателям применимы операции сравнения = и <>.

К типизированным указателям применима операция разыменования ^: если p является указателем на тип T, то p^ - элемент типа T, на который указывает p. Указатели pointer разыменовывать нельзя.

Операции с множествами

К множествам с базовыми элементами одного типа применимы операции + (объединение), - (разность) и * (пересечение), а также операторы +=, -= и *=:

vars1,s2,s: set ofbyte;

begin

s1 := [1..4];

s2 := [2..5];

s := s1 + s2; // s = [1..5]

s := s1 - s2; // s = [1]

s := s1 * s2; // s = [2..4]

// s += s1 эквивалентно s := s + s1

// s -= s1 эквивалентно s := s - s1

// s *= s1 эквивалентно s := s * s1

s += [3..6]; // s = [2..6]

s -= [3]; // s = [2,4..6]

s *= [1..5]; // s = [2,4..5]

end.

К множествам с базовыми элементами одного типа применимы также операции сравнения = (равенство), <> (неравенство), <= (нестрого вложено), < (строго вложено), >= (нестрого содержит) и > (строго содержит):

[1..3] = [1,2,3]

['a'..'z'] <> ['0'..'9']

[2..4] < [1..5]

[1..5] <= [1..5]

[1..5] > [2..4]

[1..5] >= [1..5]

Но неверно, что [1..5] < [1..5].

Наконец, операция inопределяет, принадлежит ли элемент множеству: 3 in[2..5] вернет True, 1 in[2..5] вернет False.

Операция @

Операция @ применяется к переменной и возвращает ее адрес. Тип результата представляет собой типизированный указатель на тип переменной. Например:

var

r: real;

pr: ^real := @r;

Операции is и as

Операция isпредназначена для проверки того, имеет ли классовая переменная указанный динамический тип. Операция asпозволяет безопасно преобразовать переменную одного классового типа к другому классовому типу (в отличие от явного приведения классового типа).

Операция isимеет вид:

a is ClassType

и возвращает True если a принадлежит к классу ClassType или одному из его потомков.

Например, если Base и Derived - классы, причем, Derived - потомок Base, переменные b и d имеют соответственно типы Base и Derived, то выражения b isBase и d isBase возвращают True, а b isDerived - False.

Операция asимеет вид:

a as ClassType

и возвращает ссылку на объект типа ClassType если преобразование возможно, в противном случае возвращает nil.

Например, в программе

type

Base = class

end;

Derived = class(Base)

procedurep;

begin

end;

end;

varb: Base;

begin

b := new Base;

writeln(b isDerived);

b := new Derived;

writeln(b isDerived);

end.

первый раз выводится False, второй - True.

Операции isи asиспользуются для работы с переменной базового класса, содержащей объект производного класса.

1 способ.

ifb isDerived then

Derived(b).p;

2 способ.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Описание языка PascalABC.NET» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Catie Disabato - The Ghost Network
Catie Disabato
Отзывы о книге «Описание языка PascalABC.NET»

Обсуждение, отзывы о книге «Описание языка PascalABC.NET» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x