Komputeralgebra rendszerek IV. Felhasználói interfész, filekezelés Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz
Index I 1 A felhasználói interfész File-típusok Utasításblokk bevitele Egy kis segítség a rendszertől A MAPLE környezet beállítása 2 Könyvtárkezelés Package-ok Maple repository 3 Filekezelés Magasszintű I/O Numerikus adatok tárolása Alacsony szintű I/O 4 Kódgenerálás
File-típusok File-típusok *.valami Kiterjesztés *.mw Tartalom Standard Maple, ez a 10.0 verziótól létezik
File-típusok File-típusok *.valami Kiterjesztés *.mw *.mws Tartalom Standard Maple, ez a 10.0 verziótól létezik Klasszikus Maple
File-típusok File-típusok *.valami Kiterjesztés Tartalom *.mw Standard Maple, ez a 10.0 verziótól létezik *.mws Klasszikus Maple *.mpl Maple input batch-hez, kötelező a ;
File-típusok File-típusok *.valami Kiterjesztés Tartalom *.mw Standard Maple, ez a 10.0 verziótól létezik *.mws Klasszikus Maple *.mpl Maple input batch-hez, kötelező a ; *.maplet Mapletek
File-típusok File-típusok *.valami Kiterjesztés Tartalom *.mw Standard Maple, ez a 10.0 verziótól létezik *.mws Klasszikus Maple *.mpl Maple input batch-hez, kötelező a ; *.maplet Mapletek *.txt Maple text (importhoz)
Utasításblokk bevitele Utasításblokk bevitele Ne ess pánikba! ; vagy : hiánya (az újabbakban verziókban nem kell)
Utasításblokk bevitele Utasításblokk bevitele Ne ess pánikba! ; vagy : hiánya (az újabbakban verziókban nem kell) túl hosszú sor : a sor folytatását \jelzi
Utasításblokk bevitele Utasításblokk bevitele Ne ess pánikba! ; vagy : hiánya (az újabbakban verziókban nem kell) túl hosszú sor : a sor folytatását \jelzi # került a sorba - ez komment
Utasításblokk bevitele Utasításblokk bevitele Ne ess pánikba! ; vagy : hiánya (az újabbakban verziókban nem kell) túl hosszú sor : a sor folytatását \jelzi # került a sorba - ez komment mire is vonatkozik a számolt érték, pl. javítgatás után
Utasításblokk bevitele Utasításblokk bevitele Ne ess pánikba! ; vagy : hiánya (az újabbakban verziókban nem kell) túl hosszú sor : a sor folytatását \jelzi # került a sorba - ez komment mire is vonatkozik a számolt érték, pl. javítgatás után
Utasításblokk bevitele Utasításblokk bevitele Ne ess pánikba! ; vagy : hiánya (az újabbakban verziókban nem kell) túl hosszú sor : a sor folytatását \jelzi # került a sorba - ez komment mire is vonatkozik a számolt érték, pl. javítgatás után Strukturált bevitel Section, subsection
Utasításblokk bevitele Utasításblokk bevitele Ne ess pánikba! ; vagy : hiánya (az újabbakban verziókban nem kell) túl hosszú sor : a sor folytatását \jelzi # került a sorba - ez komment mire is vonatkozik a számolt érték, pl. javítgatás után Strukturált bevitel Section, subsection Execution group
Utasításblokk bevitele Utasításblokk bevitele Ne ess pánikba! ; vagy : hiánya (az újabbakban verziókban nem kell) túl hosszú sor : a sor folytatását \jelzi # került a sorba - ez komment mire is vonatkozik a számolt érték, pl. javítgatás után Strukturált bevitel Section, subsection Execution group Szöveg/matek beszúrása
Utasításblokk bevitele Utasításblokk bevitele Ne ess pánikba! ; vagy : hiánya (az újabbakban verziókban nem kell) túl hosszú sor : a sor folytatását \jelzi # került a sorba - ez komment mire is vonatkozik a számolt érték, pl. javítgatás után Strukturált bevitel Section, subsection Execution group Szöveg/matek beszúrása Váltás szöveg és matek között
Egy kis segítség a rendszertől Egy kis segítség a rendszertő A printlevel utasítás printlevel := 1 a standard érték nagy pozitív érték, több információ negatív érték : nincs kijelzés->print, lprint
A MAPLE környezet beállítása A MAPLE környezet beállítása kernelopts és társai kernelopts
A MAPLE környezet beállítása A MAPLE környezet beállítása kernelopts és társai kernelopts interface, pl. interface(prompt= > )
A MAPLE környezet beállítása A MAPLE környezet beállítása kernelopts és társai kernelopts interface, pl. interface(prompt= > ) errorbreak - 0: folytatás, 1 :szintaktikus hiba után megáll,2: bármely hiba után leáll
A MAPLE környezet beállítása A MAPLE környezet beállítása kernelopts és társai kernelopts interface, pl. interface(prompt= > ) errorbreak - 0: folytatás, 1 :szintaktikus hiba után megáll,2: bármely hiba után leáll getenv( rendszerváltozó ), pl. HOME
A MAPLE környezet beállítása A MAPLE környezet beállítása kernelopts és társai kernelopts interface, pl. interface(prompt= > ) errorbreak - 0: folytatás, 1 :szintaktikus hiba után megáll,2: bármely hiba után leáll getenv( rendszerváltozó ), pl. HOME currentdir
Package-ok Package-ok Csomagok A standard és az update könyvtárak : csak a szükséges van a memóriában
Package-ok Package-ok Csomagok A standard és az update könyvtárak : csak a szükséges van a memóriában A package-ok.
Package-ok Package-ok Csomagok A standard és az update könyvtárak : csak a szükséges van a memóriában A package-ok.?index,packages
Package-ok Package-ok Csomagok A standard és az update könyvtárak : csak a szükséges van a memóriában A package-ok.?index,packages Moduláris csomagok :with(linearalgebra[modular]) (Vagy a stats)
Package-ok Package-ok Csomagok A standard és az update könyvtárak : csak a szükséges van a memóriában A package-ok.?index,packages Moduláris csomagok :with(linearalgebra[modular]) (Vagy a stats) Share vagy user-contributed library : www.mapleapps.com
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár?
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár? currentdir(...) : a munkakönyvtár megadása, lekérdezése
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár? currentdir(...) : a munkakönyvtár megadása, lekérdezése
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár? currentdir(...) : a munkakönyvtár megadása, lekérdezése Bővítés Könyvtárainkat vagy egy.lib és.ind kiterjesztésű file-parosban, vagy egy.lib kiterjesztésű file-ban tárolhatjuk
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár? currentdir(...) : a munkakönyvtár megadása, lekérdezése Bővítés Könyvtárainkat vagy egy.lib és.ind kiterjesztésű file-parosban, vagy egy.lib kiterjesztésű file-ban tárolhatjuk mkdir(...) : könyvtár létrehozása
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár? currentdir(...) : a munkakönyvtár megadása, lekérdezése Bővítés Könyvtárainkat vagy egy.lib és.ind kiterjesztésű file-parosban, vagy egy.lib kiterjesztésű file-ban tárolhatjuk mkdir(...) : könyvtár létrehozása libname lib1,lib2,... - könyvtárak megadása
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár? currentdir(...) : a munkakönyvtár megadása, lekérdezése Bővítés Könyvtárainkat vagy egy.lib és.ind kiterjesztésű file-parosban, vagy egy.lib kiterjesztésű file-ban tárolhatjuk mkdir(...) : könyvtár létrehozása libname lib1,lib2,... - könyvtárak megadása A march parancs
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár? currentdir(...) : a munkakönyvtár megadása, lekérdezése Bővítés Könyvtárainkat vagy egy.lib és.ind kiterjesztésű file-parosban, vagy egy.lib kiterjesztésű file-ban tárolhatjuk mkdir(...) : könyvtár létrehozása libname lib1,lib2,... - könyvtárak megadása A march parancs march( create, "privatelib", 100)
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár? currentdir(...) : a munkakönyvtár megadása, lekérdezése Bővítés Könyvtárainkat vagy egy.lib és.ind kiterjesztésű file-parosban, vagy egy.lib kiterjesztésű file-ban tárolhatjuk mkdir(...) : könyvtár létrehozása libname lib1,lib2,... - könyvtárak megadása A march parancs march( create, "privatelib", 100) Törlés, bővítés, tömörítés, stb :?march
Maple repository Maple repository Mi hol van? Inicializálás induláskot :../src/init és.mapleinit, illetve /lib/maple.ini libname : hol van a Maple könyvtár? currentdir(...) : a munkakönyvtár megadása, lekérdezése Bővítés Könyvtárainkat vagy egy.lib és.ind kiterjesztésű file-parosban, vagy egy.lib kiterjesztésű file-ban tárolhatjuk mkdir(...) : könyvtár létrehozása libname lib1,lib2,... - könyvtárak megadása A march parancs march( create, "privatelib", 100) Törlés, bővítés, tömörítés, stb :?march savelibname=s1,s2,...; savelib(név1,név2,...);
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository Maple programok
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository Maple programok Más alkalmazások felé
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository Maple programok Más alkalmazások felé
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository Maple programok Más alkalmazások felé writeto("outputfile")
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository Maple programok Más alkalmazások felé writeto("outputfile") appendto("outputfile")
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository Maple programok Más alkalmazások felé writeto("outputfile") appendto("outputfile") writeto("terminal")
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository Maple programok Más alkalmazások felé writeto("outputfile") appendto("outputfile") writeto("terminal") save varseq,"file" <-> read varseq,"file"
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository Maple programok Más alkalmazások felé writeto("outputfile") appendto("outputfile") writeto("terminal") save varseq,"file" <-> read varseq,"file" save varseq,"file.m" <-> read varseq,"file.m"
Magasszintű I/O Magasszintű I/O Munkalap és elemeinek írása/olvasása Munkafüzetek outputja Maple repository Maple programok Más alkalmazások felé writeto("outputfile") appendto("outputfile") writeto("terminal") save varseq,"file" <-> read varseq,"file" save varseq,"file.m" <-> read varseq,"file.m" ssystem("more datafile")[2] Az op.rendszer hívása
Numerikus adatok tárolása Numerikus adatok tárolása Nagytömegű adatok feldolgozása Adatok kiírása : writedata( outputfile,data,típuslista). Utána fclose()!
Numerikus adatok tárolása Numerikus adatok tárolása Nagytömegű adatok feldolgozása Adatok kiírása : writedata( outputfile,data,típuslista). Utána fclose()! Alternatíva : writeline
Numerikus adatok tárolása Numerikus adatok tárolása Nagytömegű adatok feldolgozása Adatok kiírása : writedata( outputfile,data,típuslista). Utána fclose()! Alternatíva : writeline Beolvasás : readdata ( file-név,oszlopok száma)
Numerikus adatok tárolása Numerikus adatok tárolása Nagytömegű adatok feldolgozása Adatok kiírása : writedata( outputfile,data,típuslista). Utána fclose()! Alternatíva : writeline Beolvasás : readdata ( file-név,oszlopok száma) Alternatíva readline utána sscanf()
Numerikus adatok tárolása Numerikus adatok tárolása Nagytömegű adatok feldolgozása Adatok kiírása : writedata( outputfile,data,típuslista). Utána fclose()! Alternatíva : writeline Beolvasás : readdata ( file-név,oszlopok száma) Alternatíva readline utána sscanf() Másik lehetőség a stats csomag : ImportMatrix, ExportMatrix utasítása
Numerikus adatok tárolása Numerikus adatok tárolása Nagytömegű adatok feldolgozása Adatok kiírása : writedata( outputfile,data,típuslista). Utána fclose()! Alternatíva : writeline Beolvasás : readdata ( file-név,oszlopok száma) Alternatíva readline utána sscanf() Másik lehetőség a stats csomag : ImportMatrix, ExportMatrix utasítása ExportMatrix(file,Mátrix,transzponált?, elválasztott?,elválasztójel?)
Numerikus adatok tárolása Numerikus adatok tárolása Nagytömegű adatok feldolgozása Adatok kiírása : writedata( outputfile,data,típuslista). Utána fclose()! Alternatíva : writeline Beolvasás : readdata ( file-név,oszlopok száma) Alternatíva readline utána sscanf() Másik lehetőség a stats csomag : ImportMatrix, ExportMatrix utasítása ExportMatrix(file,Mátrix,transzponált?, elválasztott?,elválasztójel?) ImportMatrix(file,név,...)
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close PROCESS - popen, pclose
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close PROCESS - popen, pclose
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close PROCESS - popen, pclose I/O formázás fprintf(stream,format,args)
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close PROCESS - popen, pclose I/O formázás fprintf(stream,format,args) nprintf(format,args)
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close PROCESS - popen, pclose I/O formázás fprintf(stream,format,args) nprintf(format,args) printf(format,argf)
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close PROCESS - popen, pclose I/O formázás fprintf(stream,format,args) nprintf(format,args) printf(format,argf) sprintf(format,args)
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close PROCESS - popen, pclose I/O formázás fprintf(stream,format,args) nprintf(format,args) printf(format,argf) sprintf(format,args) fscanf(stream,format)
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close PROCESS - popen, pclose I/O formázás fprintf(stream,format,args) nprintf(format,args) printf(format,argf) sprintf(format,args) fscanf(stream,format) scanf(format)
Alacsony szintű I/O Alacsony szintű I/O Stream-kezelés STREAM - fopen, fclose RAW - open, close PIPE - pipe, close PROCESS - popen, pclose I/O formázás fprintf(stream,format,args) nprintf(format,args) printf(format,argf) sprintf(format,args) fscanf(stream,format) scanf(format) sscanf(string,format)
Kódgenerálás Kapcsolat más rendszerekkel Használt package-ok : codegen (cost és optimize), valamint a CodGeneration Cél-nyelvek : Fortan, Java, C, MatLab, VisualBasic L A T E X export Export az automatikus differenciálás felé( pl. jacobi mátrix generálás)