Algoritmus - Eötvös Loránd...

Preview:

Citation preview

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Algoritmus Muhammad Ibn Músza Al-Hvárizmicsillagász, matematikus, ie. I. századi perzsa tudós nevéből származik, akinek egyik könyvét latinra fordították, és a nevét pontatlanul Algorithmus-nak írták.Algorithmus-nak írták.

Algoritmus fogalmaMűveletek tartalmát és sorrendjét meghatározó egyértelmű utasításrendszer, amely a megfelelő kiinduló adatokból a kívánt eredményre vezet.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Az algoritmus megadása során különböző műveleteket végezhetünk az adatokon, az adatok segítségével. A műveleteket (tevékenységeket) az alábbi módon csoportosíthatjuk:

A tevékenységek csoportosítása� Elemi műveletekAzok a tevékenységek, amelyek nem igényelnek magyarázatot, azonnal végrehajthatók. Ezen műveleteket a végrehajtó (a azonnal végrehajthatók. Ezen műveleteket a végrehajtó (a számítógép) ismeri, és azokat végre tudja hajtani.� Összetett műveletekAzok a tevékenységek, amelyek elemi tevékenységekből épülnek föl, tartalmukat mindig megkell magyarázni, maguk is egyszerűbb algoritmusokból épülnek föl.Ezen tevékenységeket a végrehajtó (a számítógép) nem ismeri, azok további magyarázatra várnak, ki kell bontani őket.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Tevékenységszerkezetek

(több művelet végrehajtása során a műveletek során a végrehajtás sorrendjét az alábbi módokon lehet szervezni)

1. Szekvencia a szekvenciát alkotó utasítások a megadás (leírás) sorrendjében végrehajtandókutasítás 1utasítás 2…

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

2. Elágazás két (vagy több) műveletcsoport közül legfeljebb csak az egyiket kell végrehajtani. A döntés mindig valamilyen logikai feltételtől függenek, és annak ismeretében egyértelmű a döntés.

2/1: Egyszerű elágazás (egy utasításblokkból áll) az utasításblokk a feltételtől függően vagy végrehajtásra kerül, vagy nem.feltételtől függően vagy végrehajtásra kerül, vagy nem.

HA sötét_van AKKORkapcsold fel a villanytHVÉGE

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

2/2: Összetett elágazás

2/2/a: két utasításblokkból álló összetett elágazásA két utasításblokk közül a feltételtől függően pontosan az egyik utasításblokk hajtódik végre.pontosan az egyik utasításblokk hajtódik végre.

HA meleg_van AKKORnyisd_ki_az_ablakotKÜLÖNBENkapcsold_le_a_kazántHVÉGE

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

2/2/b: több utasításblokkból álló összetett elágazásA több utasításblokk közül legfeljebb az egyik kerül végrehajtásra -elképzelhető, hogy egyik feltétel sem teljesül. Ekkor- ha van KÜLÖNBEN ág, akkor az hajtódik végre- ha nincs KÜLÖNBEN ág, akkor egyik blokk sem hajtódik végre- ha több feltétel is teljesül, akkor sorrendben csak az első hajtódik végre

ELÁGAZÁS KEZDELÁGAZÁS KEZDHA kapható_túró AKKORsüss_túrós_sütitHA kapható_mák AKKORsüss_mákos_sütitHA kapható_dió AKKORsüss_diós_sütitKÜLÖNBENsüss_almás_sütitELÁGAZÁS VÉGE

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

3. Ciklus egy feltételtől függően egy adott utasításblokk többszöri ismételt végrehajtását jelenti. Az utasításblokkot ciklusmagnak nevezzük. A feltételt ciklus vezérlő feltételnek.

Pozitív vezérlés elve: a ciklusmagot akkor kell végrehajtani, ha a vezérlő feltétel igaz.

Negatív vezérlés elve: a ciklusmagot akkor kell végrehajtani, ha a vezérlő feltétel hamis.vezérlő feltétel hamis.

Elöltesztelő ciklusok: a feltétel előbb értékelődik ki, majd megfelelő esetben végrehajtásra kerül aciklusmag „… előbb tesztel, aztán ciklusmag…”.

Hátultesztelő ciklusok: a ciklusmag végrehajtódik, majd kiértékelődik a ciklus vezérlő feltétel, ésmegfelelő esetben újra végrehajtásra kerül a ciklusmag.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

3/1: logikai ciklusok

3/1/a: logikai elöltesztelő pozitív vezérlésű ciklusok működése:1. HA a ciklus_vezérlő_feltétel igaz AKKOR2. ciklusmag_utasításainak_végrehajtása3. ugorj újra az 1. sorra3. ugorj újra az 1. sorra4. KÜLÖNBEN ciklus vége

3/1/b: logikai elöltesztelő negatív vezérlésű ciklusok működése:1. HA a ciklus_vezérlő_feltétel hamis AKKOR2. ciklusmag_utasításainak_végrehajtása3. ugorj újra az 1. sorra4. KÜLÖNBEN ciklus vége

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

3/1/c: logikai hátultesztelő pozitív vezérlésű ciklusok működése:1. ciklusmag_utasításainak_végrehajtása2. HA a ciklus_vezérlő_feltétel igaz AKKOR ugorj újra az 1. sorra3. KÜLÖNBEN ciklus vége

3/1/d: logikai hátultesztelő negatív vezérlésű ciklusok működése:1. ciklusmag_utasításainak_végrehajtása2. HA a ciklus_vezérlő_feltétel hamis AKKOR ugorj újra az 1. sorra3. KÜLÖNBEN ciklus vége

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

3/2 fix ismétlésszámú

3/2/a: fix ismétlésszámú ciklusISMÉTELD n-szerciklusmag utasításaiIVÉGEIVÉGE

- a ciklusmag utasításai a fejrészben megadott számszor hajtódnak végre

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

3/2/b: számlálós ciklusISMÉTELD cv:=kezdőérték -től végérték -igciklusmag utasításaiIVÉGE

végrehajtása:1. lépés: ciklus változó (cv, amely egy egész típusú változó) felveszi a kezdőértéket2. lépés: HA a ciklusváltozó értéke kisebb, vagy egyenlő, mint a végérték AKKOR2. lépés: HA a ciklusváltozó értéke kisebb, vagy egyenlő, mint a végérték AKKOR3. lépés: ciklusmag utasításainak végrehajtása4. lépés: ciklusváltozó értékének automatikus növelése 1-el5. lépés. ugorj újra a 2. Lépésre6. lépés: KÜLÖNBEN ciklus vége

- a ciklusváltozó értéke a ciklus belsejében hozzáférhető (olvasható), de meg nem változtatható (nem írható) a ciklusváltozó értéke a 4. lépésben automatikusan változik. Általában 1-el nő, de ha ettől eltérő viselkedést várunk a ciklustól (pl. 1-el csökkenjen), azt a ciklus megadásakor jelezni kell.- a számlálós ciklusok esetén (elvileg) a végtelen ciklusba esés kizárt

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Strukturált programozás: olyan algoritmusok készítése, amely csak a fenti

három tevékenységszerkezet tartalmaz három tevékenységszerkezet tartalmaz (szekvencia, szelekció, iteráció).

Matematikusok bizonyították, hogy minden algoritmus elkészíthető csak ezen három

szerkezet segítségével.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Algoritmusleíró eszközök1.FolyamatábraSzabályok:. Minden folyamatábra pontosan egy START

szimbólumot tartalmaz. . Minden folyamatábra legalább egy STOP szimbólumot tartalmaz. . Minden folyamatábra-szimbólumba pontosan egy irányított él vezet be, kivéve a START szimbólumot, melybe nem vezet be él.. Minden folyamatábra-szimbólumból pontosan annyi irányított él vezet ki, amennyit a mellékelt ábrán jelöltünk (vagyis mindegyikből pontosan egy vezet ki, kivéve az elágazás szimbólumot, melyből kettő, és kivéve a STOP szimbólumot, melyből egy sem).. Minden folyamatábra-szimbólumba vezet irányított élsorozat a START szimbólumból.. Minden folyamatábra szimbólumból vezet irányított élsorozat legalább egy STOP szimbólumba.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

A folyamatábrával nem csak strukturált algoritmusok írhatók le. Ahhoz, hogy ellenkezője ne történhessen, az alábbiakra kell ügyelni:- azon feltételes elágazások, melyek nem ciklust jelölnek, a „Nem” és az „Igen” ágak egy pontban kell hogy találkozzanak- Nem vezethet be irányított él a ciklusok magjába, sem feltételes elágazások ágainak belsejébe.elágazások ágainak belsejébe.

2. Struktogramm

Dobozolós módszer. Csak strukturált algoritmusok írhatók le segítségével. Hátránya, hogy előre „jól” kell dönteni a kiinduló téglalap méretéről. Az algoritmus bővítése során ugyaniskönnyen előfordulhat, hogy „kicsi” lesz valamelyik téglalap.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

3. Leíró nyelv

Mondatszerű leíró eszköz, mely nem teljesen szabványosított, de könnyen elsajátítható.Csak strukturált algoritmusok írhatók le vele.

http://vizypeti.googlepages.com/bme2oldalon

Algoritmusok és Adatstrukturak.pdf

Bővebben az algoritmusokról:

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

A másodfokú egyenlet megoldásának algoritmusát az itt látható blokk­diagram mutatja.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Visual Basic program készítésének menete

A program indítása

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

A New Project ablakban a Standard EXEkijelölést elfogadjuk és megnyomjuk a Megnyitás gombot.Megnyitás gombot.

Hatására megjelenik a szerkesztői alakban a Form1 objektum.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

A projekthez adjunk egy modult a Project / Add Module menüpont kiválasztásával, majd az Add Module ablakban a Module kijelölést Module kijelölést elfogadva megnyomjuk a Megnyitás gombot.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

A Formot kitöröljük a projektből a következő

módon:

1. Kijelöljük a Form1-et2. A Project/Remove Form1 menüpontot válasszuk ki és a menüpontot válasszuk ki és a Form1 törlődik a projectből.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Visual Basic változónév

A változónév betűvel (angol ábécé betűi) kezdődik, tartalmazhat számokat, aláhúzás jeleket, és további betűket, a hossza maximum 255 karakter. A Visual Basic nem különbözteti meg egymástól a kis-és a nagybetűket. és a nagybetűket.

Például:Osszeg, Atlag, Max_index, dbA Visual Basic nyelvben a hosszú utasítást vesszőnél új sorba folytathatjuk szóköz aláhúzás és újsor alkalmazásával.

Lásd az alábbi deklarációs utasítást!

Program sorának folytatása új sorban :Option ExplicitDim Osszeg As Integer, Atlag As Double, _

Max_index As Integer

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Változók típusai

Típus változó tartalmaInteger -Egész számInteger -Egész számSingle -Egyszeres pontos, lebegőpontos számDouble -Dupla pontos, lebegőpontos szám String -Sztring: karakter, karaktersorozatBoolean -Logikai érték (True - igaz, False – hamis)

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

(Tizedes pont vagy vessző operációs rendszerbeli beállítástól függ.)

szám: 12, -3,56, 1,4E-2, 3,5E4

szöveg: "alma „

logikai érték: True, False

Numerikus változó: egész, vagy valós számot tartalmaz.Az E után hatványkitevőt adhatunk meg.

Szöveges változó: "" jelek között karaktersorozat

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Értékadás

változónév = konstans vagy kifejezés

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Numerikus adatok átalakítása szöveggé:A CStr függvény használatával.

Dim adat As Integer, szoveg As StringAdat = 2Adat = 2Szoveg = Cstr(Adat)

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Karaktersorozat összefűzése

Karaktersorozatokat a + vagy az & jellel fűzhetjük össze.

MsgBox eredmény megjelenítésére alkalmas:Formája:Formája:

MsgBox "szöveg", vbOkOnly," fejléc szövege"

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Változó értékének beolvasása

A változónak InputBox függvénnyel is adhatunk értéket

változó = InputBox("belső szöveg", "ablak fejléce", "kezdő érték")

A kezdő értékadás nem kötelező:változó = InputBox("belső szöveg", "ablak fejléce", "")vagyváltozó = InputBox("belső szöveg", "ablak fejléce")

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Az InputBox sztring típusú adatot ad vissza, az adatot a bal oldali változónak megfelelően kell átalakítani:

Dim ValosAdat As DoubleValosAdat= CDbl(InputBox("V: ","Adat","3,5"))

Dim EgeszAadat As IntegerEgeszAdat = CInt(InputBox("E: ", "Adat", "2"))

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Konstans deklarálása

Const Név1 = érték1, Név2 = érték2

Const Pi = 3.141592654

Const G=9,81

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

OperátorokA műveletek képzéséhez az alábbi operátorokat használhatjuk: Példa: Eredmény:

Összeadás: + 2.6 + 3 5.6

Kivonás: – 8-13 -5

Szorzás: * 3*2 6Szorzás: * 3*2 6

Osztás: / 15/2 7.5

Egészek osztása: \ 15\2 7

Maradék képzés (modulus) Mod 16 Mod 2 0

Hatványozás: ^ 2^3 8

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Műveletek sorrendjeA Visual Basic precedencia-szabálya:

elsődleges az ellentett képzés: –

hatványozás: ^

szorzás, osztás: *, /

egészek osztása: \

modulus: Mod

összeadás, kivonás: +,–

sztringek összeadása: &

Ha el akarunk térni a precedenciától, akkor zárójelet kell alkalmazunk.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Függvények

Fontosabb matematikai függvények:Abs(x) x abszolút értékeAtn(x) x arkusz tangenseCos(x) radiánban megadott szög koszinuszaSin(x) radiánban megadott szög szinuszaExp(x) ex értéke (e = 2.72…)Exp(x) ex értéke (e = 2.72…)Fix(x) a tizedes jegyek elhagyásával kapott egész

Egész számInt(x) az x egész része, amely nem nagyobb az x-nélLog(x) ln x (természetes alapú logaritmus)Sgn(x) előjel függvény

Sgn(x) =1, ha x>0, -1, ha x<0, 0, ha az x = 0Sqr(x) x gyökeTan(x) radiánban megadott szög tangense

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Az Option Explicitutasítással kötelezővé tesszük a változók deklarációját a programban.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Véletlenszám előállítása

A Randomize új kezdőértékre állítja be a véletlen szám generátort.

Az Rnd () függvény egy véletlen számot állít elő 0 és kisebb mint 1 tartományban.

Veletlenszam = Rnd()Veletlenszam = Rnd()A véletlen szám valós szám, de a feladatokban láthatunk módszert

egész véletlen szám generálására.

Max és Min közötti véletlen szám:V = Int((Max – Min +1)* Rnd()) + Min1-90 közötti egész véletlen szám generálása:Lotto = Int(90 * Rnd()) +1

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Ötször „futtatva”…

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

MintafeladatOlvassunk be egy valós számot, számítsuk ki a köbét és a köbgyökét:

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

SzelekciókA szelekció válogatást jelent, a feltétel teljesülése esetén hajtjuk

végre a kiválasztott utasításcsoportot.Egyszerű feltétel

A legegyszerűbb esetben két mennyiség összehasonlítását jelenti

Relációs operátorok< kisebb , > nagyobb<= kisebb, vagy egyenlő

>= nagyobb, vagy egyenlő= egyenlő , <> nem egyenlő

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Az egyágú szelekció:

ha (If) a feltétel teljesül,akkor a Then utáni utasításokat hajtja végre.

If feltétel thenUtasítások

End If

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Ha a értéke nagyobb mint b, akkor az ered legyen a két adat összege:

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Kétirányú szelekció:

Ha a feltétel teljesül, akkor a Then utáni Utasítások1 különben az Else utáni Utasítások2hajtja végre.

If feltétel thenUtasítások1

ElseUtasítások2

End If

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Ha a értéke nagyobb mint b, akkor az ered legyen a két adat összege, különben a kétkülönben a kétadat szorzata:

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Többirányú szelekció:Láncolt If

If feltétel thenUtasítások1

Else If feltétel2 ThenElse If feltétel2 ThenUtasítások2

…ElseUtasításokn

End If

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

A beolvasott egész adatról eldönti, hogy pozitív, negatív vagy zérus:

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Többirányú szelekció: Select Case utasítás jobban áttekinthető. A kifejezéslista elemeit vesszővel választjuk el.Amelyik kifejezéslistánál teljesül a Amelyik kifejezéslistánál teljesül a tesztkifejezés azon Case utasítás utáni utasítások lesznek végrehajtva,Ha a kifejezéslisták közül egyik sem teljesül és van Case else ág, akkor azok az utasítások lesznek végrehajtva.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

A program futásainak eredménye:

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Logikai műveleti jelek:Tagadás: Not

Not Logikai kifejezés logikai kifejezés értékét ellenkezőre változtatja

Logikai ÉS: AndLogikai kifejezés 1 And Logikai kifejezés 2Az And logikai ÉS akkor lesz igaz (True), ha mind a két logikai Az And logikai ÉS akkor lesz igaz (True), ha mind a két logikai kifejezés igaz, különben bármelyik logikai kifejezés hamis, hamis lesz (False) az eredmény.

Logikai VAGY: OR Logikai kifejezés 1 Or Logikai kifejezés 2Az Or logikai VAGY, akkor lesz igaz (True), ha bármelyik logikai kifejezés igaz, csak akkor hamis (False), ha mindkét logikai kifejezés hamis.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Összetett feltételekEgy logikai értéket előállító kifejezés eléggé bonyolult lehet. Szerepelhetnek benne aritmetikai kifejezések, relációs operátorok és logikai műveletek.logikai műveletek.A relációkat logikai műveleti jellel is összekacsolhatjuk:(reláció1) logikai műveleti jel (reláció 2)Pl.: (A < 3) OR (B >12)

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

IsNumeric függvény igaz értéket ad vissza, ha a paraméterében lévő változó számértéket tartalmaz, különben hamis értéket:

If IsNumeric(változó) ThenIf IsNumeric(változó) Then‘ számot tartalmaz

Else‘ nem számot tartalmaz

End If

Egy aposztróf használata: ‘ megjegyzés a programban

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

FELADATOlvassunk be egy pontszámot, ellenőrizzük, hogy

numerikus-e, valamint a pontszám beleesik-e a megadott határok (0-100) közé.

Adjunk hibajelzést, ha nem numerikus, vagy ha nincs az intervallumban.intervallumban.

Ponthatárok Jegy0 - 50 151 - 65 266 - 75 376 – 85 486 – 100 5

A pontszám alapján jelenítsük meg a jegyet szövegesen.

Algoritmusok és Visual Basic programozás alapjaiAlgoritmusok és Visual Basic programozás alapjai©MT©MT

Option ExplicitSub Main()Dim pontszam As Integer, s As Strings = InputBox("Pontszam", "Pontszam beolvasasa", "")If IsNumeric(s) Thenpontszam = CInt(s)If pontszam >= 0 And pontszam <= 100 ThenIf pontszam >= 0 And pontszam <= 50 Then

MsgBox "elégtelen", vbOKOnly, "Osztályzat"ElseIf pontszam >= 51 And pontszam <= 65 Then

MsgBox "elégséges", vbOKOnly, "Osztályzat"ElseIf pontszam >= 66 And pontszam <= 75 Then

MsgBox "közepes", vbOKOnly, "Osztályzat"ElseIf pontszam >= 76 And pontszam <= 85 Then

MsgBox "jó", vbOKOnly, "Osztályzat"ElseIf pontszam >= 86 And pontszam <= 100 Then

MsgBox "jeles", vbOKOnly, "Osztályzat"End IfElseMsgBox "Hibás adat!", vbOKOnly, "Hibajelzés"End IfElseMsgBox "Nem numerikus adat!", vbOKOnly, "Hibajelzés"

End IfEnd Sub