Файл: Данные и их типы.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.06.2023

Просмотров: 62

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Лирическое отступление UNICODE.

Хорошо, когда национальная письменность соотносится с набором литер латинского алфавита. Например, на 26 латинских литер - 33 литеры кириллицы. А каково арабам, китайцам, японцам? Клинопись, иероглифы и языки, в которых столько букв, что одного байта для кодировки не хватает. Для поддержки подобных языков были созданы двухбайтовые наборы символов. Как всегда, было предложено несколько вариантов, и после непродолжительных мучений был выработан стандарт Unicode. Его первоначально разработали фирмы Apple и Xerox в 1988 году. В 1991г был создан консорциум, в который вошли основные производители Hardware и Software. Строки в Unicode просты и логичны. Все символы в них состоят из 16-битовых кодов. Следовательно. Можно закодировать 65536 символов. Этого достаточно даже для японской каны. В настоящее время кодовые позиции определены для нескольких языков и задействовано около 34000 кодов. Так что место для расширения есть. Кодовые позиции разбиты на группы:

0000 - 007F ASCII

0080 - 00FF Расширение ASCII (Latin 1)

0100 - 017F Европейские латинские

0180 - 01FF Расширенные латинские

0250 - 02AF Стандартные фонетические

02B0 - 02FF Модифицированные литеры

0300 - 03FF Общие диакритические знаки

0370 - 03FF Греческий

0400 - 04FF Кириллица

0530 - 058F Армянский

0590 - 05FF Еврейский

0600 - 06FF Арабский

0900 - 097F Деванагари

Около 29000 кодовых позиций пока не занято, но зарезервировано для будущего использования. Приблизительно 6000 позиций оставлено специально для программистов.

Операции с данными

Операции и их типы

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

В структуре возможных операций с данными можно выделить следующие основные [1, с.22]:


  • сбор данных – накопление информации с целью обеспечения достаточной полноты для принятия решений;
  • формализация данных – приведение данных, поступающих из разных источников, к одинаковой форме, чтобы сделать их сопоставимыми между собой, то есть повысить их уровень доступности;
  • фильтрация данных – отсеивание «лишних» данных, в которых нет необходимости для принятия решений; при этом должен уменьшаться уровень «шума», а достоверность и адекватность данных должны возрастать;
  • сортировка данных – упорядочение данных по заданному признаку с целью удобства использования; повышает доступность информации;
  • архивация данных – организация хранения данных в удобной и легкодоступной форме; служит для снижения экономических затрат по хранению данных и повышает общую надежность информационного процесса в целом;
  • защита данных – комплекс мер, направленных на предотвращение утраты, воспроизведения и модификации данных;
  • транспортировка данных – прием и передача (доставка и поставка) данных между удаленными участниками информационного процесса; при этом источник данных в информатике принято называть сервером, а потребителя – клиентом;
  • преобразование данных – перевод данных из одной формы в другую или из одной структуры в другую. Преобразование данных часто связано с изменением типа носителя, например книги можно хранить в обычной бумажной форме, но можно использовать для этого и электронную форму, и микрофотопленку. Необходимость в многократном преобразовании данных возникает также при их транспортировке, особенно если она осуществляется средствами, не предназначенными для транспортировки данного вида данных. В качестве примера можно упомянуть, что для транспортировки цифровых потоков данных по каналам телефонных сетей (которые изначально были ориентированы только на передачу аналоговых сигналов в узком диапазоне частот) необходимо преобразование цифровых данных в некое подобие звуковых сигналов, чем и занимаются специальные устройства – телефонные модемы.

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


Типовые операции с данными

С  каждым  типом данных  связан  набор  операций.  С числовыми  данными  употребляются  известные арифметические операции *, /, +, и операция %, возвращающая остаток  от деления операндов, например:

5 % 2

//

Вернет  1

5.2 % 2

//

Вернет  1

5.8 % 2

5.8 % "2-я строка"

//

//

Вернет  0

Также  вернет 0

Из  примеров  видно,  что  при  вычислении  результата  выражения с операцией  % числовые операнды округляются до  целых  значений  (если  второй  операнд  является нечисловым, то  он  прежде  приводится к  числовому типу),  а затем  вычисляется  остаток  от  деления  двух целых  чисел.

Операции с целыми числами (Integer)

Переменная N типа Integer удовлетворяет условию -32768<=N<=32767.
Если целое число больше этого значения, то оно должно быть описано либо как Longint, либо как вещественное.

Над целыми переменными можно выполнять следующие операции:

Знак операции

Назначение

Приоритет

+

Сложение

2

-

Вычитание

2

*

Умножение

1

/

Деление

1

Div

Целое частное

1

Mod

Целый остаток

1

Функции, дающие целый результат

Функция

Тип аргумента

Назначение

Abs(x)

Х-целое

Модуль Х

Sqr(x)

Х-целое

Возведение в квадрат

Trunc(x)

Х-вещественное

Выделение целой части

Round(x)

Х-вещественное

Округление до целого

Succ(x)

Х-целое

Следующее за Х число

Pred(x)

Х-целое

Число перед Х

Frac(x)

Х- вещественное

Дробная часть Х, тип целый

Random(x)

Х-целое

Случайное число от 0 до Х-1

Randomize

Генерация новой последовательности случайных чисел при повторном запуске программы


Операции с вещественными числами (Real) 

Над вещественными переменными можно выполнять следующие операции:

Знак операции

Назначение

Приоритет

+

Сложение

2

-

Вычитание

2

*

Умножение

1

/

Деление

1

Функции, дающие вещественный результат 

Функция

Тип аргумента

Назначение

Sin(x)

Х-вещественное

Синус Х

Cos(x)

Х- вещественное

Косинус Х

sin(x)/cos(x)

Х-вещественное

Тангенс Х

Arctan(x)

Х-вещественное

Арктангенс Х

Ln(x)

Х- вещественное

Натуральный логарифм Х

Exp(x)

Х- вещественное

Экспонента числа Х

Sqrt(x)

Х- вещественное

Квадратный корень числа Х

В логических выражениях используются приведенные в  табл.  2.4  операции  отношения.

Операции  отношения

Операция

Описание

Меньше

<=

Меньше или равно

Больше

>=

Больше или равно

=

Равно

<> 

Не равно

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

2 = 5

"Строка 2">"Строка 1" 2<’23.12.01′>

// Это ложь

// Это истина

// Это неверное выражение отношения, так как его

// операнды имеют разный тип

Также  операндами  операций  = и <>  могут быть  переменные агрегатного типа.  Например:

тЗнач1 = СоздатьОбъект("ТаблицаЗначений");

сСотр =  СоздатьОбъект("Справочник.Сотрудники");


тЗнач2 =тЗнач1;

// Круглые скобки в нижезаписанном логическом выражении обязательны

если (тЗнач1 = тЗнач2) и (тЗнач1 = сСотр) тогда Сообщить("Да");

иначе

Сообщить("Нет"); конецЕсли;

Если  операция  отношения  выполняется  над  строками,  то  они  сравниваются  посимвольно  до  тех  пор,   пока   не  будут  обнаружены  несовпадающие  символы.  Они то и решат судьбу сравнения. Следует помнить, что символ сим_1  больше  сим_2,если код  символа сим_1 больше  кода  символа сим_1.  Если  строки-операнды операции  отношения имеют разную  длину и если есть необходимость продолжить сравнение символов  строк-операндов  (все предыдущие сравниваемые символы оказались равными), то  в   качестве  недостающего  символа более  короткой  строки  используется  символ с нулевым кодом.  Например:

"Строка" > "Строка 1"                    //            Это ложь

Текущая длина строковой переменной может быть определена с помощью встроенной функции Length. для заданного значения типа string эта функция возвращает целое значение, показывающее количество литер в строке.

Выражения, в которых операндами служат строки, называются строковыми выражениями.

Над строками определены две операции:

1. Операция сцепления (+) применяется для сцепления нескольких строк в одну.

Например, 
SumStr := 'Турбо'+'Паскаль'+'7.0'

2. Операции отношения (=, <>, >, <, >=, <=) проводят сравнение двух строк слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в стандартной таблице обмена информацией. Результат выполнения операций отношения над строками всегда имеет булевой тип.

Например, выражение 'MS-DOS'<'MS-Dos' имеет значение True

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

Строки считаются равными, если они совпадают по длине и содержат одни и те же символы на соответствующих местах в строке.

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

Допускается смешение в одном выражении операндов строкового и символьного типа.

К отдельным символам строки можно обратиться по номеру (индексу) данного символа в строке.