var integer xf ax real label begin writeln Введите начальное конечное

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
var a,i:integer; x,xf,y,ax:real;
label 1,2;
begin
1:writeln('Введите начальное и конечное значения из интервала [-8;10]');
read(x,xf); //x – начальное, xf – конечное
if (x<-8)or(x>10)or(x<-8)or(x>10) then begin writeln('Ошибка! Конечное или начально значения взяты не из интервала [-8;10]'); goto 1 end;
writeln('Введите количество шагов');
read(a);
ax:=(xf-x)/(a-1); //вычисление размера шага
writeln(' x | y ');
2:
inc(i);// счётчик значений
if (x>=-8)and(x<-4) then y:=-3;
if (x>=-4)and(x<=-3) then y:=2*x+6;
if (x>-3)and(x<=3) then y:=sqrt(9-sqr(x));
if (x>3)and(x<=8) then y:=0.6*x-1.8;
if (x>8)and(x<=10) then y:=3;
writeln(i,' ',x:9:2,' | ',y:9:2);
x:=x+ax;
a:=a-1;
if a<>0 then goto 2; // проверка условия выхода из цикла
end.