]]> ]]>

gnuplot

Реализация языка программирования gnuplot

Единственная реализация gnuplot, написанная на C.

gnuplot распространяется под специальной свободной лицензией, которая позволяет копирование и модификацию исходного кода, но ограничивает распространение измененного кода: все изменения должны быть возвращены в проект как патчи.

Примеры:

Hello, World!:

Пример для версий gnuplot 4.2.2
print 'Hello, World!'

Факториал:

Пример для версий gnuplot 4.2.2

Этот пример состоит из двух файлов — factorial.gp и run.gp, и эмулирует цикл с помощью команд load, reread и if. Используется встроенный оператор факториала. Этот оператор возвращает значение с плавающей точкой, поэтому для вывода используется функция gprintf, которая убирает нули после запятой и саму десятичную запятую.

### factorial.gp
print a, '! = ', gprintf("%.0f", a!)
a = a + 1
if (a <= 16) reread

### run.gp
#!/usr/bin/env gnuplot
a = 0
load "factorial.gp"

Числа Фибоначчи:

Пример для версий gnuplot 4.2.2

Используется итеративное определение чисел Фибоначчи. В gnuplot этой версии нет циклов, поэтому цикл имитируется вызовом другого файла. Если печатать числа отдельными командами, они будут выводиться на отдельных строках, поэтому для накопления вычисленных чисел используется строка, которая выводит на печать все сразу после конца цикла.

### run.gp
#!/usr/bin/env gnuplot
i = 1
a = 1
b = 1
res = ''
load "fibonacci.gp"
print res, '...'

### fibonacci.gp
res = res . a . ', '
c = a
a = b
b = b+c
i = i+1
if (i <= 16) reread

Комментарии

]]>

blog comments powered by Disqus

]]>

Работа программистам