BME VEGYÉSZMÉRNÖKI ÉS BIOMÉRNÖKI KAR Műszeres Analitikai Kémia Szakirányú Továbbképzési Szak INFORMATIKA (GYAKORLATI SZÁMÍTÁSTECHNIKA) 2016. tavaszi 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
KÖVETELMÉNYEK (módosítás) Az előadásokon kijelölt házi feladatok* határidőre történő beadása ((HF1+HF2)max= 14 p), A géptermi gyakorlatok gyakorló feladatainak megoldása, A komplex labor-feladat (KLF) legalább 40%-os szinten (min. 32p, max 80p.) történő megoldása. Az előadásokon kijelölt hf beadásokkal és a komplex labor-feladattal szerzett (max. 101) félévközi pontok összegének az aláírás megszerzéséhez a minimális értéke 40 pont. HF*: (HF1+HF2)*S ahol 0HFk7 ; 1S1,5 ; (S=1+0,5*(KLF-32)/(80-32))
Tömbök fix indexhatárral, lokális és globális változók Öt vektor (3) mindegyikét szeretnénk megszorozni egy adott vektorral… Ha csak lokális változókat használunk: skalárszorzatok 1,0,1 1,3,2 -2,0,6 1,1,1 0,0,5 -3,1,4 Az adat.txt fájl Function skalar(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 skalar = sum End Function Formális paraméterek A „megfelelő” tömböket föl kell venni a paraméterek listájára Sub sokVektor() Dim a#(5, 3), b#(3), c#(5), k%, j%, Open "adat.txt" For Input As #1 ‘ Itt beolvassuk és kiratjuk a és b elemeit Close #1 For j = 1 To 5 c(j) = skalar(j, a, b, 3) Cells(j, 7) = c(j) Next j End Sub A kiiratások Aktuális paraméterek
Tömbök fix indexhatárral, lokális és globális változók Option Explicit Dim a#(5, 3), b#(3) 'A modul globális változói Function skalar(sor%, n%) As Double Dim sum#, i% 'A skalar Function lokális változói sum = 0 For i = 1 To n : sum = sum + a(sor, i) * b(i) : Next i skalar = sum End Function Sub sokVektor() Dim c#(5), k%, j%, cim$, ures 'A főprogram lokális változói Open "adat.txt" For Input As #1 Input #1, cim : Cells(6, 1) = cim Input #1, b(1) , b(2) , b(3) For k = 1 To 3 : Cells(k + 1, 5) = b(k) : Next k Input #1, ures 'Az adatfájl üres sorának kezelése For j = 1 To 5 For k = 1 To 3 Input #1, a(j, k) : Cells(j, k) = a(j, k) Next k Next j Close #1 c(j) = skalar(j, 3) : Cells(j, 7) = c(j) Cells(3, 4) = "*": Cells(3, 6) = "=": Cells(6, 1) = cim End Sub Ha globális változókat használunk (pl. itt az input-tömbök deklarációjánál), ezeket a változókat a modul-lap bármely (al)programjában használhatjuk. skalárszorzatok 1,0,1 1,3,2 -2,0,6 1,1,1 0,0,5 -3,1,4 Az adat.txt fájl A kiiratások
Hivatkozás a munkalap nevére Makrók rögzítése, testreszabása Cellahivatkozások az aktív munkalapon: C3=C2+(A3-A2)*(B3+B2)/2 Range("C3").Select ActiveCell.FormulaR1C1 = "=R[-1]C+(RC[-2]-R[-1]C[-2])*(RC[-1]+R[-1]C[-1])/2" Munkalap neve: lapnev = ActiveSheet.Name Aktív diagram „tulajdonságaiból”: példák: hely, típus, forrásadatok, cím, tengelyek ActiveSheet.Shapes.AddChart2(240, xlXYScatterSmooth).Select ActiveSheet.Shapes.AddChart.Select ActiveChart.ChartType = xlXYScatterSmooth ActiveChart.SetSourceData Source:=Range(lapnev+"!$A$1:$B$52") ActiveChart.ChartTitle.Text = "Kiss Pál " ActiveChart.Axes(xlValue).MinimumScale = 0 VBA 2013 két utasítást „összevont” Hivatkozás a munkalap nevére