Типы данных В языке Паскаль все данные, используемые программой, должны принадлежать к какому-либо заранее известному типу данных. Тип данных определяет: формат представления данных в памяти ЭВМ; множество допустимых значений; множество допустимых операций. Данные исходные (предназначены для обработки); результаты (получаются в процессе выполнения программы..
Описание типов данных Язык Turbo Pascal строго типизирован – программист должен описать все объекты программы, указывая их типы, и использовать объекты только в соответствии с этими типами. Это предотвращает анархию, помогает создавать надежные и качественные программы. В случае внесения изменений в описание переменных вся корректировка будет выполняться в одном месте – разделе описания типов данных.
Типы данных Простые (скалярные) СтандартныеПользовательские Структурированные (составные)
Стандартные типы данных Числа ЦелыеВещественные СимволыЛогические Стандартные типы данных предлагаются программисту разработчиками Турбо Паскаль
Пользовательские типы данных Перечисляемый Ограниченный (интервальный) Типы, определяемые пользователем Используются для большего ограничения количества значений, принимаемых переменными порядкового типа.
ПОРЯДКОВЫЕ ПОРЯДКОВЫЕ типы данных ЦЕЛЫЙ ЛОГИЧЕСКИЙ СИМВОЛЬНЫЙ ПЕРЕЧИСЛЯЕМЫЙ ОГРАНИЧЕННЫЙОГРАНИЧЕННЫЙ (интервальный) Особая группа данных - Они имеют ограниченное количество значений, идущих по порядку. Общее для них – в компьютере они представляются целым числом.
Структурированные типы данных - множества значений или переменных с одним общим именем. В своей основе имеют скалярные типы данных. Структуриро- ванные МассивыСтрокиЗаписиФайлыМножества
Константы Константа – это величина, которая не изменяет своего значения в процессе выполнения программы. Константа может быть обозначена именем и описана в разделе описания констант. Компилятор помещает значение константы прямо в текст исполняемой программы. Например, Const N=25; K=38; D=(N+K) Div 2; Letter=f; M=5E15; Тип константы автоматически опознается по форме их записи. Присвоение имен константам делает программу более удобной для понимания и внесения исправлений в программу.
Именованные константы Const ИмяКонстанты = ЗначениеКонстанты; Например: Const G=9.8; {Вещественная константа} Count=maxint/2+1; {maxint – зарезервированная константа} Nmax=100 {Целая константа} Nmin=-nmax; S=абвгд; {Строковая константа} Kod=$123; {Шестнадцатеричная константа} Идентификатор, используемый для определения константы, можно употреблять при задании следующих констант. Его значение нельзя изменять по ходу выполнения программы.
Типизированные константы Существуют наряду с переменными и константами. Эквивалентны переменным с заранее заданным значением. При описании указывается тип. Const ИмяКонстанты: Тип = Значение; Например, Const N:Integer=15; ch:Char=#87; ocenka:byte=5; predmet:string=Информатика; Типизированные константы являются одновременно переменными. В частности, они могут изменять свое значение в процессе выполнения программы. К преимуществам можно отнести и то, что они инициализируются в начале программы.
ПОРЯДКОВЫЙ тип данных В математике порядковым числом называется номер элемента при перечислении. - тип данных, областью значений которых является упорядоченное счетное множество. Каждому элементу такого множества соответствует некоторое порядковое число, являющееся как раз его номером при перечислении. НАПРИМЕР: Множество цифр десятичной системы счисления. 0,1,2,3,4,5,6,7,8,9 Для каждого значения, кроме первого, существует предшествующее значение, и для каждого значения кроме последнего, существует последующее значение. В языке Паскаль существуют стандартные функции:
Pred(x) – определяет предыдущее значение величины х ; Succ(x) – определяет последующее значение величины х ; Ord(x) – возвращает порядковый номер величины х ; Chr(x) – определяет символ по его порядковому номеру. Функции:
Численные данные в языке Паскаль представлены целым и вещественным типом. Целый тип – это интервал целых чисел. Операции над целыми числами определены лишь тогда, когда данные (операнды) и результат лежат в этом интервале. Иначе возникает ситуация, называемая переполнением. Вещественные числа представляются конечным множеством значений. Например, внутреннее представление типа real (6 байт) может дать 2 48 = возможных комбинаций значащих разрядов в отведенных для него 6 х 8 = 48 битах.
ЦЕЛОЧИСЛЕННЫЕ типы Описание типа Диапазон возможных значений Формат Shorting байт со знаком Integer байта со знаком Longint байта со знаком Bite байт без знака Word байта без знака - это интервалы целых чисел
ВЕЩЕСТВЕННЫЕ типы Описание типа Диапазон возможных значений ТочностьФормат Real 2.9E E знаков6 байт Single 1.5E E знаков4 байта Double 5.0E E знаков8 байт Extended 3.4E E знаков10 байт Comp -9.2E E знаков8 байт - это конечное множество значений
ЛОГИЧЕСКИЙ (булевский) тип данных – символически обозначенная логическая величина, которая может принимать всего два значения TRUE (ИСТИНА, да, 1 ) или FALSE (ЛОЖЬ, нет, 0 ) (1 байт памяти) На языке программирования Паскаль описывается: Var B:boolean; {B - переменная логического типа} FALSE < TRUE
СИМВОЛЬНЫЙ (литерный) тип данных Диапазон значений: символы кодовой таблицы ASCII – это буквы, цифры, знаки препинания и специальные символы. В памяти компьютера каждому символу соответствует индивидуальный числовой код от 0 до 255 (10) (1 байт памяти); ( 0 – FF (16) ; 0 – (2) ) Описание: Char;
ОГРАНИЧЕННЫЙ (интервальный) тип или диапазон Задается своим минимальным и максимальным значениями. Может быть определен на основе любого порядкового типа. Например: М = 1..12; L = a..z; Для каждой операции с переменной интервального типа автоматически выполняется проверка: остается ли значение переменной внутри установленного для нее диапазона. Это позволяет программисту не отвлекаться на организацию собственного контроля.
ПЕРЕЧИСЛЯЕМЫЙ тип данных Задается перечислением своих значений. Например, в виде строковых констант: Type Week=(mondey, tuesday, wednesday, thursday, friday, saturday, sanday); Var day: week; season: (Winter, Spring, Summer, Autumn); Cоздается новый (нестандартный) тип данных Week. Переменные этого типа могут принимать всего 7 значений: mondey, tuesday, wednesday, thursday, friday, saturday, sanday. Первая константа имеет порядковый номер 0, вторая – 1, и т.д. Day описывается через тип Week, season задается перечисляемым типом данных из 4 значений.
Типы, определяемые пользователем Объявление пользовательских типов данных происходит в разделе объявления типов, который открывается словом Type (англ. – тип): Type ИмяТипа = ОписаниеТипа; Задание типа означает, что теперь в разделе описания переменных можно пользоваться вновь введенным идентификатором. Например, Type Matr = array [1..N,1..M] of real; Week=(mondey, tuesday, wednesday, thursday, friday, saturday, sanday); Work_week= mondey.. friday; Day=1..31; Var M: Week; R: Work_week; mas:matr;