CLIPS (C Language Integrated Production System)
|
|
- Krisztián Orosz
- 10 é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
A 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ó
A 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,
A 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,
Interaktí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,
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
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
Mechatronika é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
Operá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
1. 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.
Imperatí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
Szkriptnyelvek. 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
Algoritmizá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
Objektumorientá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
C 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}
BASH 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
Java 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
A 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
FUNKCIONÁ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
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
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:
Algoritmizá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
Imperatí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]
Adattí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
Bá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
Operá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,
OOP #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
2018, 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
Bá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
Programozá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
Python 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
Programozá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)
C 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,
Szá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
Programozá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
A 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
Bevezeté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
SZÁ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
Java 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
Programozá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
MYCIN. 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
1. 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 (
2019, 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
C# 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
SZAKÉ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
van 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,
Programozá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
Szoftvergyá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
Komputeralgebra 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
2019, 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
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 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
Programozá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
C#, 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
1. 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
Rekurzió. 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(
C 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
Szoftvertechnoló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?
A 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
SZAKÉ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,
Adatszerkezetek 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
A 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,
Delphi 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
2016, 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,
Programozá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
Komputeralgebra 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
Cekla. 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............................................
Komputeralgebra 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
Matematikai 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
A 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
Haladó 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
Memó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
Miutá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
3. 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
S 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
Programozá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.
PHP 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
A 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
Az 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
III. 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
Algoritmusok 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
Objektumorientá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ő
KOMPUTER-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
Bevezeté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)
Az 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
Java é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:
Pé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ó
A 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)
Programozá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
Komputeralgebra 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
Já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
Python 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)
JAVA 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,
Java-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
Ismerkedé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
Bevezeté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.
Bevezeté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;
Programozá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
kö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ó
Komputeralgebra 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
Debreceni 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
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!
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ó!
A 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