Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Интервальный тип пользователяСодержание книги
Поиск на нашем сайте Интервальный тип задает границы допустимых значений для переменной и обеспечивает контроль выхода значения за установленные границы с прерыванием программы. Эти границы записываются в виде двух констант (символьного или числового типа, но не вещественного), причем первая константа должна быть меньше второй. Примеры задания: TYPE hour = 0..23; kurs = 1..6; letter= a..z; VAR NumberK: kurs; LunchTime,Supper,Dinner: hour; slovo:array[1..20] of letter; Часто интервальный тип задают границами в виде констант: CONST MinDay =1; { минимальное значение дня } MaxDay =365; { максимальное значение дня } TYPE day = MinDay..MaxDay; { тип 'day' задает возможные значения } VAR BirthDay: day; { переменная может содержать только целые числа в диапазоне от 1 до 365 } Перечисляемый тип пользователя Перечисляемый тип позволяет задать все возможные значения, которые может принимать переменная. Эти значения должны быть перечислены через запятую и заключены в круглые скобки. Для хранения в памяти ЭВМ под переменную перечисляемого типа выделяется 1 байт, т.е. в списке не может быть более 255 значений (констант). В качестве значений могут быть выступать любые имена, написанные по правилам Паскаля, и не встречающиеся в качестве имен переменных, типов, и в двух списках одновременно.
Примеры: TYPE language = (C,Pascal,Fort,Basic,Fortran,Ada,Modula); gas = (N,O2,CO2,N20,CH4); VAR TextType: language; Emission,Pollutant: gas; RadioIsotop: (St_90,I_133,B_137,U_235,U_238,Pu_242); В последней строке заведена переменная перечисляемого типа без определения имени типа. Для переменных такого типа возможны операции присваивания значений, но только из списка заданных значений: Emission:= O2; Pollutant:= N2O; TextType:=Basic; при этом недопустимы операторы: Pollutant:=1; RadioIsotop:=CH4; Разрешены операции сравнений на "равно", "больше", "меньше" и т.д. в соответствии с порядковыми номерами заданных значений в списке перечислений. Так, при выполненных операторах присваивания, написанных выше, Pollutant > Emission, так как N2O идет в списке после O2, а результатом операции сравнения: TextType = Basic будет значение TRUE (истина). Выражения и константы перечисляемого типа можно использовать в операторах переключателях "case" (примеры см. в разделе описаний операторов). Важно помнить, что для переменных перечисляемого типа не предусмотрены стандартные операторы ввода и вывода, т.е. нельзя написать: Read(Emission) или Write(CO2). При работе с данными этого типа часто используются стандартные функции Паскаля Pred(), Succ() и Ord(), которые будут описаны ниже. Лекция 8 Глава 3. Встроенные функции Понятие и классификация типов функций Наряду с простыми операндами (константами, переменными, элементами составных данных) язык Паскаль позволяет использовать в выражениях заранее созданные процедуры-функции. При этом внутреннее устройство функции в выражении не отображается, а используется только обращение к ней в виде имени функции и значений аргументов. Поскольку результатом вычисления функции является данное определенного типа, обращение к функции может использоваться в выражении точно также и на тех же правах, как и простые данные. Все функции обычно классифицируют по трем аспектам. Во-первых функции делятся на встроенные и функции пользователя. Первые уже разработаны, включены в стандартные библиотеки, поставляемые вместе с языком программирования (транслятором) и могут использоваться любым программистом. Функции пользователя - это такие, устройство которых (текст программы) программист должен включить в общий текст программы (или должен подключить к программе свою библиотеку, в которой содержится эта функция в уже оттранслированной форме). Во-вторых функции делятся по назначению: например для реализации стандартных математических функций, или для обработки строк, или для работами с файлами и т.д. Наконец последним аспектом классификации является тип получаемого результата: целочисленное значение, или вещественное число двойной точности или адрес ячейки памяти и т.д. Ниже будут рассмотрены основные функции, использование которых возможно без всяких подключений (точнее, которые подключаются к программе автоматически). Математические функции Это функции, реализующие стандартные математические функции, обычно с одним аргументом. Как аргумент, так и результат имеют числовой тип (целочисленный или вещественный). Ниже приведены имена, типы и назначения стандартных математических функций.
Таблица 5. Встроенные математические функции Турбо-Паскаля
При обращении к функции в качестве аргумента (Х) можно указывать константу, имя переменной или выражение, но обязательно вещественного типа (для Abs и Sqr можно и целого типа). Например: Sin(1.56), Cos(Alfa), Exp(3.0-2.2*Y), Sqrt(A[i,j]+Abs(Z[1])) Функции преобразования типов Эти функции служат для преобразования данных из одного типа в другой (допустимй) тип, а также для нахождения порядковых номеров конкретных значений в общем списке возможных значений. Преобразовывать можно обычно числовые данные из одного типа в другой, работа с порядковыми номерами возможна для данных, представимых точно и упорядоченных (т.е. кроме вещественных и комплексных чисел). Chr(X) - преобразование ASCII-кода в символ. Аргументом должно быть целое число в диапазоне (0..255). Результатом является символ, код которого равен аргументу. Если число не входит в диапазон, функция просто не вычисляется без всяких сообщений. High(X) - получение максимального значения некоторой величины, определяемой аргументом. (Работает начиная с версии 6). Если аргументом является величина перечисляемого типа, выдается ее максимально возможное значение, если аргументом является имя массива - возвращается максимальное значение индекса, если строка - возвращается объявленный при описании размер строки. Low(X) -получение минимального значения некоторой величины, определяемой аргументом. (Работает начиная с версии 6). Если аргументом является величина перечисляемого типа, выдается ее минимально возможное значение, если аргументом является имя массива - возвращается минимальное значение индекса, если строка - возвращается 0. Odd(X) - проверка четности аргумента. Аргумент - целочисленное значение любой точности, может быть беззнаковое. Результат -логическое значение TRUE, если аргумент нечетный и FALSE в противном случае. Ord(X) - преобразование любого порядкового типа в целый. Аргументом может быть любой простой тип, кроме вещественного. Если аргумент - целое - результат равен аргументу, если символьный, логический, перечисляемый - результат равен его порядковому номеру в полном списке значений (нумерация начинается с нуля). Тип результата - LongInt. Pred(X) - нахождение предыдущего значения величины Х. Аргументом может быть любая перечислимая величина. Возвращается величина того же типа, что и аргумент, но со значением, предшествующим значению аргумента. Например, для числового аргумента Pred(12) равно 11, для символьного: Pred('D') равно 'C'. Если функция вычисляется от самого первого элемента последовательности значений, возникает состояние ошибки. Round(X) - округление вещественного значения до ближайшего целого. Аргумент должен быть вещественного типа, результат имеет тип LongInt. Если округленное вещественное значение не входит в допустимый диапазон LongInt (т.е. превышает по модулю 2.147 миллиарда), возникает ошибка. Trunc(X) - приведение вещественного значения к целому отбрасыванием дробной части. Типы аргумента и результата - как и у функции Round(X). Succ(X) - нахождение последующего значения величины Х. Типы аргумента и результата - как у функции Pred. Если функция вычисляется от самого последнего элемента последовательности значений, возникает состояние ошибки. Функции работы со строками будут описаны позднее. Лекция 9 Глава 4. Выражения
|
||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-08-12; просмотров: 228; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.126 (0.01 с.) |