Не совсем верно, но очень близко.
uses crt;
const nmax=100;
var a:array[1..nmax] of integer;
n,i,j,k:byte;
begin
clrscr;
repeat
write('Размер массива до ',nmax,' n=');
readln(n);
until n in [1..nmax];
writeln('Введите элементы массива:');
for i:=1 to n do
begin
write('a[',i,']=');
readln(a[i]);
end;
clrscr;
writeln('Массив:');
for i:=1 to n do
write(a[i]:4);
writeln;
writeln;
k:=0;
for i:=1 to n-1 do
for j:=i+1 to n do
if a[j]=a[i] then k:=k+1;
if k=1 then write('В массиве только 2 одинаковых элемента')
else write('В массиве не 2 одинаковых элемента');
readln
end.
Объяснение:
1. Безусловный цикл
loop <количество повторений> do
begin
<тело цикла>
end;
2. Цикл с предусловием
while <условие> do
begin
<тело цикла>
end;
3. Цикл с постусловием
repeat
<тело цикла>
until
<условие выхода>
4. Цикл со свободным выходом
loop <количество повторений> do
begin
<часть тела цикла>
if <условие выхода> then break;
<часть тела цикла>
end;
5. Цикл со счетчиком (итератором)
for var <переменная> := <стартовое число> to <конечное число> do
begin
<тело цикла>
end;