Script nyelvek előadás

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements

Anyagadatbank c. tárgy gyakorlat
JavaScript.
Bevezetés a Java programozásba
10. előadás (2004. április 20.) A C előfordító (folytatás) Néhány hasznos compiler opció Egy tanulságos könyvtári függvény Változó hosszúságú argumentum.
5. előadás (2005. március 22.) Függvények definíciója, deklarációja, hívása Enumerációs adattípus 1.
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Függvények, mutatók Csernoch Mária.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
C# tagfüggvények.
C# tagfüggvények.
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Ficsor Lajos Template-ek CPP8/ 1 Template-ek. Ficsor Lajos Template-ek CPP8/ 2 A template fogalma Kiindulási probléma: tetszőleges típusokon kellene ugyanolyan.
Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék
Kivételkezelés a C++ nyelvben Bevezetés
Bevezetés a C++ programozási nyelvbe
Operációs rendszerek gyakorlat 4. Gyakorlat Vakulya Gergely.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
DDL – Adatdefiníciós nyelv
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Kifejezések a Pascalban Páll Boglárka. Ismétlés: Ahogy algoritmikából láttuk, a kifejezések a Pascal nyelvben is operátorokból és operandusokból állnak.
Listák, Vermek és Várakozási Sorok. Vermek Def: Egy sajátos lista amelyben minden beszúrási illetve törlési művelet csak a lista egyik végén történik.
Listák, Vermek és Várakozási Sorok
Listák, Vermek és Várakozási Sorok. Listák Pl: Kirándulók listája Bevásárló lista Alma Kenyér Krumpli Szappan Mosópor Bevásárló lista.
DFAN-INF-524 és DFAL-INF-524 kurzus hallgatói számára SZPISÁK TAMÁS / 2012.
Objektum orientált programozás a gyakorlatban
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Készítette: Lipp Marcell
PHP nyelv Mari Dániel.
Egyenesvonalú (lineáris) adatszerkezetek
A Visual Basic nyelvi elemei
Power Lutár Patrícia Pellek Krisztián.  -ltLess than  -leLess than or equal to  -gtGreater than  -geGreater than or equal to  -eqEqual to  -neNot.
Függvények a C nyelvben 1 Függvényeket a következő esetekben szokás írni: Ha ugyanazt a tevékenységet többször is el kell végeznünk ugyanolyan típusú,
Feladatok a lista adatszerkezethez Összeállította: Gergely János.
Objektum orientált programozás
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
Excel programozás (makró)
(Bináris) Kupac (heap) adattípus
Példa. Az ábrázolás szemléltetése.  = ({stack, elem },{ create :  stack; push : stack elem  stack}),  = ( {vector, nat, elem}, { create c :  vector.
Függvények, mutatók Csernoch Mária. Függvények függvény definíciója az értelmezési tartomány tetszőleges eleméhez hozzárendel egy értéket –függvény helyettesítési.
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
Script nyelvek előadás
Script nyelvek előadás
Script nyelvek előadás
Script nyelvek előadás
Script nyelvek előadás
Riportok, táblák, programok
a programegységek között
Script nyelvek előadás
Script nyelvek előadás
Excel programozás (makró)
Típusok Halmaz (a világ objektumai közül néhány) Neve van
A CLIPS keretrendszer
Számítógépes Hálózatok
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Script nyelvek előadás
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Python alapok Vincellér Zoltán.
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Függvénysablonok használata
Előadás másolata:

Script nyelvek előadás függvények, további típusok

Függvénydefiníció def fib(x) : "Az x. Fibonacci-szamot kiszamito fuggveny." a = 0 b = 1 if x <= 0 : b = 0 elif x == 1 : pass else : for i in range(x-1) : b , a = a+b, b print "Az", x, ". Fibonacci-szam:" print b return b

Függvénydefiníció - default paraméter értékek, „eljárás” definíció def lnko(x=10, y=15): "Ket szam legnagyobb kozos osztoja." print x, "es", y, "legnagyobb kozos osztoja:" while not (x == y) : if x > y : x = x - y else : y = y - x print x

Függvénydefiníció Megjegyzés: speciális paraméterátadás: - default paraméter értékek x = 10 def fv(arg=x) : return arg x = 20 fv() == 10 lista = [10, 20] def fv(arg=lista) : return arg lista[1] = 30 fv() == [10, 30] Megjegyzés: speciális paraméterátadás: def fv(x,y) : return x+y lista = [6,8] fv(*lista) == 14

Függvénydefiníció - függvény objektum - lambda függvény def tizenot() : return 15 f15 = tizenot f15() == 15 def mult(x) : return lambda n : x * n double = mult(2) triple = mult(3) double(8) == 16 triple(8) == 24

Függvénydefiníció - globális változók elérése x = 20 y = 30 def localfv() : global x print "A függvény elején x:", x # 20 x = 10 y = 10 print "A függvényben x:", x, "y:", y # 10, 10 localfv() print x, y # 10, 30

Függvénydefiníció - globális változók elérése x = 20 y = 30 def localfv() : global x print "A függvény elején x:", x # 20 print "A függvény elején y:", y # error x = 10 y = 10 print "A függvényben x:", x, "y:", y localfv()

Függvénydefiníció - globális változók elérése x = 20 y = 30 def localfv() : global x print "A függvény elején x:", x # 20 print "A függvény elején y:", y # 30 x = 10 print "A függvényben x:", x, "y:", y # 10, 30 localfv() print x, y # 10, 30

Listák további műveletei lista = [1, 2, 3, 4] - új elem hozzávétele: - lista.append(5) lista == [1, 2, 3, 4, 5] - lista.insert(2,”uj”) # adott index elé szúr be lista == [1, 2, 'uj', 3, 4] lista.insert(20,”uj”) lista == [1, 2, 3, 4, 'uj']

Listák további műveletei lista = [1, 2, 3, 4], lista2 = [1, 2, 1, 2] - kiterjesztés: - lista.extend([5, 6, 7]) lista == [1, 2, 3, 4, 5, 6, 7] - elem törlése: - lista2.remove(2) # az első ilyen elemet törli lista2 == [1, 1, 2] lista2.remove(3) --- ValueError: list.remove(x): x not in list - del lista2[1]

Listák további műveletei lista = ['egy', 'ketto', 'harom'] - adott indexű elem kivétele: - x = lista.pop(1) lista == ['egy', 'harom'] x == 'ketto' x = lista.pop(12) --- IndexError: pop index out of range Megjegyzés - x = lista.append('negy') lista == ['egy', 'ketto', 'harom', 'negy'] x == None

Listák további műveletei lista = ['egy', 'ketto', 'harom'], lista2 = [1, 2, 1, 2] - index lekérdezése: - lista.index('egy') == 0 lista.index('uj') --- ValueError: 'uj' is not in list - előfordulási szám lekérdezése: - lista2.count(1) == 2 lista2.count(3) == 0

Listák további műveletei lista = [3, 4, 5, 2, 1] - megfordítás: - lista.reverse() lista ==[1, 2, 5, 4, 3] - rendezés: - lista.sort() lista ==[1, 2, 3, 4, 5]

Magasabbrendű függvények listákra lista = [1, 2, 3, 4, 5, 6] - filter: - filter(lambda x: x%3==0, lista) == [3, 6] - map: - map(lambda x: x**2, lista) == [1, 4, 9, 16, 25, 36] map(lambda x, y : x+y, lista, lista) == [2, 4, 6, 8, 10, 12] map(lambda x, y: (x, y), [1, 2], [1, 2, 3, 4]) == [(1, 1), (2, 2), (None, 3), (None, 4)] map(None, [1, 2, 3], [2, 4, 5]) == [(1, 2), (2, 4), (3, 5)]

Magasabbrendű függvények listákra - reduce: - reduce(lambda x, y : x+y, [1, 2, 3, 4]) == 10 (a -> a -> a, [a]) -> a 1+2 3+3 6+4 reduce(lambda x, y : x/y, [5, 4, 2], 100.0) == 2.5 (a-> b -> a, [b], a) -> a 100.0 / 5 20.0 / 4 5.0 / 2

Lista konstruktorok Megjegyzés zip([1,2,3],[5,6]) == [(1, 5), (2, 6)] - [x**2 for x in range(1,5)] == [1, 4, 9, 16] - [x**2 for x in range(1,5) if x%2 == 0] == [4, 16] - [x*y for x in [2,4] for y in [3,5]] == [6, 10, 12, 20] - [x*y for x, y in zip([2,4],[3,5])] == [6, 20] Megjegyzés zip([1,2,3],[5,6]) == [(1, 5), (2, 6)]

Típusok + műveleteik Halmaz - mutable érték - létrehozás lista = [1,3,2,1,4,2,3] s = set(lista) s == set([1, 2, 3, 4]) - eleme-e reláció: s = set([1, 2, 3, 4]) (4 in s) == True (5 in s) == False

Típusok + műveleteik Halmaz s == set([1, 2, 3, 4]) - új elem hozzávétele: s.add(5) s == set([1, 2, 3, 4, 5]) - elem törlése s.discard(3) s == set([1, 2, 4])

Típusok + műveleteik Halmaz Halmazműveletek a = set([1, 2, 3]), b = set([2, 3, 4]) - kivonás: a - b == set([1]) - unió: a | b == set([1, 2, 3, 4]) - metszet: a & b == set([2, 3]) - xor, (a|b) - (a&b): a ^ b == set([1,4])

Típusok + műveleteik Szótár adatszerkezet - mutable érték tel = {'Peter': 1234, 'Janos': 3456} - lekérdezés tel['Peter'] == 1234 - módosítás tel['Janos'] = 1287 tel == {'Peter': 1234, 'Janos': 1287} tel['Jozsef'] = 6543 tel == {'Peter': 1234, 'Janos': 3456, 'Jozsef': 6543}

Típusok + műveleteik Szótár adatszerkezet tel = {'Peter': 1234, 'Janos': 3456, 'Jozsef': 6543} - törlés del tel['Peter'] tel == {'Janos': 3456, 'Jozsef': 6543} - kulcsok lekérdezése - tel.keys() == ['Peter', 'Janos', 'Jozsef'] - tel.has_key('Janos') == True tel.has_key('Miklos') == False

Típusok + műveleteik Szótár adatszerkezet - létrehozás listából: dict([('a',2),('b',3),('c',42)]) == {'a': 2, 'c': 42, 'b': 3} dict([('a',2),('b',3),('c',42), ('a',43),('b',12)]) == {'a': 43, 'c': 42, 'b': 12} dict([(x,x**3) for x in [1,2,3] ]) == {1: 1, 2: 8, 3: 27}

Felhasználás 1. Jó hívások: fv(5, 12, 3, z=24, h=21), def fv(x, y="egy", *args, **keyargs) : print "x:", x print "y:", y for arg in args: print arg; for kw in keyargs.keys(): print kw, ":", keyargs[kw]; Jó hívások: fv(5, 12, 3, z=24, h=21), fv(5, z=24, h=21) Rossz hívás: fv(5, 12, z=3, 4)

Felhasználás 2. Megjegyzés: for i,v in enumerate(["a","b","c","d"]) : tel = {'Peter': 1234, 'Janos': 3456, 'Miklos': 2341} for k, v in tel.iteritems() : print k, "szama:", v Megjegyzés: for i,v in enumerate(["a","b","c","d"]) : print i, v