Було багато питань щодо калькуляторів; однак, не здається, що будь-які пов'язані із застосуванням графічного калькулятора.
Змагання
Ви повинні написати повну програму, яка приймає декілька формул як вхід зі STDIN і графікує їх до STDOUT. Введення прийматиме форму f1(x)=x^2-x-1
. Там буде f
супроводжуватися числом 0-9 (включно), а потім (x)=
, а потім по формулі на графіку. Ваша програма повинна мати можливість приймати вклад, графік, більше вводити, графік тощо.
Це код гольфу.
Ваш графік повинен мати діапазон осі X від -5 до 5, з роздільною здатністю не менше однієї точки кожні 1/2 одиниці. Вимоги по осі Y однакові. Це може здатися невеликим діапазоном порівняно із сучасними калькуляторами, але це, швидше за все, буде тривіально збільшувати це. На графіку повинна бути намальована вісь на них із відмітками у вигляді +
цілих чисел.
Формулу слід оцінювати за нормальним порядком роботи. У цих формулах не буде жодних вертикальних асимптот / невизначених областей. Змінна завжди буде x. Якщо дві формули введені з однаковим номером рівняння, найдавнішу слід стерти та замінити новою формулою. Пусті формули повинні оцінюватися до нуля. Оскільки цілком ймовірно, що формула не завжди дає хороший кратний 1/2, ви повинні округлити до найближчої 1/2.
Коли формула схоплена, її рядок повинен формуватися з числа формули. Коли лінія перетинає вісь, вісь слід намалювати зверху. Коли дві лінії перетинаються один з одним, не має значення, що зображено.
Приклад введення
f1(x)=x+1
Вихідні дані
+ 1
| 1
+ 1
| 1
+ 1
| 1
+ 1
|1
+
1|
+-+-+-+-+-+-+-+-+-+-+
1 |
1 +
1 |
1 +
1 |
1 +
1 |
1 +
|
+
Вхідні дані
f2(x)=(x^2)^0.25
Вихідні дані
+ 1
| 1
+ 1
| 1
+ 1
| 1
2222 + 1 2222
222 |1 222
22 + 22
2|2
+-+-+-+-+-+-+-+-+-+-+
1 |
1 +
1 |
1 +
1 |
1 +
1 |
1 +
|
+
Вхідні дані
f1(x)=-x
(зауважте, ваша програма може відхилити цей вхід і лише за винятком 0-x або x * -1, але це має бути задокументовано)
Вихідні дані
1 +
1 |
1 +
1 |
1 +
1 |
2222 1 + 2222
2221 | 222
22 + 22
2|2
+-+-+-+-+-+-+-+-+-+-+
|1
+ 1
| 1
+ 1
| 1
+ 1
| 1
+ 1
| 1
+ 1
y*0.5
щобy/2
і позбутися від двох персонажів? Я не знаю Рубі, тому я, можливо, не прав.