Java > Egy zárthelyi feladat

Ez könnyűnek számít?


JAVA Programozás
Téma: I. zárthelyi dolgozat, A JAVA programozás alapjai
Tagozat / évfolyam: II. évfolyam
Dátum:
Kidolgozási idő: 80 perc
Oktató:
Hallgató: __ __ __ __ __ __ (neptun kód) (név)

Készítsen egy olyan konzol programot Java nyelven NetBeans avagy Eclipse fejlesztői környezet segítségével, mely az alábbi feladatra nyújt megoldást. A megvalósítás során a tanult eszközöket használja, tartsa be az alapvető OOP írott és íratlan szabályait. Minden implementált osztályt külön állományba hozzon létre, a belépési pontként szolgáló osztály main() metódusát csak szimulációra használja! Ékezeteket sehol se használjon, és az osztályokat neptunkod_nev csomagba szervezze.

Készítsen el egy raktárkészlet-kezelő alkalmazást egy elektronikia áruházlánc számára. A vállalat több telephelyen rendelkezik raktárral és a raktárkészlet nyilvántartására szeretne egy software-t. Tervezzen egy osztályhierarchiát, mely reprezentálni tud:
- egy raktárat (megnevezés, cím, össz. kapacitás, termékek listája darabszámmal*). [Közv. őse: Object]
- egy terméket (cikkszám, megnevezés, ár, márka). [Közv. őse: Object, Abstract legyen!]
- egy márkát (márkanév, minőségkategória (1-5)). [Enum]
* termékek listája darabszámmal: generikus Map, HashMap legyen (kulcs: cikkszám/termék példány, érték: darabszám)

A termék abstract osztálynak készítsen két leszármazott osztályt, mely két tetszőleges elektronikai cikket reprezentáljon. Az egyiknek pl. "képátlója legyen", a másiknak pedig "hangfalainak száma"...(szóval legyenek plusz mezők az osztályban).

Készítsen olyan main() metódust, mely a következő szimulációra képes (felhasználótól
semmilyen adatbevitelre nincs szükség):
- létrehoz minimum 2 raktárat
- a raktárakba felvesz néhány konkrét terméket (cikkszám vagy termék instance alapján)
- kiiratja konzolra a raktárak tartalmát (toString() legyen elkészítve mindenhol!)
- elvesz valamennyi tételt valamely raktárból (cikkszám vagy termék instance alapján)
- kiiratja konzolra a raktárak tartalmát
- hibaesetek tesztelése, szimulálása

A fentiekből a következők következnek, hogy a raktár osztályban a következő metódusoknak meg kell lennie:
- X db adott termék hozzáadása a raktárkészlethez (figyelni kell, hogy a raktárban van-e elég hely, ha nincs, hibaüzenetet kell adni)
- Y db adott termék elszállítása a raktárból (figyelni kell, hogy van-e a raktárban adott termék, illetve van-e Y db. Ha nincs, akkor hibaüzenet, ha nincs elég, akkor kevesebb elszállítása, és figyelmeztetés!)

4-es osztályzathaz szükséges:
Hibaüzenetek kezeléséhez használjon kivételkezelést.

5-ös osztályzathoz szükséges:
Egészítse ki az alkalmazást egy áruház osztállyal, mely a raktárak listáját tartalmazza (ArrayList). Egy adott termék hozzáadása illetve elszállítása ezen osztályon keresztül történjen, és az osztály implementációja döntse el hogy melyik raktárba helyezi el a termékeket (melyikbe van hely), illetve melyikből szállítja el. Kifele csak akkor adjon hibaüzenetet, hogyha a kérés teljesíthetetlen (egyik raktárban sincs hely, illetve a raktárakból összesen nem lehet a kért árumennyiséget összegyűjteni).

Beadás: egy darab ZIP formátumban tömörített, a teljes project könyvtárat tartalmazó
állományt kell feltölteni ...

Hozzászólások

Jáva ellen nincs oltásom, csak némi C++, úgyhogy fenntartással kezeld a véleményem.
Nekem erre 80 perc iszonyú kevés lenne.

Tudom off, de zárthelyiről jutott eszembe:

Végre:
http://index.hu/belfold/2010/10/22/uj_felsooktatasi_torveny/

Mellesleg ha nem akarod magad megutáltatni, akkor kevés az idő. és olyat ne írj, hogy írott, és íratlan szabályok. Majd mutasd fel az íratlan szabályokat ha reklamál a diák a dékánnál, hogy mire gondoltál.
Ha tanítottál, és leadtad, akkor kérdd számon, de akkor se így fogalmazz. :)

Sokadik szerk:

Mellesleg nem szerencsés a feladatod. Mert ez nem pusztán programozási, hanem rendszertervezési feladat is. Az meg mit keres a Java PROGRAMOZÁS ALAPJAI között? Ha rendszertervezést tanítottál nekik, akkor semmi gond. De ez így nekem akkor sem áll össze. Kicsit olyan, hogy azok fogják tudni megoldani, akiknek mániájuk a programozás, a többiek meg, akik azért tanulják, mert muszáj, mint a matekot, azok összehoznak belőle egy kettest.

Java programozás alapjaiba programozásfeladatot tennék. Nem írott és íratlan szabályok cibálását. Nálunk voltak olyan PhD-sok akiket azért utáltunk, mert hasonló módszerrel vizsgáztattak. Sose azt kérték számon, amit leadtak, vagy ami az anyag volt. érdekes, hogy az idősebb, nem PhD-sok, akiket sokkal jobban tiszteltünk, tudták, hogy mit adtak le év közben, és nem szívatni akartak.

Szerintem 80 perc alatt teljesíthető. Igazából gondolkodni nem kell rajta, csak gépelni.
Mit megadtam volna érte, ha akármelyik programozás ZH-m/vizsgám gépen írhattam volna... :)

---
BME-VIK '09
Compaq Mini 311 - N270 @ 2323 MHz - 3GB DDR3 @ 1240 MHz - ION

Szerintem nem nehez a feladat, de olyan dolgokat kell hozza tudni, amikkel idot lehet nyerni, nem eleg csak magat a javat ismerni

---
return NEVER;

Ubuntu 8.10
HP nx6110
http://java.tszebeni.hu

"termékek listája darabszámmal: generikus Map, HashMap legyen"
Miert nem Map, aztan olyan megvalositast rak ala, ami neki tetszik? Akar TreeMap-et is, az rendezetten tarol. Igy a kereses ideje gyors, a tarolase lassu.
"mely a raktárak listáját tartalmazza (ArrayList)"
Mondjuk ennek a valodi modellje inkabb Set, hiszen egy raktar nem lehet benne ketszer. Valamint szerintem ne add meg, hogy milyen List implementaciot hasznaljanak, ez rossz programozasi szokasoknak lehet melegagya. Vagy akar hasznalhat Collection-t is a raktarak tarolasara, az implementacio meg mindegy.

Amugy 80 perc erre boven eleg.

Szerintem így, hogy már előre meg van tervezve tulajdonképpen a dolog, egyszerűen csak gépelni kell, és simán teljesíthető 80 perc alatt. Persze nem árt ha nem akkor először lát az ember javát, és nem ott kezdi el keresni mondjuk egy ArrayList-nek a sokat használt tagfüggvényeinek a definícióit.

Ha begyakorlod típuspéldákon a szükséges dolgokat, akkor szerintem nem nehéz, nekünk is ilyesmi volt, de 60 percben. Nincsenek benne nehéz feladatok, inkább több, kisebb elvárás van.

--
"ktorrent utan az utorrent volt [...] beallithatatlan"
...