Ну вообще-то тут целый букет ошибок.
1. Не определена переменная REG.
2. Условие While TRUE - бессмысленно.
3. Плохо организован сам цикл и процедура выхода.
4. Отсутствует заголовок первой процедуры.
Предлагаю вариант. Места, где изменено, выделены красным:
VAR
REG:BYTE;
B:BOOLEAN;
Procedure Note;
Begin
writeLn('Dosvidaniya!');
writeLn('dlya prodolzheniya nazhmite ENTER');
readln;
End;
Procedure Massiv_1;
CONST
N=10;
VAR
A:ARRAY[1..N] of INTEGER;
Nneg, Npos, K, i:INTEGER;
BEGIN
writeln ('################################################ #####');
writeln ('## Programma: massiv_1 ##');
writeln ('## Naznachenie:v massive podschitat kolichestvo i ##');
writeln ('## otrisatelinux elementov, kratnux dannomy k. ##');
writeln ('## Pazpabotchuk: mazurenko pasha, gryppa TD-2 ##');
writeln ('## Data cozdaniya: 01.02.2010 ##');
writeln ('################################################ #####');
writeln;
writeln('stydent TD2 mazyrenko pasha');
Write('K= ');
ReadLn(K);
WriteLn;
Randomize;
Nneg:=0;
Npos:=0;
For i:=1 to N do
begin
A:=Random(100)-50;
Write(A:5);
If (A>0) and ((A mod K)=0) then INC(Npos);
If (A<0) and ((A mod K)=0) then INC(Nneg);
end;
WriteLn;
WriteLn('The number of positive elements, divisible by ',K,' is ', Npos);
WriteLn('The number of negative elements, divisible by ',K,' is ', Nneg);
ReadLn;
END;
procedure stroki_2;
VAR
S:String;
Ch:Char;
i,N:Integer;
BEGIN
writeln ('################################################ #####');
writeln ('## Programma: stroki_2 ##');
writeln ('## Naznachenie: vvoditisa stroka simvolov i odin ##');
writeln ('## simvol. Podshitat kolichestvo vxogdeni simvola ##');
writeln ('## v stroke ##');
writeln ('## Pazpabotchuk: mazurenko pasha, gryppa TD-2 ##');
writeln ('## Data cozdaniya: 01.02.2010 ##');
writeln ('################################################ #####');
writeln;
writeln('stydent TD2 mazyrenko pasha');
WriteLn('vvedite stroky:');
ReadLn(S);
WriteLn('vvedite simvol:');
ReadLn(Ch);
N:=0;
For i:=1 to Length(S) do
If S=Ch then INC(N);
WriteLn('The number of entries is ',N);
ReadLn;
END;
procedure lineyanaya_3;
var
a,b,c: integer;
p: real;
s: real;
begin
writeln ('################################################ #####');
writeln ('## Programma: lineyanaya_3 ##');
writeln ('## Naznachenie: zadanu storovu treygolnika, naiti ##');
writeln ('## ego ploshad po formyle gerona ##');
writeln ('## Pazpabotchuk: mazurenko pasha, gryppa TD-2 ##');
writeln ('## Data cozdaniya: 01.02.2010 ##');
writeln ('################################################ #####');
writeln;
writeln('stydent TD2 mazyrenko pasha');
writeln('storona: ');
readln(a);
writeln('storona: ');
readln(b);
writeln('storona: ');
readln(c);
p:=(a+b+c)/2;
readln;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
readln;
writeln('ploshadi: ',s:4:6);
readln;
writeln('vivod peremennoi: ',p:4:6);
readln;
end;
BEGIN
B:=TRUE;
WHILE B DO
begin
Writeln;
WriteLn (' ################################################## ###########################################');
WriteLn (' ## 1.v massive podschitat kolichestvo i otrisatelinux elementov, kratnux dannomy k. ##');
WriteLn (' ## radiusa bolshei okryjnoctu k radiusu menshei okryjnoctu ravno D. ##');
WriteLn (' ## 2. vvoditisa stroka simvolov i odin simvol. Podshitat kolichestvo vxogdeni simvola ##');
writeln (' ## v stroke ##');
WriteLn (' ## 3. zadanu storovu treygolnika, naiti ego ploshad po formyle gerona ##');
WriteLn (' ## 4. Exit ##');
WriteLn (' ################################################## ###########################################');
writeLn;
writeLn('zdravstvuite vyberite nomer rezhima!');
readLn(REG);
CASE REG of
1:begin Massiv_1; Note; end;
2:begin stroki_2; Note; end;
3:begin lineyanaya_3; Note; end;
4:B:=FALSE;
else WriteLn('izvinite no vi oshiblis v nomere rezhima');
end;{konec CASE}
end;{konec WHILE}
END.