Uzdevums - Noliktavas robots
2022/23 AL eksāmena uzdevums OOP sadaļā.
Saturs
Uzdevuma apraksts
Noliktavā paredzēts uzstādīt iepakošanas robotu, kura uzdevums ir iepakot taisnstūra formas kastēs iespējami daudz no vienādiem kubveida klucīšiem veidotu dažādu taisnstūra paralēlskaldņa formas bloku. Kastes bloku iepakošanai tiek izvēlētas tā, ka to visi malu garumi ir proporcionāli klucīša izmēram (kastes jebkuras malas garums, kas dalīts ar klucīša malasgarumu, ir vesels skaitlis). Klucīši var būt dažādās krāsās, bet bloks drīkst būt veidots tikai no vienādas krāsas klucīšiem. Viens bloks var būt veidots no viena, diviem, trīs vai četriem klucīšiem.
Programmētāju komandai dots uzdevums izveidot datorprogrammu minētā robota darbināšanai. Tev kā programmētāju komandas dalībniekam ir izvēlētā programmēšanas valodā jāsastāda kods, kas realizē tālāk minētos uzdevumus.
Prasības
- Definēt:
- klasi kubs (1 punkts), kurai ir īpašības (1 punkts):
- malas garums centimetros, vesels skaitlis intervālā no 2 līdz 10 ieskaitot;
- krāsas nosaukums (viens vārds) – teksts;
- metodes:
- aprekinatTilpumu, kura aprēķina un atgriež veselu skaitli – kuba tilpumu kubikcentimetros (1 punkts);
- metode, kura likvidē objektu un ekrānā izvada paziņojumu, ka objekts likvidēts, paziņojumā norādot likvidētā objekta krāsu (1 punkts);
- metode, kura inicializē klases kubs īpašības (1 punkts).
- klasi kubs (1 punkts), kurai ir īpašības (1 punkts):
- Izveidot klases kubs konstruktoru, kas veic saņemto datu (argumentu) kontroli, izvadot atbilstošu paziņojumu (1 punkts) un uzstādot minimālo nosacījumiem atbilstošo vērtību (1 punkts), ja malas garums neatbilst nosacījumiem.
- Izveidot jaunu klases kubs objektu kubg, kura krāsa ir zaļa un malas garums 10 centimetri (1 punkts).
- Izveidot jaunu klases kubs objektu kubr, kura krāsa ir sarkana un malas garums 1 centimetrs (1 punkts).
- Izvadīt ekrānā objekta kubg krāsu un tilpumu (1 punkts).
- Izvadīt ekrānā objekta kubr malas garumu (1 punkts).
- Dzēst objektu kubr (1 punkts).
- Pārbaudīt, ka objekts kubr vairs nav pieejams, un izvadīt ekrānā atbilstošu paziņojumu (1 punkts).
- Izvadīt ekrānā objekta kubg malas garumu (1 punkts).
- Definēt klasi bloks (1 punkts), kura manto klasi kubs (1 punkts) un kurai ir:
- īpašības:
- privātas (1 punkts):
- kubu skaits blokā, vesels skaitlis intervālā no 1 līdz 4 ieskaitot;
- publiskas (1 punkts):
- nosaukums, kurš veidots no kuba krāsas un kubu skaita apvienojuma, piemēram orange4;
- forma, vesels divciparu skaitlis ar iespējamām vērtībām 11, 12, 13, 14 un 22, kur pirmais cipars norāda vertikālā stāvoklī novietota bloka platumu (klucīšos), bet otrais – bloka augstumu (klucīšos);
- vesels skaitlis, noklusētā vērtība 0, bet tiek uzstādīta uz 1, ja formas parametrs neatbilst noteikumiem;
- privātas (1 punkts):
- metode (1 punkts):
- tilpums, kura aprēķina un atgriež veselu skaitli – bloka tilpumu kubikcentimetros.
- īpašības:
- Izveidot klases bloks konstruktoru, kas veic saņemto datu (argumentu) kontroli, izvadot atbilstošu paziņojumu, ja:
- parametra forma vērtība neatbilst nosacījumiem (1 punkts) un uzstāda objekta parametra derīgums vērtību uz 0, citādi uzstāda derīguma vērtību uz 1 (1 punkts);
- kubu skaits blokā neatbilst nosacījumiem (1 punkts).
- Izveidot klases bloks objektu, kas sastāv no 3 oranžas krāsas kubiem ar malas garumu 5 centimetri, formas numuru 13, un piešķirt tam nosacījumiem atbilstošu nosaukumu (4 punkti).
- Izvadīt ekrānā izveidotā objekta nosaukumu un tilpumu (1 punkts).
- Izveidot klases bloks objektu, kas sastāv no 5 zilas krāsas kubiem ar malas garumu 7 centimetri, formas numuru 23, un piešķirt tam nosacījumiem atbilstošu nosaukumu (2 punkti).
- Izvadīt ekrānā izveidotā objekta nosaukumu un derīgumu (1 punkts).
- Nomainīt objektam formas numuru uz 12 (1 punkts).
- Izvadīt ekrānā izveidotā objekta nosaukumu un derīgumu (1 punkts).
Kopā 32 punkti.