Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод Ньютона.docx
Скачиваний:
2
Добавлен:
22.09.2019
Размер:
166.7 Кб
Скачать

59. Порядковые типы в языке программирования Паскаль.

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

Тип переменной определяется тем, с какими данными она связана.

Переменные типа integer могут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767. В Pascal есть другие целочисленные типы.

Переменные типа real хранят вещественные (дробные) числа.

Переменная булевского (логического) типа может принимать только два значения - true (1, правда) или false (0, ложь).

Символьный тип (char) может принимать значения из определенной упорядоченной последовательности символов.

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

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

Все вышеописанное – это простые типы данных. Но бывают и более сложные, структурированные, которые базируются на простых типах.

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

Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно. Такое ограничение характерная черта Pascal.

Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях данные могут иметь разный тип.

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

Файлы для Pascal представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти (кстати, жесткий диск – это тоже внешняя память).

Понятие такого типа данных как указатель связано с динамическим хранением данных в памяти компьютера. Часто использование динамических типов данных является более эффективным в программирование, чем статических.

60. Массивы в языке программирования Паскаль.

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

Размерность массива, т.е. число индексов в квадратных скобках в ТР не ограничена. В качестве индексов используют выражения порядкового типа, кроме Longint. При описании в программе необходимо указать общее число элементов в массиве и тип этих элементов.

Type

T= array [T1] of T2;

Где Т – имя (идентификатор типа); Т1 – список одного или нескольких индексных типов, разделённых запятыми. В качестве индексных типов в ТР допускается использовать любые порядковые типы, кроме Longint. Обычно используют ограниченный тип, в котором задаются границы изменения индексов; Т2 – тип элементов массива (базовый тип), любой тип ТР.

Type matr = array [-1..6] of integer;

Rex = array [1..3, 1..4] of real;

T = array [‘A’..’g’, 1..5] of integer;

Var a, c: matr;

D: t;

B: rex;

Массивы могут описываться сразу в разделе описания переменных без использования раздела описания типов.

Var a,c: array [-1..6] of integer;

D: array [‘A’..’g’, 1..5] of integer;

B: array [1..3, 1..4] of real;

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

B: array [1..3] of array [1..4] of real;

Т.е. b представляет собой одномерный массив, состоящий из трёх элементов, каждый из которых является в свою очередь одномерным массивом из четырёх элементов вещественного типа. Поэтому эквивалентны следующие записи: b[2][3]~b[2,3].

В ТР можно одним оператором присваивания передать все элементы одного массива другому массиву того же типа.

Var a,c: array [1..6] of integer;

………………………………………………………

Begin

………………………………………………………

a:=c;

После этого все 6 элементов массива а получают значения соответствующих элементов массива с. В ТР над массивами не определены операции отношения. Нельзя записать if a=c then……..

Ввод-вывод массивов.

  1. Одномерный массив

Program ex7;

Var A: array [1..50] of real;

I,n: integer; …….

Begin

Writeln (‘введите число элементов массива А’);

Readln (n);

Writeln (‘введите элементы массива А’);

For i:= 1 to n do readln (A[i]);

Writeln (‘Исходный массив А’);

For i:= 1 to n do writeln (A[i]:7:2);

…………………………..

  1. Двумерный массив

Program ex8;

Var A: array [1..50, 1..50] of real;

I,j,m,n: integer; ………….

Begin

Writeln (‘введите число строк m и столбцов n’);

Readln (m,n);

Writeln (‘введите элементы массива А’);

For i:= 1 to m do

For j:= 1 to n do readln (A[I,j]);

Writeln (‘Исходный массив А’);

For i:= 1 to m do

Begin

For j:= 1 to n do write(A[I,j]:7:2);

Writeln

End;

………………………….