Kezdőoldal » Számítástechnika » Programozás » Ezt hogyan oldanátok meg?

Ezt hogyan oldanátok meg?

Figyelt kérdés

Disclaimer: munkahelyi feladat illusztrációja, nem iskolai házi feladat.. ;)


Adott egy excel táblázat ami mondjuk egy autószervíz szerelői között osztja el a bejövő autókat. Például


Kategória | Típus | Évjárat | Szerelő

SUV | BMW | 2015 | Józsi

Kombi | BMW | 2017 | Pisti

Kombi | Opel | 2015 | Gergő

SUV | BMW | 1995 | Géza


(Nagyon egyszerüsített kivitel.)


Tehát ez a szabály-táblázat azt tartalmazza, hogy ha bejön egy autó a szalonba, akkor a szervizvezető kinek adja a kocsit. És például:


Az összes SUV-ot Józsi szereli, a kombikat Pisti, kivéve az Opeleket, mert arra ott van a Gergő. És a 20 évnél öregebb autókkal Géza bíbelődik.


A fenti táblázat csak egy minta, de mondjuk az összes esetre kimerítő lenne. Na és a kérdés, milyen algoritmussal osszuk be a beérkező autókat.


Ha a lookup táblázat SQL szerveren van, akkor nyilván könnyű a feladvány (SELECT szerelo WHERE kategoria=SUV stb. stb.). Ha a lookup táblázatot beolvassuk Pandas dataframe-be, akkor is egyszerű Pandasban leszűrni.


De a kérdésem az, hogy ilyesféle szabályokat akarok megoldani, akkor van erre valami szokásos algoritmus?


A szabályokat nem akarom a kódba beégetni, mivel ha változtatni kell, akkor fontos, hogy a felhasználók által is konfigurálható legyen a rendszer. Tehát valamiféle konfigurációs fájlt kell használni.


Egyéb ötlet, mint a fentiek?



2023. jan. 25. 17:13
 1/6 anonim ***** válasza:

HA "20 évnél öregebb":

--Gergő

EGYÉBKÉNT:

--HA "SUV":

----Józsi

--HA "Kombi":

----HA "Opel":

------Gergő

----EGYÉBKÉNT:

------Pisti

2023. jan. 25. 18:13
Hasznos számodra ez a válasz?
 2/6 anonim ***** válasza:
67%

"A szabályokat nem akarom a kódba beégetni, mivel ha változtatni kell, akkor fontos, hogy a felhasználók által is konfigurálható legyen a rendszer. Tehát valamiféle konfigurációs fájlt kell használni."

Ezzel az a baj, illetve a dolog komplexitását az adja, hogy valahol definiálni kell a szabályok közötti hierarchiát. És erre való a kód.


Pl. tegyük fel, hogy megjelenik egy új kategória pl. mercedes, amit mondjuk hozzárendelünk Pistihez. De mi a helyzet a 20 évnél idősebb mericvel és a merci SUV-kal?

2023. jan. 25. 18:20
Hasznos számodra ez a válasz?
 3/6 anonim ***** válasza:

"Az összes SUV-ot Józsi szereli, a kombikat Pisti, kivéve az Opeleket, mert arra ott van a Gergő. És a 20 évnél öregebb autókkal Géza bíbelődik."

Ezek a szabályok ebből a táblázatból nem derülnek ki. A feladat nem oldható meg.

2023. jan. 25. 18:31
Hasznos számodra ez a válasz?
 4/6 anonim ***** válasza:

Ha autómárka - a1 szerelő aki ehhez az autómárkához ért


Ha öreg autó -b1 szerelő aki speciálisan ehhez ért


Ha suv - c1 szerelő aki a suvhoz ért

Ha kombi - c2 szerelő aki a kombihoz ért


else

akinek van ideje


és akkor az

a1 a2 a3 stb ki lehet tölteni a felhasználóknak márka igényekre (ez az elsődleges szempont)

b1 b2 b3 stb ki lehet tölteni a felhasználóknak egyéb igények pl autó kora (másodlagos szempont)

c1 c2 c3 stb ki lehet tölteni a felhasználóknak suv kombi stb szakértelemre (harmadlagos szempont)



De én kezdő vagyok nagyon, csak gondolkodtam hogy oldanám meg.

2023. jan. 25. 19:04
Hasznos számodra ez a válasz?
 5/6 anonim ***** válasza:

Akár szűréssel is sorba lehetne a rendezni az adatokat és akkor egyértelműen látszódik, hogy melyik kihez kerül. Emlékeim szerint az Excel tudja kezelni az összetartozó adatokat szűrésnél. Annyi hátránya van a dolognak, hogy így megkavarjuk a listát, ami nem feltétlenül előnyös, ha a szervizvezető beérkezési sorrendben akarja látni.


Ha mindenáron makrózni kell, akkor egyszerűen minden opcióhoz egy HA() feltételt kell hozzárendelni, majd egymás után rakni a feltételeket és kidobja az algoritmus a szerelő nevét. Arra kell csak figyelni, hogy lehetnek prioritásos feltételek, pl. ha 20 évnél régebbi az autó, akkor automatikusan egy adott szerelőhöz kerül, a többi feltételt már nem kell figyelembe venni.

2023. jan. 25. 21:43
Hasznos számodra ez a válasz?
 6/6 anonim ***** válasza:
A "decision tree"-re keress rá
2023. jan. 25. 22:15
Hasznos számodra ez a válasz?

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

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!