Komputeralgebra rendszerek

Hasonló dokumentumok
Komputeralgebra rendszerek

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek

Komputeralgebra rendszerek

Komputeralgebra rendszerek

Kivételkezelés a C++ nyelvben Bevezetés

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek

Imperatív programozás

Komputeralgebra rendszerek

Komputeralgebra rendszerek

Informatika terméktervezőknek

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

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?

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

Komputeralgebra rendszerek

Programozási nyelvek (ADA)

Programozási nyelvek JAVA EA+GY 1. gyakolat

KOMPUTER-ALGEBRA RENDSZEREK VERIFIKÁCIÓJA

Programozás módszertan

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Java programozási nyelv

Programozási nyelvek a közoktatásban alapfogalmak II. előadás

Kivételek, kivételkezelés a C++ nyelvben

Rekurzió. Dr. Iványi Péter

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Komputeralgebra Rendszerek

Globális operátor overloading

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Objektum orientált kiterjesztés A+ programozási nyelvhez

S0-02 Típusmodellek (Programozás elmélet)

S z á m í t ó g é p e s a l a p i s m e r e t e k

OOP #14 (referencia-elv)

1. Bevezetés A C++ nem objektumorientált újdonságai 3

Java Server Pages - JSP. Web Technológiák. Java Server Pages - JSP. JSP lapok életciklusa

Python tanfolyam Python bevezető I. rész

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.


JAVA PROGRAMOZÁS 2.ELŐADÁS

Programozás II. 4. Dr. Iványi Péter

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

Komputeralgebra Rendszerek

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Eljárások és függvények

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

Cekla. Készítette Doxygen Tue Sep :13:44

Programozás C és C++ -ban

Statikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék

BASH script programozás II. Vezérlési szerkezetek

FRAKTÁLGEOMETRIA. Példák fraktálokra I. Czirbusz Sándor február 1. Komputeralgebra Tanszék ELTE Informatika Kar

A C programozási nyelv I. Bevezetés

A C programozási nyelv I. Bevezetés

CLIPS (C Language Integrated Production System)

Komputeralgebra Rendszerek

Komputeralgebra Rendszerek

Programozás II. 2. Dr. Iványi Péter

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Adatbázisok webalkalmazásokban

Windows rendszeradminisztráció és Microsoft szerveralkalmazások támogatása. 9. óra. Kocsis Gergely, Kelenföldi Szilárd

C++ programozási nyelv

Tájékoztató. Használható segédeszköz: -

Apple Swift kurzus 3. gyakorlat

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

A C programozási nyelv IV. Deklaráció és definíció

Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat

Komputeralgebra rendszerek

A C programozási nyelv II. Utasítások. A függvény.

AWK programozás, minták, vezérlési szerkezetek

Szoftvergyártás: gyártásvezérlés kód-figyeléssel

Csomag. Adatbázis-objektum Programozási eszközök gyűjteménye Két részből áll. specifikáció törzs (opcionális)

Bevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum

Máté: Assembly programozás

1. Template (sablon) 1.1. Függvénysablon Függvénysablon példányosítás Osztálysablon

A C programozási nyelv V. Struktúra Dinamikus memóriakezelés

C++ programozási nyelv Konstruktorok-destruktorok

A JavaScript főbb tulajdonságai

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

A C programozási nyelv III. Pointerek és tömbök.

Programozási nyelvek Java

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

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

Java II. I A Java programozási nyelv alapelemei

Hardver leíró nyelvek (HDL)

A C programozási nyelv III. Pointerek és tömbök.

Gregorics Tibor Modularizált programok C++ nyelvi elemei 1

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Szoftvertechnológia alapjai Java előadások

A modell-ellenőrzés gyakorlata UPPAAL

Komputeralgebra Rendszerek

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Pénzügyi algoritmusok

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

PYTHON. Avagy hosszú az út a BioPythonig

AWK programozás, minták, vezérlési szerkezetek

PHP-MySQL. Adatbázisok gyakorlat

Írta: GYIMÓTHY TIBOR HAVASI FERENC KISS ÁKOS FORDÍTÓPROGRAMOK. Egyetemi tananyag

Algoritmizálás + kódolás C++ nyelven és Pascalban

Java IX. telkezelés a Java-ban

Átírás:

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 ágyazott procedúrák "Apróságok" 2 Modulok Célok Szintaxis Modultest, információkérés Opciók, egyebek Modultípusok A use utasítás 3 Összekapcsolhatóság 4 Programtesztelés Debug trace Kivételkezelés Szintaktikai ellenőrzés Egyebek

Egymásba ágyazott procedúrák Egymásba ágyazott procedúrák A változók hatáskörének megállapítása

Egymásba ágyazott procedúrák Egymásba ágyazott procedúrák A változók hatáskörének megállapítása 1 A belső procedúra paraméterei

Egymásba ágyazott procedúrák Egymásba ágyazott procedúrák A változók hatáskörének megállapítása 1 A belső procedúra paraméterei 2 A belső procedúra lokális/globális változói

Egymásba ágyazott procedúrák Egymásba ágyazott procedúrák A változók hatáskörének megállapítása 1 A belső procedúra paraméterei 2 A belső procedúra lokális/globális változói 3 A külső eljárás praméterei

Egymásba ágyazott procedúrák Egymásba ágyazott procedúrák A változók hatáskörének megállapítása 1 A belső procedúra paraméterei 2 A belső procedúra lokális/globális változói 3 A külső eljárás praméterei 4 A külső eljárás lokális/globális változói

Egymásba ágyazott procedúrák Egymásba ágyazott procedúrák A változók hatáskörének megállapítása 1 A belső procedúra paraméterei 2 A belső procedúra lokális/globális változói 3 A külső eljárás praméterei 4 A külső eljárás lokális/globális változói 5 A külső procedúrák implicit lokális változói

Egymásba ágyazott procedúrák Egymásba ágyazott procedúrák A változók hatáskörének megállapítása 1 A belső procedúra paraméterei 2 A belső procedúra lokális/globális változói 3 A külső eljárás praméterei 4 A külső eljárás lokális/globális változói 5 A külső procedúrák implicit lokális változói Kiegészítő szabályok

Egymásba ágyazott procedúrák Egymásba ágyazott procedúrák A változók hatáskörének megállapítása 1 A belső procedúra paraméterei 2 A belső procedúra lokális/globális változói 3 A külső eljárás praméterei 4 A külső eljárás lokális/globális változói 5 A külső procedúrák implicit lokális változói Kiegészítő szabályok A for kontrollváltozója, illetve explicit értékadás baloldali változója lokális

Egymásba ágyazott procedúrák Egymásba ágyazott procedúrák A változók hatáskörének megállapítása 1 A belső procedúra paraméterei 2 A belső procedúra lokális/globális változói 3 A külső eljárás praméterei 4 A külső eljárás lokális/globális változói 5 A külső procedúrák implicit lokális változói Kiegészítő szabályok A for kontrollváltozója, illetve explicit értékadás baloldali változója lokális Minden más változó globális

"Apróságok" "Apróságok" Procedúrák melyek visszaadott értéke procedúra : "gyári" procedúrák, pl.dsolve mi is készíthetünk

"Apróságok" "Apróságok" Procedúrák melyek visszaadott értéke procedúra : "gyári" procedúrák, pl.dsolve mi is készíthetünk Lokális változól élettartama : a procedúra befejeztéig

"Apróságok" "Apróságok" Procedúrák melyek visszaadott értéke procedúra : "gyári" procedúrák, pl.dsolve mi is készíthetünk Lokális változól élettartama : a procedúra befejeztéig Interaktív input : readline(file) Ha a file=terminal, egy sort kér tőlünk. A parse konvertálja kifejezéssé.

"Apróságok" "Apróságok" Procedúrák melyek visszaadott értéke procedúra : "gyári" procedúrák, pl.dsolve mi is készíthetünk Lokális változól élettartama : a procedúra befejeztéig Interaktív input : readline(file) Ha a file=terminal, egy sort kér tőlünk. A parse konvertálja kifejezéssé. Kifejezés bevitele : readstat(prompt)

"Apróságok" "Apróságok" Procedúrák melyek visszaadott értéke procedúra : "gyári" procedúrák, pl.dsolve mi is készíthetünk Lokális változól élettartama : a procedúra befejeztéig Interaktív input : readline(file) Ha a file=terminal, egy sort kér tőlünk. A parse konvertálja kifejezéssé. Kifejezés bevitele : readstat(prompt) Új típus definiálása : type/újtípus :=kifejezés (többnyire procedúra)

"Apróságok" "Apróságok" Procedúrák melyek visszaadott értéke procedúra : "gyári" procedúrák, pl.dsolve mi is készíthetünk Lokális változól élettartama : a procedúra befejeztéig Interaktív input : readline(file) Ha a file=terminal, egy sort kér tőlünk. A parse konvertálja kifejezéssé. Kifejezés bevitele : readstat(prompt) Új típus definiálása : type/újtípus :=kifejezés (többnyire procedúra) Semleges operátorok : &operátor

"Apróságok" "Apróságok" Procedúrák melyek visszaadott értéke procedúra : "gyári" procedúrák, pl.dsolve mi is készíthetünk Lokális változól élettartama : a procedúra befejeztéig Interaktív input : readline(file) Ha a file=terminal, egy sort kér tőlünk. A parse konvertálja kifejezéssé. Kifejezés bevitele : readstat(prompt) Új típus definiálása : type/újtípus :=kifejezés (többnyire procedúra) Semleges operátorok : &operátor Parancsok kiterjesztése : proc/típus :=proc... userinfo(string) Tájékoztató a folyamatról

Célok Célok Csomagok írása

Célok Célok Csomagok írása Objektum modellezés

Célok Célok Csomagok írása Objektum modellezés Portábilitás

Szintaxis Szintaxis module() local L ; export E ; global G ; options O ; description D ; Body end module A module() end module kivételével minden opcionális. Alkalmazás : name:=module()...end module Vagy : modul name()... end module (Nem vehet részt értékadásban) Hivatkozásoknál írásképben megkülönbözteti a Maple a kettőt.

Modultest, információkérés Modultest, információkérés Modultest : Maple utasítássorozat,lehet üres Nem lehet break, next benne.

Modultest, információkérés Modultest, információkérés Modultest : Maple utasítássorozat,lehet üres Nem lehet break, next benne. A thismodule hivatkozás

Modultest, információkérés Modultest, információkérés Modultest : Maple utasítássorozat,lehet üres Nem lehet break, next benne. A thismodule hivatkozás export elérése. modulkif:-exportnév.

Modultest, információkérés Modultest, információkérés Modultest : Maple utasítássorozat,lehet üres Nem lehet break, next benne. A thismodule hivatkozás export elérése. modulkif:-exportnév. Nevük lekérdezhető az exports(modulnév), exports(modulnév, instance )vagy hívatkozással.

Modultest, információkérés Modultest, információkérés Modultest : Maple utasítássorozat,lehet üres Nem lehet break, next benne. A thismodule hivatkozás export elérése. modulkif:-exportnév. Nevük lekérdezhető az exports(modulnév), exports(modulnév, instance )vagy hívatkozással. A member(modul, név) teszteli a tartalmazást.

Opciók, egyebek Opciók load=proc és unload=proc : Híváskor/törléskor végreahjtódó procedúra.

Opciók, egyebek Opciók load=proc és unload=proc : Híváskor/törléskor végreahjtódó procedúra. package

Opciók, egyebek Opciók load=proc és unload=proc : Híváskor/törléskor végreahjtódó procedúra. package record

Opciók, egyebek Opciók load=proc és unload=proc : Híváskor/törléskor végreahjtódó procedúra. package record Hatáskörök, egymásbaágyazás : minta a procedúráknál.

Opciók, egyebek Opciók load=proc és unload=proc : Híváskor/törléskor végreahjtódó procedúra. package record Hatáskörök, egymásbaágyazás : minta a procedúráknál. Paraméterezett modul (generikus modul) : procedúrába ágyazva (pl modulo aritmetika) (Lényegében konstruktor)

Opciók, egyebek Opciók load=proc és unload=proc : Híváskor/törléskor végreahjtódó procedúra. package record Hatáskörök, egymásbaágyazás : minta a procedúráknál. Paraméterezett modul (generikus modul) : procedúrába ágyazva (pl modulo aritmetika) (Lényegében konstruktor) Típusok : a modul egyben típus is, a defíníciója pedig moduldefinition típus

Modultípusok Modultípusok record

Modultípusok Modultípusok record package - ez az új trendi. A :- hívatkozás bal-asszociatív

A use utasítás A use utasítás Nemcsak moduloknál használjuk (Pascal width) use environment in body end use;

Összekapcsolhatóság Külső - C, FORTRAN - eljárás hívása Maple-ból

Összekapcsolhatóság Külső - C, FORTRAN - eljárás hívása Maple-ból OpenMaple : Maple eljárások hívása más nyelvből.

Debug Debug Sorszámkijelzés : showstat(proc)

Debug Debug Sorszámkijelzés : showstat(proc) Breakpoint : stopat(proc,sorszám, cond) átmegy debug módba A sorszám és a feltétel opcionális

Debug Debug Sorszámkijelzés : showstat(proc) Breakpoint : stopat(proc,sorszám, cond) átmegy debug módba A sorszám és a feltétel opcionális Visszavonása : unstopat(proc, sorszám)

Debug Debug Sorszámkijelzés : showstat(proc) Breakpoint : stopat(proc,sorszám, cond) átmegy debug módba A sorszám és a feltétel opcionális Visszavonása : unstopat(proc, sorszám) prompt :DBG>

Debug Debug Sorszámkijelzés : showstat(proc) Breakpoint : stopat(proc,sorszám, cond) átmegy debug módba A sorszám és a feltétel opcionális Visszavonása : unstopat(proc, sorszám) prompt :DBG> parancsok : next, step, showstat, list, outfrom, cont, quit, where, showstop

Debug Debug Sorszámkijelzés : showstat(proc) Breakpoint : stopat(proc,sorszám, cond) átmegy debug módba A sorszám és a feltétel opcionális Visszavonása : unstopat(proc, sorszám) prompt :DBG> parancsok : next, step, showstat, list, outfrom, cont, quit, where, showstop watchpoint : stopwhen([proc,var]), unstopwhen()

Debug Debug Sorszámkijelzés : showstat(proc) Breakpoint : stopat(proc,sorszám, cond) átmegy debug módba A sorszám és a feltétel opcionális Visszavonása : unstopat(proc, sorszám) prompt :DBG> parancsok : next, step, showstat, list, outfrom, cont, quit, where, showstop watchpoint : stopwhen([proc,var]), unstopwhen() Explicit meghívás procedúrából : DEBUG(arg)

Debug Debug Sorszámkijelzés : showstat(proc) Breakpoint : stopat(proc,sorszám, cond) átmegy debug módba A sorszám és a feltétel opcionális Visszavonása : unstopat(proc, sorszám) prompt :DBG> parancsok : next, step, showstat, list, outfrom, cont, quit, where, showstop watchpoint : stopwhen([proc,var]), unstopwhen() Explicit meghívás procedúrából : DEBUG(arg) stoperror(string) a figyelt hiba jelzése Speciális nevek :

Debug Debug Sorszámkijelzés : showstat(proc) Breakpoint : stopat(proc,sorszám, cond) átmegy debug módba A sorszám és a feltétel opcionális Visszavonása : unstopat(proc, sorszám) prompt :DBG> parancsok : next, step, showstat, list, outfrom, cont, quit, where, showstop watchpoint : stopwhen([proc,var]), unstopwhen() Explicit meghívás procedúrából : DEBUG(arg) stoperror(string) a figyelt hiba jelzése Speciális nevek : all bármilyen olyan hibánál, amelyik nincs a try konstrukcióban

Debug Debug Sorszámkijelzés : showstat(proc) Breakpoint : stopat(proc,sorszám, cond) átmegy debug módba A sorszám és a feltétel opcionális Visszavonása : unstopat(proc, sorszám) prompt :DBG> parancsok : next, step, showstat, list, outfrom, cont, quit, where, showstop watchpoint : stopwhen([proc,var]), unstopwhen() Explicit meghívás procedúrából : DEBUG(arg) stoperror(string) a figyelt hiba jelzése Speciális nevek : all bármilyen olyan hibánál, amelyik nincs a try konstrukcióban traperror

trace trace printlevel=n

trace trace printlevel=n trace(proclist)

trace trace printlevel=n trace(proclist) untrace(proclist)

trace trace printlevel=n trace(proclist) untrace(proclist) ASSERT(felt, üzenet) kernelopts(assert=true) a bekapcsolása

trace trace printlevel=n trace(proclist) untrace(proclist) ASSERT(felt, üzenet) kernelopts(assert=true) a bekapcsolása WARNING(üzenet,par1,par2,...), interface(warnlevel=n)

Kivételkezelés Kivételkezelés try catch finally Üzenet : error(string1,string2,...)

Szintaktikai ellenőrzés Szintaktikai ellenőrzés maplemint(proc)

Egyebek Egyebek showtime(), kikapcsolása : off

Egyebek Egyebek showtime(), kikapcsolása : off time()

Egyebek Egyebek showtime(), kikapcsolása : off time() profile(procs), showprofile(procs), unprofile(procs)

Egyebek Egyebek showtime(), kikapcsolása : off time() profile(procs), showprofile(procs), unprofile(procs) timelimit(time, expr)

Egyebek Egyebek showtime(), kikapcsolása : off time() profile(procs), showprofile(procs), unprofile(procs) timelimit(time, expr) gc() garbage collection