Cells(sor száma, oszlop száma)

Slides:



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

 Megfigyelhető, hogy amikor több elem közötti összehasonlítás történik, akkor szükség van egyszerre több értékre is, főleg akkor, ha ezek az értékek jóval.
Diagnosztika szabályok felhasználásával, diagnosztikai következtetés Modell alapú diagnosztika diszkrét módszerekkel.
Adatbázisokat és Adattáblákat kezelő FoxPro parancsok és utasítások Páll Boglárka
Számítástechnika Levelezőknek
Számítástechnika Dr. Nyulászi László Tanszékvezető:
JavaScript.
Turbo Pascal Változók.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Táblázatkezelés alapjai MS Excel, OpenOffice Calc
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
CELLACÍMZÉSI MÓDOK A TÁBLÁZATKEZELŐ PROGRAMBAN
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Az Input-Output használata Az input-outputot a nyelv előredefiniált csomagokon keresztül valósítja meg. Mindegyik csomag az Ada alapcsomag gyereke.
C++ alapok, harmadik óra
Lénárt Anett egyetemi adjunktus - PTE PMMK Rendszer- és Szoftvertechnológia Tanszék Előadás JavaScript Tananyag: W eb - programozás.
Állomány kezelés.
Operációs rendszerek gyakorlat 9. 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:
P ROGRAMOZÁS I/O műveletek. S YSTEM.C ONSOLE A programjainknak fontos része a felhasználóval való kommunikáció. Adatokat kell kérni tőle, vagy közölnünk.
Grafikus tervezőrendszerek programozása 8. előadás.
Összetett adattípusok a Pascal nyelvben
A Pascal programozási nyelv alapjai
Ismétlés A pascal program szerkezete: program programnev; Programfej
A Pascal programozási nyelv alapjai
Klasszikus Programozás a FoxPro-ban
Fájlkezelés Pascalban
Adatállományok.
Összetett adattípusok
Operátorok Értékadások
SQL – OLAP 5. óra. Personal Express programozása Saját rutinok, függvények készíthetők DEFINE nev PROGRAM vtípus EDIT nev nev ” megjegyzés VARIABLE változó.
Készítette: Csíki Gyula
Hernyák Zoltán Programozási Nyelvek II.
A képernyő kezelése: kiíratások (2)
Visual Basic 2008 Express Edition
Java programozási nyelv Adatbekérés konzolról
Objektum orientált programozás
1 BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR MESTERSZINTŰ MŰSZERES ANALITIKA KÉMIA SZAKIRÁNYÚ TOVÁBBKÉPZÉSI SZAK INFORMATIKA (SZÁMÍTÁSTECHNIKA) nov.19.
1 Mivel foglalkozunk a laborokon? 7. hét: Do-Loop-Until Do-Until-Looptömbök Function 7. hét: Do-Loop-Until és Do-Until-Loop ciklusok. Egy indexes tömbök,
A Visual Basic nyelvi elemei
1 Mivel foglalkoz(t)unk a laborokon? 1.hét: Word dokumentumok 1.hét: Word dokumentumok tagolása, tartalomjegyzék, ábrák számozása, hivatkozások, egyenlet-szerkesztő.
1 Mivel foglalkoz(t)unk a laborokon? 1.hét: Word dokumentumok 1.hét: Word dokumentumok tagolása, tartalomjegyzék, ábrák számozása, hivatkozások, egyenlet-szerkesztő.
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Függvények II..
1 Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport Számítástechnika Kari rendszergazda: Rippel Endre (Ch C2)
Free pascal feladatok
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok: 1.Labor: Word alapok: dokumentum tagolása, tartalomjegyzék, ábrák számozása, hivatkozások 2.
1 Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport Számítástechnika Kari rendszergazda: Rippel Endre (Ch C2)
A 2. géptermi beszámoló VBA anyagának összefoglalása
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
Excel programozás (makró)
BIOLÓGUS INFORMATIKA 2008 – 2009 (1. évfolyam/1.félév) 6.
Fájlkezelés Programozási tételek
1 Függvények használata – az első függvénynél a formulát háromszor be kell írni, rendre az x, x+h, x-h argumentumokkal, – a második függvénynél az új (feltételes.
Az 5,6,7 laborok VBA anyagának összefoglalása
Informatikai gyakorlatok 11. évfolyam
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok: 1.Labor: Word alapok: dokumentum tagolása, tartalomjegyzék, ábrák számozása, hivatkozások 2.
1 BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR MESTERSZINTŰ MŰSZERES ANALITIKA KÉMIA SZAKIRÁNYÚ TOVÁBBKÉPZÉSI SZAK INFORMATIKA (SZÁMÍTÁSTECHNIKA) 2010/2011. őszi.
1 BME VBK KROMATOGRÁFIÁS SZAKANALITIKUS KÉPZÉS INFORMATIKA (SZÁMÍTÁSTECHNIKA) dec. 2. Access „elmaradás” - a Beszall_forg lekédezés elkészítése:
1 Mivel foglalkoz(t)unk a laborokon? 1.Labor: Word alapok Excel alapok: Excel alapok: Cellahivatkozás, munkalapfüggvény, diagram varázsló, trendvonal 2.
1 ANALITIKAI KÉMIAI SZAKMÉRNÖKI TANFOLYAM INFORMATIKA (SZÁMÍTÁSTECHNIKA) 2007/2008. őszi félév Tanárok: Kollárné Dr. Hunek Klára,
BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR
Excel programozás (makró)
12. hét, nov. 24: 2. géptermi beszámoló
A CLIPS keretrendszer
Mivel foglalkozunk a laborokon?
Okt. 13: 1. géptermi beszámoló
Könyvtári függvények I. Input / output kezelés függvényei
Előadás másolata:

Cells(sor száma, oszlop száma) Beolvasás, kiíratás - Beolvasás Excel cellából / kiíratás Excel cellába - Beolvasás fájlból / kiíratás fájlba - Beolvasás InputBox segítségével 1. Cellaműveletek: az Excel cellákra mint változókra hivatkozhatunk cellahivatkozás: Cells(sor száma, oszlop száma) x = Cells(1,3) y = 5 + 3*Cells(2,5) Cells(3,2) = x + 3*y Cells(1,1) = Not b Cells(2,4) = 3*Cells(1,4) Cells(1,1) - A1 Cells(1,2) - B1 Cells(2,1) - A2 Fordított a sorrend mint az Excel-ben !

2. Olvasás fájlból / írás fájlba Open fájlnév For megnyitás típusa As #I/O csatorna száma . Input #I/O csatorna száma beolvasandó változók Write # I/O csatorna száma kiirandó változók Close # I/O csatorna száma Input Output Append egész szám vagy változó ez különbözteti meg a fájlokat ha több is nyitva van egyszerre fájl neve “”-ben vagy szöveg változó Open “vektorok.dat” For Input As #1 Open “osszegvektor.dat” For Output As #2 Input #1 v1(1), v1(2), v1(3) Input#1 v2(1), v2(2), v2(3) Write#2 v1(1)+v2(1), v1(2)+v2(2), v1(3)+v2(3) Close #1 Close #2 vektorok.dat: 2.1 5.3 1.5 1.0 2.2 1.5 összegvektor.dat: 3.1 7.5 3.0

3. Beolvasás InputBox-szal változóknak adhatunk értéket az InputBox utasítással is, a kívánt értéket ekkor a billentyűzetről olvassuk be InputBox (Prompt [,Cím, Default, Xpos, Ypos]) Az InputBox helye a képernyőn Szövegek vagy szöveg változók az InputBox “magyarázatai” A beolvasandó változó alapértelmezett értéke InputBox(“Adja meg x értékét”, “Beolvasás”, “Ide kell írni”, 5000, 5000)

VBA program felépítése: 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ő DE erősen ajánlott!  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ó = érték (kifejezés) Pl: fa = a^4 - 81 VBA program felépítése: Sub <neve> ( ) <esetleg deklarációk> <utasítások> End Sub

Ciklus utasítás 1. For…Next ciklus - Do While…Loop - Do Until….Loop - Do … Loop While - Do…Loop Until Értelme – ha ugyanazt a műveletsort sokszor, más-más értékekkel is el kell végezni 1. For…Next ciklus For ciklusváltozó = induló érték To végérték [Step lépésköz] . utasítások Next For i=1 To 5 Cells(1,i) = i Next For i = 1 To 5 Step 2 Cells(3,i) = i Next For i = 5 To 1 Step -1 Cells(2,i) = -i Next

Do While logikai kifejezés . utasítások Loop 2. Do…Loop ciklusok Do While logikai kifejezés . utasítások Loop Do Until logikai kifejezés . utasítások Loop Ciklus elején értékelődik ki Akkor hajtódik végre a ciklus, ha igaz Akkor hajtódik végre a ciklus, ha hamis Ciklus végén értékelődik ki Do . utasítások Loop Until logikai kifejezés Do . utasítások Loop While logikai kifejezés

Két ZH átlagának kiszámítása n hallgató esetén. Ciklusok Két ZH átlagának kiszámítása n hallgató esetén. elől tesztelő ciklus 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 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 hátul tesztelő ciklus Melyiknél mi történik, ha n=0 ? 13

Visual Basic program részlet Ciklusok Két ZH átlagának kiszámítása n hallgató esetén. Do - Loop While ciklus 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 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 hátul tesztelő ciklus 15

Visual Basic program részlet Ciklusok Két ZH átlagának kiszámítása n hallgató esetén. Do While - Loop ciklus 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 Ciklusok Két ZH átlagának kiszámítása n hallgató esetén. For To - Next ciklus elől tesztelő ciklus 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 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 Visual Basic program részlet 14

Feltételes utasítás Különböző esetekben más-más utasítás hajtandó végre If logikai kifejezés Then utasítás1 Else utasítás2 Endif Akkor hajtódik végre ha a logikai kifejezés igaz Akkor hajtódik végre ha a logikai kifejezés hamis utasítás1 ill. utasítás2 lehet összetett utasítás (több utasítás együttese) is Feltételesen végrehajtandó utasítás: If logikai kifejezés Then egyszerű utasítás1 If logikai kifejezés Then összetett utasítás1 Endif (ha nincs Else ág)

Többfelé ágazó feltételes utasítás: Akkor hajtódik végre, ha - logikai kifejezés 1 igaz - logikai kifejezés 1 hamis, DE logikai kifejezés 2 igaz - mindkét logikai kifejezés hamis If logikai kifejezés 1 Then utasítás1 Elseif logikai kifejezés 2 Then utasítás2 Else utasítás3 Endif utasítás3 helyén természetesen újabb feltételes utasítás is állhat !

feltételesen végrehajtandó utasítás és feltételes utasítás Visual Basic for Excel – elméleti összefoglaló 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 megad: X , kiír: X kiír: Y Y = X*X X páros ? igen nem X páros ? igen Y = X*X nem Y = X + 8 IF <log.kif.> THEN <utasítás> kiír: Y 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 ) 12

Függvények kifejezés = függvénynév (arg1,…arg_i) Külső függvények: függvény hívása a főprogramban kifejezés = függvénynév (arg1,…arg_i) --------------------------------------------------------------------- Function függvénynév (f_arg1,…f_arg_i) As típus . függvénynév = kifejezés End Function függvény Belső függvények: olyan függvények amit a VBA “ismer”, nem kell megírnunk,lehet rögtön hívni Abs(arg1) Sin(arg1 ) Cos(arg1 ) Sqr(arg1 )

Eljárások Call eljárásnév (arg1,…arg_i) eljárás hívása a főprogramban Call eljárásnév (arg1,…arg_i) --------------------------------------------------------------------- Sub eljárásnév (s_arg1,…s_arg_i) . End Sub eljárás Eljárásnak kimenő és bemenő változói is lehetnek Függvénynek csak bemenő változói – az egyetlen kimenő érték most a függvény maga

Függvények használata Példa: A [0;50] intervallumot n=100 részre osztva h=0,5 lépéssel minden x (belső) osztóponthoz kiszámítandó f(x) és A feladatot az alábbi függvényre kell elvégezni: Ha nem használunk Function-t: a formulát háromszor be kell írni, rendre az x, x+h, x-h argumentumokkal

Függvények használata Function f(x#) As Double f = x ^ 2 + 2.3 * x + 8 * Cos(x + 1) - x / (x + 2) End Function A függvénynek típusa van: “As Double” Azonosítójának értéket kell adni: “ f = … ” Sub szelo() Dim n%, h#, x#, i% n = 100: h = 0.5 x = 0 For i = 2 To 100 x = x + h Cells(i, 1) = x Cells(i, 2) = f(x) Cells(i, 3) = (f(x + h) - f(x - h)) / (2 * h) Next i End Sub Függvényhívást kifejezés helyére lehet írni

Egy Function-nak vagy Sub-nak lokális változói is lehetnek Öt vektor mindegyikét szeretnénk megszorozni a hatodik vektorral… Function skal(sor%, x#(), y#(), n%) As Double Dim sum#, i% sum = 0 For i = 1 To n sum = sum + x(sor, i) * y(i) Next i skal = sum End Function Feladat megoldása függvénnyel Sub sokvektor() Dim a#(5, 3), b#(3), c#(5), k%, j% Open "adat.txt" For Input As #1 ‘ Itt beolvassuk a és b elemeit ‘ Close #1 For j = 1 To 5 Cells(j, 7) = skal(j, a, b, 3) Next j End Sub

Egy Function-nak vagy Sub-nak lokális változói is lehetnek Öt vektor mindegyikét szeretnénk megszorozni a hatodik vektorral… Sub skal (sor%, x#(), y#(), n%, prod#) Dim sum#, i% sum = 0 For i = 1 To n sum = sum + x(sor, i) * y(i) Next i prod = sum End Sub Feladat megoldása eljárással Sub sokvektor() Dim a#(5, 3), b#(3), c#(5), k%, j%,szorz# Open "adat.txt" For Input As #1 ‘ Itt beolvassuk a és b elemeit ‘ Close #1 For j = 1 To 5 call skal(j,a,b,3,szorz) Cells(j, 7) = szorz Next j End Sub

Feladat megoldása eljárással De ha a vektorok abszolut értéke is kell akkor csak eljárással oldható meg!! Sub skal (sor%, x#(), y#(), n%, prod#, xa#, ya#) Dim sum#, sumx#, sumy#, i% sum = 0: sumx = 0: sumy = 0 For i = 1 To n sum = sum + x(sor, i) * y(i) sumx = sumx + x(sor,i) * x(sor,i) sumy = sumy + y(i) * y(i) Next i xa = sqr(sumx): ya = sqr(sumy) prod = sum End Sub Feladat megoldása eljárással Sub sokvektor() Dim a#(5, 3), b#(3), c#(5), k%, j%, szorz#, aa#, bb# Open "adat.txt" For Input As #1 ‘ Itt beolvassuk a és b elemeit ‘ Close #1 For j = 1 To 5 call skal(j,a,b,3,szorz,aa,bb) Cells(j, 7) = szorz Cells(j, 8) = aa Next j Cells(j6,5) = bb End Sub

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

Csak a saját csoporttal lehet digert írni! Több előadás nem lesz, a további szerdákon 1215-kor a digerek kezdődnek itt, a CHC14-ben! Csak a saját csoporttal lehet digert írni! A csoport: okt. 15, 29, nov. 12, pótlás: nov. 26 B csoport: okt. 8, 22, nov. 5, pótlás: dec. 3.

Mire számíthatnak az első digeren? (Szerda, 1215 CHC14) Mire számíthatnak az első digeren? 2. és 3. gyakorlat: Típus, értékadás, beolvasás, kiiratás, Go To, If -Then , If - Then – Else, Do – Loop, For-Next; Programírás blokkdiagramról Ennél nehezebb lesz Ennél könnyebb Biztosan kell: értékadás, beolvasás, kiiratás, ciklus, If -Then / If - Then – Else és értelmezés, hogy mit ír ki a program konkrét bemenő adatok esetén. Csak a saját csoporttal lehet digert írni! A csoport: okt. 15, B csoport: okt. 8.