Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика в тестах_2008_пособие.doc
Скачиваний:
173
Добавлен:
28.03.2015
Размер:
1.71 Mб
Скачать

1.5.8. Структуры и типы данных языка программирования

При обработке данных на ЭВМ важна классификация переменных в соответствии с некоторыми важными характеристиками. Производится строгое разграничение между вещественными, комплексными и логическими переменными, между переменными, представляющими отдельные значения и множество значений, и так далее.

В языке Pascal тип переменной явно задается в описании переменной или функции, которое предшествует их использованию.

В Pascal все типы данных разделятся на следующие группы:

– скалярные (к ним относятся типы данных, значения которых не содержат составных частей, то есть простые типы: целочисленный, вещественный, логический, символьный, перечисляемый, интервальный (тип диапазон));

– ссылочные (являются указателями на данные других типов);

– структурированные (в своей основе имеют один или несколько скалярных типов данных: строковые, регулярные – массивы, множественные, комбинированные – записи, файловые);

– процедурные и объектные (используются в объектно-ориентированном программировании).

К скалярным типам данных относится:

Integer (целое);

Longint (длинное целое);

Byte (длиной в байт беззнаковый);

Real (вещественное);

Char (символьное);

Boolean (булевое).

Перечисленные типы определяют упорядоченные множества значений через перечисление идентификаторов, которые обозначают эти значения. Описание типа осуществляется по схеме:

Type <имя типа> = <список имен>.

Массивами принято называть упорядоченные определённым образом наборы однотипных данных. В этом варианте доступ к значению элемента массива возможен указанием его порядкового номера в последовательности.

Описание массива:

<имя> : Array [n..m] Of <тип эленентов>.

Массивы могут иметь и большее число размерностей. В зависимости от этого каждый элемент массива становится доступным, если указано его групповое имя и индексы, определяющие положение элемента в массиве.

Например:

DG: Array [1..10, 1..20] Of Real {описан двухмерный массив}.

Арифметические и логические операторы, используемые в Turbo Pascal:

+ сложение;

- вычитание;

* умножение;

/ деление;

Div – деление нацело (дробная часть отбрасывается). Применяется только для действия с целыми числами;

Mod – остаток от целочисленного деления. Применяется только для действий с целыми числами;

Not – логическое отрицание;

Or – поразрядное логическое сложение («или»);

Xor – сложение по модулю 2 (взаимно исключающее «или»);

And – поразрядное логическое умножение («и»);

Shl – разрядный сдвиг влево;

Shr – разрядный сдвиг вправо;

> – больше;

< – меньше;

>= – больше или равно;

<= – меньше или равно;

= – равно;

<> – не равно.

В системном модуле Turbo Pascal содержатся функции, не требующие специальных описаний:

Abs(x) – вычисление модуля числа любого типа;

Arctan(x) – вычисление (в радианах) арктангенса;

Cos(x) – вычисление косинуса угла (аргумент – в радианах);

Exp(x) – вычисление степени экспоненты ex;

Frac(x) – вычисление дробной части аргумента вещественного числа;

Int(x) – вычисление целой части аргумента вещественного числа;

Ln(x) – вычисление натурального логарифма;

Odd(x) – только для целого аргумента. При чётном аргументе – True (истинно), при нечётном – False;

Pi – встроенное значение числа p;

Random (х) – возвращает случайное число из интервала [0,х];

Sin(x) – вычисление синуса угла (аргумент - в радианах);

Sqr(x) – квадрат вещественного или целого аргумента;

Sqrt(x) – квадратный корень вещественного аргумента;

Chr(x) – вывод символа, код которого равен целому числу (x);

Ord(x) – преобразование символа (x) в целочисленное число (byte);

Trunc(x) – вычисление целой части аргумента с отбрасыванием дробной части и преобразованием результата в тип «целое»;

Round(x) – ближайшее к аргументу целое число с преобразованием его в тип «целое»;

UpCase (A :Char):Char – превращает строчные буквы латинского алфавита в соответствующие им прописные.

Для вычисления значений других функций следует пользоваться тождествами:

При построении арифметических выражений необходимо учитывать порядок (приоритеты) выполнения арифметических операций.

Оператор « := » называется оператором присваивания. Он предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, имя которой указано в его левой части. Переменная и выражение должны быть совместимы по типу.

Для ввода и вывода данных используются следующие процедуры ввода-вывода: Write(<параметры>), WriteLn(<параметры>), Read(<параметры>), ReadLn(<параметры>).

Для ввода информации со стандартного устройства ввода информации – клавиатуры – используется процедура Read(<па-раметры>). В качестве параметров используются идентификаторы переменных, которым присваиваются вводимые значения. Значения вводятся в порядке указания их в процедуре, при этом типы вводимых значений должны соответствовать типам соответствующих переменных. Процедура ReadLn(<параметры>) отличается тем, что она после своего выполнения переводит курсор в начало следующей строки.

При выводе значений переменных может использоваться форматный вывод с фиксированной точкой.

Например:

Write (A:N:M); – указывается формат значения переменной. Это значит, что всего N символов отводится под значение переменной A, причем после десятичной точки будет выведено на экран M символов.

WriteLn(<параметры>) отличается от Write(<параметры>) тем, что после вывода значений параметров курсор переводится в начало следующей строки. Если значений несколько, то они перечисляются через запятую.