Держите:// Вариант 1 по следам алгоритма Голосова.sdate:=CURRENTDATETIME;t:=1000;WHILE t>0 DO BEGIN   n:=-2; nn:=2; k:=0.2;             ssss:=''; i:=nn; jj:=n; REPEAT  j:=jj;  REPEAT   ssss:=ssss+FORMAT(j);   j+=k;  UNTIL j>nn;  ssss:=ssss+'\';  i-=k;  jj+=k; UNTIL i<n;          t-=1;END;message('Для диапазона от '+format(n)+' до '+format(nn)+' с шагом '+format(k)+'\Результат:'+'\'+ssss);edate:=CURRENTDATETIME;// Вариант 2 тот, что мойsdate1:=CURRENTDATETIME;t:=1000;WHILE t>0 DO BEGIN n:=-2; nn:=2; k:=0.2; s:=''; ss:=''; i:=n; IF (n<nn) AND (k>0) THEN BEGIN  WHILE i<=nn DO BEGIN   ss:=FORMAT(i);   s:=s+ss;   i+=k;  END;  ss:='';  i:=n;  sss:='';  WHILE i<=nn DO BEGIN   ss:=FORMAT(i);   sss:=sss+s+'\';   s:=COPYSTR(s,STRLEN(ss)+1,STRLEN(s)-STRLEN(ss));   i+=k;  END; END ELSE  sss:='Некорректные исходные данные';t-=1;END;message('Для диапазона от '+format(n)+' до '+format(nn)+' с шагом '+format(k)+'\Результат:'+'\'+sss);edate1:=CURRENTDATETIME;MESSAGE('Вариант 1: '+FORMAT((edate-sdate))+'\Вариант 2: '+ FORMAT((edate1-sdate1)));Они в таком виде даны, чтоб быстродействие сравнить.переменные:Name	DataType	Subtype	Lengthn	Decimal		nn	Decimal		k	Decimal		i	Decimal		j	Decimal		jj	Decimal		s	Text		1024ss	Text		30sss	Text		1024ssss	Text		1024z	Decimal		t	Integer		sdate	DateTime		edate	DateTime		sdate1	DateTime		edate1	DateTimeВ исходном варианте данные о диапазоне и шаге из формы запрашиваются, просто листинг так удобнее показывать .