Скачиваний:
21
Добавлен:
02.05.2014
Размер:
11.84 Кб
Скачать

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

Все типы данных (на примере типов в алгоритмическом языке) можно разделить на две большие группы - скалярные и структурированные. Скалярные типы отличаются тем, что данные, относящиеся к такому типу, неделимы. Кроме того, величины А, В относящиеся к любому скалярному типу можно сравнивать, т.е. для них имеют смысл высказывания А<В, А>В, А³В, А³В. Заметим, что операции сравнения определены и для некоторых структурированных типов (см. ниже строчный тип).

Стандартные скалярные типы. Скалярные можно разделить на порядковые, которые отличаются тем, что для каждого значения кроме первого определено следующее и для каждого значения кроме последнего - предыдущее. К ним можно отнести: целочисленный, литерный (символьный), логический типы и непорядковые - это вещественный тип.

Типы данных определяют:

множество возможных значений,

набор операций,

память для хранения переменных, констант.

Целочисленный тип включает все целые числа из диапазона от -32768 до 32767. Для размещения в памяти переменной целочисленного типа требуется 2 байта. Основные операции: сложение (+), вычитание ( - ), умножение (*), целочисленное деление (div - возвращает целую часть частного, mod - возвращает остаток, полученный в результате целочисленного деления).

Вещественный тип включает все положительные числа от 1E-38 (10-38) до 1E+38 (10+38), соответствующие отрицательные числа и 0. Переменная или константа вещественного типа занимает в памяти 6 байт. Основные операции: сложение (+), вычитание ( - ), умножение (*), деление (/). Данные вещественного типа могут записываться в форме с плавающей и фиксированной точкой: ЗначениеС плавающей точкойС фиксированной точкой 00.0000000000E+000 1341.3400000000E+02134 0.005415.4100000000E-030.00541 -76.11-7.6110000000E+01-76.11

Логический тип характеризуется тем, что переменные и константы этого типа могут принимать только одно из двух значений:да или нет. Переменная или константа логического типа занимает в памяти 1 байт. Основные операции с логическими переменными были описаны выше, в разделе "Логика"

Литерный или символьный тип.Переменные и константы этого типа занимают в памяти 1 байт и могут принимать одно из значений кодовой таблицы ASCII. Значения переменных и констант литерного типа должны быть заключены в апострофы. Использование данных типа char в арифметических выражениях запрещено. К литерным значениям могут применяться операции сравнения (<, >, =, ³, ³); результат при этом зависит от номера литерной переменной или константы в кодовой таблице. Например, справедливо выражение 'g' > 'a' . Букве g соответствует больший код, чем букве a в таблице кодов ASCII. Буквы латинского алфавита (коды от 65 до 122) опережают в таблице кодов ASCII буквы русского алфавита (коды 176-239), следовательно имеют меньший код. Например, справедливо выражение 'г' > 'g' .

Прописные буквы имеют больший код, чем соответствующие строчные. Например, истинны выражения 'g' < 'G' , 'п' < 'П'.

Цифры от 0 до 9 имеют коды от 48 до 57 соответственно.

Структурированные типы данных. Рассмотрим только два структурированных типа - строки и массивы. Для структурированных типов важно, из каких элементов они состоят и каковы способы доступа к элементам.

Массив - это структурированный тип данных, состоящий из фиксированного числа элементов, имеющих один и тот же тип.

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

Например, цел таб м[1:5] - это одномерный массив из 5 элементов целого типа цел таб м[1:5]         значения элементов: 940-5612 12345 индексы элементов:

Пример двумерного массива (таблицы): вещ таб а[1:6,1:4]. Это прямоугольная таблица из 6 строк и 4 столбцов, для доступа к элементам которой необходимо использовать два индекса. Элемент, стоящий на пересечении второй строки и третьего столбца будет обозначаться а[2,3]. Справа приведены обозначения элементов этой таблицы. a11a12a13a14 a21a32a23a24 a31a32a33a34 a41a42a43a44  

Строка - это последовательность символов. Строку можно рассматривать как одномерный массив символьных переменных. При использовании в выражениях строка обязательно заключается в апострофы. Количество символов в строке может динамически изменяться от 0 до 255. Операции, предусмотренные только для строк (из структурированных типов), это сцепление и сравнение.

Результатом операции сцепления (+) строк является строка, составленная путем добавления второй строки к первой: ‘dfgh’+’kl’ = ‘dfghkl’;

Результатом операции сравнения ( <, >, <=, >=, =, <> ) строк будет логическое значение. Строки сравниваются посимвольно, слева направо:

‘dfg’ > ‘bfgh’ = да (‘d’>‘b’);

‘1gt’ < ‘1gv’ = да (первые два символа совпадают, ‘t’<‘v’);

'ab' > 'abc' = нет (первые два символа совпадают, но первая строка короче).

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

длин(А) - определяет количество символов в строке A;

A[ I : N] - выделяет из строки A подстроку, от элемента с номером I и заканчивая элементом с номером N.

Выражения, операнды, операции.

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

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

мультипликативные операции: and, /, *, div, mod,

аддитивные операции: or, - , +,

операции сравнения <, >, <=, >= ,<>, =.

Ниже в таблице приведены формы записей и типы результатов операций и функций алгоритмического языка (I - множество целых чисел, R - множество вещественных чисел). ОБОЗНАЧЕНИЕ ОПЕРАЦИЙ И СТАНДАРТНЫХ ФУНКЦИЙ В АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ Название операции / функцииФорма записиТип аргументаТип результата операции или функции Сложениеx + yI,RI,R Вычитаниеx - yI,RI,R Умножениеx * yI,RI,R Делениеx / yI,RR Возведение в степеньx ** yI,RI,R Корень квадратныйsqrt(x)I,RR Абсолютная величинаabs(x)I,RI,R Знак числа (-1, 0 или 1)sign(x)I,RI Синусsin(x)I,RR Косинусcos(x)I,RR Тангенсtg(x)I,RI,R Котангенсctg(x)I,RR Арксинусarcsin(x)I,R R Арккосинусarccos(x)I,R R Арктангенсarctg(x)I,R R Арккотангенсarcctg(x)I,RR Натуральный логарифмln(x)I,RR Десятичный логарифмlg(x)I,RR Степень числа е ( е≈2.718281) exexp(x)I,RR Минимум чисел x и ymin(x,y)I,RI,R Максимум из чисел x и ymax(x,y)I,RI,R Остаток от деления x на y mod(x, y)II Частное от деления x на ydiv(x, y)II Целая часть числа хint(x)I,RI Случайное число в интервале [ 0; х ]rnd(x)II [Предыдущая тема] [Решение задач] [Тестирование] [Следующая тема]

Соседние файлы в папке index_files