Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Символы 192 - 255

Читайте также:
  1. Альтернативные символы Рейки II и как их рисовать
  2. В нем допускается использование смеси из объектов и простых типов (например, числа, символы и др.),
  3. Колонка D. Символы объектов КП
  4. Колонка G. Символы места расположения призмы
  5. Колонка H. Символы дополнительной информации
  6. О том как политические бренды и символы превращаются в торговые марки.
  7. Особые символы

Примеры специфических символов

 

Номер Знак Назначение
  Знак Евро
  Левые кавычки
  Правые кавычки
  Знак торговой марки
  ¤ Знак валюты
  § Знак параграфа
  Ё Буква Ё
  © Знак авторского права
  « Левые кавычки
  » Правые кавычки
  ® Знак регистрации
  ° Знак градуса Цельсия
  ± Знак плюс/минус
  ё Буква ё
  Знак номера

 


 

3.5

Символы 192 - 255

Номер Знак   Номер Знак   Номер Знак   Номер Знак
  А     Р     а     р
  Б     С     б     с
  В     Т     в     т
  Г     У     г     у
  Д     Ф     д     ф
  Е     Х     е     х
  Ж     Ц     ж     ц
  З     Ч     з     ч
  И     Ш     и     ш
  Й     Щ     й     щ
  К     Ъ     к     ъ
  Л     Ы     л     ы
  М     Ь     м     ь
  Н     Э     н     э
  О     Ю     о     ю
  П     Я     п     я

 

 

3.3.3. Кодировка ASCII  
Внимание!При разработке консольного приложения в Delphi осуществляется эмуляция операционной системы ДОС.   В ДОС применяется символьный интерфейс командной строки и употребляется псевдографика для рисования таблиц. Применяется таблица кодировки символов ASCII (американский стандартный код для обмена информацией).   Она содержит 256 символов. Символы 0..127 интернациональны. Они такие же, как для кодировки ANSI. Символы с кодами 128 - 255 зависят от национального языка. Ниже даны символы для ныне используемой в России кодировки ASCII.     Кодировка ASCII отличается от ANSI.

3.6

Символы с кодами 128 – 255

 

Номер Знак   Номер Знак   Номер Знак   Номер Знак   Номер Знак   Номер Знак   Номер Знак   Номер Знак
  А     Р     а         ‼2         р     Ё
  Б     С     б                 с     ё
  В     Т     в                 т     Є
  Г     У     г                 у     є
  Д     Ф     д                 ф     Ї
  Е     Х     е                 х     ї
  Ж     Ц     ж                 ц     Ў
  З     Ч     з                 ч     ў
  И     Ш     и                 ш     °
  Й     Щ     й                 щ    
  К     Ъ     к                 ъ     ·
  Л     Ы     л                 ы    
  М     Ь     м                 ь    
  Н     Э     н                 э     ¤
  О     Ю     о                 ю    
  П     Я     п                 я      

 

По сравнению с ASCII в ANSI нет символов псевдографики. Поэтому номера кодов символов кириллицы другие.

 

3.3.4. Символика Unicod  
  Unicod – способ кодирования символов в алфавитах большого размера. Каждый символ кодируется двумя байтами.   Можно иметь 64К символов. Первые 256 символов - коды ANSI.

 

3.4. Логические (Булевы) типы 3.7
Имеют значения true (истина) и false (ложь).  
Тип Перевод Байт Примечание
Boolean Булевый   Предпочтительно рекомендуется.
ByteBool Байт Буль   Для совместимости с другими системами программирования.
WordBool Слово Буль  
LongBool Длинный Буль  
   
3.5. Перечислимый тип  
  Это то, что можно перечислить. Элементы типа, образует нумерованный список с начальным номером 0. Тип не стандартный, поэтому должен быть предварительно объявлен. Имя типа любое уникальное.    
Объявление Значения
Явное: type <Имя типа> = (<Список значений>); var <Имя переменной: (<Список значений>); Неявное: var <Имя переменной: (<Список значений>);   Пример   type DniOtdukha = (Subbota, Voskresenie); varDni: DniOtdukha; Sezon: (Zima, Vesna, Leto, Osenh);       Сначала тип.   А теперь переменная этого типа.     Явно объявлен тип.   Переменная объявленного типа. Переменная с неявным объявлением типа.

 

3.6. Тип - поддиапазон (интервальный) 3.8
Объявление Значения
Значениями:   type <Имя типа> = <Минимум.>..<Максимум>; Константами:   const Min = 1; Max = 7; type <Имя типа> = Min..Max;       Одно из принадлежащих диапазону. Разделитель - горизонтальное двоеточие.  
Пример type Dozen = 1..12;   Элементы должны принадлежать одному из определенных порядковых типов.     Каждому элементу присваивается номер, совпадающий с номером порядкового типа, откуда взят интервал.

 

3.7. Вещественные (действительные) типы 3.9

Вещественные (или действительные) числа - это числа с дробной частью. В памяти вещественные типы в зависимости от точности преставления занимают 4..10 байт (32..80 бита) и имеют структуру:

 

Знак Порядок со знаком Мантисса

 

Вещественные числа по желанию программиста отображаются двумя способами:

С фиксированной точкой: 3.145, - 0.25.

С плавающей точкой: 2.8E12 => 2.8*1012.

 

Определены следующие вещественные типы:

 

 
Тип Порядок Цифр Байт Перевод
Single -45..+38 7..8   Ординарный
Real48 -39..+38 11..12   Вещественный
Real -324..+308 15..16   Вещественный
Double -324..+308 15..16   Двойной
Extended -4951..+4932 19..20   Расширенный
Comp -263+1..+263-1 19..20   Композитный. Эквивалент Int64
Currency ±(16 цифр).(4 цифры) 19..20   Валюта
  Некоторые типы эквивалентны: Real48 = Real в старом Паскале. Real = Double. Comp = Int64.   Currency - представляет собой вещественное число с фиксированной дробной частью в 4 десятичных разряда.   Comp - представляет целые числа, но они не упорядочены. Поэтому этот тип не порядковый.       Это сделано для совместимости со старой версией языка.   Отнесен к вещественным типам, так как к нему неприменимы процедуры Inc, Dec. Для финансовых расчетов.   Соседние числа этого типа имеют нули в младших разрядах (фактически это целые числа с округлениями).  

 

3.8. Cтроковые типы 3.10
  Строка – это последовательность символов. Они могут рассматриваться, как строки и как массив символов.    
Тип Длина, символов Память, байт Примечания
ShortString[n] Не более 255.   L+1 Короткая строка. Под символ – 1 байт. В старом Паскале это String.
AnsiString До 231 L+ 4 Строка с кодом ANSI. Под символ – 1 байт.
WideString До 230 L*2 + 4 Широкая строка в коде Unicod. Под символ – 2 байта.
String     Директива компилятора выбирает: {$H+} - AnsiString, {$H-} - ShortString
PСhar Не ограничено. L + 1   Указатель на символ. Под символ – 1 байт. Создается в динамической памяти.
PWideСhar Не ограничено. L*2 + 1   Указатель на символ. Под символ – 2 байта. Создается в динамической памяти.
  [ n ] – задает длину строки.   ShortString содержит L символов (до 255). В памяти под нее выделяется статически L+1 байт. В первый байт помещается число, равное L. Если размер явно не задан, то предполагается L=255. Для AnsiString и WideString - до 2 Гбайт. AnsiString и WideString создаются в динамической памяти. Статически под них создаются указатели размером в 4 байта для размещения адреса начала строки. WideString отличается от AnsiString тем, что под каждый символ отводится 2 байта.   Рекомендуемый тип String. По умолчанию ему соответствует AnsiString.   Строка PChar кончается символом #0 и может содержать любые другие символы. Широко используется внутри ОС Windows. Помещается в динамическую память по адресу, который заносится в указатель, создаваемый статически при компиляции программы. PWideChar отличается от PChar использованием кодировки Unicod.     Размер ShortString до 255 символов.     Размеры AnsiString и WideString ограничены только доступной памятью.     Для документов с алфавитом с большим числом символов (например, китайский текст).   При употреблении string[n] создается строка типа ShortString.   Синоним PChar – нуль-терминальная строка (завершающаяся кодом с номером 0).  
         

 

3.9. Тип Variant (вариант) 3.11
  Предназначен для использования в том случае, когда на этапе компиляции тип данных не известен, или может уточняться при выполнении программы. Занимает в памяти дополнительно 2 байта, в которые помещается информация о фактическом типе данных.   С переменной типа Variant совместимы типы: целые или вещественные (кроме Int64), логические, строки, время и/или дата, OLE-объект, массив произвольной размерности и длины, содержащий элементы перечисленных типов. Пример programTipVariant; {$APPTYPE CONSOLE} uses SysUtils; var V: variant; I: integer; R:real; S:string; begin I:=10; R:=2.34; S:=’1.35’; V:=I+R+S; end.   Введен для поддержки технологии OLE (Object Linking and Embedding - Связывание и внедрение объектов)   Эта информация позволяет компилятору создать код, осуществляющий при исполнении программы необходимые преобразования данных. А значит могут быть в нее помещены.     Объект, переносимый системой из других приложений через буфер.     Консольное приложение. Ссылка на модули.     I - целое число. R - число c дробной частью S - строка, в ней число c дробной частью V - переменная типа вариант.  
3.10. Тип дата-время  
Тип предназначен для одновременного хранения даты и времени в упакованном виде.  
Тип Перевод Формат Байт  
TDateTime Дата-время Дата.Время    
Представляет собой вещественное число с фиксированной дробной частью. Дата хранится в целой части числа, начало отсчета дат 30 декабря 1899 года. Время хранится в дробной части, как часть суток.       Ранние даты со знаком минус.

 

3.11. Массив (регулярный тип) 3.12
Массив - упорядоченная индексированная совокупность однотипных компонент, имеющих общее имя. Массив определяется: именем, индексами (номерами компонент). Размерность массива определяет число индексов. Возможны массивы: одномерный (или вектор), двумерный (или матрица), многомерный. Размерность массива ограничена только доступной памятью. Различают массивы: Статический. Память для него выделяется компилятором при объявлении переменной (в статической памяти). Динамический. Память для него выделяется при исполнении программы (в динамической памяти). Перед обращением к элементам такого массива необходимо задать его фактическую размерность с помощью функции SetLength, чтобы в динамической памяти под массив была выделена область. Любой тип массива перед употреблением должен быть объявлен. Имя типа любое уникальное.     Индексы должны иметь порядковые типы.
3.11.1. Обычный массив  
Объявление Значения
type <Имя типа> = array [<Индексы>] of<Тип комп.>; Набор из заданного количества компонент указанного типа. Каждый индекс задается диапазоном через горизонтальное двоеточие.
Пример Явное объявление: type MyArray = array[1..7, 1..10] of real; var Ar1: MyArray; Неявное объявление: var Ar1: array [1..7, 1..10] of real;   Доступ к элементу массива: Ar1 [2, 2]     Объявляет тип массив.   Объявляет переменную типа MyArray.     Объявляет переменную типа массив. Это двумерный массив - матрица с целыми числами (7 строк и 10 столбцов).  

 

3.11.2. Динамический массив 3.13
type <Имя типа> = array of <Тип компонент>; var <Имя переменной> = array of <Имя типа>; Фактическая размерность массива задается с помощью функции   SetLength(<Имя переменной>, <Размер индекса>);   Для многомерного массива структура array of повторяется столько раз, сколько индексов имеет массив.   Набор из заданного базовым типом количества компонент.   Индекс нумеруется от 0.
Пример Явное объявление: type MyArray = array of byte; var Ar1: array of MyArray; begin SetLength(Ar1, 10); end.     Объявить тип массива.   Объявить переменную типа массив.   Задать фактическую размерность массива 10. Индекс меняется в пределах 0..9.  

 

3.12. Записи (комбинированные типы) 3.14
  Запись - эабор компонент разного типа, размещаемых в полях записи. Различают записи: фиксированные, вариантные. Любой тип записи перед употреблением должен быть объявлен. Имя типа любое уникальное.       Никак не связана с типом Variant - вариант.  
Объявление Значения
type <Имя типа> = record <Имя поля 1>: <Тип 1>; .....………………........; <Имя поля N>: <Тип N>; [вариантная часть] end;     Точки с запятой в конце строки нет.   Вариантная часть содержит список вариантов. Для каждого варианта указывается ключ выбора и список его полей.  
Примеры Запись без вариантной части: type MyData = record FirstName: string[15]; LastName: string[20]; BirthDay: byte; BirthMonth: byte; BirthYear: word; Phone: string[15]; Address: string[30] end; Запись с вариантной частью: type Person = record FirstName: string[15]; LastName: string[20]; BirthData: date; case Citezen:Boolean of True:BirthPlace:String[40]; False:(Country:String[20], EntryDate:Date, ExitDate: Date) end; end;   Мои данные Имя. Фамилия. День рождения. Месяц рождения. Год рождения. Телефон. Адрес.   Персона Имя. Фамилия. Дата рождения. Гражданство (да или нет). Если да - Место рождения. Если нет - Страна гражданства, Дата въезда, Дата выезда. Конец вариантной части. Конец записи.

 

3.13. Множество 3.15
  Множество - это набор компонент из заданного набора. В множестве компонент присутствует в единственном экземпляре.   Эквивалентны множества: [1, 2, 3, 4] [1, 2, 2, 3, 4, 4]    
Объявление Значения
type <Имя типа> = set of<Имя целевого типа>; var <Имя переменной>: <Имя типа>;   Набор компонент из заданного перечня.  
  Целевой тип - порядковый тип с числом компонент не более 256.   Значения множественного типа заключают в квадратные скобки.   Пример type Set1 =set of byte; Set2 =set of char; Set3 =set of 1..12; Svetofor =set of (‘Red’,’Green’,’Yellow’,’Dead’);   Возможны Byte, Char, интервальные и перечислимые типы.     Целые числа без знака 0..255. Символы с номерами 0..255. Тип-поддиапазон. Перечисляемый тип.

 

3.14. Файлы 3.16
  Файл – это последовательность однотипных компонент на внешнем устройстве. В ИСР Delphi определены файлы: типизированный, текстовый, нетипизированный.   Любой файловый тип перед употреблением должен быть объявлен. Имя типа любое уникальное. type <Имя типа> =file of <Имя типа компонент>;   Компоненты файла любые, кроме: файлов, структурированных с файлами. Пример type MyFile1 = file of real; MyFile2 = file of text; MyFile3 = file;       Последовательность однотипных компонент. Последовательность строк символов. Последовательность байтов.     Типизированный файл. Текстовый файл. Нетипизированный файл.  

 

3.15. Ссылочный тип (указатель) 3.17
3.15.1. Введение  
Указатель – это переменная, значением которой является адрес начала размещения динамической переменной в динамической памяти. Указатель создается в статической памяти и занимает 4 байта (2 – адрес сегмента Segment, 2 – смещение в сегменте Offset). Адрес вычисляется по формуле Address = Segment*16 + Offset Динамическая переменная создается при выполнении программы в динамической памяти. Размер памяти под нее определяется типом цели.   Для указателей определена операция «Разыменование», позволяющая получить данные из одинамической переменной, на который ссылается указатель. Пример. В нем переменной a присваивается значение динамической переменной, на которую ссылается MyPointer. a:= MyPointer^;    
3.15.2. Стандартные указатели  
Определены стандартные указатели:  
Ссылочный тип Тип цели  
PInteger Inreger  
PSingle Single  
PDouble Double  
PExtended Extended  
PCarrency Carrency  
PShortString ShortString  
PAnsiString PString AnsiString  
PWideString WideString  
PVariant Variant  
PTextBuf    
PByteArray Дин. массив Byte  
PWordArray Дин. массив Word  
Pointer -  
Pointer – нетипизированный тип указатель для ссылок на данные любого типа.   Размеры объекта ссылки контролирует программист.  

 

3.15.3. Нестандартные указатели 3.18
Нестандартный тип указатель перед употреблением должен быть объявлен в разделе type. Имя типа любое уникальное, желательно начинать его с буквы P (префикс для типа указателя по соглашению). Если целевой тип нестандартный, то его также надо предварительно объявить в разделе типов. type <Имя типа цели> = <Тип цели>; <Имя типа указателя>=^<Имя типа цели>; Пример type MyData = record Name: string[15]; Family: string[20]; BirthDay: byte; BirthMonth: byte; BirthYear: word; Phone: string[15]; Address: string[30]; end; PMyData = ^MyData; var P1:PMyData;     Объявление типа цели Объявление типа указателя.     Объявлен нестандартный целевой тип.     Объявлен тип указатель на него.   Указатель на нестандартный целевой тип.
3.16. Процедурный тип  
Используется для задания функций и процедур в качестве параметров других процедур. Процедурный тип перед употреблением должен быть объявлен в разделе типов. Имя типа любое уникальное. type <Имя 1> = procedure; <Имя 2> = procedure(<Список параметров.>); <Имя 3> = function(<Список параметров>): <Тип результата>;   В Delphi применяется для назначения обработчиков событий.   Например, это позволяет в универсальной процедуре численного интегрирования работать с любой подинтегральной функцией, принимая ее в качестве аргумента.   Определяет процедуру без параметров, процедуру с параметрами функцию.  

 

3.17. Классы и объекты 3.19
Класс – тип, сочетающий в себе и данные, и методы. Экземпляр класса – объект.   Могут быть классы-предки и классы-потомки. Поддерживаются: инкапсуляция, наследование, полиморфизм.   Все классы в ИСР образуют иерархическую структуру, начинающуюся с абстрактного класса-предка TObject.   Новые классы объявляются в разделе типов type.   type <Имя класса>= class(<Имя предка>) описание новых данных; заголовки новых методов; end;   Использование объектно-ориентированного программирования позволяет резко упростить и сократить тексты программ, имеющих дело с множеством иерархически связанных объектов.   Для совместимости со старой версией языка можно к классу применять термин объект. Но это не рекомендуется.     Скрытие данных и методов. Потомок наследует все данные предка. Под одним и тем же именем могут определяться функционально сходные методы разных объектов.     Предок TObject можно не указывать.

 

3.18.Совместимость типов 3.20
3.18.1. Введение  
  Совместимость типов необходима, чтобы: операции могли быть выполнены, при исполнении не возникали бы ошибки.    
3.18.2. Идентичность  
  Этот уровень соответствия типов должен соблюдаться между параметрами и аргументами процедур и функций. Типы Т1 и Т2 идентичны, если: имеют один и тот же идентификатор типа, один объявлен эквивалентным другому. Пример type T1 = oolean; T2 = T1;    
3.18.3. Совместимость для сравнений  
  Этот уровень соответствия типов должен соблюдаться в выражениях и операциях сравнения. Типы Т1 и Т2 совместимы, если: Т1 и Т2 идентичны, Т1 и Т2 вещественные типы, Т1 и Т2 целые типы, один тип представляет собой тип-диапазон другого, оба типа являются типами-диапазонами какого-то одного типа, оба являются типами-множествами с совместимыми базовыми типами, один тип строка, другой символ, один стандартный ссылочный тип Pointer, другой любой ссылочный тип, T1 и T2 – процедурные типы с одинаковым количеством попарно эквивалентных параметров и с эквивалентными типами результатов (для функций).  

 

3.18.4. Совместимость для присваивания 3.21
  Надо, чтобы при присваивании значение сохранялось. Присваивание объекта типа Т2 объекту типа Т1 возможно, если: Т1 и Т2 идентичны и не файловые типы, Т1 и Т2 совместимы и значение Т2 допустимо для Т1, Т1 вещественный, а Т2 целый тип, T1 строковый а, T2 - символьный тип, T1 и T2 совместимые множественные типы и все значения T2 укладываются в T1, T1 и T2 совместимые ссылочные типы, T1 и T2 совместимые процедурные типы.  
3.19. Операции с типами  
3.19.1. Приведение типов  
  Позволяют преобразовывать типы. Наиболее часто в преобразованиях участвует тип String, так как в приложениях под Windows данные вводятся и выводятся, как строки.    

 

3.19.2. Целые числа и строки 3.22
Функция: IntToStr(<Целый тип>):String; превращает целое число в строку.   Функции: StrToInt(Str):Integer; StrToInt64(Str):Int64; превращают строку в целое число.   Функции: StrToIntDef(Str,Default):Integer; StrToInt64Def(Str,Default):Int64; превращают строку в целое число.       Если преобразование невозможно, то возникает исключительная ситуация.   Если преобразование невозможно, то результат = Default.
3.19.3. Вещественные числа и строки  
  Функция: FloatToStr(Extended):String; превращает число в формате Extended в строку.   Функция: StrToFloat(Str):Extended; превращает строку в число. Пример programVesh_Stroka; {$APPTYPE CONSOLE} usesSysUtils; var a,b: double; s: string; begin a:=1.23456789123456e10; writeln('a=',a); s:=FloatToStr(a); writeln('s=',s); b:=StrToFloat(s); writeln('b=',b); readln; end.     Extended - самый точный вещественный тип.     Консольное приложение Ссылка на модули   Числа. Строка.     a=1.23456789123456E+0010   s=12345678912.3456   b=1.23456789123456E+0010 Пауза, смотрю результат.

 


Дата добавления: 2015-10-29; просмотров: 141 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
III. “Революция сверху” в России. Значение петровских реформ.| English Courts of Law.

mybiblioteka.su - 2015-2024 год. (0.013 сек.)