W Cat - Описание языка PascalABC.NET
Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Описание языка PascalABC.NET"
Описание и краткое содержание "Описание языка PascalABC.NET" читать бесплатно онлайн.
PascalABC.NET — это язык программирования Паскаль нового поколения, включающий классический Паскаль, большинство возможностей языка Delphi, а также ряд собственных расширений. Он реализован на платформе Microsoft.NET и содержит все современные языковые средства: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.
PascalABC.NET является мультипарадигменным языком: на нем можно программировать в структурном, объектно-ориентированном и функциональном стилях.
PascalABC.NET — это также простая и мощная интегрированная среда разработки, поддерживающая технологию IntelliSense, содержащая средства автоформатирования, встроенный отладчик и встроенный дизайнер форм.
25 3456 $FFFF
Вещественные типы
Ниже приводится таблица вещественных типов, содержащая их размер, количество значащих цифр и диапазон допустимых значений:
Тип
Размер, байт
Количество
значащих цифр
Диапазон значений
real
8
15-16
-1.8∙10308 .. 1.8∙10308
double
8
15-16
-1.8∙10308 .. 1.8∙10308
single
4
7-8
-3.4∙1038 .. 3.4∙1038
single
4
7-8
-3.4∙1038 .. 3.4∙1038
decimal
16
30
-79228162514264337593543950335 .. 79228162514264337593543950335
Типы real и double являются синонимами. Самое маленькое положительное число типа real приблизительно равно 5.0∙10-324, для типа single оно составляет приблизительно 1.4∙10-45.
Максимальные значения для каждого вещественного типа определены как внешние стандартные константы: MaxReal, MaxDouble и MaxSingle.
Для каждого вещественного типа R кроме decimal определены также следующие константы как статические члены класса:
R.MinValue - константа, представляющая минимальное значение типа R;
R.MaxValue - константа, представляющая максимальное значение типа R;
R.Epsilon - константа, представляющая самое маленькое положительное число типа R;
R.NaN - константа, представляющая не число (возникает, например, при делении 0/0);
R.NegativeInfinity - константа, представляющая отрицательную бесконечность (возникает, например, при делении -2/0);
R.PositiveInfinity - константа, представляющая положительную бесконечность (возникает, например, при делении 2/0).
Для каждого вещественного типа R кроме decimal определены следующие статические функции:
R.IsNaN(r) - возвращает True, если в r хранится значение R.NaN, и False в противном случае;
R.IsInfinity(r) - возвращает True, если в r хранится значение R.PositiveInfinity или R.NegativeInfinity, и False в противном случае;
R.IsPositiveInfinity(r) - возвращает True, если в r хранится значение R.PositiveInfinity, и False в противном случае;
R.IsNegativeInfinity(r) - возвращает True, если в r хранится значение R.NegativeInfinity, и False в противном случае;
Для каждого вещественного типа R определены следующие статические функции:
R.Parse(s) - функция, конвертирующая строковое представление числа в значение типа R. Если преобразование невозможно, то генерируется исключение;
R.TryParse(s,res) функция, конвертирующая строковое представление числа в значение типа R и записывающая его в переменную res. Если преобразование возможно, то возвращается значение True, в противном случае - False.
Кроме того, определена экземплярная функция ToString, возвращающая строковое представление переменной типа R.
Вещественные константы можно записывать как в форме с плавающей точкой, так и в экспоненциальной форме:
1.7 0.013 2.5e3 (2500) 1.4e-1 (0.14)
Логический тип
Значения логического типа boolean занимают 1 байт и принимают одно из двух значений, задаваемых предопределенными константами True (истина) и False (ложь).
Для логического типа определены статические методы:
boolean.Parse(s) - функция, конвертирующая строковое представление числа в значение типа boolean. Если преобразование невозможно, то генерируется исключение;
boolean.TryParse(s,res) - функция, конвертирующая строковое представление числа в значение типа boolean и записывающая его в переменную res. Если преобразование возможно, то возвращается значение True, в противном случае - False.
Кроме этого, определена экземплярная функция ToString, возвращающая строковое представление переменной типа boolean.
Логический тип является порядковым. В частности, False<True, Ord(False)=0, Ord(True)=1.
Символьный тип
Символьный тип char занимает 2 байта и хранит Unicode-символ. Символы реализуются типом System.Char платформы .NET.
Операция + для символов означает конкатенацию (слияние) строк. Например: 'a'+'b' = 'ab'. Как и для строк, если к символу прибавить число, то число предварительно преобразуется к строковому представлению:
var s: string := ' '+15; // s = ' 15'
var s1: string := 15+' '; // s = '15 '
Над символами определены операции сравнения < > <= >= = <>, которые сравнивают коды символов:
'a'<'b' // True
'2'<'3' // True
Для преобразования между символами и их кодами в кодировке Windows (CP1251) используются стандартные функции Chr и Ord:
Chr(n) - функция, возвращающая символ с кодом n в кодировке Windows;
Ord(с) - функция, возвращающая значение типа byte, представляющее собой код символа c в кодировке Windows.
Для преобразования между символами и их кодами в кодировке Unicode используются стандартные функции ChrUnicode и OrdUnicode:
ChrUnicode(w) - возвращает символ с кодом w в кодировке Unicode;
OrdUnicode(с) - возвращает значение типа word, представляющее собой код символа c в кодировке Unicode.
Кроме того, выражение #число возвращает Unicode-символ с кодом число (число должно находиться в диапазоне от 0 до 65535).
Аналогичную роль играют явные преобразования типов:
char(w) возвращает символ с кодом w в кодировке Unicode;
word(с) возвращает код символа c в кодировке Unicode.
Стандартные подпрограммы работы с символами.
Статические методы типа char.
Перечислимый и диапазонный типы
Перечислимый тип определяется упорядоченным набором идентификаторов.
type typeName = (value1, value2, ..., valuen);
Значения перечислимого типа занимают 4 байта. Каждое значение value представляет собой константу типа typeName, попадающую в текущее пространство имен.
Например:
type
Season = (Winter,Spring,Summer,Autumn);
DayOfWeek = (Mon,Tue,Wed,Thi,Thr,Sat,Sun);
К константе перечислимого типа можно обращаться непосредственно по имени, а можно использовать запись typeName.value, в которой имя константы уточняется именем перечислимого типа, к которому она принадлежит:
var a: DayOfWeek;
a := Mon;
a := DayOfWeek.Wed;
Значения перечислимого типа можно сравнивать на <:
DayOfWeek.Wed < DayOfWeek.Sat
Для значений перечислимого типа можно использовать функции Ord, Pred и Succ, а также процедуры Inc и Dec. Функция Ord возвращает порядковый номер значения в списке констант соответствующего перечислимого типа, нумерация при этом начинается с нуля.
Для перечислимого типа определена экземплярная функция ToString, возвращающая строковое представление переменной перечислимого типа. При выводе значения перечислимого типа с помощью процедуры write также выводится строковое представление значения перечислимого типа.
Например:
type Season = (Winter,Spring,Summer,Autumn);
var s: Season;
begin
s := Summer;
writeln(s.ToString); // Summer
writeln(s); // Summer
end.
Диапазонный тип представляет собой подмножество значений целого, символьного или перечислимого типа и описывается в виде a..b, где a - нижняя, b - верхняя граница интервального типа, a<b:
var
intI: 0..10;
intC: 'a'..'z';
intE: Mon..Thr;
Тип, на основе которого строится диапазонный тип, называется базовым для этого диапазонного типа. Значения диапазонного типа занимают в памяти столько же, сколько и значения соответствующего базового типа.
Строковый тип
Строки имеют тип string, состоят из набора последовательно расположенных символов char и используются для представления текста.
Строки могут иметь произвольную длину. К символам в строке можно обращаться, используя индекс: s[i] обозначает i-тый символ в строке, нумерация начинается с единицы. Если индекс i выходит за пределы длины строки, то генерируется исключение.
Над строками определены операции сравнения: < > <= >= = <>. Сравнение строк на неравенство осуществляется лексикографически: s1 < s2 если для первого несовпадающего символа с номером i s1[i]<s2[i] или все символы строк совпадают, но s1 короче s2.
Операция + для строк означает конкатенацию (слияние) строк. Например: 'Петя'+'Маша' = 'ПетяМаша'.
Расширенный оператор присваивания += для строк добавляет в конец строки - левого операнда строку - правый операнд. Например:
var s: string := 'Петя';
s += 'Маша'; // s = 'ПетяМаша'
Строка может складываться с числом, при этом число предварительно преобразуется к строковому представлению:
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'
Строки реализуются типом System.String платформы .NET и представляют собой ссылочный тип. Таким образом, все операции над строками унаследованы от типа System.String. Однако, в отличие от .NET - строк, строки в PascalABC.NET изменяемы. Например, можно изменить s[i] (в .NET нельзя). Более того, строки string в PascalABC.NET ведут себя как размерные: после
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Описание языка PascalABC.NET"
Книги похожие на "Описание языка PascalABC.NET" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "W Cat - Описание языка PascalABC.NET"
Отзывы читателей о книге "Описание языка PascalABC.NET", комментарии и мнения людей о произведении.