Re: хороший калькулято р
Олег Цимаенко ts...@lafox.net writes: из консольных пользуюсь bc $ sudo aptitude install bc $ echo scale=50; 4*a(1) | bc -l 3.14159265358979323846264338327950288419716939937508 В bc проблемы с использованием разных систем (hex, dec, bin и. т. д.) в одном выражении. И автор топика в курсе этой проблемки, поэтому и спросил о чем-то другом. В bc поменять систему ввода (ibase) и вывода (obase) ты можешь, но глобально только. Но, наверное, можно написать свой скриптик-обвязку, читающий ввод. Потом гнать введенное выражение типа 0b000+0xFFF234+0o34267 через фильтр, который будет искать числа, которые имеют разные системы счисления (например, строчки типа 0x..., 0b...), потом выделить то, что после 0x, дергая bc, чтобы перевел все десятичную систему (ну или к любой другой одной базе) и сделать замену. Из фильтра все направляется в bc. Ну и завершает все -- вывод результата. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: хороший калькулято р
On Mon, Dec 21, 2009 at 10:36:28AM +0300, Ed wrote: не подскажет ли кто хороший калькулятор? на ncurses, консольный, графический - не важно. Сначала я пользовался mupad'ом, потом питоном, теперь zcalc'ом. url zcalc'а? http://www.zsh.org -- WBR, wRAR (ALT Linux Team) Powered by the ALT Linux fortune(6): thresh империя наносит ответные зависимости signature.asc Description: Digital signature
Re: хороший калькулято р
Stanislav Maslovski stanislav.maslov...@gmail.com writes: Вот полезняшка есть funcs.bc. Выложу весь файлик сюда. Он не такой длинный. Стартовать можно так bc -ql funcs.bc. В сети можно взять всякие пеобразования еще типа из разных величин: унции, мм, градусы и т. д. Тут найдешь функцию pow (x, y). [skipped] Спасибо, полезная штука. А ссылка на источник сохранилась? Не сохранилась, так как давно дело было, но я поискал. Кажется, я это взял с http://www.phodd.net/cyrek/gnu-bc/ . На это место есть ссылка с Wikipedia по bc. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: хороший калькулято р
On Sat, Dec 05, 2009 at 02:02:01PM +0300, Ed wrote: Только что открыл для себя scilab Ага, и maxima туда же. ну это всё-таки совсем из пушки... А scliab нет? :) Я, впрочем, его не смотрел. -- WBR, wRAR (ALT Linux Team) Powered by the ALT Linux fortune(6): stalker37 Вот циска - это правильный длинк... signature.asc Description: Digital signature
Re: хороший калькулято р
On Fri, Dec 04, 2009 at 07:14:40PM +0300, Evgeny M. Zubok wrote: Ed sp...@yandex.ru writes: bc сейчас и пользую, претензии есть. во-первых работа с разными основаниями счисления неудобна, во-вторых не раз натыкался на: 2^(1/2) Runtime warning (func=(main), adr=9): non-zero scale in exponent 1 Ну так в документации явно написано, что показатель степени должен быть целочисленным. Для возведения в произвольную степень надо написать функцию e в степени ln. Вот полезняшка есть funcs.bc. Выложу весь файлик сюда. Он не такой длинный. Стартовать можно так bc -ql funcs.bc. В сети можно взять всякие пеобразования еще типа из разных величин: унции, мм, градусы и т. д. Тут найдешь функцию pow (x, y). [skipped] Спасибо, полезная штука. А ссылка на источник сохранилась? -- Stanislav -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: хороший калькулято р
On Sat, Dec 05, 2009 at 02:20:44PM +0300, Ed wrote: Andrey Rahmatullin wrote: Ага, и maxima туда же. сразу вопрос - как сказать, что я приемлю результат только в виде числа? например (%pi^ev(%e,numer)),numer; выглядит черезчур громоздко. (%i1) numer: true$ %enumer: true$ display2d: false$ (%i4) %pi^%e-%e^%pi; (%o4) -0.68153491441823 -- Stanislav -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
хороший калькулято р
не подскажет ли кто хороший калькулятор? на ncurses, консольный, графический - не важно. пока для меня идеалом был калькулятор из dos navigator: - 2+2*2=6 - воспринимает выражения; - 10h+0b10=18 - понимает смешение разных оснований счисления в одном выражении; - показывает результат в нескольких системах счисления сразу; - pi/atn(1)~4, e^ln(2)~2 - умеет не только 4 арифметических действия; - результат считается по мере ввода выражения (не критично - но удобно же). -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: хороший калькулято р
Fri, Dec 04, 2009 at 16:13 +0300 Ed воздействовал на энтропию: bc, возможно, подойдёт. Сам я его в пределах 4-х действий пользую, да и для скриптов он зело удобен. Но в документации про всякие синусы что-то было. bc сейчас и пользую, претензии есть. во-первых работа с разными основаниями счисления неудобна, во-вторых не раз натыкался на: 2^(1/2) Runtime warning (func=(main), adr=9): non-zero scale in exponent 1 Напиши свой :-) В Unix programming environment Кернигана-Пайка есть пример, как сделать что-то похожее. Ну, или maxima пускать, например. -- Best regards, Sergey Korobitsin Arta Software, Astana, KZ mailto:undertaker{at}arta.kz xmpp:underta...@jabber.arta.kz -- Условно-бесплатная программа — это такая программа, которую ставишь бесплатно, а потом тебе за неё дают условно… -- aceler в http://lj.rossia.org/users/k001/659660.html?thread=4968140#t4968140 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: хороший калькулято р
Fri, 04 Dec 2009 16:22:38 +0300 Ed sp...@yandex.ru wrote: x_empty_dragon wrote: python? 2+2^(1/2) 4 2+2.0^(1.0/2) Traceback (most recent call last): File stdin, line 1, in module TypeError: unsupported operand type(s) for ^: 'float' and 'float' 0x16+0b10 File stdin, line 1 0x16+0b10 ^ SyntaxError: invalid syntax zcalc: 1 2+2**(1.0/2) 3,41421 -- Best regards, Alexander GQ Gerasiov Contacts: e-mail:g...@cs.msu.su Jabber: g...@jabber.ru Homepage: http://gq.net.ru ICQ: 7272757 PGP fingerprint: 04B5 9D90 DF7C C2AB CD49 BAEA CA87 E9E8 2AAC 33F1 -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: хороший калькулято р
Ed sp...@yandex.ru writes: bc сейчас и пользую, претензии есть. во-первых работа с разными основаниями счисления неудобна, во-вторых не раз натыкался на: 2^(1/2) Runtime warning (func=(main), adr=9): non-zero scale in exponent 1 Ну так в документации явно написано, что показатель степени должен быть целочисленным. Для возведения в произвольную степень надо написать функцию e в степени ln. Вот полезняшка есть funcs.bc. Выложу весь файлик сюда. Он не такой длинный. Стартовать можно так bc -ql funcs.bc. В сети можно взять всякие пеобразования еще типа из разных величин: унции, мм, градусы и т. д. Тут найдешь функцию pow (x, y). ### Funcs.BC - a large number of functions for use with GNU BC ## Not to be regarded as suitable for any purpose ## Not guaranteed to return correct answers scale=20; define pi(){return(a(1)*4)} ; pi = pi() e = e(1) define phi(){return((1+sqrt(5))/2)} ; phi = phi() define psi(){return((1-sqrt(5))/2)} ; psi = psi() ### Reset base to ten define resetbase() { ibase=1+1+1+1+1+1+1+1+1+1;obase=ibase; } d0=0;d1=1;d2=2;d3=3;d4=4;d5=5;d6=6;d7=7;d8=8;d9=9 d10=10;d11=11;d12=12;d13=13;d14=14;d15=15;d16=16;d17=17;d18=18;d19=19 d20=20;d21=21;d22=22;d23=23;d24=24;d25=25;d26=26;d27=27;d28=28;d29=29 d30=30;d31=31;d32=32;d33=33;d34=34;d35=35;d36=36;d37=37;d38=38;d39=39 ### Integer and Rounding # Round to next integer nearest 0: -1.99 - 1, 0.99 - 0 define int(x) { auto os;os=scale;scale=0;x/=1;scale=os;return(x) } # Round down to integer below x define floor(x) { auto xx;xx=int(x);if(xxx)xx-=1;return(xx) } # Round up to integer above x define ceil(x) { return(-floor(-x)) } # Fractional part of x: 12.345 - 0.345 define frac(x) { return(x-floor(x)) } # Absolute value of x define abs(x) { if(x0)return(-x)else return(x) } # Sign of x define sgn(x) { if(x0)return(-1)else if(x0)return(1);return(0) } # Round x up to next multiple of y define rup(x,y) { return(y*ceil(x/y)) } # Round x down to previous multiple of y define rdn(x,y) { return(y*floor(x/y)) } # Round x to the nearest multiple of y define rnd(x,y) { return(y*floor(x/y+.5)) } # Find the remainder of x/y define rem(x,y) { return(x-rdn(x,y)) } # Greatest common divisor of x and y define gcd(x,y) { auto r;while(y0){r=rem(x,y);x=y;y=r};return(x) } # Lowest common multiple of x and y define lcm(x,y) { return (x*y/gcd(x,y)) } # Output function - prints a and b as a fraction in smallest terms define sft(a,b) { #smallest fractional terms auto c,d,e c=gcd(a,b); d=int(a/c); e=int(b/c); print a,/,b, = ,d,/,e,\n; return(d/e) } ### Exponential / Logs / Trig # Raise x to the y-th power define pow(x,y) { auto yy;yy=int(y) if (y==yy) { return(x^yy); } return( e(y*l(x)) ); } # y-th root of x [ x^(1/y) ] define root(x,y) { auto iy,iyy; iy=1/y;iyy=int(iy) if (iy==iyy) { return(x^iyy); } scale+=5;y=e(l(x)/y);scale-=5;y=y/1+10^-scale x=int(y);if(x==y)y=x return( y ); } # workhorse function for powrem define powrem_(x,y,m) { auto r, y2; if(y==0)return(1) if(y==1){if(xm){return(x)}else{return(x-m*(x/m))}} y2=y/2 r=powrem_(x,y2,m); if(r=m)r%=m r^=2 ; if(r=m)r%=m if(2*y2!=y){r*=x ; if(r=m)r%=m} return( r ) } # Raise x to the y-th power, modulo m define powrem(x,y,m) { auto os,r; os=scale;scale=0 if(x0){ print powrem: base is negative, rectifying...\n x*=-1 } if(x!=x/1){ print powrem: base is not an integer, truncating...\n x/=1 } if(y0){ print powrem: exponent is negative, rectifying...\n y*=-1 } if(y!=y/1){ print powrem: exponent is not an integer, truncating...\n y/=1 } if(m0){ print powrem: modulus is negative, rectifying...\n m*=-1 } if(m!=m/1){ print powrem: modulus is not an integer, truncating...\n m/=1 } if(m==0){ print powrem: modulus is zero - doing full calculation!\n return x^y } r=powrem_(x,y,m) scale=os return( r ) } # Logarithm of y, base x: log(2, 32) = 5 because 2^5 = 32 define log(x,y) { return(l(y)/l(x)) } # Sine #efine s(x) { predefined } # Cosine #efine c(x) { predefined } # Tangent define t(x) { auto c;c=c(x);if(c==0)c+=10^-scale;return(s(x)/c) } # Secant define sc(x) { return(1/s(x)) } # Cosecant define cs(x) { return(1/c(x)) } # Cotangent define ct(x) { auto s;s=s(x);if(s==0)s+=10^-scale;return(c(x)/s) } # Arcsine define as(x) { if(abs(x)==1)return(2*a(1)*x)else return( a(x/sqrt(1-x^2)) ) } # Arccosine define ac(x) { return 2*a(1)-as(x) } # Arctangent (one argument) #efine a(x) { single argument arctangent is predefined } # Arctangent (two arguments) define at(x,y) { auto p; if(x==0y==0)return(0) p=(1-sgn(y))*2*a(1)*(2*(x=0)-1) if(x==0||y==0)return(p) return(p+a(x/y)) } # Arcsecant define asc(x) { return( a(x/sqrt(x^2-1)) ) } # Arccosecant define acs(x) { return( asc(x)+2*a(1)*(sgn(x)-1) ) } # Arctangent define act(x) { return( a(x)+2*a(1) ) } # Hyperbolic Sine define sh(x) { auto
Re: хороший калькулято р
On Fri, Dec 04, 2009 at 09:44:33AM +, Nicholas wrote: Только что открыл для себя scilab Ага, и maxima туда же. -- WBR, wRAR (ALT Linux Team) Powered by the ALT Linux fortune(6): raorn dottedmag, wRAR, rossMoHaX: мне насрать сколько будет питонов если оно не будет выносить мне пол системы signature.asc Description: Digital signature