Osnovy_informatiki_-_9_Tipy_dannykh
.pdfТипы данных
2012
•Тип данных – множество значений и множество операций над ними
•Типы данных в языке программирования
–Скалярные
–Структурные
10.11.2012 |
Чердынцева М.И., мехмат ЮФУ |
2 |
Структурные типы в Паскале
•Массивы
•Строки
•Множества
•Записи
•Файлы
10.11.2012 |
Чердынцева М.И., мехмат ЮФУ |
3 |
Структурные типы
•Для описания типа используется конструктор
•Возможно конструировать в разделе описания переменных
•Рекомендуется описывать новый тип в разделе типов
10.11.2012 |
Чердынцева М.И., мехмат ЮФУ |
4 |
Массив
•Массив - совокупность элементов одного типа, каждый из которых имеет номер, называемый индексом (индексов может быть несколько
10.11.2012 |
Чердынцева М.И., мехмат ЮФУ |
5 |
Массивы
• Конструктор типа
array [<тип индекса>{,<тип индекса>}]
of <тип элементов (компонент)>
• Пример
type mass = array [1..5] of real; var
m : mass;
a : array [ 1..10 ] of integer;
10.11.2012 |
Чердынцева М.И., мехмат ЮФУ |
6 |
Работа с массивом
a[1] := 0; a[2]:= 12;
. . .
for i:=1 to 5 do m[i] := 1;
. . .
for i:=1 to 10 do a[i]:=a[i]*i;
. . .
10.11.2012 |
Чердынцева М.И., мехмат ЮФУ |
7 |
Присваивание для массивов
•Массивы одного типа можно присваивать друг другу и использовать при передаче параметров
var A,B: array [1..10] of integer;
...
A:=B; //!
10.11.2012 |
Чердынцева М.И., мехмат ЮФУ |
8 |
type
IArr = array [1..10] of integer; var
A:IArr;
B:IArr;
...
A:=B; // верно!!!
10.11.2012 |
Чердынцева М.И., мехмат ЮФУ |
9 |
var
A:array [1..10] of integer;
B:array [1..10] of integer;
...
A:=B;
//ошибка: типы считаются различными
//в Паскале именная, а не структурная
//эквивалентность типов
10.11.2012 |
Чердынцева М.И., мехмат ЮФУ |
10 |