EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

aribas - Online în cloud

Rulați aribas în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda aribas care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


aribas - Interpret aritmetic multiprecizie

REZUMAT


aribas [Opțiuni] [ari-file> [arg1>arg2> ...]]

Această pagină de manual a fost scrisă pentru Debian, deoarece software-ul original nu conținea un om
.

DESCRIERE


Aribas este un interpret interactiv potrivit pentru aritmetica cu numere întregi mari și
aritmetică cu virgulă mobilă multiprecizie. Are o sintaxă similară cu Pascal sau Modula-2,
dar conține și caracteristici din alte limbaje de programare precum C, Lisp, Oberon.

UTILIZARE


Cel mai simplu mod de utilizare aribas este ca un calculator pentru aritmetică (întreg mare). După
aribas este pornit, afișează un prompt ==> și este gata să accepte intrarea. Pur și simplu introduceți
expresia pe care doriți să o calculați, urmată de un punct și apoi apăsați RETURN pentru
exemplu

==> 123 + 456*789.

Aribas răspunsuri

-: 359907

Simbolul -: introduce rezultatul.
IMPORTANT. Pentru a marca sfârșitul introducerii, trebuie să tastați întotdeauna un punct „.” și apoi
apăsați RETURN.

Puteți atribui rezultatul unui calcul unei variabile, ca în

==> F6 := 2**64 + 1.
-: 18446_74407_37095_51617

Aceasta calculează al șaselea număr Fermat (** denotă exponentiație) și o atribuie
variabil F6 (Rețineți că aribas este sensibil la majuscule și minuscule, deci nu este același cu f6). Mai tarziu
puteți folosi această variabilă de exemplu în expresie

==> 123**(F6 - 1) mod F6.
-: 688_66214_58712_63971

care arată (prin teorema lui Fermat) că F6 nu este un număr prim.
Cele mai recente trei rezultate sunt stocate în pseudovariabile _, __, și ___. Pentru
exemplu, puteți stoca ultimul rezultat în variabila x prin comandă

==> x := _.
-: 688_66214_58712_63971

După cum puteți vedea în exemplele de mai sus, aribas folosește liniuța de subliniere _ pentru a structura ieșirea
de numere întregi mari (>= 2**32). De asemenea, pentru introducerea numerelor întregi puteți folosi liniuța de subliniere,
singura condiție este ca imediat înainte și după liniuță să existe cifre,
exemplu:

==> z := 123_4567_890.
-: 1234567890

Aici rezultatul nu conține liniuță de subliniere, ceea ce arată că z este mai mic de 2**32.

Aribas are mai multe funcții încorporate pentru factorizare, de exemplu rho_factorize, Care
folosește algoritmul rho al lui Pollard.

==> rho_factorize(F6).

de lucru..
factor găsit după 512 iterații

-: 274177

Pentru a găsi cofactorul rămas, dați comanda

==> x := F6 div _.
-: 6728_04213_10721

Pentru a testa dacă acest factor este prim, testul probabilistic al lui Rabin rab_primetest poate fi
aplicat:

==> rab_primetest(x).
-: Adevărat

Funcția rho_factorize este bun pentru a găsi factori mici (să zicem până la 10 zecimale
cifre); pentru sarcini de factorizare mai complicate, un algoritm mai puternic precum
sită pătratică qs_factorize ar trebui folosit

==> qs_factorize(2**128+1).

(În funcție de puterea computerului dvs., va dura câteva secunde până la câteva minute
pentru a obține un factor prim al celui de-al 7-lea număr Fermat.)

Mod de control structurile
pentru buclă și în timp ce buclă înăuntru aribas au o sintaxă ca în Modula-2. De exemplu, cel
următoarea secvență de comandă calculează factorialul de 100.

=> x := 1;
pentru i: = 2 până la 100
x := x*i;
sfârși;
x.

După cum puteți vedea în acest exemplu, intrarea se poate extinde pe mai multe linii.

Cele de mai sus pentru bucla este echivalentă cu următoarea în timp ce buclă

=> x := 1; i := 2;
în timp ce i <= 100 fac
x := x*i;
inc(i);
sfârși;
x.

Construcția de ramificare
if ... apoi ... elsif ... altfel ... capăt
are, de asemenea, aceeași sintaxă ca în Modula-2.

Multiprecizie plutitor punct aritmetic
Aribas acceptă diferite tipuri de numere în virgulă mobilă care sunt reprezentate intern
cu mantise de diferite lungimi de biți:

single_float 32 de biți
double_float 64 de biți
long_float 128 de biți

și câteva precizii mai mari până la o limită dependentă de implementare, de obicei 1024 sau
5120 de biți, care pot fi determinați de funcție max_floatprec(). În mod implicit, când
calculând cu numere de tip de date real, sunt folosite single_floats. Aceasta corespunde unui
precizie de la 9 la 10 zecimale. O precizie de 5120 de biți corespunde la peste 1500
zecimale.

Precizia poate fi modificată folosind funcția set_floatprec. Funcția ia unul
argument întreg, care este precizia dorită în biți. Este rotunjit automat la
următoarea valoare disponibilă mai mare. De exemplu, după

==> set_floatprec(100).
-: 128

precizia în virgulă mobilă este de 128 de biți și puteți calcula

==> arctan(sqrt(3)).
-: 1.04719_75511_96597_74615_42144_61093_16762_8

==> _/pi.
-: 0.33333_33333_33333_33333_33333_33333_33333_33

Utilizator definit funcții
Utilizatorul își poate defini propriile funcții. Un exemplu tipic arată ca

==> function fac(n: integer): intreg;
a fost
x,i: întreg;
începe
x := 1;
pentru i := 2 la n do
x := x*i;
sfârși;
returnează x;
Sfârşit.

Dacă ați introdus corect acest lucru, aribas ecou numele funcției

-: fac

si de acum incolo puteti folosi fac în același mod ca o funcție încorporată, de ex

==> fac(32).
-: 2_63130_83693_36935_30167_21801_21600_00000

Rețineți că în definițiile funcției toate variabilele utilizate trebuie să fie declarate explicit,
întrucât la nivelul superior al aribas variabilele interpretor pot fi create pur și simplu de
sarcinile. Iată un alt exemplu, care arată alte tipuri de date acceptate de
aribas:

==> funcția sqrt_list(n: întreg): matrice de real;
a fost
vec: matrice[n] de real;
i: întreg;
începe
pentru i := 1 la n do
vec[i-1] := sqrt(i);
sfârși;
return vec;
Sfârşit.

Această funcție returnează o matrice de rădăcini pătrate ale numerelor întregi de la 1 la n, pentru
exemplu

==> lista_sqrt(10).
-: (1.00000000, 1.41421356, 1.73205081, 2.00000000,
2.23606798, 2.44948974, 2.64575131, 2.82842712, 3.00000000,
3.16227766)

Într-un proiect de programare mai mare în care aveți nevoie de mai multe funcții nu le-ați introduce
direct la aribas prompt, dar pregătiți definițiile funcției cu un text extern
editor și salvați-le într-un fișier cu extensia .ari , De exemplu, abcd.ari . Acest fișier
poate fi apoi încărcat de aribas folosind comanda

=> încărcare ("abcd").

Dacă există o eroare de sintaxă în fișier, veți primi un mesaj de eroare al formularului

eroare la rândul <= 23 a fișierului încărcat
dacă: sfârșitul așteptat

care vă spune (în acest exemplu) că există o eroare în if construi în linia 23 sau
mai devreme în dosar. (Rețineți că mesajele de eroare nu sunt uneori foarte precise.) Dvs
apoi poate corecta eroarea și încărca fișierul din nou.

Online ajutor
Comanda

==> simboluri(aribas).

returnează o listă cu toate cuvintele cheie și numele funcțiilor încorporate ale aribas. Această listă are
aproximativ 200 de intrări și începe și se termină după cum urmează:

(ARGV, _, __, ___, abs, alloc și, arccos, arcsin, arctan, arctan2, aribas, array, atof,
atoi, începe, binar, bit_and, bit_clear, bit_length, ...... , mai jos, toupper,
transcriere, adevărat, trunchiere, tip, utilizator, var, versiune, în timp ce, scrie, write_block, write_byte,
scrie)

Pentru majoritatea simbolurilor din această listă, puteți obține un scurt ajutor online folosind funcția
Ajutor(). De exemplu, comanda

==> ajutor (ARGV).

oferă o informație despre variabila încorporată ARGV, în timp ce

==> ajutor (în timp ce).

descrie sintaxa lui în timp ce buclă. Dacă aveți nevoie de mai multe informații decât cele conținute
în ajutorul online, consultați documentația care se găsește în /usr/share/doc/aribas.

Cum la ieşire
Pentru a pune capăt unui aribas sesiune, tip ieşire de la aribas prompt

==> ieșire

și apoi apăsați tasta RETURN (ENTER).

Dacă nu vrei să pleci aribas, dar doresc să iasă dintr-o buclă infinită sau a
calcul care durează prea mult, tastați CONTROL-C (dacă rulați aribas din cadrul
Emacs, trebuie să apăsați CONTROL-C de două ori). Acest lucru va opri (în cele mai multe cazuri) curentul
calcul si revenire la aribas prompt.

Când nu utilizați interfața Emacs, ci versiunea de linie de comandă a aribas, Vă
uneori ajungeți în următoarea situație: O linie anterioară conține o eroare de tastare,
dar nu te poți întoarce la acea linie pentru a o corecta. În acest caz, ar trebui să tastați pur și simplu a
punct '.' , urmat de RETURN. Veți primi un mesaj de eroare pe care îl puteți face în siguranță
ignora, și un nou prompt ==> apare, permițându-vă să încercați din nou.

COMMAND LINE ARGUMENTE


aribas [Opțiuni] [ari-file> [arg1>arg2> ...]]

Opțiuni
Sunt disponibile următoarele opțiuni:

-q (mod silențios) Suprimă toate mesajele de pe ecran (nr. versiune, notificare privind drepturile de autor,
etc.) când aribas este început

-v (mod verbal, implicit) Nu suprimă mesajele pe ecran când aribas is
a început.

-c
aribas își întrerupe propria linie atunci când scrie pe ecran. În mod normal presupune
că ecranul (sau fereastra în care aribas rulează) are 80 de coloane. Cu -c
opțiunea puteți seta un alt număr, care trebuie să fie între 40 și 160 (în zecimal
reprezentare). De exemplu, dacă alergi aribas într-o fereastră Xterm cu 72
coloane, utilizați opțiunea -c72 (sau -c 72, spațiul dintre -c și număr este
opțional).

-m
Aici este un număr (în reprezentare zecimală) între 500 și 32000. Aceasta
numărul indică câți Kilobytes de RAM aribas ar trebui să folosească pentru aribas morman.
Valoarea implicită depinde de opțiunile utilizate când aribas a fost compilat. De obicei,
sub UNIX sau LINUX este de 6 Megaocteți, corespunzător lui -m6000

-h of ajutor dosar>
Ajutorul online al aribas depinde de un fișier aribas.hlp care ar trebui să fie situat în
intervalul variabilei de mediu PATH. Dacă nu este cazul, puteți specifica
calea exactă a fișierului de ajutor cu opțiunea -h. Dacă de exemplu dosarul
aribas.hlp este în director / Usr / local / lib, utilizați opțiunea -h / Usr / local / lib
(spațiul de după -h nu este necesar). Opțiunea -h poate fi folosită și dacă ajută
fișierul are un alt nume. Dacă fișierul de ajutor se numește help-aribas și se află în fișierul
directorul /home/joe/ari, utilizați -h/home/joe/ari/help-aribas.

Cu un pachet Debian instalat corect de aribas nu ar trebui să fie necesar
utilizați această opțiune.

-p
Cu această opțiune puteți specifica o cale de căutare pentru încărcarea fișierelor aribas sursă
cod. poate fi fie calea (absolută) a unui director sau
mai multe căi separate prin două puncte. Să presupunem că ai sunat aribas cu
optiunea

-p/usr/local/lib/aribas:~/ari/exemple

și că directorul dvs. de acasă este /home/alice/. Apoi comanda

=> încărcare ("factor").

va căuta mai întâi fișierul factor.ari în directorul curent, apoi în
directorul /usr/local/lib/aribas și în final în /home/alice/ari/examples.

-b Modul lot la încărcarea unui aribas cod sursă din linia de comandă, vezi
de mai jos.

Opțiunile cu o literă care nu necesită argumente pot fi îmbinate, de exemplu

aribas -q -b

este echivalent cu

aribas -qb

Mai departe comandă linie argumente

Următorul argument din linia de comandă după opțiuni este interpretat ca numele a
fișier cu aribas cod sursa. Dacă numele fișierului are extensia .ari, aceasta
extensia poate fi omisă. Fișierul este încărcat ca și cum ar fi comanda sarcină(" ")
fusese dat după începerea aribas de la aribas prompt. Dacă fișierul nu este
găsit în directorul curent este căutat în directoarele specificate de
opțiunea -p. Dacă a fost dată opțiunea -b, fișierul este încărcat și executat.
După aceea aribas iese fără să arate promptul. Dacă fișierul nu poate fi încărcat
complet din cauza unei erori, aribas iese imediat după mesajul de eroare.

...
Când urmează argumente suplimentare în linia de comandă , acestea sunt colectate (ca
coarde) împreună cu în vector ARGV din care se poate accesa de la
în aribas. Exemplu: Dacă suni aribas cu linia de comandă

pornire aribas 4536 eisenstein

iar directorul curent conține fișierul startup.ari, atunci aribas îl încarcă și
vectorul ARGV are forma

==> ARGV.
-: ("pornire", "4536", "eisenstein")

Dacă aveți nevoie de unele argumente ca numere și nu ca șiruri de caractere, le puteți transforma prin
a ta (Sau atof); în exemplul nostru

==> x := atoi(ARGV[1]).
-: 4536

o va face. Lungimea vectorului ARGV poate fi determinat de lungime (ARGV).

ALERGARE ARIBAS ÎN EMACS


Poți alerga aribas din Emacs dând comanda (în minibuffer-ul Emacs)

Mx run-aribas

(Dacă nu aveți o cheie META, utilizați ESC x în loc de Mx) Apoi aribas va fi încărcat în
o fereastră Emacs cu numele *aribas* și vă puteți edita intrarea în aribas cu de obicei
Comenzi Emacs.

Dacă introducerea dvs. se termină cu punct '.' și apăsați RETURN, acesta este trimis către aribas. Dacă
cu toate acestea, introducerea dvs. completă nu se termină cu un punct (de exemplu, ca răspuns la a
readln), intrarea este trimisă către aribas prin Cj (Control-j) sau Cc RETURN.

Dacă doriți să repetați o intrare anterioară, Mp (sau ESC p) trece înapoi prin intrare
istoric, iar Mn (sau ESC n) circulă înainte.

Un Control-C este trimis către aribas de Cc Cc (apăsați Cc de două ori).

De asemenea, este posibil să începeți aribas de la Emacs cu argumente de linie de comandă. Pentru asta
scopul comanda

Cu Mx run-aribas

trebuie dat. Apoi un prompt

run-aribas: aribas

apare în Minibuffer-ul Emacs și puteți completa linia de comandă, de exemplu

run-aribas: aribas startup 4536 eisenstein

(Vezi deasupra).

CONFIGURARE FILE


Opțiuni pentru alergare aribas poate fi specificat și folosind un fișier de configurare cu nume
.arirc. Aribas caută un fișier de configurare în următoarea ordine:

1) directorul curent
2) directorul principal al utilizatorului

Există o a treia posibilitate: puteți defini o variabilă de mediu ARIRC conținând
numele fișierului de configurare (care poate fi diferit de .arirc), inclusiv complet
cale.

În fișierul de configurare puteți specifica toate opțiunile de linie de comandă descrise mai sus care
începe cu un semn -, totuși trebuie utilizată o linie separată pentru fiecare opțiune. Linii
începând cu caracterul # sau liniile goale sunt ignorate. Pe lângă opțiuni
descris mai sus, fișierul de configurare poate conține aribas cod sursa. În acest scop
trebuie să existe o citire de rând

-init

Apoi totul după această linie este tratat ca aribas cod sursă și executat când aribas
este început.

Existența unui fișier de configurare pentru aribas nu exclude posibilitatea de a da
argumentele liniei de comandă. Dacă o opțiune (de exemplu, opțiunea -m) este specificată atât în
fișierul de configurare și linia de comandă dar cu valori diferite, apoi specificația
la linia de comandă este valabilă. În mod analog, o opțiune -v de pe linia de comandă înlocuiește un -q
opțiunea din fișierul de configurare. Dacă există cod -init în fișierul de configurare și un
argument la linia de comandă, apoi codul -init este executat mai întâi și
după aceea este încărcat și codul său executat.

Utilizați aribas online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad