Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Вещественные типы




Целые типы в Pascal ABC

В Pascal ABC имеется три стандартных типа целых чисел: Byte, Integer и Word. Диапазон их возможных значений зависит от внутреннего представления числа, которое может занимать один, два или четыре байта. В таблице 3 приведены характеристики этих целых типов.

 

Таблица 3 – Классификация целых типов

Длина, байт Название Диапазон Примечание
  BYTE WORD INTEGER от 0 до 255 от 0 до 65535 от -2147483648 до +2147483647 Короткое целое без знака Целое без знака Целое со знаком  

 

 

Компилятор языка Pascal ABC определяет максимальное значение MAXINT для данных типа INTEGER. При этом справедливо будет соотношение:

-MAXINT <= K <= MAXINT

Описание переменных целых типов производится в разделе описаний VAR:

Var <имя переменной>: < целый тип >;

где < целый тип > может быть определен как Byte, Integer или Word.

Например:

VAR K: INTEGER;

I, J: BYTE;

Для целых типов определены следующие операции: сложение, вычита­ние (имеют более низкий приоритет), умножение и деление - DIV, MOD. К целым типам применимы функции из таблицы 4. Функции TRUNC(X) и ROUND(X) с вещественным аргументом также дают целый результат (см. табл. 2). Стандартные математические функции в случае задания целого аргумента всегда возвращают вещественные значения (см. табл. 2).

При использовании процедур и функций с целочисленными параметрами следует руководствоваться правилом «вложенности» типов, т.е. везде, где в качестве аргумента используется тип WORD, можно применять тип BYTE. Для арифмети­ческих операций, если операнды относятся к разным целым типам, тип результата имеет максимальную мощность диапазона, т.е. для типов операндов Byte и Word в выражении тип результата будет Word.

 

Таблица 4 – Встроенные процедуры и функции для целых типов

Обращение Тип результата Действие
ABS(X) SQR(X) CHR(B)) ODD(L)     RANDOM(W)     DEC(Х, [i]) INC(Х, [i]) Как у аргумента Как у аргумента CHAR BOOLEAN     Как у аргумента     Процедура Процедура Возвращает модуль числа Х Возвращает квадрат числа Х Возвращает символ по его коду Возвращает значение TRUE, если аргумент – нечетное число, FALSE - если четное Возвращает псевдослучайное число, равномерно распределенное на интервале 0<=X<=W Уменьшает Х на 1 [на i] Увеличивает Х на 1 [на i]

В отличие от целых типов значения вещественных типов опреде­ляют число с десятичной точкой лишь с некоторой точностью, зависящей от внутреннего представления числа. Вещественное число в памяти ПК хранится в формате, состоящем из знака, мантиссы и порядка числа. Десятичная точка подразумевается стоящей перед левым (старшим) разрядом мантиссы (такая мантисса называется нормализованной). При выполнении операций десятичная точка сдвигается путем выполнения умножения мантиссы на E (символ экспоненты) с порядком.

Например, запись числа в виде: <знак> <мантисса> Е <порядок> соответствует представлению числа <з нак> <мантисса>*10 <порядок >.

В Pascal ABC используются только два вещественных типа – REAL и COMPLEX, характеристики которых приведены в таблице 5.

 

Таблица 5 – Вещественные типы

Длина, байт Название типа Значащие цифры мантиссы Диапазон десятичного порядка
  REAL COMPLEX 15..16 15..16 -324 …+308 -324 …+308

Объявление переменных вещественных типов производится в разделе описаний переменных VAR аналогично переменным целых типов в виде:

Var <переменная>: <вещественный тип>;

где < вещественный тип > может быть задан только Real или Complex.

Для работы с вещественными типами определены стандартные функ­ции: sin, cos, arctаn, ln, exp, sqr, abs, sqrt (таблица 2), а также функции вещественного типа (таблица 6).

Таблица 6 – Встроенные функции вещественного типа

Обращение Тип параметра Тип результата Примечание
Pi Frac(Х) Int(x) Random Randomize - вещественный вещественный - - вещественный вещественный вещественный вещественный - Pi = 3,141592653 Дробная часть Х Целая часть x 0<x<1 - случайное число Инициализация датчика случайных чисел

 

При этом операции +, -, *, / в арифметическом выражении дают вещественный результат, если хотя бы один из операндов вещественный.

Переменные комплексного типа

Данные комплексного типа (complex) в программе записываются в скобках в виде (x,y), где x и y – выражения (константы, переменные) вещественного типа, представляющие собой вещественную и мнимую части комплексного числа. Если переменная c имеет тип complex, то обратиться к ее вещественной и мнимой частям можно как к полям записи: c.re и c.im.

Например:

const c1 = (0,1);
var c: complex;
...

c.re := 2*c.im;

c := c1*c+(c.im, c.re);

Для работы с переменными типа complex также используются стандартные функции: abs, sin, cos, exp, ln, sqrt. Кроме того применяется функция conj(C), возвращающая значение, комплексно сопряженное к C, и функция carg(C), возвращающая главное значение аргумента комплексного числа C, которое находится в числовом диапазоне (-Pi, Pi).

 

Примеры и задания к самостоятельному выполнению

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

Пример 1. Вычислить площадь прямоугольника по размерам сторон А и В. Обозначим площадь переменной S, тогда необходимо найти S = A*B.

Программа набирается в окне редактора и исполняется клавишей [F9]:

Program RECT; {заголовок программы с именем RECT}

const {заголовок раздела описания констант}

A=2; B=3; {объявление констант А и В}

var {заголовок раздела описания переменных}

S: integer; {объявление переменной S целого типа}

begin {начало основного блока программы}

S: = A*B; {оператор присваивания}

write(' Площадь прямоугольника = ', S); {процедура вывода данных}

end. {конец основного блока}

В результате выполнения программы (Ctrl+F9) на экран выводится сообщение: Площадь прямоугольника = 6.

Пример 2. Найти площадь равностороннего треугольника.

Если сто­роны треугольника имеют размер А, то его площадь S = A2 sin(π/3)/2.

Схема алгоритма реализации этой задачи на рисунке 1.

Текст программы:

Program TREUG;

var

A, S: real;




Поделиться с друзьями:


Дата добавления: 2017-01-14; Просмотров: 308; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.