Смекни!
smekni.com

Основы языка Паскаль (стр. 4 из 4)

Связано это с неправильным описанием данных.

Рассмотрим, какие целочисленные типы кроме integer возможны в Паскале и какое кол-во разрядов отводится под каждый тип:

Shortint (короткое целое) 8 бит (старший левый разряд знаковый) -128 ≤ а ≤ 127
Integer (целое) 16 бит (ст. разряд знаковый) -32768 ≤ а ≤ 3276
Longint (длинное целое) 32 бит (ст. разряд знаковый) -2147483648 ≤ а ≤ 2147483647
Byte (байт) 8 бит (без знака) 0 ≤ а ≤ 255
Word 16 бит 0 ≤ а ≤ 65535

Вещественное число в ПЭВМ представлено в экспоненциальной форме

N = m*E ± p,

где m – мантисса числа (диапазон от 1 до 9).

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

Длина байт Название типа Кол-во значащих цифр Диапазон десятичного порядка
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-63 +1..2+63 -1

Структурированные типы

Структура – строение, расположение, порядок, совокупность устойчивых связей объекта, обеспечивающих его целостность и тождественность самому себе, т.е. сохранение основных свойств при различных внешних и внутренних изменениях.

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

Массивы

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

В информатике различают массивы одномерные и двумерные. К одномерным массивам относятся числовые и символьные последовательности. К двумерным – матрицы (либо их ещё называют таблицами).

Элемент массива – отдельная переменная, входящая в массив.

Размерность массива – кол-во элементов, которое содержит массив.

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

При назначении имени массиву соблюдаются те же требования, какие предъявляются к именам переменных простых типов.

Пример: Дан массив А, состоящий из n элементов.

А[1] A[2] A[3] A[4] … A[n]

2 7,5 14 8 … -2

A[i] – элемент массива А, стоящий на i-ом месте.

Каждая переменная в Паскале должна быть объявлена, в том числе и переменная указывающая индекс. В качестве индексных типов можно использовать любые порядковые типы, кроме longint.

Описывать тип «массив» нужно с помощью служебного слова TYPE.

Рассмотрим описание типа «массив» на примере целочисленного массива А, состоящего из 25 элементов. Прежде чем приступить к описанию типа, назначим имена – имя типа «массив» и имя переменной, которая относится к типу «массив». Пусть mas – имя типа, а – имя переменной типа «массив». В описании типа указывается, что объявляется тип «массив», для этого используется служебное слово array, и указываются границы изменения индексов. Синтаксически это записывается следующим образом 1..25; такая запись называется диапазон.

В программе на языке Паскаль это выглядит следующим образом:

TYPE mas = array [1..25] of integer;

VAR

а: mas;

где первая строка расшифровывается как «объявляется тип пользователя – массив, все элементы массива являются целыми числами», а последняя как «объявляется переменная, относящаяся к типу массив».

Необходимо помнить, что значением переменной а является весь массив.

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

Например:

Const

Mas: array [1..8] of byte = (28, 30, 25, 26, 15, 31, 30, 29);

Чаще всего массив объявляют следующим образом:

VAR <имя массива>: array [1..8] of <тип данных>;

Например: VAR a: array [1..8] of real;

Ввод элементов одномерного массива

Заполнить элементы одномерного массива значениями можно:

- вводя значения с клавиатуры;

- случайным образом;

- по формуле.

Необходимо помнить, что во всех трех случаях нельзя обойтись без организации цикла.

Пример: Ввести массив, состоящий из десяти элементов (тип значения не имеет).

1 способ: ввод с клавиатуры.

FOR I: = 1 TO 10 DO

BEGIN

writeln (‘введите значение ‘I’ элемента массива’);

read (a [i]);

END;

2 способ: задание массива случайным образом.

Для этого подключается датчик случайных чисел.

FOR I: = 1 TO 10 DO

a [i] : = random (n); - значение n задается заранее.

В данном случае для наглядности пользователю рекомендуется распечатать заданный массив.

3 способ: заполнение по формуле. Используется, когда каждый элемент массива должен рассчитываться по заранее заданной формуле.

Например: ai = sin i + 1

FOR I : = 1 TO 10 DO

a [I] : = sin (I) + 1;