Ezt a feladatot, hogyan lehetne megoldani c#-ban?
2. feladat (Szállásszervezés – szint: 1). Készítsünk programot, mely osztálykirándulás szervezésében segíti a használóját, melyhez a lehető legkedvezőbb szállásárat kellene elérni. A kiválasztott hotelben többféle kedvezményt adnak a diákoknak, egyszerre közülük csak az egyik vehető igénybe:
* Csoportos kedvezmény: 10 fő alatt 0 %; 10-19 fő esetén 5 %; 20-29 fő esetén 8 %; 30-40 fő esetén 12 %; 40 fő felett 14 % a kedvezmény mértéke.
* Intézményi kedvezmény: 5 fő alatt nincs; 5-11 fő esetén 1 fő ingyen szálláshoz jut; 12-19 fő esetén 2 fő ingyenes; 20-28 fő esetén 3 fő ingyenes; 29-40 fő esetén 4 fő, míg 40 fő felett 5 fő kap ingyenes szállást.
* Diákkedvezmény: egyénileg is jár, mértéke 10
Készítsen programot, amely beolvassa a kiránduláson résztvevők számát majd megadja, hogy a háromféle kedvezményből melyiket kell igénybe venni, hogy a lehető legkevesebbe kerüljön a szállás!
Az egyszerre 1 vehető igénybe hogyan értendő? Személyneként?
Azaz Pl 6 fő esetén az 5 fős intézményi kedvezmény + 1 diák egyénileg megoldható?
Ebben az esetben sztem a legjobb minden esetben 5 fős "intázményekre bontani" a csaatot, és a maradék egyéni diákként mehet.
Ez egyszeruen megoldhato papiron is, a megoldas hasonlo a C#-oshoz.
3 fuggvenyed van, ertekuk az adott kedvezmenyt igenybeveve kialakult "ar" (100-kedvezmeny), a csoportletszam fuggvenyeben.
A harom fuggveny minimumat keressuk, ez egy grafikonon gyonyoruen latszik - a program csak kivalasztja a 3 ertek kozul a minimumot.
Peldafuggveny:
csoportos(x) :=
_ _ ha x>10: 0
_ _ ha x>20: 5
_ _ ha x>30: 8
_ _ ha x>41: 12
_ _ egyebkent 14
Masik ketto fuggvenyt megirod, minimumukat veszed x-re es kiirod.
Előző: Az a gond, hogy ezek nem sima függvények, hanem jobbik esetben is 2 változós. (Ha nem vesszük a fentebb általam irt 6 fős példát)
Mivel a diákkedvezmény gondolom csak diákokra vonatkozik, ezért tudni kell hogy az adott számú személyből mennyi diák.
Ezzel arra célzol, hogy gyakorlatilag lehet úgy venni, hogy mindenki diák, nincs is kiserő? Tehát a "harmadik" árat számolhatjuk a fő*egységár*0.9 "képlettel"?
És ugyanigy kiszámoljuk a másik 2 árat, majd vesszük a minimumot. Ez is egy megoldás, ha a tanár elfogadja ennyire leegyszerűsitve:)
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!