1 / 15

Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport

Számítástechnika Levelezőknek (BMEVESAAL04). Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport. VBA összefoglaló. Tárgy előadó i : Dr. Bárkai János és Kollárné Dr. Hunek Klára. Tárgy honlapja: http://www.kit.bme.hu

dena
Download Presentation

Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Számítástechnika Levelezőknek (BMEVESAAL04) Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport VBA összefoglaló Tárgy előadói:Dr. Bárkai János és Kollárné Dr. Hunek Klára Tárgy honlapja: http://www.kit.bme.hu http://knight.kit.bme.hu

  2. 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

  3. Start Kiír: „x” „x köbe” x=2 kiír: x, x3 x=x+1 x<=8 ? igen nem Stop Egy „programocska” A blokkdiagram: A VBA program: Amit a program kiír

  4. 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

  5. Változók • A program az adatokat változókban tárolja (pl. kis papírfecnik, amikre számokat/betűket írunk) • pl. ha a=2, akkor x=a^3-15=-7 • vagy, pl. ha b=8, akkor y=3*b/2=12 • a számítógép az a, b,vagy bármely másváltozót mindig az értékével helyettesíti • akkor is, ha nem adtunk neki értéket, csak akkor nem tudjuk, milyen értékkel…

  6. Változók • A számítógép szempontjából 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 leszxértéke • pl. ha y törtés y=5/2, akkor 2.5 leszyértéke • de pl. „nótás”/2 nem lesz „félnótás”…

  7. Műveletek • Matematikai alapműveletek • x=1+2 • y=18-2*x • x=y/24 • String műveletek • ha s=„osztogat”, akkor • s=„f”+s • után s=„fosztogat” • Kiiratás • cells(1,1)=„Sziasztok!!” • Adatbeolvasás cellából • A=cells(1,1)

  8. Visual Basic for Excel – elméleti összefoglaló Változók típusai, kifejezések, értékadás, feltételes utasítás Néhány alaptípus: Integer(%) Double(#) Single(!) String($) Boolean Típus deklarálása NEM kötelező!  Alapműveletek: + - * / \ ^ (aritmetikai) And Or Not (logikai) Reláció jelek: = < > <= >= <> Aritmetikai kifejezés: a*a*a*a - 81 Logikai kifejezés: fa*fm<0 Értékadás: változó = kifejezés Pl: fa = a^4 - 81 Egy feltételes utasítás: If fa * fm < 0 Then b = m: fb = fm Else a = m: fa = fm End If VBA program felépítése: Sub <neve>( ) <esetleg deklarációk> <utasítások> End Sub

  9. Visual Basic for Excel – elméleti összefoglaló megad: X , kiír: X igen X páros ? Y = X*X nem kiír: Y IF <log.kif.> THEN<utasítás> Kiírás:(2,4);(-4,16 );(3,16 ); (–1,16 ) IF<log.kif.> THEN <ut.1>ELSE<ut.2> Kiírás:(2,4 );(-4,16 );(3,11 );(-1,7 ) 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 igen X páros ? Y = X*X nem Y = X + 8 kiír: Y

  10. Sub <neve> () Dim k As Integer, n% Dim cim As String, nevem$ Dim a As Double, b # cim=“mi ez?” : nevem=“Jancsi” k=3 : n=k-15 a=atn(1) b=cos(4*a)+2.5 End Sub Visual Basic for Excel – elméleti összefoglaló Deklarációk: Adatbevitel: x = Inputbox(“x?”) y = Inputbox(“y értéke”) Adatbevitel és konverzió: x = CDbl(Inputbox(“x?”)) y = CInt(Inputbox(“y értéke”))

  11. elől tesztelő ciklus Ciklusok start start megad: n k=1 megad: n k=1 nem k<=n ? vége megad: NEV, Z1 , Z2 igen megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 igen k<=n ? k=k+1 nem vége KétZH átlagának kiszámítása n hallgató esetén. • hátul tesztelő ciklus Melyiknél mi történik, ha n=0 ?

  12. elől tesztelő ciklus Ciklusok start megad: n k=1 Visual Basic program részlet nem n=InputBox(“n=?”) FOR k=1 TO n NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”): ZH=Z1/2+Z2/2 Cells(k,1)=NEV : Cells(k,2)=ZH NEXTk vége k<=n ? igen megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 ForTo - Next ciklus KétZH átlagának kiszámítása n hallgató esetén.

  13. Ciklusok start megad: n k=1 megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 igen k<=n ? nem vége Do - Loop Whileciklus KétZH átlagának kiszámítása n hallgató esetén. Visual Basic program részlet n=InputBox(“n=?”): k=1 Do NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”) ZH=Z1/2+Z2/2 : Cells(k,1)=NEV Cells(k,2)=ZH : k=k+1 LoopWhile k<=n • hátul tesztelő ciklus

  14. Ciklusok elől tesztelő ciklus start megad: n k=1 nem vége k<=n ? igen megad: NEV, Z1 , Z2 ZH=(Z1+Z2)/2 kiír: NEV , ZH k=k+1 Do While - Loopciklus KétZH átlagának kiszámítása n hallgató esetén. Visual Basic program részlet n=InputBox(“n=?”): k=1 DoWhilek<=n NEV=InputBox(“NEV=?”) Z1=InputBox(“Z1=?”) Z2=InputBox(“Z2=?”) ZH=Z1/2+Z2/2 : Cells(k,1)=NEV Cells(k,2)=ZH : k=k+1 Loop

  15. Visual Basic for Excel – elméleti összefoglaló igen ? nem igen nem ? nem ? igen igen ? nem Az eddig tanult UTASÍTÁSOKösszefoglalása Értékadás (és egyéb, “sorban végrehajtandó” utasítások): Feltételes(en végrehajtandó): Ciklus: És még: (átirányítás), ADAT BE- és KIVITEL !!

More Related