BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR KROMATOGRÁFIÁS SZAKANALITIKUS KÉPZÉS INFORMATIKA (SZÁMÍTÁSTECHNIKA) 2013/2014. őszi félév Tanár: Kollárné Dr. Hunek Klára, (kollarne@mail.bme.hu) Szervetlen és Analitikai Kémia Tanszék, Ch. I/9 tárgy honlapja: http://goliat.eik.bme.hu/~kollarne/szakmern
40 – 59 pont: 2 ; 60 – 74 pont: 3 ; 75 – 89 pont: 4 ; 90 ponttól: 5 Előadások: 2013. dec.20. (CH. gépterem) 815-1015 ; 1020-1220 ; 1240-1440 Labor: 2014. jan. 8. (szerda) a CH. gépteremben 830-1730 Követelmények Az előadásokon kijelölt HF-k határidőre történő beadása (max. 20p.) A géptermi gyakorlatok gyakorló feladatainak megoldása Az utolsó komplex labor-feladat legalább 40%-os szinten (min. 32p, max. 80p.) történő megoldásával megajánlott vizsgajegy szerezhető. A komplex labor-feladattal ill. a kijelölt hf beadásokkal szerzett félévközi pontok (max.100p.) alapján a megajánlott vizsgajegyek ponthatárai: 40 – 59 pont: 2 ; 60 – 74 pont: 3 ; 75 – 89 pont: 4 ; 90 ponttól: 5
MS Office részei Ezekkel foglalkozunk (Office 2010) No de miért??
Az MS Excel részei: Worksheet (Munkalap) Diagram (Ábra-lap) Modul (Modul-lap) UserForm (Űrlap)
Példák a „Miért”-re való válaszadáshoz - 1 Az 1989 óta online elérhető CHEMSAFE® adatbázis tűz- és robbanásveszélyes anyagok kezeléséhez biztosít megbízható, folyamatosan frissített információkat. Az adatbázisban az összes gáz-rendszerek száma: 1146 (tiszta anyagok + elegyek) A Berlinben fejlesztett TRIANGLE (VBA) szoftver a CHEMSAFE® adatbank adatbevitele számára a gázelegyek mérési adatainak ellenőrzéséhez és feldolgozásához nyújt segítséget.
A TRIANGLE program A TRIANGLE program a minőségbiztosítási elvárásoknak megfelelően teszi lehetővé a kísérleti adatok feldolgozását: kezdve a mérési adatok bevitelétől, az interpolációs eljárásokon keresztül a robbanási-tartomány jellemzőinek kiszámításáig és az eredmények diagramokban való megjelenítéséig.
A TRIANGLE felépítése A program modulokból, űrlapokból (formok), munkalapokból és diagramokból épül fel. A kísérleti adatok feldolgozásának folyamata: 1. mérési adatok bevitele 2. interpolációs eljárások 3. a robbanási-tartomány jellemzőinek kiszámítása 4. az eredmények megjelenítése
A TRIANGLE működése A mért adatok táblázata Megjelenik a Form (a párbeszéd-ablak) A Form-on megadott utasítások szerint számítja a program az újabb táblázato(ka)t
A TRIANGLE működése Megjelenik egy újabb Form A Form-on megadott utasítás szerint jelenik meg az ábra
Példák a „Miért”-re való válaszadáshoz - 2 Termelésirányítási rendszerek Bármely termék és szolgáltatás csak akkor érhet el komoly piaci részesedést, ha megfelel a potenciális vevőkör ízlésének. Ezért a gyártónak ismernie kell, hogy a termékkörön belül milyen igényei vannak a vásárlóknak. Az ISO 9001:2008 szabvány a vezetőség feladatává teszi a vásárlóktól kapott vélemények regisztrálását, valamint a termékek vagy szolgáltatások ezek szerinti alakítását. Több termékre vonatkozóan végeznek Internetes adatgyűjtést a fogyasztói igények és megelégedettség vizsgálatára . Az Internetes kérdőívek HTML Form-ján keresztül könnyen vihetők be az adatok egy adatbázisba
Internetes adatgyűjtés a szerveren futó PHP programmal Vegyészmérnöki Konferencia 2002., Kolozsvár Szerver:knight.kit.bme.hu és PHP program: folyamatos adatgyűjtés Az Internetes kérdőívek kitöltése, adatok letöltése bármely távoli gépről
Preferencia rangsor (kóstolás, kóddal) Nyíregyháza, 121 bírálat Re almák fogyasztói érzékszervi vizsgálatai Preferencia rangsor (kóstolás, kóddal) Nyíregyháza, 121 bírálat
Sajt fogyasztói érzékszervi vizsgálatai Különböző – gyakran akcióban vásárolható - sajtoknál vizsgáltuk a fagyasztva tárolás, mint gyakori fogyasztói magatartás, hatását a sajt érzékszervi tulajdonságaira.
Példák a „Miért”-re való válaszadáshoz - 3 Az érzékszervi vizsgálatok a bírálók képzettsége szerint két alaptípusba sorolhatók: A fogyasztói tesztekben képzetlen (laikus) bírálók vesznek részt, ilyenkor a kérdésfeltevés általában a preferenciára irányul, a termékek egymáshoz való viszonyát vizsgálják; klasszikusan a ’Mit?’ kérdésre adnak feleletet. Azok a vizsgálatok, ahol képzett (ISO 8586-1:1993) vagy szakértő (ISO 8586-2:1994) bírálók bevonásával történik a minősítés, a ’Miért?’ kérdésre adnak általában választ. Ezek az eljárások hatékonyan egészítik ki egymást, s nem helyezhető egyik csoport sem jelentőségében a másik fölé.
A profilanalízis célszoftver részei 5 Munkalap, melyek tartalma: Alap-adatok Bírálati lap Tálca-alátétek Értékelő táblázatok Diagramok Projekt-tallózó 6 UserForm, melyek funkciói: Lapszerkesztés Típus megadás 3,4,5. Skálák megadása Mintanevek megadása 6 Modul, melyek funkciói: Projekt indítás Bírálati lap létrehozás Cellák zárása Tálca-alátétek készítése Bírálati lap-fájlok értékelése Diagramok rajzolása
Profilanalízis célszoftver: a ProfiSens A ProfiSens támogatja a bírálati lap meghatározására irányuló csoportos megbeszélést, és létrehozhatók vele a bírálati lapok valamint a minta-kódokkal ellátott tálca-alátétek.
Profilanalízis célszoftver: a ProfiSens Lehetővé teszi a bírálati lapok lokális hálózaton keresztüli szétosztását és az elektronikusan kitöltött lapok begyűjtését. A feldolgozó-értékelő modul elvégzi a statisztikai elem-zéseket, és meg-jeleníti a bírálati eredményeket.
Panel consistency in food sensory tests Példák a „Miért”-re való válaszadáshoz - 4 Panel consistency in food sensory tests 15 sensory attributes of corn are described by consumers and experts(*). SRD ranking (CRRN) is applied to check the panel consistency of assessors. A data matrix of 6 experts’ panel containing 6 of 15D assessment-vectors and a data matrix of 7 consumers’ panel containing 7 of 15D assessment-vectors are investigated. The ranking of the assessment-vectors is based on the Manhattan distance between a „golden standard” vector (true values of each sensory attributes) * Based on L. Sipos, Z. Kovács, D. Szöllősi, Z. Kókai, I. Dalmadi, A. Fekete, Comparison of novel sensory panel performance evaluation techniques with e-nose analysis integration, Journal of Chemometrics, 25 (2011) 275-286. 18/25
„golden standard” vector Results of SRD-with-Ties program (Food sensory tests) Ranking of Experts „golden standard” vector Input Data matrices Ranking of Consumers 19/25
SRD-with-Ties program Experts: 15 attributes, 6 assessors Results of SRD-with-Ties program Food sensory tests Consumers: 15 attributes, 7 assessors 20/25
Példák a „Miért”-re való válaszadáshoz - 5 The values of log kw for (HPLC) chromatographic systems are studied Mobil phase: Acetonitrile or Methanol No. of studied column types=4 In the RefCol (Average) there are no ties
The values of log kw for (HPLC) chromatographic systems are studied Mobil phase: Acetonitrile or Methanol No. of studied column types=4
1.) Egy kis Excel emlékeztető 2.) A Solver 3.) Access adatbázisok 4.) VBA programozási alapok
Egy kis Excel emlékeztető 1. Excel alapjai: Cellák típusa, szegély, háttérszín Munkalap létrehozása, átnevezése Adatfájl betöltése, tizedesvessző! Grafikon készítése Pont XY ( Grafikon !) 2. Írjuk be egy Excel munkalapba az itt látható táblázat oszlop-címeit, valamint a B2, E1, E2, F1, F2 cellák tartalmát. Ezután töltsük ki az A oszlopot, majd a B és C oszlopokat a következő formulák „lehúzásával”: b3= b2+(a3-a2)*4*cos(5*a3) c2= $f$1*sin($f$2*a2)/5 Változtassuk a ill. b értékét 2,3-ra ill. 5,8-ra - “
Solver Mivel a C oszlop a c2= $f$1*sin($f$2*a2)/5 formula „lehúzásával” készült, minden cellája, s ezeken keresztül a D oszlop celláinak értékei is függenek az F1 és F2 cellák értékeitől. a=2 b=6 a=3 b=5 -
Solver Minimalizáljuk Solverrel a D17 cella értékét, az F1 és F2 cellák értékét változtatva. Kérjünk Eredmény jelentést! a=2 b=6 a=3,86 b=5,45
fő paramétereinek beállítása 2003 A Solver fő paramétereinek beállítása 2010
eredménykérő űrlap beállítása 2003 A Solver eredménykérő űrlap beállítása 2010
A Solver eredményjelentés különböző Excel verziókban 2003 A Solver eredményjelentés különböző Excel verziókban 2010
A Solver funkciói: A Solver elérése: Szélsőérték keresés Nemlineáris egyenletek, egyenletrendszerek megoldása Lineáris programozási feladatok megoldása A korlátozó feltételek lehetnek egyenletek, vagy egyenlőtlenségek A Solver elérése: Excel 2003 Eszközök Solver [ Tools Solver] Ha a Solver-t nem látja az Eszközök között, kapcsolja be a Bővítménykezelő-ben! Excel 2007, 2010 Adatok Elemzés Solver Ha a Solver-t nem látja itt, kapcsolja be a Bővítménykezelő-ben, melynek elérése: Excel beállításai Bővítmények (Kezelés: Excel bővítmények) Ugrás
Egyenletrendszer megoldása Solverrel
ACCESS ALAPOK Alapfogalmak Adatbázis = egymással kapcsolatba hozható adatállományok összessége (Pl. hallgatói adatbázis: Neptun) Relációs adatbázis = a különböző jellegű, de mégis egymással kapcsolatba hozható adathalmazokat “önállóan” tároljuk, közöttük egy azonos adatot tartalmazó “mező” tartja a kapcsolatot (Pl. A hallgatók adataiban a hallgató Neptun-kódja, és a tantárgyak adataiban a tárgyat felvett hallgató Neptun-kódja mint kapcsolat-tartó mező lehetővé teszi a tantárgyi névsor, vagy a hallgatói elektronikus index létrehozását) MS Access = Windows alatt futó relációs adatbázis-kezelő alkalmazás
Az adat-mezők alkotják az adatok „rekord”-jait – egy Excel példa: Itt folytatódnak a sorok… Részlet egy cég számlanyilvántartásából A cég kiemelt beszállítói
Excel munkalap importálása Access táblaként Az adatmezők alkotják a rekordokat, ezekből épülnek fel az Access adat-táblák.
Lekérdezés tervező nézetben A Táblákból az adatokat a megfelelő szempontok szerint Lekérdezésekkel válogatjuk. Lekérdezés tervező nézetben A szempontok megfogalmazására szolgál az SQL (Structured Query Language) nyelv. (Ezt a lekérdezések tervezésénél az Access felhasználóbarát módon, „automatikusan” alkalmazza, de megtekinthető a lekérdezés SQL nézetében)
A Jelentések alkalmas formá-tumban jelenítik meg a lekérdezések eredményeit. tervező nézetben
Kapcsolatok az Access táblák között A Partner mező fogja jelenteni a két tábla között a kapcsolatot
Kapcsolatok az Access táblák között Lekérdezés tervező nézetben Jelentés Lekérdezés
Paraméter kiiratása jelentésen
Programozás a program az utasításokat sorban hajtja végre, kivéve….(ld. később) pontosan olyan, mintha egy könyvet olvasnánk, amiben le van írva, hogy sorjában mit kell tennünk éppen most, beleértve, hogy hova lapozzunk a következő teendő elolvasásához kicsit kínai, de meg lehet szokni sokféle kínai van, de ha egyet ismer az ember, az nagyon segít a többi megismerésében a programozás filozófiáját érdemes megtanulni 40
Változók, típus, műveletek, értékadás A programban fontos a változó típusa a műveletek miatt egész : integer tört: single, double szöveg: string pl. ha x egész és x=5/2, akkor 2 lesz x értéke pl. ha y tört és y=5/2, akkor 2.5 lesz y értéke de pl. „nótás”/2 nem lesz „félnótás”… Matematikai alapműveletek x=1+2 y=18-2*x x=y/24 String műveletek ha s=”osztogat”, akkor s=”f”+s (vagy s=”f”&s) után s=„fosztogat” Értékadó utasítás: Változó = Kifejezés Értéket adhatunk az Excel munkalap egy cellájának is: Cells(sor, oszlop) = Kifejezés cellájából is: Változó = Cells(sor, oszlop) 41
Program végrehajtása 42
Egy „programocska” A blokkdiagram: A VBA program: Amit a program kiír Start Kiír: „x” „x köbe” x=2 kiír: x, x3 x=x+1 x<=8 ? igen nem Stop Amit a program kiír 43
VBA program felépítése: Egy „programocska” VBA program felépítése: Sub <neve> ( ) <esetleg deklarációk> <utasítások> End Sub A deklaráció a változók típusát adja meg: Ha pl. a ás b számok, és értékük 1 ill. 2, akkor a+b kifejezés értéke 3 lesz. De ha a ás b típusa string, és értékük „1” ill. „2”, akkor a+b értéke „12” lesz. Amit a program kiír 44
feltételesen végrehajtandó utasítás és feltételes utasítás Az X értékek (mindkét esetben): 2 , -4 , 3 , -1 megad: X , kiír: X kiír: Y Y = X*X X páros ? igen nem megad: X , kiír: X X páros ? igen Y = X*X nem Y = X + 8 IF <log.kif.> THEN <utasítás> Kiírás: (2,4) ; (-4,16 ) ; (3,16 ) ; (–1,16 ) kiír: Y IF <log.kif.> THEN <ut.1> ELSE <ut.2> Kiírás: (2,4 ) ; (-4,16 ) ; (3,11 ) ; (-1,7 ) 45 12 45
VBA program felépítése: Visual Basic for Excel – elméleti összefoglaló Változók típusai, kifejezések, értékadó, feltételes, átirányító utasítások Néhány alaptípus: Integer Single Double String Boolean Date % ! # $ Típus deklarálása nem kötelező, de nagyon ajánlott! Alapműveletek: + - * / \ ^ (aritmetikai) And Or Not (logikai) Reláció jelek: = < > <= >= <> Aritmetikai kifejezés: a*a*a*a - 81 Logikai kifejezés: a*b<0 Értékadás: változó = kifejezés Pl: b = a^4 - 81 Egy feltételes utasítás: If x < 4 Then a = 4-x : b = a+1 Else a = x-4 : b = a-1 End If Átirányító utasítás: Go To <cimke> VBA program felépítése: Sub <neve> ( ) <deklarációk> <utasítások> End Sub Beolvasás-1: x=Cells(1,3) Kiiratás-1: Cells(1,3)=x Beolvasás-2: x=InputBox(”x?”,,4) Kiiratás-2: MsgBox(”x= ”+CStr(x)) 46
Visual Basic program részlet Hátul tesztelő ciklus If – Then – GoTo <cimke> szerkezettel Két ZH átlagának kiszámítása n hallgató esetén. megad: n k=1 megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 k<=n ? vége start nem igen hátul tesztelő ciklus Visual Basic program részlet n=InputBox(“n=?”): k=1 UjNev: NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”) ZH=(Z1+Z2)/2 : Cells(k,1)=NEV Cells(k,2)=ZH : k=k+1 If k<=n Then GoTo UjNev 47 15 47
Visual Basic program részlet Hátul tesztelő ciklus Do – Loop – While szerkezettel Két ZH átlagának kiszámítása n hallgató esetén. megad: n k=1 megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 k<=n ? vége start nem igen hátul tesztelő ciklus Visual Basic program részlet n=InputBox(“n=?”): k=1 Do NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”) ZH=(Z1+Z2)/2 : Cells(k,1)=NEV Cells(k,2)=ZH : k=k+1 Loop While k<=n 48 15 48
Visual Basic program részlet Hátul tesztelő ciklus Do – Loop – Until szerkezettel Két ZH átlagának kiszámítása n hallgató esetén. megad: n k=1 megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 k > n ? vége start igen nem hátul tesztelő ciklus Visual Basic program részlet n=InputBox(“n=?”): k=1 Do NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”) ZH=(Z1+Z2)/2 : Cells(k,1)=NEV Cells(k,2)=ZH : k=k+1 Loop Until k>n 49 15 49
Visual Basic program részlet Elől tesztelő ciklus If – Then – GoTo <cimke> szerkezettel Két ZH átlagának kiszámítása n hallgató esetén. start megad: n k=1 k<=n ? nem vége igen megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 elől tesztelő ciklus Visual Basic program részlet n=InputBox(“n=?”): k=1 Ujnev: If k<=n Then NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”) ZH=(Z1+Z2)/2 : Cells(k,1)=NEV Cells(k,2)=ZH : k=k+1 Go to Ujnev End If 15
Visual Basic program részlet Elől tesztelő ciklus Do – While – Loop szerkezettel Két ZH átlagának kiszámítása n hallgató esetén. start megad: n k=1 k<=n ? nem vége igen megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 elől tesztelő ciklus Visual Basic program részlet n=InputBox(“n=?”): k=1 Do While k<=n NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”) ZH=(Z1+Z2)/2 : Cells(k,1)=NEV Cells(k,2)=ZH : k=k+1 Loop 15
Visual Basic program részlet Elől tesztelő ciklus Do – Until – Loop szerkezettel Két ZH átlagának kiszámítása n hallgató esetén. start megad: n k=1 k > n ? igen vége nem megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 elől tesztelő ciklus Visual Basic program részlet n=InputBox(“n=?”): k=1 Do Until k > n NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”) ZH=(Z1+Z2)/2 : Cells(k,1)=NEV Cells(k,2)=ZH : k=k+1 Loop 15
A kétféle ciklusnak megfelelő Visual Basic program részlet Elől tesztelő ciklus Do – While – Loop és For – To – Next szerkezettel n=InputBox(“n=?”) k=1 Do While k<=n NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”) ZH=(Z1+Z2)/2 : Cells(k,1)=NEV Cells(k,2)=ZH k=k+1 Loop n=InputBox(“n=?”) For k=1 To n NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”): ZH=(Z1+Z2)/2: Cells(k,1)=NEV Cells(k,2)=ZH Next k A kétféle ciklusnak megfelelő Visual Basic program részlet 14
Boldog Ünnepeket! Labor: 2014. jan. 8. (szerda) a CH. gépteremben 830-1730 Boldog Ünnepeket!