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) 2012. nov.19.

Slides:



Advertisements
Hasonló előadás
Érettségi vizsga Visual Basic Express 2008-cal
Advertisements

1 Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport Számítástechnika Levelezőknek (BMEVESAAL04) (BMEVESAAL04) Tárgy előadói: Dr. Bárkai.
Számítástechnika Levelezőknek
BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR
BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR
Cells(sor száma, oszlop száma)
BMEEOVKMKM4 Házi feladat megoldás áttekintés
Benczúr Zsolt VBA gyorstalpaló Benczúr Zsolt
Függvények BMEEPAGA301 Építész informatika 1
Számítástechnika Dr. Horvai György Tanszékvezető:
Számítástechnika Dr. Nyulászi László Tanszékvezető:
Táblázat kezelő programok
Visual Basic for Application (VBA)
Környezettudományi MSc A Szegedi Tudományegyetemen.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Nat Pedellus Informatika 8. osztály óra.
Excel konzultáció 3. Előadás Dr. Pauler Gábor, egyetemi docens, ev.
Fordítóprogramok FORD01 Programozó matematikus III. évf. Miskolci Egyetem 1 Fordítóprogramok 1.5 Programozó matematikus szak 2003/2004-es tanév II. félév.
2012. február 22. Paulik Áron. Szintaxis: PROGRAM befajlos VÁLTOZÓK: bf: BEFÁJL, kf: KIFÁJL, sz: SZÖVEG MEGNYIT bf: "adatok.txt" BE bf: sz LEZÁR bf …
C++ alapok, harmadik óra
ISZAM III.évf. részére Bunkóczi László
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:
Alapszint 2.  Készíts makrót, ami a kijelölt cellákat egybenyitja, a tartalmat vízszintesen és függőlegesen középre igazítja és 12 pontos betűméretűre.
Az Excel mint „interaktív” kérdőív
Ismétlés A pascal program szerkezete: program programnev; Programfej
Klasszikus Programozás a FoxPro-ban
excel, (visual basic) makrók gyorstalpaló
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
Fák.
A BSc képzés tapasztalatai BME VBK Műhelykonferencia – ELTE Bolyai Kollégium október 17.
Visual Basic 2008 Express Edition
Objektum orientált programozás
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ő.
Mintapélda Készítsünk programot, amely beolvas egy egész számot, és eldönti arról, hogy prímszám-e. Készítsünk programot, amely beolvas egy egész számot,
Nat Pedellus Free Pascal Elágazások..
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,
1 Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport Számítástechnika Kari rendszergazda: Rippel Endre (Ch C2)
2012. március 21. Paulik Áron.  Ha a függvényünk feladata olyan, hogy nem lenne értelme a visszatérési értéknek, vagy csak nincs rá szükség, void típusúként.
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.
Javításhoz részpontok a helyes részek szerint:
Bevezetés az Office programozásába
Illés Zoltán ELTE Informatikai Kar
Makró készítés Excelben
1 Szervetlen és Analitikai Kémia Tanszék, Kémiai Informatika Csoport Számítástechnika Kari rendszergazda: Rippel Endre (Ch C2)
Rendezőalgoritmusok. Feladatok I. 1.Hozzunk létre új StandardEXE VB projektet. Töröljük Form1-t 2.Add/Module/New, majd Properties/átnevezzük: „MainModule”
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.
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.
Makrók alkalmazása VBA felületen
Excel programozás (makró)
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
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.
Az Excel Makro-programozása
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,
Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining 16. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens PTE-PMMK Számítástechnika.
BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR
BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR
Előadó: Édes Péter Az Excel programozása Előadó: Édes Péter
Programozási alapismeretek
Excel programozás (makró)
12. hét, nov. 24: 2. géptermi beszámoló
Én miért választottam a BME Villamosmérnöki szakát?!
A szórás típusú egyenlőtlenségi mutatók
BME VBK tájékoztató 1.
Előadás másolata:

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. „Hurok” programozása Tömbök (indexes változók). Adatok beolvasása txt fájlból

2 A múlt heti program „hurokkal” - Az Excel munkalap A oszlopát átmásoltuk egy másik munkalapra. Ezután megnyitottuk a Visual Basic Editort (Fejlesztőeszközök  Kód  Visual Basic), és beszúrtunk egy modul-lapot, ahová beírtuk a programot: Sub elsot() Dim x As Double, f#, fc#, a#, b#, sor As Integer, n% Cells(1, 2) = "f": Cells(1, 3) = "fc": Cells(1, 4) = "(f-fc)^2" a = 2: b = InputBox("b=?",, 6): n = InputBox("n=?",, 16) sor = 2 vissza: x = Cells(sor, 1) If sor = 2 Then f=0 Else f = Cells(sor - 1, 2) + (x - Cells(sor - 1, 1)) * 4 * Cos(5 * x) End If fc = a * Sin(b * x) / 5 Cells(sor, 2) = f: Cells(sor, 3) = fc sor=sor+1 Cells(sor, 4) = (f - fc) ^ 2: sor=sor+1 If sor <= n Then GoTo vissza End Sub Do Loop While sor <= n For sor=2 to n x = Cells(sor, 1) If sor = 2 Then f = 0 Else f = Cells(sor - 1, 2) + (x - Cells(sor - 1, 1)) * 4 * Cos(5 * x) End If fc = a * Sin(b * x) / 5 Cells(sor, 2) = f: Cells(sor, 3) = fc Cells(sor, 4) = (f - fc) ^ 2 Next sor „Hurok” For To – Next ciklusutasítással „Hurok” átírása Do – Loop While ciklusutasítással A két ciklus utasítás nem ugyanazon a helyen „tesztel”!!

3 Do - Loop While ciklus hátul 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 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 Visual Basic program részlet Példa: két ZH átlagának kiszámítása n hallgató esetén. Hurok programozása

4 Do - Loop Until ciklus hátul 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 igen nem 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 Visual Basic program részlet Példa: két ZH átlagának kiszámítása n hallgató esetén. Hurok programozása

5 Do While - Loop ciklus 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 Visual Basic program részlet 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 Példa: két ZH átlagának kiszámítása n hallgató esetén. Hurok programozása

6 Do Until - Loop ciklus 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 Visual Basic program részlet 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 Példa: két ZH átlagának kiszámítása n hallgató esetén. Hurok programozása

7 Do While - Loop ciklus átírása For To – Next ciklusba: (elől tesztelő ciklusok) Példa: két ZH átlagának kiszámítása n hallgató esetén. Hurok programozása 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 Visual Basic program részletek 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 Do While - Loop For To – Next átírás nem mindig lehetséges, de a fordítottja igen!

8 Programot írunk az m  0 egész szám beolvasására, az első (m+1) páratlan szám reciprokának, és ezen számsorozatból az alábbi összegnek a kiszámítására: A programban a For k=0 To m … Next k ciklust használjuk, a kiiratás m=10 esetén a jobbra látható táblázatnak fog megfeleni. For To – Next ciklus A For k=0 To m … Next k ciklus a k ciklusváltozó 0,1,2,…,m értékeivel való számításokat jelenti a ciklus törzsében. Ha k értékét „lépésenként” nem 1-gyel, hanem pl. 2-vel akarjuk növelni, azaz a ciklus törzsében k ciklusváltozó 0,2,4,… értékeivel akarunk számolni, a For k=0 To m Step 2 … Next k utasítást használjuk.

9 Programot írunk két vektor minden elemének egy-egy számmal való megszorzására, és a szorzatok összeadására: Tömbök (indexes változók) Sub KetVektor() Dim a%(3), b%(3), k%, c%(3) a(1) = 3: a(2) = 0: a(3) = 4 b(1) = 1: b(2) = 2: b(3) = 2. For k = 1 To 3 c(k) = 2 * a(k) + 3 * b(k) Next k End Sub Tömbök deklarációja (kötelező!) Értékadás tömb-elemeknek

10 Tömbök, olvasás fájlból Öt nap 3 áruból származó bevételének számítása Az adatok.txt fájl Beolvasások fájlból Fájl megnyitása Fájl bezárása Sub elad() Dim Mit$(3), FtCim$, FtKg%(3), kgCim$, kg#(5, 3), j%, k%, Ft# Openadatok.txtFor Input As #1 Open "adatok.txt" For Input As #1 Input #1, Mit(1), Mit(2), Mit(3) Input #1, FtCim Input #1, FtCim: Cells(2, 5) = FtCim For j = 1 To 3 Input #1, FtKg(j): Input #1, FtKg(j): Cells(j + 2, 5) = FtKg(j) Next j Input #1, kgCim Input #1, kgCim: Cells(1, 2) = kgCim For k = 1 To 5 For j = 1 To 3 Input #1, kg(k, j): Input #1, kg(k, j): Cells(k + 1, j) = kg(k, j) Next j Next k Close #1 For j = 1 To 3: Cells(7, j) = Mit(j): Next j For k = 1 To 5 Ft = 0 For j = 1 To 3 Ft = Ft + kg(k, j) * FtKg(j) Next j Cells(k + 1, 7) = Ft Next k Cells(1, 7) = "Ft" End Sub A kiiratások

11 Tömbök, olvasás fájlból Öt vektor mindegyikét szeretnénk megszorozni egy adott vektorral… skalárszorzatok 1,0,1 1,3,2 -2,0,6 1,1,1 0,0,5 -3,1,4 A vektorok.txt fájl A kiiratások Sub sokvektor Sub sokvektor() Dim a#(5, 3), b#(3) Dim c#(5), k%, j%, cim$, ures Openvektorok.txtFor Input As #1 Open "vektorok.txt" For Input As #1 Input #1, cim Input #1, cim : Cells(6, 1) = cim Input #1, b(1), b(2), b(3) For j = 1 To 3 Cells(j + 1, 5) = b(j) Next j Input #1, ures For k = 1 To 5 For j = 1 To 3 Input #1, a(k, j) Cells(k, j) = a(k, j) Next j Next k Close #1... End Sub Beolvasások fájlból Beolvasás fájlból Fájl megnyitása Fájl bezárása Az adatfájl üres sorának kezelése

12 Az itt (balra) látható energia12.txt fájl a villany szöveg után a villany Ft/kWh árát, a gáz szöveg után a gáz Ft/m 3 árát tartalmazza, majd az ezt követő 12 hónapnév és számpár egy család kWh-ban ill. m 3 –ben mért adott havi villany- ill. gáz-fogyasztását adja meg. Írjon programot a fájl adatainak beolvasására. Az egyes hónapok nevét, és az adott hónapra vonatkozó villany- ill. gázfogyasztási értékeket egy-egy tömb elemeiként olvastassa be (pl. a hónapok nevéhez a honap$(12) tömböt, a havi villany- ill. gázfogyasztási értékeknek vill#(12) ill gaz#(12) tömböket deklaráljon). 2.HF Elküldendő jan. 10-ig:.xlsm (vagy xls) fájl a címre A program a beolvastatás után számítsa ki és írja ki a család havi összes (villany + gáz) energiaköltségeit, valamint a 6 „hideg” ill. 6 „meleg” hónap össz-energia költségét a jobbra látható ábrának megfelelően! A feladatot kétféleképpen oldja meg: a.) A beolvastatási résznek megfelelő hurkot For-Next ciklussal programozza. b.) A beolvastatási résznek megfelelő hurkot Do-Loop ciklussal programozza. A kiiratásnak megfelelő sor számát a hónap számából (k) az alábbiak szerint számíthatja: „meleg” hónapok esetén: sor=k-2 (pl. május az 5-2 = 3. sorba kerül) „hideg” hónapok esetén: if k<4 then sor=k+1 else sor=k-5 (pl. január az 1+1=2. sorba kerül és november a 11-5=6. sorba)