Komputeralgebra rendszerek

Hasonló dokumentumok
Komputeralgebra Rendszerek

Komputeralgebra rendszerek

Komputeralgebra rendszerek

Komputeralgebra rendszerek

Komputeralgebra rendszerek

Komputeralgebra Rendszerek

.Net adatstruktúrák. Készítette: Major Péter

Komputeralgebra rendszerek

Komputeralgebra Rendszerek

van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk

Komputeralgebra rendszerek

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

Programozási nyelvek Java

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Listák, szótárak, fájlok Listák, szótárak, fájlok

Komputeralgebra Rendszerek

Struktúra nélküli adatszerkezetek

Collections. Összetett adatstruktúrák

Lekérdezések az SQL SELECT utasítással

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

7. Strukturált típusok

Generikus Típusok, Kollekciók

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Adatbázisok. 8. gyakorlat. SQL: CREATE TABLE, aktualizálás (INSERT, UPDATE, DELETE), SELECT október október 26. Adatbázisok 1 / 17

Smalltalk 2. Készítette: Szabó Éva

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Programozás alapjai. 10. előadás

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

Komputeralgebra Rendszerek

Apple Swift kurzus 3. gyakorlat

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Programozás alapjai. 5. előadás

Tartalomjegyzék. Tartalomjegyzék 1. Az SQL nyelv 1 Az SQL DDL alapjai 2

Algoritmizálás és adatmodellezés 2. előadás

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Adatszerkezetek 1. Dr. Iványi Péter

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Generikus osztályok, gyűjtemények és algoritmusok

Bevezetés a Programozásba II 12. előadás. Adatszerkezetek alkalmazása (Standard Template Library)

Az indexelés újdonságai Oracle Database 12c R1 és 12c R2

Adattípusok. Max. 2GByte

Szathmáry László Debreceni Egyetem Informatikai Kar

Adatmodellezés, alapfogalmak. Vassányi István

A verem (stack) A verem egy olyan struktúra, aminek a tetejéről kivehetünk egy (vagy sorban több) elemet. A verem felhasználása

Mátrixok, mátrixműveletek

A félév során előkerülő témakörök

Algoritmusok Tervezése. 5. Előadás Visual Basic 2. Dr. Bécsi Tamás

Gelle Kitti Algoritmusok és adatszerkezetek gyakorlat - 07 Hasítótáblák

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Matematikai programok

Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter

Komputeralgebra Rendszerek

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Programozás I. Gyakorlás egydimenziós tömbökkel Többdimenziós tömbök Gyakorló feladatok V 1.0 ÓE-NIK-AII,

Imperatív programozás

SQL PÉLDATÁR. készült a PTE TTK Iskolai informatika III. kurzus teljesítésére

Adatbázis tartalmának módosítása

A programozás alapjai előadás. Amiről szólesz: A tárgy címe: A programozás alapjai

Algoritmusok és adatszerkezetek I. 1. előadás

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Gyakorlás: Hozzunk létre egy Alkalmazottak táblát AZO szám, Részleg szöveg, Munkakör szöveg és BelépésDátuma dátum típussal.

ALAPOK. 0 és 255 közé eső számértékek tárolására. Számértékek, például távolságok, pontszámok, darabszámok.

Komputeralgebra rendszerek

Adatbázisok. 9. gyakorlat SQL: SELECT október október 26. Adatbázisok 1 / 14

Programozási technológia

Bevezetés a programozásba 2

ADATBÁZISOK gyakorlat: SQL 2. rész SELECT

Java. Perzisztencia. ANTAL Margit. Java Persistence API. Object Relational Mapping. Perzisztencia. Entity components. ANTAL Margit.

Emlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.

Táblázatkezelés Excel XP-vel. Tanmenet

Algoritmuselmélet. Hashelés. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem

INFORMATIKA javítókulcs 2016

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

2018, Diszkrét matematika

Az SQL nyelv Structured Query Language (Struktúrált lekérdező nyelv)

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Pásztor Attila. Algoritmizálás és programozás tankönyv az emeltszintű érettségihez

Adatbázis-kezelés, információs-rendszerek

SQL bevezetés. Select-From-Where záradékok Több relációt tartalmazó lekérdezések Alkérdések

Lekérdezések az SQL-ben 2.rész

Felvételi tematika INFORMATIKA

Komputeralgebra Rendszerek

Java II. I A Java programozási nyelv alapelemei

Relációs algebra 1.rész alapok

Adatbázisok* tulajdonságai

BGF. 4. Mi tartozik az adatmodellek szerkezeti elemei

1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?

SQL. Táblák összekapcsolása lekérdezéskor Aliasok Allekérdezések Nézettáblák

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Adatmodellezés. 1. Fogalmi modell

Java II. I A Java programozási nyelv alapelemei

SQL parancsok feldolgozása

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

JavaServer Pages (JSP) (folytatás)

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Adatszerkezetek és algoritmusok

Adatszerkezetek I. 1. előadás

Átírás:

Komputeralgebra rendszerek Összetett adatszerkezetek Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz

Index 1 Sorozatok 2 Halmazok 3 Listák 4 Vermek, sorok Vermek Sorok Prioritásos adatszerkezetek 5 Rekordok 6 Tömbök Az array típus Az Array típus 7 A kétféle tömbszerkezet összehasonlítása

Sorozatok exprseq

Sorozatok exprseq Vesszővel elválasztott kifejezéssorozat

Sorozatok exprseq Vesszővel elválasztott kifejezéssorozat A függvényhívások argumentumlistája : args, nargs

Sorozatok exprseq Vesszővel elválasztott kifejezéssorozat A függvényhívások argumentumlistája : args, nargs Típusa : exprseq exprseq expr1... expr2

Sorozatok exprseq Vesszővel elválasztott kifejezéssorozat A függvényhívások argumentumlistája : args, nargs Típusa : exprseq exprseq expr1... expr2 Üres sorozat : NULL

Sorozatok exprseq Vesszővel elválasztott kifejezéssorozat A függvényhívások argumentumlistája : args, nargs Típusa : exprseq exprseq expr1... expr2 Üres sorozat : NULL Generálás : seq(expr, range), x$n (leggyakrabban a diff-el)

Sorozatok exprseq Vesszővel elválasztott kifejezéssorozat A függvényhívások argumentumlistája : args, nargs Típusa : exprseq exprseq expr1... expr2 Üres sorozat : NULL Generálás : seq(expr, range), x$n (leggyakrabban a diff-el) Kiválasztás : [n], visszafelé - n

Halmazok set

Halmazok set Sorozat kapcsoszárójelek között : seq. Üres halmaz {}

Halmazok set Sorozat kapcsoszárójelek között : seq. Üres halmaz {} Egy elem csak egyszer fordul elő, nincs rendezés

Halmazok set Sorozat kapcsoszárójelek között : seq. Üres halmaz {} Egy elem csak egyszer fordul elő, nincs rendezés Alapműveletek : union, minus, intersect. Használhatók a műveleti jelek is!

Halmazok set Sorozat kapcsoszárójelek között : seq. Üres halmaz {} Egy elem csak egyszer fordul elő, nincs rendezés Alapműveletek : union, minus, intersect. Használhatók a műveleti jelek is! Lekérdezés : member

Halmazok set Sorozat kapcsoszárójelek között : seq. Üres halmaz {} Egy elem csak egyszer fordul elő, nincs rendezés Alapműveletek : union, minus, intersect. Használhatók a műveleti jelek is! Lekérdezés : member Kiválasztás : select, remove, selectremove select(crit, set, extra)

Halmazok set Sorozat kapcsoszárójelek között : seq. Üres halmaz {} Egy elem csak egyszer fordul elő, nincs rendezés Alapműveletek : union, minus, intersect. Használhatók a műveleti jelek is! Lekérdezés : member Kiválasztás : select, remove, selectremove select(crit, set, extra) Egyéb : combinat csomag, pl. powerset

Listák list, listlist

Listák list, listlist Sorozat szögletes zárójelek között :[seq]

Listák list, listlist Sorozat szögletes zárójelek között :[seq] Egy elem többször is előfordul, rendezéstartó, könnyen adható új érték elemnek.

Listák list, listlist Sorozat szögletes zárójelek között :[seq] Egy elem többször is előfordul, rendezéstartó, könnyen adható új érték elemnek. Rendezés : sort(list,mode). Helyben történik!

Listák list, listlist Sorozat szögletes zárójelek között :[seq] Egy elem többször is előfordul, rendezéstartó, könnyen adható új érték elemnek. Rendezés : sort(list,mode). Helyben történik! Eleme member eleme - vizsgálat

Listák list, listlist Sorozat szögletes zárójelek között :[seq] Egy elem többször is előfordul, rendezéstartó, könnyen adható új érték elemnek. Rendezés : sort(list,mode). Helyben történik! Eleme member eleme - vizsgálat Szelektorok :T[],T[i], T[-i], T[i..j],T[i,j,...],T[i..j,k,...]

Listák list, listlist Sorozat szögletes zárójelek között :[seq] Egy elem többször is előfordul, rendezéstartó, könnyen adható új érték elemnek. Rendezés : sort(list,mode). Helyben történik! Eleme member eleme - vizsgálat Szelektorok :T[],T[i], T[-i], T[i..j],T[i,j,...],T[i..j,k,...] A ListTools csomag

Listák list, listlist Sorozat szögletes zárójelek között :[seq] Egy elem többször is előfordul, rendezéstartó, könnyen adható új érték elemnek. Rendezés : sort(list,mode). Helyben történik! Eleme member eleme - vizsgálat Szelektorok :T[],T[i], T[-i], T[i..j],T[i,j,...],T[i..j,k,...] A ListTools csomag Flatten

Listák list, listlist Sorozat szögletes zárójelek között :[seq] Egy elem többször is előfordul, rendezéstartó, könnyen adható új érték elemnek. Rendezés : sort(list,mode). Helyben történik! Eleme member eleme - vizsgálat Szelektorok :T[],T[i], T[-i], T[i..j],T[i,j,...],T[i..j,k,...] A ListTools csomag Flatten Rotate, Reverse

Listák list, listlist Sorozat szögletes zárójelek között :[seq] Egy elem többször is előfordul, rendezéstartó, könnyen adható új érték elemnek. Rendezés : sort(list,mode). Helyben történik! Eleme member eleme - vizsgálat Szelektorok :T[],T[i], T[-i], T[i..j],T[i,j,...],T[i..j,k,...] A ListTools csomag Flatten Rotate, Reverse Categorize

Vermek Vermek stack

Vermek Vermek stack stack[new](x1,..., xn) Új létrehozása, opcionálisan elemekkel

Vermek Vermek stack stack[new](x1,..., xn) Új létrehozása, opcionálisan elemekkel stack[push](x, s)

Vermek Vermek stack stack[new](x1,..., xn) Új létrehozása, opcionálisan elemekkel stack[push](x, s) stack[pop](s)

Vermek Vermek stack stack[new](x1,..., xn) Új létrehozása, opcionálisan elemekkel stack[push](x, s) stack[pop](s) Információk : stack[empty](s), stack[top](s), stack[depth](s)

Vermek Vermek stack stack[new](x1,..., xn) Új létrehozása, opcionálisan elemekkel stack[push](x, s) stack[pop](s) Információk : stack[empty](s), stack[top](s), stack[depth](s) Stack

Vermek Vermek stack stack[new](x1,..., xn) Új létrehozása, opcionálisan elemekkel stack[push](x, s) stack[pop](s) Információk : stack[empty](s), stack[top](s), stack[depth](s) Stack SimpleStack(), MeteredStack(), BoundedStack(bound::posint)

Vermek Vermek stack stack[new](x1,..., xn) Új létrehozása, opcionálisan elemekkel stack[push](x, s) stack[pop](s) Információk : stack[empty](s), stack[top](s), stack[depth](s) Stack SimpleStack(), MeteredStack(), BoundedStack(bound::posint) s:-push(e::anything), s:-pop(), s:-empty(), s:-top(),s:-depth()

Vermek Vermek stack stack[new](x1,..., xn) Új létrehozása, opcionálisan elemekkel stack[push](x, s) stack[pop](s) Információk : stack[empty](s), stack[top](s), stack[depth](s) Stack SimpleStack(), MeteredStack(), BoundedStack(bound::posint) s:-push(e::anything), s:-pop(), s:-empty(), s:-top(),s:-depth() s:-stats()

Sorok Sorok queue

Sorok Sorok queue Hasonlóan a stack-hez

Sorok Sorok queue Hasonlóan a stack-hez Lehetőségek : new, empty,enqueue sor végére szúrás, dequeue utolsó elem

Sorok Sorok queue Hasonlóan a stack-hez Lehetőségek : new, empty,enqueue sor végére szúrás, dequeue utolsó elem Továbbá : front első elem törlés nélkül, lengt, clear, reverse

Sorok Sorok queue Hasonlóan a stack-hez Lehetőségek : new, empty,enqueue sor végére szúrás, dequeue utolsó elem Továbbá : front első elem törlés nélkül, lengt, clear, reverse Használat : with(queue)

Sorok Sorok queue Hasonlóan a stack-hez Lehetőségek : new, empty,enqueue sor végére szúrás, dequeue utolsó elem Továbbá : front első elem törlés nélkül, lengt, clear, reverse Használat : with(queue) Queue A Simplestack és a queue-ból kitalálható a szintaxis

Prioritásos adatszerkezetek Prioritásos adatszerkezetek heap

Prioritásos adatszerkezetek Prioritásos adatszerkezetek heap heap[new](f,x1,x2,..xn) f: a rendezést megvalósító logikai fv, pl lexorder

Prioritásos adatszerkezetek Prioritásos adatszerkezetek heap heap[new](f,x1,x2,..xn) f: a rendezést megvalósító logikai fv, pl lexorder insert, extract, empty, max, size

Prioritásos adatszerkezetek Prioritásos adatszerkezetek heap heap[new](f,x1,x2,..xn) f: a rendezést megvalósító logikai fv, pl lexorder insert, extract, empty, max, size priority queue

Prioritásos adatszerkezetek Prioritásos adatszerkezetek heap heap[new](f,x1,x2,..xn) f: a rendezést megvalósító logikai fv, pl lexorder insert, extract, empty, max, size priority queue initialize

Prioritásos adatszerkezetek Prioritásos adatszerkezetek heap heap[new](f,x1,x2,..xn) f: a rendezést megvalósító logikai fv, pl lexorder insert, extract, empty, max, size priority queue initialize insert, extract

Prioritásos adatszerkezetek Prioritásos adatszerkezetek heap heap[new](f,x1,x2,..xn) f: a rendezést megvalósító logikai fv, pl lexorder insert, extract, empty, max, size priority queue initialize insert, extract withpriqueue

Rekordok Pascal stílusú rekord

Rekordok Pascal stílusú rekord Record( name =value,...)

Rekordok Pascal stílusú rekord Record( name =value,...) Implementáció : modulokkal

Rekordok Pascal stílusú rekord Record( name =value,...) Implementáció : modulokkal Hivatkozás: rec_name:-

Az array típus Az array típus I A linalg csomag tartalmazza A table adattípuson alapszik (Hash-tábla). Szintaxis : array( indexfcn, bounds, list) Indexelő függvények : antisymmetric, diagonal, identity, sparse, symmetric. table(indexfcn,list) table indexfv méretek hash tábla matrix kétdimenziós tömb, indexei 1-től indulnak.

Az array típus Az array típus II Speciális mátrixok : bezout, fibonacci, hilbert, jacobian, sylvester, toeplitz, vandermonde vector sorvektor, indexei 1-től indulnak. Nem teljes kiértékelés történik, hanem utolsó név szerinti Teljes kiértékelés kikényszerítése : map(eval,array) A copy utasítással készíthetünk még egy példányt. (Az összeláncolás itt megszűnik)

Az Array típus Az Array típus I Az rtable adattípuson alapszik (Téglalap alakú tábla). A LinearAlgebra csomag használja őket. Array(indfncs, dims, init, opts) Az opciók : datatype= : minden, amit a Maple típusspecifikációi megengednek. datatype=integer[n], float[n], complex[n] hány bites (1,2,4,8, illetve csak 8) storage=sparse, rectangular,... order=c_order,fortran_order

Az Array típus Az Array típus II Matrix(r, c, init, ro, sym, sc, sh, st, o, dt, f, a) A paraméterek opcionálisak r,c : sor, oszlop init kezdeti értékek: Maple procedúra, table,array,vector, list, stb ro : readonly=true false sym : symbol=name a mátrixelemek szimbolikus neve sc : scan=name list a kezdőértékek interpretálása sh : shape=name list indexelő függvény st : storage=name tárolási mód o : order=name C vagy Fortran típusú tárolás dt : datatype=name adattípus f : fill=value a : attributes=list attribútumok

Az Array típus Az Array típus III Kiegészítések Az indexelők lehetnek symmetric, identity,... A tárolás lehet pl triangular, sparse,... Az attribútum lényegében bármi lehet, azonban az attributes=[positive_definite] beállítás esetén szabályozhatók a LienarAlgebra csomag bizonyos procedúrái : LinearSolve, Eigenvalue,...

Az Array típus Az Array típus IV Vector[o](d, init, ro, sym, sh, st, dt, f, a, o) o : row/column Lényegében mint a Matrix esetén. indexelő függvények : constant, scalar, zero Alapértemezett az oszlopvektor

Az Array típus Az Array típus V rtable(indfcns, dims, init, opts) A tömbkonstruálás alacsony szintű procedúrája. Különleges opciók : subtype=value : Array, Matrix, Vector[row column] Default az Array transpose=true

A kétféle tömbszerkezet összehasonlítása feladat array matrix Array Matrix tárolás ritka ritka sűrű sűrű speciális tárolás nincs nincs van van indexelő fv van nincs van van index-start bármi 1 bármi 1 default elem szimbolikus szimbolikus 0 (állítható) 0 (állítható) vált. struktúra nem nem igen igen import readdata readdata ImportMatrix ImportMatrix export writedata readdata ExportMatrix ExportMatrix megjelenítés teljes teljes teljes v. részleges teljes v. részleges szorzás &*, evalm &*, evalm.., Multiply kiértékelés utolsó név utolsó név teljes teljes