4. GYAKORLAT. Rövid elméleti összefoglaló. Írjunk függvényt a téglalap területének kiszámítására: Visual Basic függvény

Hasonló dokumentumok
Egyszerű példaprogramok gyakorláshoz

5. Gyakorlat. struct diak {

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket.

6. A Pascal nyelv utasításai

Webprogramozás szakkör

7. Strukturált típusok

8. gyakorlat Pointerek, dinamikus memóriakezelés

352 Nevezetes egyenlôtlenségek. , az átfogó hossza 81 cm

BBTE Matek-Infó verseny mintatételsor Informatika írásbeli vizsga

BME MOGI Gépészeti informatika 6.

Algoritmusok Tervezése. 5. Előadás Visual Basic 2. Dr. Bécsi Tamás

1. Gyakorlat. Rövid elméleti összefoglaló. <tárolási osztály>típus <típus > változónév <= kezdőérték><, >;

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Számelmélet

3 A C programozási nyelv szintaktikai egységei

Felvételi tematika INFORMATIKA

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Maximum kiválasztás tömbben

BME MOGI Gépészeti informatika 4.

Eljárások és függvények

Bevezetés a programozásba I.

6. gyakorlat Egydimenziós numerikus tömbök kezelése, tömbi algoritmusok

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Vezérlési szerkezetek

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Bevezetés a programozásba I.

Követelmény az 5. évfolyamon félévkor matematikából

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

7. gyakorlat Sorozatok, Fájlkezelés

Programozási segédlet

Bevezetés a programozásba I 10. gyakorlat. C++: alprogramok deklarációja és paraméterátadása

C programozás. 6 óra Függvények, függvényszerű makrók, globális és

Számelmélet Megoldások

Programozás alapjai 8.Gy: Program struktúra

1. numere.txt n (1 n 10000) n növekvő kilenc a) Pascal/C++ Például: NUMERE.TXT

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

1. Feladat: beolvas két számot úgy, hogy a-ba kerüljön a nagyobb

Bevezetés a programozásba I.

MT Algoritmusok és V Algoritmusok és isual Basic programoz ás alapjai isual Basic programoz Algoritmus Muhammad Ibn Músza Al-Hvárizmi

Programozás alapjai 3.Gy: C elágazások, ciklusok P R O

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Számelmélet I.

Programozás I. gyakorlat

Megoldások. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) 1. Számítsd ki a következő kifejezések pontos értékét!

2. Milyen értéket határoz meg az alábbi algoritmus, ha A egy vektor?. (2 pont)

LibreOffice Makró Basic

2018, Funkcionális programozás

C programozás. { Márton Gyöngyvér, 2009 } { Sapientia, Erdélyi Magyar Tudományegyetem }

Alkalmazott modul: Programozás. Programozási tételek, rendezések. Programozási tételek Algoritmusok és programozási tételek

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r

7. Számelmélet. 1. Lehet-e négyzetszám az a pozitív egész szám, amelynek tízes számrendszerbeli alakjában 510 darab 1-es és valahány 0 szerepel?

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

INFORMATIKA javítókulcs 2016

Hatványozás. A hatványozás azonosságai

I. Specifikáció készítés. II. Algoritmus készítés

10. gyakorlat Tömb, mint függvény argumentum

I. A gyökvonás. cd c) 6 d) 2 xx. 2 c) Szakaszvizsgára gyakorló feladatok 10. évfolyam. Kedves 10. osztályos diákok!

NULLADIK MATEMATIKA ZÁRTHELYI

TANMENET. a matematika tantárgy tanításához a 12. E osztályok számára

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click Dim tipp As Integer

Az Országos Középiskolai Tanulmányi Verseny tanévi első fordulójának feladatmegoldásai

1. Mit nevezünk egész számok-nak? Válaszd ki a következő számok közül az egész számokat: 3 ; 3,1 ; 1,2 ; -2 ; -0,7 ; 0 ; 1500

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Programstrukturáló utasítások

BME MOGI Gépészeti informatika 5.

Informatika terméktervezőknek

Bevezetés a programozásba I 3. gyakorlat. PLanG: Programozási tételek. Programozási tételek Algoritmusok

Algoritmizálás és adatmodellezés tanítása 1. előadás

Gyökvonás. Másodfokú egyenlet. 3. Az egyenlet megoldása nélkül határozd meg, hogy a következő egyenleteknek mennyi gyöke van!

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Számelmélet

MATLAB alapismeretek II.

Matematikai programok

Függvény pointer. Feladat: Egy tömbben soroljunk fel függvényeket, és hívjuk meg valahányszor.

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

7. 17 éves 2 pont Összesen: 2 pont

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 31. Széchenyi István Egyetem, Gy r

11. gyakorlat Sturktúrák használata. 1. Definiáljon dátum típust. Olvasson be két dátumot, és határozza meg melyik a régebbi.

Adatbázis rendszerek Gy: Algoritmusok C-ben

Gyakorló feladatok az 1. nagy zárthelyire

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei

I. ALAPALGORITMUSOK. I. Pszeudokódban beolvas n prim igaz minden i 2,gyök(n) végezd el ha n % i = 0 akkor prim hamis

Osztályozóvizsga és javítóvizsga témakörei Matematika 9. évfolyam

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

4. Előadás Programvezérlő utasítások. (begyakorló feladatok)

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

1. Mit nevezünk egész számok-nak? Válaszd ki a következő számok közül az egész számokat: 3 ; 3,1 ; 1,2 ; -2 ; -0,7 ; 0 ; 1500

Osztályozó- és javítóvizsga témakörei MATEMATIKA tantárgyból 2016 / tanév

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Számelmélet

Feladatok MATEMATIKÁBÓL II.

Megyei matematikaverseny évfolyam 2. forduló

Funkcionális és logikai programozás. { Márton Gyöngyvér, 2012} { Sapientia, Erdélyi Magyar Tudományegyetem }

Matematika osztályozó vizsga témakörei 9. évfolyam II. félév:

C programozási nyelv Pointerek, tömbök, pointer aritmetika

Átírás:

4. GYAKORLAT Rövid elméleti összefoglaló Visual Basic függvény Írjunk függvényt a téglalap területének kiszámítására: Function függvénynév (bemenő paraméterek) típus utasítások függvénynév= kifejezés A függvénynek a bemenő paramétereket értékszerinti adjuk át, amely azt jelenti, hogy kell, hogy értéket tartalmazzanak, hiszen az értékadó utasítás jobb oldalán műveletet végzünk velük, stb. ByVal a, ByVal b A függvény az érték szerint megadott paraméterekkel számol és egyetlen egy (típus szerinti) eredményt ad vissza a függvény nevében jelzett. A függvényt az értékadó utasítás jobb oldalán aktiváljuk. Visual Basic eljárás Sub eljárásnév(bemenő paraméterek, kimenő paraméterek) utasítások Az eljárás bemenő paramétereit értékszerint (ByVal), kimenő paramétereit, azaz az eljárás eredményeit címszerint (ByRef) adjuk át. Függvény és eljárás aktiválása A programban deklaráljuk azokat a változókat, melyekkel aktiváljuk a terulet függvényt és a kerulet eljárást. Dim után adjuk meg a szükséges változókat: ta, tb a téglalap két oldalának számára ter, ker a téglalap területe és kerülete számára InputBox() függvénnyel olvassuk be az adatokat. A CDbl() függvénnyel valós számmá alakítjuk. A függvény aktiválása jobb oldalon: ter = terulet(ta,tb) Eljárás aktiválása kétféleképpen történhet: 1. Call utasítással az eljárás neve és () zárójelben az aktuális paraméterekkel Call kerulet(ta,tb,ker) 2. Az eljárás nevével szóköz és az aktuális paraméterek listája kiir ter,ker A terulet függvény a paraméterlistán bemenő paraméterként, azaz érték szerint (ByVal) kapja meg a téglalap két oldalát: a, b Function terulet(byval a As Double, _ ByVal b As Double) As Double terulet = a * b A téglalap területét a függvény nevében adjuk vissza Írjunk eljárást a téglalap kerületének kiszámítására! A kerulet eljárás bemenő paraméterei a téglalap két oldala: ByVal a As Double, ByVal b As Double Kimenő paramétere, a téglalap kerülete: ByRef tker As Double Sub kerulet(byval a As Double,ByVal b As Double, _ ByRef tker As Double) tker = 2*(a + b) Dim ta As Double, tb As Double, ter As Double, _ ker As Double ta = CDbl(InputBox("Adat:", "Téglalap a oldala", "2")) tb = CDbl(InputBox("Adat:", "Téglalap b oldala", "3")) ter = terulet(ta, tb) Call kerulet(ta, tb, ker) kiir ter, ker Function terulet(byval a As Double, ByVal b As Double) _ As Double terulet = a * b Sub kerulet(byval a As Double, ByVal b As Double, _ ByRef tker As Double) tker = 2 * (a + b) Sub kiir(byval ter As Double, ByVal ker As Double) s = "Terület: " & CStr(ter) & " Kerület: " + CStr(ker) A téglalap oldalai: 2 és 3 Mintafeladat 1

A feladat.: Három valós számnak számítsuk ki függvénnyel a számtani közepét: VISUAL BASIC 4. GYAKORLAT Function SzamtaniKozep(ByVal x As Double, ByVal y As Double, ByVal z As Double) valamint a mértani közepét eljárással: Sub MertaniKozep(ByVal x As Double, ByVal y As Double, ByVal z As Double, ByRef mkz As Double) Dim a As Double, b As Double, c As Double, mk As Double, szk As Double a = CDbl(InputBox("Adat:", "Adat megadása", "1")) b = CDbl(InputBox("Adat:", "Adat megadása", "2")) c = CDbl(InputBox("Adat:", "Adat megadása", "3")) szk = SzamtaniKozep(a, b, c) Call MertaniKozep(a, b, c, mk) Call kiir(szk, mk) Function SzamtaniKozep(ByVal x As Double, ByVal y As Double, ByVal z As Double) As Double SzamtaniKozep = (x + y + z) / 3 Sub MertaniKozep(ByVal x As Double, ByVal y As Double, ByVal z As Double, ByRef mkz As Double) mkz = Exp(Log(x * y * z) / 3) Sub kiir(byval szkozep As Double, ByVal mkozep As Double) Dim s As Sting s = "Számtani közép: " & CStr(szkozep) & " Mértani közép: " + CStr(mkozep) Az adatok: 1, 2 és 3 Mintafeladat Deklaráljunk egy 7 elemű tömböt, töltsük fel 1-10 közötti, egésszé alakított véletlen számmal. Számláljuk meg mennyi páros, ill. páratlan elemet tartalmaz a tömb. Írjunk eljárásokat a keresésre és a tömb tartalmának, illetve az eredmények megjelenítésére. Megjegyzés: A tömb paramétert mindig ByRef, azaz címként kell átadni függvénynek ill. eljárásnak. A tömb neve mellett még a () zárójellel is jeleznünk kell, hogy a paraméter tömb. Az aktiválásnál már nem kell a zárójeleket kitenni. Dim x(6) As Integer, i As Integer, paros As Integer, _ paratlan As Integer Randomize For i = 0 To 6 x(i) = CInt(Rnd() * 10) + 1 Call kiir(x) keres x, paros, paratlan eredkiir x, paros, paratlan Sub keres(byref x() As Integer, ByRef pa As Integer, _ ByRef pt As Integer) Dim i As Integer pa = 0 pt = 0 If x(i) Mod 2 = 0 Then pa = pa + 1 Else pt = pt + 1 End If Sub kiir(byref x() As Integer) 2 Deklaráció A véletlen szám generátor számára új kezdőérték. A tömb feltöltése A tömb tartalmának megjelenítése keres eljárás aktiválása eredkiir eljárás aktiválása keres eljárás lokális deklaráció alapállapot beállítása Ciklus a tömb alsó határától a felső határáig Ha az x tömb i-edik eleme páros, akkor a pa tartalmát növeljük 1-el, különben, ha páratlan, akkor a pt növeljük.

MsgBox s, vbokonly, "Eredmény" Sub eredkiir(byref x() As Integer, ByVal a As Integer, _ ByVal b As Integer) s = s + "Páros: " + CStr(a) + " Páratlan: " + CStr(b) MsgBox s, vbokonly, "Eredmény" A program futásának eredménye: VISUAL BASIC 4. GYAKORLAT A kiir eljárás a tömb elemeit jeleníti meg Az eredkiir eljárás a páros és a páratlanok számát is megjeleníti Mintafeladat Deklaráljunk egy 7 elemű tömböt, töltsük fel 1-10 közötti, egésszé alakított véletlen számmal. Keressük a tömb legkisebb elemét eljárással. Dim x(6) As Integer, i As Integer, _ min As Integer Randomize For i = 0 To 6 x(i) = Int(Rnd() * 10 + 1) Call kiir(x) keres x, min eredkiir x, min Sub keres(byref x() As Integer, _ ByRef xmin As Integer) Dim i As Integer xmin = x(0) For i = LBound(x) + 1 To UBound(x) If x(i) < xmin Then xmin = x(i) End If Az xmin kimenő paraméter felveszi az x tömb 0. elemének értékét. A ciklus a tömb alsóhatár+1-től a felsőhatárig megvizsgálja, hogy az x tömb i-edik eleme kisebb, mint az xmin, ez esetben felülírjuk az xmin tartalmát az x tömb i-edik elemével. A program futásának eredménye: Sub kiir(byref x() As Integer) Sub eredkiir(byref x() As Integer, _ ByVal a As Integer) 3

s = s + "legkisebb adat: " + CStr(a) VISUAL BASIC 4. GYAKORLAT Feladatok 1. Olvassuk be a téglatest három oldalának hosszát és számítsuk ki a téglatest térfogatát és felszínét függvényekkel! (GYAK3_1) Dim ta As Double, tb As Double, tc As Double, terf As Double, felsz As Double Function terfogat(byval a As Double, ByVal b As Double, ByVal c As Double) As Double Sub felszin(byval a As Double, ByVal b As Double, ByVal c As Double, _ ByRef f As Double) 2. Olvassunk be három valós számot és számítsuk ki az összegüket, és a szorzatukat függvényekkel, átlagukat pedig eljárással, az eredményt jelenítsük meg! (GYAK3_2) Dim a As Double, b As Double, c As Double, ossz As Double, atl As Double, _ szor As Double Function osszegszamol(byval a As Double, ByVal b As Double, ByVal c As Double) As Double Function szorzatszamol(byval a As Double, ByVal b As Double, ByVal c As Double) As Double Sub atlagszamol(byval a As Double, ByVal b As Double, ByVal c As Double, _ ByRef atlag As Double) Sub kiir(byval t1 As Double, ByVal t2 As Double, ByVal t3 As Double) s = "Összeg: " & CStr(t1) & " Átlag: " + CStr(t2) + " Szorzat: " + Cstr(t3) 3. Olvassunk be egy valós alapot és egy egész kitevőt. Számítsuk ki a valós szám hatványát eljárással, illetve a gyökét függvénnyel. Gyök esetében, ha a kitevő negatív, a gyök eredménye zérus legyen. (GYAK3_3) Dim alap As Double, kitevo As Integer, gyok As Double, hatvany As Double Function gyokotszamol(byval a As Double, ByVal k As Double) As Double Sub hatvanytszamol(byval a As Double, ByVal k As Integer, ByRef h As Double) Sub kiir(byval t As Double, ByVal f As Double) If t <> 0 then s = "Gyök: " & CStr(t) & " Hatvány: " + CStr(f) Else s = "Hatvány: " + CStr(f) End If 4. Olvassunk be három valós számot és írjuk eljárást, mely a három valós számot növekvő sorrendbe rendezi! (GYAK3_4) Dim x1 As Double,x2 As Double,x3 As Double Sub Sorrend(ByRef a As Double, ByRef b As Double, ByRef c As Double) Sub kiir(byval a As Double, ByVal b As Double, ByVal c As Double) s = "Növekvő sorrend: " & CStr(a) & " " + CStr(b) + " " + Cstr(c) MsgBox s, vbokonly, "Eredmény" 4

VISUAL BASIC 4. GYAKORLAT 5. Olvassuk be a kocka élét valós számként! Számítsuk ki a kocka testátlóját és lapátlóját függvénnyel, valamint a térfogatát és felszínét eljárással! (GYAK3_5) Dim oldal As Double, tatlo As Double, lpatlo f As Double, terf As Double, felsz As Double Function TestAtlo(ByVal a As Double) As Double Function LapAtlo(ByVal a As Double) As Double Sub Szamol(ByVal a As Double, ByRef t As Double, ByRef f As Double) Sub kiir(byval k_tatlo As Double, ByVal k_lapatlo As Double, ByVal k_terf As Double, _ ByVal k_felsz As Double) s = "Testátló: " & CStr(k_tatlo) & " Lapátló: " + CStr(k_lapatlo) + _ " Térfogat: " + Cstr(k_terf) + " Felszin: " + Cstr(k_felsz) 6. Deklaráljunk egy 7 elemű tömböt, töltsük fel 1-10 közötti, egésszé alakított véletlen számmal. Írjunk egy keres eljárást, melyben keressük meg a tömb legnagyobb elemét eljárással! (GYAK3_6) Dim x(6) As Integer, i As Integer, max As Integer Sub keres(byref x() As Integer, ByRef xmax As Integer) Sub eredkiir(byref x()as Integer, ByVal a As Integer) s = s & x(i) & chr(9) s = s + "legnagyobb adat: " + Cstr(a) 7. Deklaráljunk egy 5 elemű tömböt, töltsük fel valós adatokkal InputBox() függvény hívásával! Írjunk egy normal eljárást, melyben keressük meg a tömb legnagyobb és a legkisebb adatát. A tömb elemeit osszuk le a legkisebb és a legnagyobb adat számtani közepével! (GYAK3_7) Dim x(4) As Double, i As Integer, xminmaxatl As Double Sub Normal(ByRef x()) As Double, ByRef minmaxatl) As Double) Sub eredkiir(byref x()) As Double, ByVal a As Double) s = s & x(i) & chr(9) s = s + "minmaxatlag: " + Cstr(a) 8. Deklaráljunk egy 5 elemű tömböt, töltsük fel egész adatokkal InputBox() függvény hívásával! Írjunk egy keres eljárást, melyben megszámláljuk a tömb pozitív, negatív és zérus elemeinek számát!(gyak3_8) Dim x(4) As Integer, i As Integer, poz As Integer, neg As Integer, zero As Integer Sub keres(byref x()as Integer, ByRef p As Integer, ByRef n As Integer, ByRef z As Integer) 5

VISUAL BASIC 4. GYAKORLAT Sub eredkiir(byref x()as Integer, ByVal p As Integer, ByVal n As Integer, _ ByVal z As Integer) s = s & Cstr(x(i)) & chr(9) s = s + "poz db: " + Cstr(p) + " neg db: " _ + Cstr(n) + " zero db: " + Cstr(z) 9. Deklaráljunk egy 7 elemű tömböt, töltsük fel 1-10 közötti, egésszé alakított véletlen számmal! Írjunk egy Oszthatosag eljárást, melyben megszámláljuk a tömb 3-mal osztható elemeinek számát!(gyak3_9) Dim x(6) As Integer, i As Integer, oszt3db As Integer Sub Oszthatosag(ByRef x()as Integer, ByRef db As Integer) Sub eredkiir( ByRef x() As Integer, ByVal a As Integer) s = s & Cstr(x(i)) & chr(9) s = s + "3-mal oszthatók db: " + Cstr(a) 6