Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
13
Добавлен:
05.06.2018
Размер:
30.72 Кб
Скачать

Билет №16. Концепция типа данных. Тип данных в ТР.

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

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

Конструирование требуемых в программе типов данных открыл качественно новый, более совершенный стиль программирования хорошо структурированных программ. Вновь создаваемый тип должен быть описан в разделе описаний программы. Общая форма описания типа имеет вид:

type < имя типа > = < описание типа >;

где: <имя типа> выбирается программистом,

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

В Турбо Паскале имеется целая иерархия типов данных. Ниже приводится классификация типов данных Турбо Паскаля:

Типы данных

- Простые

- Порядковые

А) Целые

Б) Символьные

В) Логические

Г) Перечислимые

- Вещественные

Структурные

А) Массивы

Б)Записи

В) Множества

Г) Файлы

Д) Указатели

Рис. 2. Классификация типов данных Турбо Паскаля.

Простые типы отличаются тем, что их значения атомарны, т.е. неразложимы на какие либо другие типы, а структурные (составные) типы - "контейнеры", которые могут содержать один или несколько компонентов других типов (простых или составных).

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

Задача 4.2.6(16)

program alex16;

const n=5;

type mas=array[1..n,1..n]of integer;

var a,b:mas;

i,j:integer;

procedure proc(var x:mas;m,k,l:integer);

var c:array[1..n]of integer;

i:integer;

begin

for i:=1 to m do

begin

c[i]:=x[k,i];

x[k,i]:=x[l,i];

x[l,i]:=c[i];

end;

end;

begin

for i:=1 to 3 do

for j:=1 to 4 do

read(a[i,j]);

for i:=1 to n do

for j:=1 to n do

read(b[i,j]);

proc(a,4,2,3);

proc(b,n,2,4);

for i:=1 to 3 do

begin

for j:=1 to 4 do

write(a[i,j],' ');

writeln;

end;

for i:=1 to n do

begin

for j:=1 to n do

write(b[i,j],' ');

writeln;

end;

readln;

end.

Соседние файлы в папке 1 семестр сессия