Стандартные типы данных. Операции и функции над данными разных типов

Стандартные типы данных. Операции и функции над данными разных типов

Зависает

В пособиях по языкам программирования переменную чаще всего определяют как пару «имя» - «значение». Имени соответствует адрес (ссылка) на участок памяти, выделенный переменной а значением является содержимое этого участка. Именем служит идентификатор, а значение соответствует типу переменной, определяющему множество допустимых значений и набор операций, для которых переменная может служить операндом. Множество допустимых значений переменной обычно совпадает со множеством допустимых констант того же типа. Таким образом, вводятся вещественные, целые и символьные переменные, причем символьные (char) иногда относят к целым. Целочисленные и вещественные считаются арифметическими типами. Арифметический (включая символьный) тип является частным случаем скалярных типов. К скалярным типам кроме арифметических относятся указатели, ссылки и перечисления. Переменные типизируются с помощью определений и описаний. В отличие от описания определение не только вводит объект (например, переменную), но и предполагает, что на основании этого определения компилятор выделит память для объекта (переменной).

ЦЕЛЫЕ ТИПЫ определяют константы, переменные и функции, значения которых реализуются множеством целых чисел, допустимых в данной ЭВМ.

Тип диапазон значений требуемая память Shortint -128 .. 127 1 байт Integer -32768 .. 32767 2 байта Longint -2147483648 ..2147483647 4 байта Byte 0 .. 255 1 байт Word 0 .. 65535 2 байта

Над целыми операндами можно выполнять следующие арифметические операции: сложение, вычитание, умножение, деление, получение остатка от деления. Знаки этих операций:

+ - * div mod

Результат арифметической операции над целыми операндами есть величина целого типа. Результат выполнения операции деления целых величин есть целая часть частного. Результат выполнения операции получения остатка от деления - остаток от деления целых. Например:

17 div 2 = 8, 3 div 5 = 0 . 17 mod 2 = 1, 3 mod 5 = 3 .

Операции отношения, примененные к целым операндам, дают результат логического типа TRUE или FALSE (истина или ложь). В языке ПАСКАЛЬ имеются следующие операции отношения: равенство =, неравенство <>, больше или равно >=, меньше или равно <=,больше >, меньше < . К аргументам целого типа применимы следующие стандартные (встроенные) функции, результат выполнения которых имеет целый тип:

Abs(X), Sqr(X), Succ(X), Pred(X),

и которые определяют соответственно абсолютное значение Х, Х в квадрате, Х+1, Х-1 . Следующая группа стандартных функций для аргумента целого типа дает действительный результат:

Sin(X), Cos(X), ArcTan(X), Ln(X), Exp(X), Sqrt(X).

Эти функции вычисляют синус, косинус и арктангенс угла, заданного в радианах, логарифм натуральный, экспоненту и корень квадратный соответственно. Результат выполнения функции проверки целой величины на нечетность Odd(X) имеет значение ИСТИНА, если аргумент нечетный, и значение ЛОЖЬ, если аргумент четный:

X=5 Odd(X)=TRUE , X=4 Odd(X)=FALSE.

Для быстрой работы с целыми числами определены процедуры:

ДЕЙСТВИТЕЛЬНЫЕ ТИПЫ определяет те данные, которые реализуются подмножеством действительных чисел, допустимых в данной ЭВМ.

Тип Диапазон значений Количество Требуемая цифр мантиссы память (байт) Real 2.9e-39 .. 1.7e+38 11 6 Single 1.5e-45 .. 3.4e+38 7 4 Double 5.0e-324 .. 1.7e+308 15 8 Extended 3.4e-4932 .. 1.1e+4932 19 10 Comp -9.2e+18 .. 9.2e+18 19 8

Тип Real определен в стандартном ПАСКАЛЕ и математическим сопроцессором не поддерживается. Остальные действительные типы определены стандартом IEEE 457 и реализованы на всех современных компьютерах. Для их использования при наличии сопроцессора или при работе на ЭВМ типа 80486 необходимо компилировать программу с ключом {$ N+} , а при отсутствии сопроцессора - с ключами {$N-,E+} . Тип Comp хотя и относится к действительным типам, хранит только длинные целые значения. Над действительными операндами можно выполнять следующие арифметические операции, дающие действительный результат:

сложение + , вычитание - ,умножение * ,деление /.

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

Abs(X), Sqr(X), Sin(X), Cos(X), ArcTan(X), Ln(X),Exp(X), Sqrt(X), Frac(X), Int(X), Pi.

Функция Frac(X) возвращает дробную часть X , функция Int(X) - целую часть X . Безаргументная функция Pi возвращает значение числа Пи действительного типа. К аргументам действительного типа применимы также функции

Trunc(X) и Round(X) ,

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

ЛОГИЧЕСКИЙ ТИП (Boolean) определяет те данные, которые могут принимать логические значения TRUE и FALSE. К булевским операндам применимы следующие логические операции:

not and or xor .

Логический тип определен таким образом, что FALSE < TRUE. Это позволяет применять к булевским операндам все операции отношения. В ТУРБО ПАСКАЛЬ введены еще разновидности логического типа: ByteBool, WordBool и LongBool, которые занимают в памяти ЭВМ один, два и четыре байта соответственно.

В данном примере объявлены переменные a , b и с . Они принадлежат к логическому типу.

Для сравнения логических данных предусмотрены следующие операции: Меньше (<); Меньше или равно (<=); Равно (=); Не равно (<>); Больше или равно (>=); Больше (>); Над логическими данными допускаются следующие операции: Логическое сложение (or); логическое умножение (and); Логическое отрицание (not); Таблица вычисления результата логического выражения:

A true true false false B true false true false not A (B) false (true) false (true) true (false) true (false) A or B true true true false A and B true false false false

СИМВОЛЬНЫЙ ТИП (Char) определяет упорядоченную совокупность символов, допустимых в данной ЭВМ. Значение символьной переменной или константы – это один символ из допустимого набора. Символьная константа может записываться в тексте программы тремя способами: как один символ, заключенный в апострофы, например:

"A" "a" "Ю" "ю" ;

С помощью конструкции вида #K , где K - код соответствующего символа, при этом значение K должно находиться в пределах 0..255; с помощью конструкции вида ^C , где C - код соответствующего управляющего символа, при этом значение C должно быть на 64 больше кода управляющего символа. К величинам символьного типа применимы все операции отношения. Для величин символьного типа определены две функции преобразования

Ord(C) Chr(K) .

Первая функция определяет порядковый номер символа С в наборе символов, вторая определяет по порядковому номеру К символ, стоящий на К-ом месте в наборе символов. Порядковый номер имеет целый тип. К аргументам символьного типа применяются функции, которые определяют предыдущий и последующий символы:

Pred(C) Succ(C). Pred("F") = "E" ; Succ("Y") = "Z" .

При отсутствии предыдущего или последующего символов значение соответствующих функций не определено. Для литер из интервала "a".."z" применима функция UpCase(C) , которая переводит эти литеры в верхний регистр "A".."Z" .

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

char (символьный); short (короткий целый); int (целый); long (длинный целый); float (вещественный); double (вещественный с удвоенной точностью); void (отсутствие значения).

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

Char newsimbol = ‘\n’ ; long filebegin = 0L; double pi = 3.1415926535897932385;

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

Long double zebra, stop;

вводит переменные с именами zebra и stop вещественного типа повышенной точности, но явно не присваивает этим переменным никаких значений. Употребляемые как отдельно, так и вместе с другими именами типов служебные слова unsigned (беззнаковый) и signed (знаковый) позволяют для арифметического или символьного типа выбирать способ учета знакового разряда:

Unsigned int i, j, k; // Значения от 0 до 65535 unsigned long L, M, N; // Значения от 0 до 4294967295 unsigned char c, s; // Значения от 0 до 255

При таком определении переменные i , j , k могут принимать только целые положительные значения в диапазоне от 0 до 65535 и т.д. Применение в определениях типов отдельных служебных слов int , char , short , long эквивалентно signed int , signed char , signed short , signed long . Именно поэтому служебное слово signed обычно опускается в определениях и описаниях. Использование при задании типа только одного unsigned эквивалентно unsigned int . При операциях с беззнаковыми (unsigned ) целыми не возникает переполнений, так как используется арифметика по модулю 2 в степени n , где n – количество битовых разрядов, выделяемых для представления соответствующих значений. Переменные одного типа занимают в памяти одно и тоже количество единиц (байтов), и это количество единиц может быть всегда вычислено с помощью операции sizeof .

Литература

  1. Немнюгин, С.А. TURBO PASCAL: Практикум.-Спб.: Питер, 2003.-256с.
  2. Подбельский, В.В. Язык СИ ++: Учеб. пособие.-5-е изд.-М.: Финансы и статистика,2003.-560с.

Данные -это объекты, которые обрабатываются в программе. В С есть 2

типа данных: константы и переменные. Константа - данное, которое не может меняться в процессе работы программы. Переменная – данное,

которое может меняться в процессе выполнения программы. Тип данных-целый, Модификатор - со знаком или без знака. Типы: char-символьный(

1 байт, символы из кодовой таблицы),

int-целый(размер=целому машинному слову, для 16-разрядных=2 байта)

Float-вещественный(переменные вещественного типа, 32 бита), double-вещественный(вещественная перемена двойной точности, 64 бита),

void-не имеющий значения.

Модификаторы типа: unsigned, signed, short, long.

Константы вещественного типа записываются в двух формах: в виде вещественных дробных чисел без десятичного порядка; в виде вещественных чисел с десятичным порядком.

Составные типы данных.

Данные регулярного типа(массивы). Массивом называется структура данных, позволяющая хранить под одним именем совокупность данных любого, но только одного какого-то типа. Имя массива -

общее имя переменных входящих в массив. Базовый тип массива -

тип переменных, входящих в массив. Элементы массива -переменные,

входящие в массив. Размерность массива -количество индексов,

которое необходимо для однозначной идентификации элемента массива. Размер массива -общее количество элементов в массиве.

int a10={1,2,3,4}; //и 6 нулей

Тип элемента -любой допустимый тип языка С. Тип индекса –

выражение значения целого типа:char, short, int, long.

Строки СИ- это последовательность байт, завершающихся знаком ‘’.

Длина строки ограничена лишь размером массива. Базовый тип данных-

char. Строки определяются либо с помощью массива символов (char a)

либо указателем на первый символ массива (char *b, который далее встречает оператор вида b=”IBM PC”)strcpy(s1, s2); //копировать строку

s2 в s1 strncpy(s1, s2,n);//копирует первые n символов из s2 в s1

strcpy(s1,&s2 *описатель. Спецификатор типа задает тип объекта и может быть любого основного типа, типа структуры, смеси. В качестве модификатора при объявлении указателя могут выступать ключевые слова const, near, far, huge.

Ключевое слово const указывает, что указатель не может быть изменен в программе. unsigned int * a;//переменная a-указатель на тип unsigned int

(целые числа без знака)

Для доступа к элементам массива существует 2 способа :1)использование обычных индексных выражений в : array=3. 2)использование адресных выражений и операции разадресации в форме *(array+16)

Указатели на многомерные массивы в языке С-это массивы массивов,

т е такие массивы, элементами которых являются сами массивы. Пр выполнении объявления двумерного массива int arr2 в памяти выделяется участок для хранения значения переменной типа arr, которая является указателем на массив из 4 указателей. Над указателями можно выполнять унарные операции : инкремент и декремент. При выполнении операций ++ и – значение указателя увел. или умен. на длину типа, на который ссылается используемый указатель.

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

Для обеспечения достоверности данных, используемых при проектировании, была создана и функционирует Государственная система стандартных справочных данных (ГСССД):

Основными задачами этой службы являются:

    установление точных значений физических констант;

    разработка достоверных данных о свойствах и составах веществ и материалов;

    оценка достоверности, аттестация и стандартизация данных;

    координация работ по получению достоверных данных;

    унификация применения данных и форм их представления;

    разработка единых принципов условных обозначений, терминологии и кодирования названий веществ, материалов и свойств;

    создание автоматизированной системы научно – технической информации о физических константах и свойствах веществ и материалов;

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

Данные о свойствах веществ и материалов подразделяются на три категории:

    стандартные справочные данные (ССД) – достоверные данные о физических константах и свойствах важнейших веществ и материалов, обладающие наивысшей точностью и утвержденные Госстандартом;

    справочные (информационные) данные (СД) – данные о свойствах веществ и материалов, представленные в числовом, графическом или аналитическом виде, достоверность которых не оценена органами ГСССД.

ССД и РСД предназначены для применения в нормативно – технической документации всех видов, в научных исследованиях, а также при расчетах параметров, определяющих производительность, эффективность, надежность и эксплуатационные характеристики аппаратов, сооружений, конструкций, технологических процессов и др.

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

Основой стандартных справочных данных являются данные, которые получаются отдельными авторами и публикуются обычно в виде статей. Задача ГСССД – обобщение этой информации, определение ее достоверности и затем перевод ее из категории СД в категории РСД и ССД. Стандартные и рекомендуемые справочные данные представляют в виде «Таблиц ССД и РСД» - специальных документов, утверждаемых Госстандартом или Всесоюзным научно – исследовательским центром Государственной службы стандартных справочных данных (ВНИЦ ГСССД).

Вся эта работа координируется Госстандартом и является одним из важных условий метрологического обеспечения.

Список использованной литературы

    «Стандартизация и управление качеством продукции», Романов.

    «Методы оценки эффективности сертификации», Ф. А. Амиржагренц.

    «Основы стандартизации, сертификации и метрологии», И. М. Лифиц.

    «Метрология, стандартизация и сертификация», Радкевич, Схиртладзе.

    «Метрология», А. Г. Сергиев, В. В. Крохин.

    «Взаимозаменяемость, стандартизация и технология измерений»,

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

Национальные

В России стандартные справочные данные значений физических констант и показателей свойств веществ и материалов определяются Государственной службой стандартных справочных данных и утверждаются Федеральным агентством по техническому регулированию и метрологии.

Межгосударственные

В СССР существовало два вида справочных данных:

  • рекомендуемые справочные данные (РСД) — аттестованные органами Государственной системы стандартных справочных данных (ГСССД) достоверные данные о свойствах веществ и материалов, точность которых удовлетворяла требованиям народного хозяйства;
  • стандартные справочные данные (ССД) — достоверные данные о физических константах и свойствах важнейших веществ и материалов, обладавшие наивысшей точностью и утверждаемые Госстандартом.

ССД были обязательны для применения во всех отраслях народного хозяйства. Применение РСД было рекомендовано.

В 1992 году в рамках СНГ было принято и в 2006 году актуализировано решение о признании ранее принятых действующих справочных данных межгосударственными.

Пример принятых в СССР стандартных справочных данных (межгосударственных в настоящее время):

  • ГСССД 55-83 "Таблицы стандартных справочных данных. Стали для валков горячей и холодной прокатки. Механические и теплофизические характеристики".
  • ГСССД 98-86 — Вода. Удельный объем и энтальпия при температурах 0...800 °С и давлениях 0,001...1000 МПа.

Примечания

  1. РМГ 29-2013 ГСИ. Метрология. Основные термины и определения пп. 8.22, 8.23
  2. Постановление Правительства РФ от 20.08.2001 N 596 Об утверждении Положения о Государственной службе стандартных справочных данных о физических константах и свойствах веществ и материалов
  3. ГОСТ 8.310-78 Государственная система обеспечения единства измерений. Государственная служба стандартных справочных данных. Основные положения п. 3.1