Примеры

В этом разделе опубликованы решения классических задач на языке ABC. Надеемся, что рассмотрение этих примеров плодотворно скажется на его освоении.

max/2

Программа, вычисляющая максимум из 2 заданных чисел:
max = a - b + b
print max

fact/1

Программа, вычисляющая факториал заданного числа:
fact = fact(t - 1) * t + (1 - t)
print fact

fib/1

Программа, вычисляющая число Фибоначчи с заданным номером
(fib0 = 0, fib1 = 1, ... , fibn = fibn-1 + fibn-2):
y   = a - a + x + x(b)
x   = a - b
eq  = 1 - y
leq = 1 - x
fib = fib(n-1) * leq(1) + fib(n-2) * leq(2) + eq(1)
print fib
Программа, вычисляющая ту же функцию, но значительно быстрее:
y   = a - a + x + x(b)
x   = a - b
eq  = 1 - y
lt  = 1 - x(a+1, b)
fib_fast = f1 - f1 + f0 * eq(0,n) + f1 * eq(1,n) + fib_fast(f0 + f1, f1, n-1) * lt(1,n)
fib = fib_fast(1, 0)
print fib

gcd/2

Программа, вычисляющая наибольший общий делитель 2 чисел:
nul = 0
eq  = 1 - ((a-b) + (b-a))
gcd = nul(a) + b*eq(0) + gcd(b%a)*(1-eq(0))
print gcd