program if4;
uses crt;
label nachalo;
type
setstring = set of string;
begin
nachalo: clrscr;
writeln('Дано три целых числа.' );
writeln('Найти количество положительных чисел в исходном наборе.' );
write ( 'Введите числа : ' ); a := ReadArrInteger( 3 );
var kol := 0;
foreach var x in a do if x > 0 then kol += 1;
writeln('количество положительных чисел в исходном наборе = ', kol );
var prod1: string;
var prod2: setstring:= ['да','Да','ДА','yes','yeS','yES','YES','YEs','Yes','yEs','YeS','дА'];
write('Продолжить программу ( да/yes ): ' ); readln ( prod1 );
if prod2.contains (prod1) = true then goto nachalo; // вот эта часть перестатет работать
end.
Посмотрите эту тему Ошибки, происходящие от незнания различия между Read и Readln если непонятно, то ваш readln(prod1) съедает символы #13#10 - возврата каретки и новой строки.
Спасибо Вам.