
- •Кафедра с а п р
- •Часть 1
- •1. Алфавит языка Паскаль
- •Данные в языке Паскаль
- •2.1 Порядковые типы данных
- •2.1.1 Целые типы данных
- •2.1.2 Логический тип данных
- •Символьный тип данных
- •2.1.4 Перечислимый тип данных
- •Ограниченный тип данных
- •2.2 Вещественные типы данных
- •3. Структура программ на языке TurboPascal
- •Описание меток
- •Описание переменных
- •Var имя переменной : тип;
- •Описание типов
- •Описание простых и типизированных констант
- •Арифметические выражения
- •Логические выражения
- •Оператор присваивания
- •Составной оператор
- •Процедуры ввода и вывода данных
- •Линейные алгоритмы и программы
- •Операторы условной и безусловной передачи управления
- •Алгоритмы и программы с разветвлением
- •10. Оператор выбора
- •11. Операторы циклов
- •11.1 Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Оператор цикла с параметром
- •Циклические алгоритмы и программы
- •Вариант 3
- •Использование циклических алгоритмов и программ для вычисления суммы членов ряда
- •При составлении алгоритма и программы будем считать, что точность
- •Массивы и их описание
- •Var Имя_массива: Array[t1] of [t2];
- •Var Имя_массива: Имя_типа_массива;
- •12.1 Работа с одномерными массивами
- •12.2 Работа с двумерными массивами
- •Текст программы
- •Варианты заданий
- •Строковый тип данных. Операции над строками
- •Множества в Паскале, их описание. Операции над множествами
- •Var Имя множества:Set of базовый тип;
- •Var Имя множества:Имя типа;
- •Тип данных - записи, их описание и использование. Оператор присоединения
- •1. Var Имя записи:record
- •Var Имя записи:Имя типа для записи;
- •15.1 Работа с массивом из записей
- •16 Подпрограммы
- •16. 1 Процедуры. Описание процедур. Область действия имён Локальные и глобальные параметры
- •16.2 Подпрограммы типа function, их описание
- •17. Задача сортировки: алгоритмы и программы
- •Сортировка выбором
- •Обменная сортировка
- •Сортировка слиянием
- •18 Задача поиска: алгоритмы и программы
- •18.1 Линейный поиск
- •Двоичный поиск
Ограниченный тип данных
На основе четырех рассмотренных порядковых типов можно определить новые, порядковые типы: например, можно сузить диапазон значений любого из 4-х порядковых типов. Такие типы называют ограниченными (или интервальными) типами. Другое их название - диапазоны. Такие типы задаются границами своих значений внутри базового типа:
<минимальное значение> .. <максимальное значение>
Примеры определения типов - диапазонов:
Typedate=1..31; TypeMonth=1..12; TypeSim='A'..'Z'
Можно сразу определить переменную типа - диапазон:
Day:1..31; Month:1..12; Sim:'A'..'Z' и т.п.
Необходимо помнить, что левая граница диапазона не должна превышать правой.
К значениям этого типа могут быть применены стандартные функции:
HIGH(X) - возвращает максимальное значение типа - диапазона, к которому принадлежит переменная Х;
LOW(X) - возвращает минимальное значение типа - диапазона, к которому принадлежит переменная Х.
2.2 Вещественные типы данных
Эта группа типов представляет множества значений в различных диапазонах. ТР поддерживает пять различных вещественных типа (табл. 4).
Таблица 4
Название |
Длина, байт |
Число цифр мантиссы |
Диапазон значений |
Real |
6 |
11-12 |
2.9 E-39…1.7 E +38 |
Single |
4 |
7-8 |
1.5 E-45…3.4 E+38 |
Double |
8 |
15-16 |
5.0 E-324…1.7 E+308 |
Extended |
10 |
19-20 |
3.4E-4951…1.1E+4932 |
Comp |
8 |
0 |
-2 E+63… +2 E+63 -1 |
Все вещественные типы, кроме Real, используются если в ПК есть арифметический сопроцессор.
Данные вещественного типа могут быть представлены в двух видах: с фиксированной точкой и с плавающей точкой.
Значения с фиксированной точкой изображаются десятичным числом с дробной частью, которой может быть нулевой, например:
0.5, 5.25, 5.0, -16. 055 и т.п.
Значения с плавающей точкой изображаются следующим образом: m E p,
где m - мантисса вещественного числа, Е - признак порядка (число 10), р - порядок числа; m - целое или вещественное число с фиксированной точкой, положительное или отрицательное; р - только целое, положительное или отрицательное, например:
4
Е -5 (
),
0.62 Е 4 (
),
-1.6 Е 22
.
Над значениями вещественных типов допустимы четыре арифметических операции: *, /, +, -.
Целые и вещественные числа именуются как "число без знака".
В таблице 5 приведены некоторые стандартные математические функции и функции преобразования типов, которые используются при работе с целыми и вещественными значениями.
Таблица 5
Вызов Функции
|
Тип аргумента |
Тип результата |
Назначение функции |
Abs(X) |
Целый Вещественный |
Целый Вещественный |
Вычисление абсолютного значения Х |
Sin(X) |
Вещественный |
Вещественный |
Синус Х радиан |
Cos(X) |
Вещественный |
Вещественный |
Косинус Х радиан |
ArcTan(X) |
Вещественный |
Вещественный |
Арктангенс Х радиан |
Sqrt(X) |
Целый Вещественный |
Вещественный Вещественный |
Квадратный корень из Х, (Х>0) |
Sqr(X) |
Целый Вещественный |
Целый Вещественный |
Значение Х, возведенное в квадрат |
Exp(X) |
Вещественный |
Вещественный |
Значение е в степени Х |
Ln(X) |
Вещественный |
Вещественный |
Натуральный логарифм Х, (Х>0) |
Pi |
Нет аргумента |
Вещественный |
Значение числа |
Trunc(X) |
Вещественный |
Longint |
Целая часть числа Х |
Frac(X) |
Вещественный |
Вещественный |
Дробная часть числа Х |
Int(X) |
Вещественный |
Вещественный |
Целая часть числа Х |
Round(X) |
Вещественный |
Longint |
Округление Х до ближайшего целого |
Random |
Нет аргумента |
Вещественный |
Случайное число из диапазона (0...1) |
Random(X) |
Word |
Word |
Случайное число из диапазона (0...Х) |
Odd(X) |
Целый |
Логический |
Возвращает значение True, если Х - если Х - нечетное |
Замечания к таблице 5:
Под целым типом понимается один из типов языка (Byte, ShortInt, Word, Integer, LongInt);
Под вещественным типом понимается тип Real или иной тип с плавающей точкой. Математические функции очень чувствительны к диапазону своих аргументов. Кроме того, возвращаемые значения целых типов должны в них умещаться, иначе возможны фатальные последствия.
Функция ArcTan(X) возвращает главное значение арктангенса (в диапазоне от - /2 до + /2).
Функции Trunc и Int отличаются только типом возвращаемого значения.