CLIPS (C Language Integrated Production System)
|
|
- Krisztián Orosz
- 8 évvel ezelőtt
- Látták:
Átírás
1 CLIPS (C Language Integrated Production System) I. ALAPVETŐ TULAJDONSÁGAI szakértői rendszer fejlesztő eszköz (shell) 80-as évek közepe, NASA 1. prototípus 1985-ben (~ 2 hónap alatt), fejlesztések, bővítések tudásreprezentáció o szabály-alapú rendszer szabály: szituáció akció, heurisztikák, ökölszabályok produkciós rendszer, előrefelé haladó következtetés, RETE algoritmus o procedurális elemek függvények, generikus függvények integrálás más rendszerekkel, nyelvekkel (C, Java, Fortran, Ada, ) o objektum-orientált programozás komplex rendszerek modellezése, moduláris elemek CLIPS Object Oriented Language (COOL) hordozhatóság (C alapú, számos operációs rendszeren tesztelték: Windows, Macintosh, Unix) interaktív fejlesztés o interaktív szöveg-orientált fejlesztői környezet o nyomkövetési lehetőségek o on-line help o integrált editor verifikálás, validálás o moduláris tervezés o TB particionálása o függvény argumentumok, tulajdonság-értékek statikus/dinamikus ellenőrzése (megszorítások) o szabályok szemantikai ellenőrzése dokumentáció (user s guide, manual, : szabadon letölthető) alacsony ár
2 II. SZAKÉRTŐ RENDSZEREK ALAPVETŐ ELEMEI / CLIPS tudásbázis / szabálybázis következtető gép / szabályok alkalmazása, végrehajtása munkamemória / tények (facts), objektum példányok (instances), globális változók CLISP: adatvezérelt következtetést tartalmaz (adatok szükségesek a szabályok tüzeléséhez) CLIPS> CLIPS prompt-ja (parancs bevitelére vár) top-level (közvetlen parancs bevitele, kiértékelés/végrehajtás, visszatérési érték kiírása) CLIPS>(+ 3 4) 7 parancs lehet: függvényhívás függvény értékének meghatározása TB-hoz komponens hozzáadása új elem létrehozása globális változó értékének kiírása konstans konstans kiírása III. CLIPS ALAPVETŐ ELEMEI 1. egyszerű adattípusok 2. függvények 3. konstruktorok (constructs) 1. Egyszerű adattípusok float, integer numerikus információ symbol, string szimbolikus információ external-address függvény által visszaadott külső adatszerkezet címe <Pointer-XXX> fact-address tény címe <Fact-XXX> instance-name példány neve [p-1] instance-address példány címe <Instance-XXX> egy egyszerű adattípus tárolása mező (field) single-field value 0 vagy több single-field value sorozata multifield value (), (x), (1 2 a b) 2. Függvények prefix jelölés (függvény-név + argumentumok) (+ (* 2 3) (- 5 2)) argumentumok: egyszerű adattípusok, változók, egyéb függvényhívások visszatérési érték (mellékhatások) beépített függvények felhasználó által definiált függvények (deffunction, defgeneric konstruktorral)
3 3. Konstruktorok TB komponenseinek létrehozásához nincs visszatérési értékük hatás: TB bővítése defmodule defrule deffacts deftemplate defglobal defclass definstances defmessage-handler defgeneric defmethod ; komment (új sorig) közvetlenül a konstruktorba (a konstruktor-név után) is lehet komment IV. INFORMÁCIÓ REPREZENTÁLÁSA CLIPS-BEN (MUNKAMEMÓRIA) 1. tények (facts) csak ezekkel foglalkozunk 2. globális változók 3. objektumok 1. Tények Tény: információ-darab tények listájára (fact list) helyezve szabályok által használt alapvető információ-egység tények hozzáadása a tény listához: (assert <tény>) CLIPS>(assert (kutya)) <Fact-1> tény-cím (egyszerű adattípus) automatikus számozás 1,2, tény-index tények megtekintése (facts) CLIPS>(facts) f-0 (initial-fact) f-1 (kutya) For a total of 2 facts. f-0 tény azonosító ( f- tény-index)
4 tények törlése (retract <tény-index>*) (retract *) CLIPS>(retract 1) CLIPS>(facts) f-0 (initial-fact) For a total of 1 fact. több tény egyidejű definiálása: CLIPS>(assert (macska) (lo) (nyul)) Tény: 1 vagy több mező (field) zárójelek között, space-szel elválasztva mezőn: egyszerű adattípusok (float, integer, symbol, string) (kutya Bodri) (szamok ) tények egymásba ágyazása nem lehetséges! általában: tény 1. mezőjén relációnév ha egy mezőnek nincs értéke : nil (üres mező) CLIPS> (assert (macska nil)) Tények lehetnek: rendezett tények (mezők sorrendje adja a rendezést) (kutya Bodri) (Bodri kutya) 2 különböző tény! nem-rendezett tények (rekordokhoz hasonlítanak, a mezőknek nevük van) deftemplate konstruktorral létrehozott tények Nem-rendezett tények definiálása (deftemplate [<modul név>] <név> [ <megjegyzés> ] <rés definíció>*) CLIPS>(deftemplate kutya CLIPS>(deftemplate MAIN:: kutya kutya (slot nev) (slot nev) (multislot gazdi)) (multislot gazdi)) [CSTRCPSR4] Cannot redefine deftemplate kutya while it is in use TB elemeinek törlése (clear) konstruktorok, tények, példányok törlése CLIPS>(clear) törlés + (initial-fact) + INITIAL-OBJECT CLIPS>(deftemplate kutya (slot nev) (multislot gazdi))
5 CLIPS> (assert (kutya) <Fact-1> CLIPS> (facts) f-0 (initial-fact) f-1 (kutya (nev nil) (gazdi)) For a total of 2 facts default érték definiálása: (default?none) az értéket ki kell jelölni a tény létrehozásakor (default?derive ) a lehetséges értékek közül az első vagy nil (default <konkrét érték/kifejezés>) érték/kifejezés értéke megszorítások definiálása: (allowed-values ) (type INTEGER/SYMBOL/STRING/FLOAT/..) CLIPS>(clear) CLIPS>(deftemplate kutya (slot nev (default?none)) (slot kor (type INTEGER)) (multislot gazdi (default Kis Pista))) CLIPS>(assert (kutya)) [TMPLTRHS1] Slot nev requires a value because of its (default?none) attribute. CLIPS>(assert (kutya (nev Bodri))) <Fact-1> CLIPS>(facts) f-0 (initial-fact) f-1 (kutya (nev Bodri) (kor 0) (gazdi Kis Pista)) For a total of 2 fact A deffacts konstruktor (deffacts [<modul név>] <név> [ <megjegyzés> ] <RHS pattern>*) a tények a (reset) paranccsal jönnek létre, használatuk azonos a korábbi tényekkel (reset) tudáselemek törlése + konstruktorok által definiált tudáselemek létrehozása CLIPS>(deffacts kutyak "falka" (kutya (nev Bodri)) (kutya (nev Foltos) (gazdi Kis Janos))) CLIPS>(reset) CLIPS>(facts) CLIPS> (facts) f-0 (initial-fact) f-1 (kutya (nev Bodri) (kor 0) (gazdi Kis Pista)) f-2 (kutya (nev Foltos) (kor 0) (gazdi Kis Janos)) For a total of 3 facts.
6 tények módosítása (csak deftemplate tények) (modify <tény címe vagy tény címét tartalmazó változó> <RHS-slot>*) <változó> <- <tény> CLIPS>(modify 1 (kor 1)) <Fact-3> pl. szabályban:?f <- (kutya (nev Bodri) (kor 0)) (modify?f (kor 1)) V. TUDÁSREPREZENTÁCIÓ (TUDÁSBÁZIS) 1. heurisztikus ismeretek (szabályok) csak ezekkel foglalkozunk 2. procedurális ismeretek (függvények, modulok) 3. objektum-orientált programozás 1. Heurisztikus ismeretek (szabályok) feltételi rész / következmény rész if / then LHS / RHS szabály definiálása (defrule [<modul név>] <név> [ <megjegyzés> ] [<deklaráció>] <feltétel>* } LHS, implicit and a feltételek között <következmény>*) } RHS, implicit and az akciók között CLIPS>(defrule pelda (reaktor homerseklet magas) (assert (hutoviz betaplalas nagy))) CLIPS>(assert (reaktor homerseklet magas)) Agenda: szabály-példány (tüzelőképes) szabályok működtetése (következtetés) (run)
7 CLIPS>(deftemplate kutya (slot nev (default?none)) (slot kor (type INTEGER)) (multislot gazdi (default Kis Pista))) CLIPS>(deffacts kutyak "falka" (kutya (nev Bodri)) (kutya (nev Foltos) (gazdi Kis Janos))) CLIPS>(reset) CLIPS>(defrule pelda2 (kutya (nev?x) (kor 0)) (printout t "Nev: "?x crlf)) CLIPS>(run) FIRE 1 pelda2: f-2 Nev: Foltos FIRE 2 pelda2: f-1 Nev: Bodri szabály feltételi része tartalmazhat: minta CE (CE: conditional elements) (reaktor homerseklet magas) (kutya (nev Bodri) (kor 0)) (kutya (nev?x) (kor?))?.. egy mező tetszőleges értékkel (single-field-wildcard) $?.. 0 vagy több mező tetszőleges értékkel (multifield-wildcard) CLIPS>(assert (adat) (adat x) (adat 1 x) (adat 1 2) (adat 1 2 x) (adat 1 2 x y) (x)) CLIPS>(defrule pelda3 (adat $? x $?) ) CLIPS>(defrule pelda4 (adat?x?y?z) (printout t?x " "?y " "?z crlf)) CLIPS>(defrule pelda5 (adat?x $?y) (printout t?x " "?y crlf))
8 CLIPS>(defrule pelda6 (adat $?x $?y) (printout t?x " "?y crlf)) CLIPS>(defrule pelda7 (adat ~1&~2 $?) ) CLIPS>(defrule pelda8 (adat 1 2 $?) ) CLIPS>(defrule pelda9 (adat?x&:(numberp?x) $?) (printout t?x crlf)) CLIPS>(defrule pelda10 (adat $?x&:(> (length$?x) 2)) (printout t?x crlf)) CLIPS>(defrule pelda11 (adat?x?y&=(* 2?x)) (printout t?x " "?y crlf)) (defrule pelda16?f <- (adat $?) ;tény címe (retract?f)) ;tény törlése teszt CE (test <függvényhívás>) CLIPS>(defrule pelda18 (adat?x?y) (test (numberp?x)) (test (numberp?y)) (printout t (+?x?y) crlf))
9 or CE (or (homerseklet magas) (szelep zarva)) ;több szabállyal helyettesíthető and CE implicit and a CE-k között, az and CE az AND/OR/NOT kombinálására szolgál (or (and (homerseklet magas) (szelep zarva)) (and (homerseklet alacsony) (szelep nyitva))) not CE CLIPS>(defrule pelda19 (not (adat $? 3 $?)) ) CLIPS>(defrule pelda20 (not (adat $? 2 $?)) ) szabály LHS CE nélkül (defrule ures (defrule ures (initial-fact) ) ) szabály következmény része tartalmazhat: új tény létrehozása (assert ) tény törlése, módosítása (retract ) (modify ) CLIPS>(deftemplate kutya (slot nev (default?none)) (slot kor (type INTEGER)) (multislot gazdi (default Kis Pista))) CLIPS>(deffacts kutyak "falka" (kutya (nev Bodri)) (kutya (nev Foltos) (gazdi Kis Janos))) CLIPS>(defrule pelda21?f <- (kutya (kor 0)) (modify?f (kor 1)))
10 változó megkötése CLIPS>(defrule pelda22 (kutya (nev?x)) (bind?nev?x) (printout t?nev crlf)) input/ output (read) (printout ) CLIPS>(defrule pelda23 (bind?x (read)) (printout t?x crlf)) függvények CLIPS>(defrule pelda24 (if (< (read) 10) then (assert (kis_szam)) else (assert (nagy_szam)))) deklaráció: (declare <szabály-tulajdonság>+) (salience <integer kifejezés>) ; , alapértelmezés: 0 (auto-focus <boole kifejezés>) ;TRUE/FALSE, modul-váltás
CLIPS áttekintés. Produkciós rendszerek fejlesztése
CLIPS áttekintés Produkciós rendszerek fejlesztése CLIPS történet CLIPS = C Language Integrated Production System Fejlesztették: NASA s Johnson Space Center (80-as évek közepén) C nyelvet alkalmazták a
RészletesebbenA F u z z y C L I P S a l a p j a i
A F u z z y C L I P S a l a p j a i A CLIPS rendszer bovítése a bizonytalan információk hatékony kezelése céljából. K é t f é l e b i z o n y t a l a n s á g t á m o g a t á s a : Pontosan nem megfogalmazható
RészletesebbenA C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
RészletesebbenA C programozási nyelv I. Bevezetés
A C programozási nyelv I. Bevezetés Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv I. (bevezetés) CBEV1 / 1 A C nyelv története Dennis M. Ritchie AT&T Lab., 1972 rendszerprogramozás,
RészletesebbenInteraktív, grafikus környezet. Magasszintû alkalmazási nyelv (KAL) Integrált grafikus interface könyvtár. Intelligens kapcsolat más szoftverekkel
Készítette: Szabó Gábor, 1996 Az Az IntelliCorp IntelliCorp stratégiája: stratégiája: Kifinomult, Kifinomult, objektum-orientált objektum-orientált környezetet környezetet biztosít biztosít tervezéséhez,
RészletesebbenAlapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók
Haskell 1. Alapok tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók elég jól elkerülhetők így a mellékhatások könnyebben
RészletesebbenMechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
RészletesebbenOperációs rendszerek gyak.
Operációs rendszerek gyak. AWK programozás Hirling Dominik Szegedi Tudományegyetem AWK AWK: a pattern scanning and processing language mintaelemző-és feldolgozó nyelv bármilyen szövegből minták alapján
Részletesebben1. Bevezetés A C++ nem objektumorientált újdonságai 3
Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.
RészletesebbenImperatív programozás
Imperatív programozás 2. Előadás Python alapok Elérhetőség Tejfel Máté Déli épület, 2.616 matej@elte.hu http://matej.web.elte.hu Python Script nyelv Értelmezett (interpretált) Dinamikus típusrendszer Gyors
RészletesebbenSzkriptnyelvek. 1. UNIX shell
Szkriptnyelvek 1. UNIX shell Szkriptek futtatása Parancsértelmez ő shell script neve paraméterek shell script neve paraméterek Ebben az esetben a szkript tartalmazza a parancsértelmezőt: #!/bin/bash Szkriptek
RészletesebbenAlgoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenC programozás. 1 óra Bevezetés
C programozás 1 óra Bevezetés A C nyelv eredete, fő tulajdonságai 1. Bevezető C nyelv alapelemei többsége a BCPL (Basic Combined Programming Language {1963}) Martin Richards B nyelv Ken Thompson {1970}
RészletesebbenBASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
RészletesebbenA C programozási nyelv II. Utasítások. A függvény.
A C programozási nyelv II. Utasítások. A függvény. Miskolci Egyetem Általános Informatikai Tanszék A C programozási nyelv II (Utasítások, fuggvények) CBEV2 / 1 Kifejezés utasítás Kifejezés utasítás, blokk
RészletesebbenFUNKCIONÁLIS PROGRAMOZÁS
FUNKCIONÁLIS PROGRAMOZÁS A funkcionális programozás néhány jellemzője Funkcionális programozás 1-2 Funkcionális, más néven applikatív programozás Funkcionális = függvényalapú, függvényközpontú Applikatív
RészletesebbenSQL*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
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 Adatszótár: metaadatokat tartalmazó, csak olvasható táblák táblanév-prefixek:
RészletesebbenAlgoritmizálás + kódolás C++ nyelven és Pascalban
Algoritmizálás + kódolás nyelven és ban Motiváció A Programozási alapismeretek tárgyban az algoritmizáláshoz struktogramot, a kódoláshoz nyelvet használunk, a Közismereti informatikában (a közoktatásban
RészletesebbenImperatív programozás
Imperatív programozás 6. Előadás Python típusok (folytatás) Függvények Típusok + műveleteik Listák - mutable (változtatható) - heterogén lista >>> lista = ["szo", 12, 3.5] >>> lista[1] 12 >>> lista[1:3]
RészletesebbenAdattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.
Informatika 1 2011 Második előadás, vezérlési szerkezetek Szabó Adrienn 2011. szeptember 14. Tartalom Algoritmusok, vezérlési szerkezetek If - else: elágazás While ciklus For ciklus Egyszerű típusok Összetett
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 33
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenOperációs Rendszerek II. labor. 2. alkalom
Operációs Rendszerek II. labor 2. alkalom Mai témák (e)grep Shell programozás (részletesebben, példákon keresztül) grep Alapvető működés: mintákat keres a bemeneti csatorna (STDIN vagy fájl) soraiban,
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
Részletesebben2018, Funkcionális programozás
Funkcionális programozás 6. előadás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2018, tavaszi félév Miről volt szó? Haskell modulok, kompilálás a
RészletesebbenBánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma
RészletesebbenProgramozási nyelvek JAVA EA+GY 1. gyakolat
Programozási nyelvek JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2018/2019. tavaszi félév Tartalom 1 A Java alapjai 2 Java program
RészletesebbenPython tanfolyam Python bevezető I. rész
Python tanfolyam Python bevezető I. rész Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények
RészletesebbenProgramozási nyelvek (ADA)
Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)
RészletesebbenC programozás. 6 óra Függvények, függvényszerű makrók, globális és
C programozás 6 óra Függvények, függvényszerű makrók, globális és lokális változók 1.Azonosítók A program bizonyos összetevőire névvel (azonosító) hivatkozunk Első karakter: _ vagy betű (csak ez lehet,
RészletesebbenSzámítógéppel segített folyamatmodellezés p. 1/20
Számítógéppel segített folyamatmodellezés Piglerné Lakner Rozália Számítástudomány Alkalmazása Tanszék Pannon Egyetem Számítógéppel segített folyamatmodellezés p. 1/20 Tartalom Modellező rendszerektől
RészletesebbenProgramozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 3. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1 Primitív típusok Típus neve Érték Alap érték Foglalt tár Intervallum byte Előjeles egész 0 8 bit
RészletesebbenA függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
RészletesebbenBevezetés, a C++ osztályok. Pere László
Programozás módszertan II. p. Programozás módszertan II. Bevezetés, a C++ osztályok Pere László (pipas@linux.pte.hu) PÉCSI TUDOMÁNYEGYETEM TERMÉSZETTUDOMÁNYI KAR INFORMATIKA ÉS ÁLTALÁNOS TECHNIKA TANSZÉK
RészletesebbenSZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS
SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS 2.ELŐADÁS A VB programozási nyelv Az Excel programozása 2 A VB programozási nyelv Adattípusok Adatok kezelése Vezérlőszerkezetek Adattípusok és műveletek Egész adattípusok
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java2 / 1 Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2009. 02. 09. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve
RészletesebbenProgramozási nyelvek Python
Programozási nyelvek Python A nyelv története és jellemzői 2 A nyelv története Tervező Guido van Rossum (1956, Hollandia) Befolyásoló nyelvek ABC (pl. blokkok jelölése behúzással); Modula-3; C; C++; Unix
RészletesebbenMYCIN. Szakértői rendszer
MYCIN Szakértői rendszer Általában mycin: gombafajból nyert antibiotikum (görög) Pl: kanamycin, tobramycin, streptomycin, stb Általában szakértői rendszer vér fertőzéseinek, gyógykezeléseknek meghatározását
Részletesebben1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon
1. Template (sablon) 1.1. Függvénysablon Maximum függvény megvalósítása függvénynév túlterheléssel. i n l i n e f l o a t Max ( f l o a t a, f l o a t b ) { return a>b? a : b ; i n l i n e double Max (
Részletesebben2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér
Funkcionális programozás 2. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? Követelmények, osztályozás Programozási
RészletesebbenC# Nyelvi Elemei. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei / 18
C# Nyelvi Elemei Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) C# Nyelvi Elemei 2013 1 / 18 Tartalomjegyzék 1 Object 2 Típusok 3 String 4 RegEx Tóth Zsolt (Miskolci Egyetem) C# Nyelvi
RészletesebbenSZAKÉRTŐI RENDSZEREK, JOGI TUDÁSALAPÚ RENDSZEREK. Strausz György október 2.
SZAKÉRTŐI RENDSZEREK, JOGI TUDÁSALAPÚ RENDSZEREK Strausz György 2015. október 2. MESTERSÉGES INTELLIGENCIA HF KONZULTÁCIÓ Fuzzy szakértői rendszerek Szabálytanulás Szakértői rendszer feladatok. Két alkalom
Részletesebbenvan neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk
függvények ismétlése lista fogalma, használata Game of Life program (listák használatának gyakorlása) listák másolása (alap szintű, teljes körű) Reversi 2 Emlékeztető a függvények lényegében mini-programok,
RészletesebbenProgramozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények. Dr. Bécsi Tamás 6. Előadás
Programozás C- és Matlab nyelven C programozás kurzus BMEKOKAM603 Függvények Dr. Bécsi Tamás 6. Előadás Bevezetés Egy idő után az egyetlen main(){ függvénnyel megírt programunk túl nagy méretű lesz. Vannak
RészletesebbenSzoftvergyártás: gyártásvezérlés kód-figyeléssel
Szoftvergyártás: gyártásvezérlés kód-figyeléssel Előadó: Banai Miklós és Rakyta Péter Pályázatok: TECH_08-A2/2-2008-0089-SZOMIN08; KMOP-1.1.1-08/1-2008-0019; KMOP-1.1.2-08/1-2008-0002 Vízió: Szoftvergyártás
RészletesebbenKomputeralgebra rendszerek
Komputeralgebra rendszerek Haladó programozás Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz Index 1 Procedúrák, változók, a Maple kiterjesztése Egymásba
Részletesebben2019, Funkcionális programozás. 5. el adás. MÁRTON Gyöngyvér
Funkcionális programozás 5. el adás Sapientia Egyetem, Matematika-Informatika Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2019, tavaszi félév Mir l volt szó? a Haskell kiértékelési stratégiája
RészletesebbenFü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 Szeberényi Imre BME IIT Függvények C program egymás mellé rendelt függvényekből áll. A függvény (alprogram) jó absztrakciós eszköz a programok
RészletesebbenProgramozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)
Programozás alapjai C nyelv 7. gyakorlat Szeberényi Imre BME IIT Programozás alapjai I. (C nyelv, gyakorlat) BME-IIT Sz.I. 2005.11.05. -1- Függvények C program egymás mellé rendelt függvényekből
RészletesebbenC#, OOP. Osztályok tervezése C#-ban
C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat
Részletesebben1. Egyszerű (primitív) típusok. 2. Referencia típusok
II. A Java nyelv eszközei 1. Milyen eszközöket nyújt a Java a programozóknak Korábban már említettük, hogy a Java a C nyelvből alakult ki, ezért a C, C++ nyelvben járatos programozóknak nem fog nehézséget
RészletesebbenRekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
RészletesebbenC programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
RészletesebbenSzoftvertechnológia alapjai Java előadások
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz e-mail: fandrew@mit.bme.hu tárgy honlap: http://home.mit.bme.hu/~fandrew/szofttech_hu.html A mai előadás tartalma: Miért pont Java?
RészletesebbenA PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin
1 A PROGRAMOZÁS ALAPJAI 3 Készítette: Vénné Meskó Katalin Információk 2 Elérhetőség meskokatalin@tfkkefohu Fogadóóra: szerda 10:45-11:30 Számonkérés Időpontok Dec 19 9:00, Jan 05 9:00, Jan 18 9:00 egy
RészletesebbenSZAKÉRTŐI RENDSZEREK, LOGIKAI KÖVETKEZTETÉS ALAPÚ MEGOLDÁSOK. Integrációs és ellenőrzési technikák, 2017
SZAKÉRTŐI RENDSZEREK, LOGIKAI KÖVETKEZTETÉS ALAPÚ MEGOLDÁSOK Integrációs és ellenőrzési technikák, 2017 2 Mi is az a szakértői rendszer? mesterséges intelligencián alapuló szoftver rendszer jól körülhatárolt,
RészletesebbenAdatszerkezetek 1. Dr. Iványi Péter
Adatszerkezetek 1. Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot kódoltan tároljuk
RészletesebbenA programozás alapjai
A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,
RészletesebbenDelphi programozás IV.
Delphi programozás IV. Szöveg konvertálása egész számmá A Turbo Delphi többféle lehetőséget biztosít arra, hogy egy szöveges változó tartalmát egész számmá konvertáljunk. A konvertálandó szövegnek egy
Részletesebben2016, Funkcionális programozás
Funkcionális programozás 2. előadás Sapientia Egyetem, Műszaki és Humántudományok Tanszék Marosvásárhely, Románia mgyongyi@ms.sapientia.ro 2016, tavaszi félév Miről volt szó? Programozási paradigmák: imperatív,
RészletesebbenProgramozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010
Programozási technikák Pál László Sapientia EMTE, Csíkszereda, 2009/2010 Előadás tematika 1. Pascal ismétlés, kiegészítések 2. Objektum orientált programozás (OOP) 3. Delphi környezet 4. Komponensek bemutatása
RészletesebbenKomputeralgebra rendszerek
Komputeralgebra rendszerek III. Változók Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz Index I 1 Szimbolikus konstansok kezelés A konstansok Nevek levédése
RészletesebbenCekla. Készítette Doxygen Tue Sep :13:44
Cekla Készítette Doxygen 1.7.1 Tue Sep 20 2011 14:13:44 TARTALOMJEGYZÉK 1 Tartalomjegyzék 1. Cekla C++ könyvtár deklaratív C++-hoz 1 2. Modulmutató 1 2.1. Modulok............................................
RészletesebbenKomputeralgebra rendszerek
Komputeralgebra rendszerek III. Változók Czirbusz Sándor czirbusz@gmail.com Komputeralgebra Tanszék ELTE Informatika Kar 2009-2010 ősz Index I 1 Szimbolikus konstansok kezelés A konstansok Nevek levédése
RészletesebbenMatematikai programok
Matematikai programok Mátrixalapú nyelvek octave Wettl Ferenc Algebra Tanszék B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Wettl
RészletesebbenA MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana
A MATLAB alapjai Kezdő lépések - Matlab Promt: >> - Help: >> help sqrt >> doc sqrt - Kilépés: >> quit >> exit >> Futó script leállítása: >> ctrl+c - Változók listásása >> who >> whos - Változók törlése
RészletesebbenHaladó DBMS ismeretek 1
Haladó DBMS ismeretek 1 Hasznos információk A tantárgy weboldala: it.inf.unideb.hu/honlap/halado_oracle1 Oracle Junior képzés Gyakorlatok és a neptun Gyakorlat követelmények Ajánlott irodalom Juhász István
RészletesebbenMemóriagazdálkodás. Kódgenerálás. Kódoptimalizálás
Kódgenerálás Memóriagazdálkodás Kódgenerálás program prológus és epilógus értékadások fordítása kifejezések fordítása vezérlési szerkezetek fordítása Kódoptimalizálás L ATG E > TE' E' > + @StPushAX T @StPopBX
RészletesebbenMiután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni:
Excel objektumok Az excelben az osztályokat úgynevezett class modulokként hozzuk létre. Miután létrehoztuk, szeretnénk neki beszédesebb nevet adni. A név változtatásához a következőt kell tenni: View-ba
Részletesebben3. Gyakorlat Ismerkedés a Java nyelvvel
3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az
RészletesebbenS z á m í t ó g é p e s a l a p i s m e r e t e k
S z á m í t ó g é p e s a l a p i s m e r e t e k 7. előadás Ami eddig volt Számítógépek architektúrája Alapvető alkotóelemek Hardver elemek Szoftver Gépi kódtól az operációs rendszerig Unix alapok Ami
RészletesebbenProgramozás C++ -ban
Programozás C++ -ban 6. Konstansok A C nyelvben konstansokat makróval is deklarálhatunk. Ebben az esetben mindenhol ahol a makró előfordul a fordító a definiált értéket behelyettesíti a makró helyére.
RészletesebbenPHP alapjai, bevezetés. Vincze Dávid Miskolci Egyetem, IIT
alapjai, bevezetés Vincze Dávid Miskolci Egyetem, IIT vincze.david@iit.uni-miskolc.hu PHP Personal Home Page (Tools) Script nyelv -> interpretált Elsősorban weboldal (dinamikus) tartalmak előállítására
RészletesebbenA C# programozási nyelv alapjai
A C# programozási nyelv alapjai Tisztán objektum-orientált Kis- és nagybetűket megkülönbözteti Ötvözi a C++, Delphi, Java programozási nyelvek pozitívumait.net futtatókörnyezet Visual Studio fejlesztőkörnyezet
RészletesebbenAz iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra
Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási
RészletesebbenIII. OOP (objektumok, osztályok)
III. OOP (objektumok, osztályok) 1. Természetes emberi gondolkozás Az Objektumorientált paradigma alapelvei nagyon hasonlítanak az emberi gondolkozásra. Érdemes ezért elsőként az emberi gondolkozás elveit
RészletesebbenAlgoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás
Algoritmusok Tervezése 4. Előadás Visual Basic 1. Dr. Bécsi Tamás Bevezetés A BASIC (Beginner s All-purpose Symbolic Instruction Code) programnyelvet oktatási célokra hozták létre 1964-ben. Az általános
RészletesebbenObjektumorientált Programozás III.
Objektumorientált Programozás III. Vezérlési szerkezetek ismétlés Matematikai lehetőségek Feladatok 1 Hallgatói Tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő
RészletesebbenKOMPUTER-ALGEBRA RENDSZEREK VERIFIKÁCIÓJA
KOMPUTER-ALGEBRA RENDSZEREK VERIFIKÁCIÓJA Szoftver Verifikáció és Validáció, 2015 Ősz Vaitkus Márton Tartalom Motiváció Maple MiniMaple MiniMaple típusellenőrzése MiniMaple formális specifikációja MiniMaple
RészletesebbenBevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
RészletesebbenAz alállomási kezelést támogató szakértői funkciók
Az alállomási kezelést támogató szakértői funkciók dr. Kovács Attila Szakértői rendszerek Emberi szakértő kompetenciájával, tudásával rendelkező rendszer Jellemzői: Számítási műveletek helyett logikai
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenPénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Az Integrált Fejlesztői Környezet C++ alapok Az Integrált Fejlesztői Környezet Visual Studio 2013 Community Edition Kitekintés: fordítás Preprocesszor Fordító
RészletesebbenA modell-ellenőrzés gyakorlata UPPAAL
A modell-ellenőrzés gyakorlata UPPAAL Uppsalai Egyetem + Aalborgi Egyetem közös fejlesztése; 1995. első verzió megjelenése; részei: - grafikus modellt leíró eszköz (System editor) - szimulátor (Simulator)
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 9. előadás Interface - típust vezet be, de osztálypéldány nem készíthető belőle (statikus típust ad) - több osztály is
RészletesebbenKomputeralgebra Rendszerek
Komputeralgebra Rendszerek Programozás Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. február 23. TARTALOMJEGYZÉK 1 of 28 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Értékadás MAPLE -ben SAGE -ben 3
RészletesebbenJárműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás
Járműfedélzeti rendszerek II. 4. előadás Dr. Bécsi Tamás 6. Struktúrák A struktúra egy vagy több, esetleg különböző típusú változó együttese, amelyet a kényelmes kezelhetőség céljából önálló névvel látunk
RészletesebbenPython bevezető foglalkozás Python bevezető foglalkozás
Python bevezető foglalkozás program, programozás, programnyelvek a Python nyelv és az IDLE környezet változók és adattípusok konzol input és output (input(), print()) vezérlési szerkezetek (if/else, while)
RészletesebbenJAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
RészletesebbenJava-ról Kotlinra. Ekler Péter AutSoft BME AUT. AutSoft
Java-ról Kotlinra Ekler Péter peter.ekler@aut.bme.hu BME AUT Tartalom Java és Kotlin kapcsolata Hogyan próbálhatjuk ki? Kotlin kultúra kialakítása cégen belül Milyen a Kotlin a Java-hoz képest? Történet
RészletesebbenIsmerkedés a Python programnyelvvel. és annak micropython változatával
Ismerkedés a Python programnyelvvel és annak micropython változatával A Python programozási nyelv története Az alapötlet 1980-ban született, 1989 decemberében kezdte el fejleszteni Guido van Rossum a CWI-n
RészletesebbenBevezetés. Dr. Iványi Péter
Bevezetés Dr. Iványi Péter Programozási készség Számos munka igényel valamilyen szintű programozási készséget Grafikus a képfeldolgozót, Zenész a szintetizátort, Programozó a számítógépet programozza.
RészletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 3. előadás Vezérlési szerkezetek Elágazás Gyakran előfordul, hogy meg kell vizsgálnunk egy állítást, és attól függően, hogy igaz vagy hamis, a programnak más-más
Részletesebbenködös határ (félreértés, hiba)
probléma formálisan specifikált: valós világ (domain) (hibás eredmény) ködös határ (félreértés, hiba) formális világ (megoldás) A szoftver fejlesztőnek meg kell értenie a felhasználó problémáját. A specifikáció
RészletesebbenKomputeralgebra Rendszerek
Komputeralgebra Rendszerek Összetett adatszerkezetek a MAPLE -ben Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék 2014. március 11. TARTALOMJEGYZÉK 1 of 66 TARTALOMJEGYZÉK I 1 TARTALOMJEGYZÉK 2 Kifejezéssorozatok
RészletesebbenDebreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem
13. Védelem A védelem célja Védelmi tartományok Hozzáférési mátrixok (access matrix, AM) A hozzáférési mátrixok implementációja A hozzáférési jogok visszavonása Képesség-alapú rendszerek Nyelvbe ágyazott
RészletesebbenTartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!
Tartalomjegyzék Általános Információ! 2 Felhasználói dokumentáció! 3 Feladat! 3 Környezet! 3 Használat! 3 Bemenet! 3 Példa! 3 A program eredménye! 3 Példa! 3 Hibalehetőségek! 3 Példa! 3 Fejlesztői dokumentáció!
RészletesebbenA gyakorlat során az alábbi ábrán látható négy entitáshoz kapcsolódó adatbevitelt fogjuk megoldani.
Vizuális programozás 1. A gyakorlat célja A gyakorlat célja a Könyvtár alkalmazás folytatása az előző gyakorlaton elkészített grafikus felület felhasználásával. Elsőként lemásoljuk az előző gyakorlat eredményeként
Részletesebben