- •Программирование на языке высокого уровня
- •1 Часть Учебное пособие Москва 2007
- •Оглавление
- •1. Основы алгоритмизации
- •1.1. Алгоритмизация и требования к алгоритму
- •1.2. Блок-схемы алгоритмов
- •1.2.1. Способы записи алгоритма
- •1.2.2. Блок-схемы
- •1.2.3. Следование, ветвление, цикл
- •1.3. Этапы разработки программы
- •1.3.1. Язык программирования. Программа
- •1.3.2. Этапы разработки
- •1.4. Ошибки
- •1.4.1. Компилятор. Синтаксис и семантика
- •1.4.2. Типы ошибок
- •2. Алфавит языка Турбо Паскаль. Программа
- •2.1. Идентификаторы
- •2.2. Разделители
- •2.3. Специальные символы
- •2.4. Структура Pascal-программы
- •Пример простейшей программы на языке Pascal
- •3. Типы данных
- •3.1. Структура типов данных
- •3.2. Простые типы
- •3.2.1. Порядковые типы
- •3.2.1.1 Целые типы.
- •3.2.1.1.1. Встроенные процедуры и функции, применимые к целым типам
- •3.2.1.2. Логический тип.
- •3.2.1.3. Символьный тип.
- •3.2.1.4. Перечисляемый тип.
- •3.2.2. Вещественные типы
- •3.3. Константы и переменные
- •3.4. Преобразование типов
- •4. Операторы
- •4.1. Ввод данных
- •4.2. Вывод данных
- •4.3. Составной оператор
- •4.4. Условный оператор
- •4.5. Операторы циклов
- •4.5.1. Оператор for
- •4.5.2. Оператор while
- •4.5.3. Оператор repeat
- •4.5.4. Стандартные функции для циклов
- •4.6. Оператор выбора case
- •5. Массивы
- •5.1 Определение массива
- •5.2. Ввод/вывод одномерного массива (вектора).
- •5.3 Типизированные константы – массивы
- •5.4. Сортировка массивов (ранжирование)
- •6. Процедуры и функции
- •6.1. Подпрограммы
- •6.2. Параметры. Глобальные и локальные описания
- •6.3. Процедуры
- •6.4. Функции
- •6.5. Процедура exit
- •6.6. Рекурсия
- •6.7. Директивы подпрограмм
- •6.8. Открытые массивы
- •7. Записи
- •7.1.Определение и правила записи
- •7.2. Оператор присоединения
- •7.3. Записи с вариантами (экономия пространства)
- •8. Множества
- •8.1. Понятие множества
- •8.2. Конструктор множества
- •8.3. Операции над множествами
- •8.4. Примеры программ, использующих множества.
- •Литература
3.2.2. Вещественные типы
Вещественные типы: очень большие или очень маленькие числа удобно представлять в экспоненциальной форме число представляется в виде множества называемое мантиссой умноженного на 10 в какой либо степени [число=мантисса*10 в степени k] число=мантисса*10 k
2700=2.7*103 ~2.7e+03
2,108*10-10=2.108e-10
Нельзя:
6. .564 e3 6.e2 5.0e { ошибка}
s |
e |
m |
Длина, байт |
Название |
Количество значащих цифр |
Диапазон десятичного порядка |
4 |
Single (с одинарной точностью) |
7 - 8 |
-45 - +38 |
6 |
Real (вещественный) |
11. . .12 |
-39. ..+38 |
8 |
Double (с двойной точностью) |
15. ..16 |
-324. . .+308 |
10 |
extended (с повышенной точностью) |
19. . .20 |
-4951. . .+4932 |
8 |
Comp (сложный) |
19. . .20 |
-2*1063+1. . .+2*63-1 |
Здесь s - знаковый разряд числа; е - экспоненциальная часть; содержит двоичный порядок; m - мантисса числа.
Десятичная точка подразумевается перед левым (старшим) разрядом мантиссы, но при действиях с числом ее положении сдвигается влево или вправо в соответствии с порядком числа. Поэтому действия над вещественными числами называют арифметикой с плавающей точкой (запятой).
Как видим, Турбо Паскаль характеризуется богатой гаммой вещественных типов, однако доступ к типам SINGLE, DOUBLE и EXTENDED возможен только при особых режимах компиляции. Дело в том, что эти типы рассчитаны на аппаратную поддержку арифметики с плавающей точкой и для их эффективного использования в состав ПК должен входить арифметический сопроцессор Компилятор Турбо Паскаля. {$N+}.
Директива обеспечивает доступ к четырем дополнительным вещественным типам.
Стандартные математические функции над вещественными типами Таблица3
Стандартные математические функции Турбо Паскаля |
|||
Обращение |
Тип параметра |
Тип результата |
Примечание |
abs (x) |
Real, Integer |
Тип аргумента |
Модуль аргумента |
АrсТаn (х) |
Real |
Real |
Арктангенс ( значение в радианах) |
cos (х) |
To же |
То же |
Косинус, угол в радианах |
ехр (х) |
" |
" |
Экспонента |
frас (х) |
" |
" |
Дробная часть числа |
int(x) |
" |
" |
Целая часть числа |
ln(x) |
" |
" |
Логарифм натуральный |
Pi |
- |
" |
л = 3.141592653... |
Random |
- |
" |
Псевдослучайное число, равномерно распределенное в диапазоне 0...[1] |
random(x) |
Integer |
Integer |
Псевдослучайное целое число, равномерно распределенное в диапазоне 0...(х-1) |
Randomize |
- |
- |
Инициация генератора псевдослучайных чисел |
Round(х) |
Real |
longint |
Округление до ближайшего целого |
sin(x) |
Real |
Real |
Синус, угол в радианах |
sqr (x) |
To же |
То же |
Квадрат аргумента |
sqrt (x) |
To же |
То же |
Корень квадратный |
Trunc(x) |
To же |
longint |
Целая часть числа |