примитивные типы, в том числе:
логический тип
целые типы
вещественные типы
ссылочные типы
опциональные типы
обнуляемые типы
Композитные типы, в том числе:
массивы
записи
кортежи
абстрактные типы (АТД, англ. ADT)
алгебраические типы
вариантные типы
подтипы
унаследованные типы
объектные типы, то есть объекты, значением которых являются типы — например, переменные типов
частичные типы
рекурсивные типы
функциональные типы, например бинарные функции
универсально квантифицированные типы, такие как параметрические типы
экзистенциально квантифицированные, такие как модули
зависимые типы — типы, зависящие от термов (значений)
уточняющие типы — типы, идентифицирующие подмножества других типов
Предопределённые типы (являющиеся фактически структурными, но предоставляемые на правах примитивных) для удобства промышленных разработок, такие как «дата», «время», «валюта» и др.
Всё правильно кроме видит
Const
N = 7;
Var
A:array[1..N,1..N] of integer;
i,j:integer;
Begin
For i:= 1 to N do
Begin
For j:= 1 to N do
Begin
A[i,j]:=random(21)-10;
Write(A[i,j]:3,' ')
End;
WriteLn
End;
WriteLn;
For i:= 1 to N div 2+(N mod 2) do
Begin
For j:= 1 to N do
Begin
if (j<=N div 2+i)and(N div 2-i+(N mod 2)<j) then A[i,j]:=99;
Write(A[i,j]:3,' ')
End;
WriteLn;
End;
For i:= (N div 2)+(N mod 2)+1 to N do
Begin
For j:= 1 to N do
Begin
if (i-N div 2-1<j)and(j<=N+N div 2+1-i) then A[i,j]:=99;
Write(A[i,j]:3,' ')
End;
WriteLn;
End;
End.