Составим уравнение это кусочной функции.
По непонятной мне причине, местный редактор формул внутри себя корректно отображает формулу, а при попытке сохранения её в ответ все рушится. Посему формула отправлена во вложение.
var
x, y: real;
begin
Write('Введите х: ');Readln(x);
if x <= -9 then y := 0
else if x < -6 then y := -sqrt(9 - sqr(x + 6))
else if x <= -3 then y := x + 3
else if x < 0 then y := sqrt(9 - sqr(x))
else if x <= 3 then y := 3 - x
else if x < 9 then y := (x - 3) / 2
else y := 3;
Writeln('y=', y)
end.
<h3>PascalABC.NET 3.4.2, сборка 1861 от 09.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
begin
var s:=ReadLines('data.txt').First.Select(t->t.ToDigit)
.Aggregate(BigInteger(1),(a,b)->a*b).Println
end.
<h2>Пример</h2>
10057531504895395788703629698793031096713606951075840000000000000
<h3>Файл data.txt дан во вложении</h3>
1)
2
"1011"
5
"21"
10
"11"
2)
5
"34"
15
"14"
3)4
"123"
6
"43"
8
"33"
12
"23"
24
"13"
текст скрипта
c = 27
ch="3"
for i in 2..36
t = c.to_s(i)
if t[t.length-1..t.length-1] == ch
p i,t
end
end