You are on page 1of 3

Yasac - računarski program namjenjen matematičoj algebri

Osnovni pojmovi
Osnovni element u programu je lista. Član liste je objekat koji može biti broj, karakter,
string, pa čak i funkcija. Svi elementi se čuvaju kao sintaksiči izraz, a ne prema svojoj
vrijednosti.
Program čeka na komandu korisnika izrazom In>, rezultat slijedi poslije Out>.
Rezultat predhodnog izraza se predstavlja u tekućm izrazu sa %. Npr.:
In>N(Sqrt(2)/2)
In>ArcCos(%)
kao rezultat predhodnog se dobija
Out>0.7854
a to je jednako Pi/4.
Dodjela vrijednosti je operatorom := .
Program razlikuje velika i mala slova, tj. A je različto od a.
Izlaz iz programa je naredbom quit ili Exit().
Restartovanje programa komandom restart.
Program pamti predhodne sesije u fajlu history.log.
Svaka komanda treba da se završava sa ; , obavezno u skriptu, dok u konzoli ne mora.
Konstanta π je predefinisana kao Pi.
Funkcija se definiše kao ime(parametar1, param2, ...):=izraz sa parametrima. Moguće je
preklapanje funkcija, pri čmu se moraju razlikovati parametri funkcije.
Programski blok počnje sa [, a završava sa ], ( [programski blok] ).
Nastavak izraza u sljedećm reduse označva sa \ , npr.:
In> While(i<=20) [ L:= L*i; \
i := i+2; ];
Out> True;
Čest oblik sintakse je fja(x) y. Ovim se podrazumjeva primjena funkcije fja na y, tj.
fja(y).
Pomoć se može potražiti naredbom ??, ili ?naredba.

Brojevi
Brojevi se reprezentuju:
• U eksponencijalnom obliku, npr. 12.5e-6
• Izrazom sa decimalnom tačom -9.879
• Uobliku razlomka
Program se trudi da zadrži vrijednost u obliku u kom su predstavljeni parametri izraza.
Naredbom N(x), x se prikaže u obliku sa pokretnim zarezom, npr.
In>N(4/3)
Out>1.3333333333 .
Znakovni podaci
Vrijednost objekta moze biti znakovnog tipa, gdje je manipulisanje slično kao u
programskom jeziku C:
• Definiše se između dvostrukih navodnika,
• Ukoliko zelimo navesti navodnike u tekstu, unosimo \".
Primjer:
In> a:="ovo je \"string\""
Out>"ovo je "string""
In>Echo(a)
Out>ovo je "string"

Vektori i matrice
Vektor je lista, a matrica je lista lista. Liste se definišu među vitičstim zagradama, sa
elementima odvojenim zarezom, npr.
In>a:={{1,2},{3,4}}
In>PrettyForm(%)
Out>
/ \
| (1) (2) |
| (3) (4) |
\ /

Definisanje vektora je olakšano operatorom .. , npr. In>c:=(1 .. 5) Out>{1,2,3,4,5}


Obavezno operator razdvojiti od ostatka izraza!
Indeksiranje člana se obavlja pomoć uglastih zagrada, npr.: In>a[2][2] Out>4

Logičke vrijednosti
Logičke vrijednosti su rezultati logičih izraza tipa == ili >= i mogu biti
• True - tačno
• False - netačno

Operatori
Operatori su indentični programskom jeziku C, sa tim što ne postoji tenarni operator ?.
+,-,/,*,!=,...
Većina analitičih operatora je "nitljiva". Ovo podrazumjeva primjenu operatora ili
funkcije na listu, za svaki element posebno. Tako je Sin({1,2,3}) jednako {Sin(1), Sin(2),
Sin(3)}.

Kontrolne strukture
Strukture kružne petlje se realizuju naredbama While i ForEach.
While(uslov) [blok komandi;];
ForEach(x, lista) [blok komandi;]; Ova naredba dodjeljuje x svaku od
vrijednosti liste lista i sa tim vrijednostima x izvršava blok komandi.
Strukture uslovnog grananja se realizuju naredbom If.
If(uslov, naredba); Izvršava naredbu ako je uslov ispunjen i vrać rezultat u
suprotnom je povratna vrijednost False.
If(uslov, naredbaAkoTačno, naredbaAkoNetačno); Kao i predhodno, samo
što se za netačn uslov izvršava druga naredba i njen rezultat je povratna vrijednost
If naredbe.

Izabrane funkcije
Yacas posjeduje već broj ugrađnih funkcija i ovdje je navedeno samo njih nekoliko.
• D(x) funkcija(x) - izvod funkcije funkcija(x) po promjenljivoj x.
• D(x, n) f(x) - n - ti izvod funkcije
• N(izraz) - daje numeriču vrijednost izraza, razlomka na primjer
• Precision(n) - postavlja preciznost rezultata na n cifara
• Simplify(F(x)) - predstavlja izraz u obliku polinoma
• Solve(F(x)) - određje nule polinoma F(x)
• SolveMatrix(A, b) - rješava sistem jednačna. Rezultat je vektor X, pri čmu je
AX=b.

Grafici
Yacas može da crta grafike uz pomoćprograma GNUPLOT. Potrebno je izvršni fajl ovog
programa kopirati u folder sa exe fajlom yacas-a. Naziv fajla mora biti wgnupl32.exe.
Naredbom Plot2D(izraz) se poziva GNUPLOT, i grafiči se prikazuje proslijeđni izraz.

Linkovi:
• http://yacas.sourceforge.net/
• http://www.gnuplot.info/

Rate