171 lines
7.6 KiB
TOML
171 lines
7.6 KiB
TOML
title = "Objektinis programavimas 2 (P175B123)"
|
||
|
||
student = { name = "Studento Roko Puzono IF-1/1", gender = "male" }
|
||
lecturer = { name = "lekt. Simonavičius Kęstutis", gender = "male" }
|
||
|
||
[[sections]]
|
||
title = "Rekursija (L1)"
|
||
project = "L1/LD_24"
|
||
interface_scheme = "L1/LD_24/interface-scheme.png"
|
||
guide = """
|
||
* Atsidarius programą matysite vieną lygtuką
|
||
* Paspaudus mygtuką geriausia susitiko vieta bus surasta arba bus parašyta,
|
||
kad neįmanoma susitiki.
|
||
"""
|
||
problem = """
|
||
LD_24. Susitikimas.
|
||
|
||
Grupė draugų nusprendė susitikti mieste, o po to kartu eiti valgyti picos. Bet
|
||
tuomet jie susiginčijo, kur geriausia susitikti, ir kurioje picerijoje valgyti.
|
||
Galiausiai draugai nusprendė, jog patogiausia išsirinkti tokią susitikimo vietą
|
||
ir piceriją, kad jų nueitų kelių iki susitikimo vietos, po to iki picerijos ir
|
||
atgal į pradinius taškus suma būtų mažiausia. Parašykite programą, kuri rastų
|
||
patogiausią susitikimo vietą ir piceriją. Duomenys. Pirmoje „U3.txt“ eilutėje
|
||
duoti du skaičiai n ir m — miesto žemėlapio aukštis ir plotis (2 ≤ n, m ≤ 10).
|
||
Toliau pateiktas miesto žemėlapis — n eilučių, kiekvienoje jų – m simbolių.
|
||
Galimi šie simboliai:
|
||
|
||
. — langelis pereinamas.
|
||
|
||
X — langelis nepereinamas (pastatas, tvora...)
|
||
|
||
P — picerija. Langelis nepereinamas, į piceriją galima įeiti iš gretimo
|
||
langelio ir išeiti į bet kurį gretimą langelį. Įeiti galima tik į tą piceriją,
|
||
kurioje bus valgoma pica.
|
||
|
||
S — susitikimo vieta. Langelis pereinamas.
|
||
|
||
D — vieno iš draugų pradinė buvimo vieta. Langelis pereinamas.
|
||
|
||
Judėti galima tik aukštyn, žemyn, į kairę arba į dešinę (ne įstrižai).
|
||
Rezultatai. Atskirose eilutėse atspausdinkite pradines draugų koordinates
|
||
(koordinačių pradžia – apatinis kairysis langelis, numeruojama nuo 1,
|
||
pirmiausiai nurodoma x koordinatė, po to - y). Atskirose eilutėse
|
||
atspausdinkite: „Susitikimo vieta“ ir susitikimo vietos koordinates; „Picerija“
|
||
ir picerijos koordinates; „Nueita“ ir draugų nueitų kelių sumą. Jei susitikimo
|
||
vietos ar picerijos, kurias visi draugai galėtų pasiekti, nėra, atspausdinkite
|
||
žodį „Neįmanoma“.
|
||
"""
|
||
|
||
|
||
[[sections]]
|
||
title = "Dinaminis atminties valdymas (L2)"
|
||
project = "L2/LD_24"
|
||
interface_scheme = "L2/LD_24/interface-scheme.png"
|
||
guide = """
|
||
* Atsidaryti tinklalapį
|
||
* Įvesti n ir k (n - minimalus vienetų kiekis, k - maksimali vieneto kaina)
|
||
* Spausti "Atrinkti" mygtuką
|
||
"""
|
||
problem = """
|
||
LD_24. Detalės.
|
||
|
||
Internetinėje parduotuvėje pirkėjai užsisakinėja robotų gamybai reikalingus
|
||
įtaisus. Suraskite populiariausią įtaisą, kiek tokių įtaisų parduota ir už
|
||
kokią sumą. Sudarykite tik vienos rūšies įtaisus pirkusių pirkėjų sąrašą,
|
||
nupirktų įtaisų skaičių ir už juos sumokėtų pinigų sumą. Sąrašas turi būti
|
||
surikiuotas pagal nupirktų įtaisų skaičių didėjimo tvarka, pirkėjų pavardes bei
|
||
vardus abėcėlės tvarka.
|
||
|
||
Duomenys:
|
||
• tekstiniame faile U24a.txt yra informacija apie parduotuvėje parduodamus
|
||
įtaisus: įtaiso kodas, įtaiso pavadinimas, įtaiso kaina;
|
||
• tekstiniame faile U24b.txt yra informacija apie pirkėjus: pirkėjo pavardė,
|
||
vardas, pirkto įtaiso kodas, pirktų įtaisų kiekis.
|
||
|
||
Į kitą rinkinį atrinkite įtaisus (įtaiso kodas, įtaiso pavadinimas, įtaiso
|
||
kaina), kurių parduota ne mažiau kaip n vienetų ir kurių vieneto kaina ne
|
||
didesnė kaip k eurų (n ir k įvedami klaviatūra).
|
||
"""
|
||
|
||
[[sections]]
|
||
title = "Bendrinės klasės ir testavimas (L3)"
|
||
project = "L3/LD_24"
|
||
tests_project = "L3/LD_24Tests"
|
||
interface_scheme = "L3/LD_24/interface-scheme.png"
|
||
guide = """
|
||
* Atsidaryti tinklalapį
|
||
* Pasirenki pradinius duomenų failus
|
||
* Įvesti n ir k (n - minimalus vienetų kiekis, k - maksimali vieneto kaina)
|
||
* Spausti "Atrinkti" mygtuką
|
||
"""
|
||
lecturers_comment = """
|
||
Dictionary yra palikti kode, kad būtų galima leingviau grupuoti elementus pagal
|
||
kažkokį raktą.
|
||
"""
|
||
tests_screenshots = [
|
||
"L3/LD_24Tests/screenshot1.PNG",
|
||
"L3/LD_24Tests/screenshot2.PNG",
|
||
"L3/LD_24Tests/screenshot3.PNG"
|
||
]
|
||
problem = """
|
||
LD_24. Detalės.
|
||
|
||
Internetinėje parduotuvėje pirkėjai užsisakinėja robotų gamybai reikalingus
|
||
įtaisus. Suraskite populiariausią įtaisą, kiek tokių įtaisų parduota ir už
|
||
kokią sumą. Sudarykite tik vienos rūšies įtaisus pirkusių pirkėjų sąrašą,
|
||
nupirktų įtaisų skaičių ir už juos sumokėtų pinigų sumą. Sąrašas turi būti
|
||
surikiuotas pagal nupirktų įtaisų skaičių didėjimo tvarka, pirkėjų pavardes bei
|
||
vardus abėcėlės tvarka.
|
||
|
||
Duomenys:
|
||
• tekstiniame faile U24a.txt yra informacija apie parduotuvėje parduodamus
|
||
įtaisus: įtaiso kodas, įtaiso pavadinimas, įtaiso kaina;
|
||
• tekstiniame faile U24b.txt yra informacija apie pirkėjus: pirkėjo pavardė,
|
||
vardas, pirkto įtaiso kodas, pirktų įtaisų kiekis.
|
||
|
||
Į kitą rinkinį atrinkite įtaisus (įtaiso kodas, įtaiso pavadinimas, įtaiso
|
||
kaina), kurių parduota ne mažiau kaip n vienetų ir kurių vieneto kaina ne
|
||
didesnė kaip k eurų (n ir k įvedami klaviatūra).
|
||
"""
|
||
|
||
[[sections]]
|
||
title = "Polimorfizmas ir išimčių valdymas (L4)"
|
||
project = "L4/LD_24"
|
||
tests_project = "L4/LD_24Tests"
|
||
interface_scheme = "L4/LD_24/interface-scheme.png"
|
||
guide = """
|
||
* Atsidaryti tinklalapį
|
||
* Įvesti minimalus herojaus intelekto kiekį
|
||
* Įvesti maksimalus NPC žalos kiekį
|
||
* Spausti "Vykdyti" mygtuką
|
||
"""
|
||
tests_screenshots = [
|
||
"L4/LD_24Tests/screenshot1.png"
|
||
]
|
||
problem = """
|
||
U4_24. Kompiuterinis žaidimas.
|
||
|
||
Žaidimo pasaulyje yra dviejų tipų veikėjai - žaidėjo valdomi herojai bei
|
||
kompiuterio valdomi „NPC“ (non playable character). Sugrupavote žaidimo veikėjus pagal rases, ir surašėte
|
||
jų duomenis į skirtingus failus. Duomenų formatas toks: pirmoje eilutėje – rasės pavadinimas. Antroje –
|
||
pradinis miestas. Toliau informacija apie žaidimo veikėjus. Sukurkite abstrakčią klasę „Actor“ (savybės -
|
||
vardas, klasė, gyvybės taškai, mana, žalos taškai, gynybos taškai), kurią paveldės klasės “Hero” (savybės –
|
||
jėga, vikrumas, intelektas, ypatinga galia), “NPC” (savybė – gildija).
|
||
|
||
* Raskite kiekvienos klasės daugiausiai gyvybės taškų turintį veikėją, ekrane atspausdinkite jo vardą,
|
||
rasę, klasę ir gyvybės taškų kiekį.
|
||
* Sudarykite visų veikėjų klasių sąrašą ir įrašykite į failą „Klasės.csv“ .
|
||
* Norite, jog kiekviena rasė turėtų bent po vieną kiekvienos klasės herojų ir NPC. Raskite, kokių
|
||
klasių herojų ar NPC „trūksta“ kiekvienai rasei. Į failą „Trūkstami.csv“ įrašykite kiekvienos rasės
|
||
pavadinimą, trūkstamų herojų klasių sąrašą, trūkstamų NPC klasių sąrašą.
|
||
* Sudarykite ir surikiuokite bendrą veikėjų rinktinę. Į šią rinktinę patenka herojai, jei jų intelekto
|
||
reikšmė viršija nurodytą dydį. Į šią rinktinę patenka NPC, jei jų žalos taškai neviršija nurodyto
|
||
dydžio. Herojus rikiuokite pagal intelektą, o NPC – pagal žalos taškus. Rezultatus įrašykite į failą
|
||
„Rinktine.csv“.
|
||
"""
|
||
|
||
[[sections]]
|
||
title = "Deklaratyvusis programavimas (L5)"
|
||
problem = """
|
||
LDD_24. Leidėjai.
|
||
|
||
Žmonės užsisako spaudą. Užsakymas vyksta metų ribose. Pirmoje failo eilutėje
|
||
nurodyta įvedimo data (failų daug), o tolesnėse eilutėse nurodyta prenumeratoriaus pavardė, adresas,
|
||
laikotarpio pradžia (nurodyta sveiku skaičiumi 1..12), laikotarpio ilgis, leidinio kodas, leidinių kiekis.
|
||
Atskirame faile duota tokia informacija apie leidinius: kodas, pavadinimas, leidėjo pavadinimas, vieno
|
||
mėnesio kaina. Suskaičiuoti kiekvienam leidėjui nurodyto mėnesio (įvedama klaviatūra) pajamas.
|
||
Atspausdinkite leidėjų pajamas, surikiuotas pagal dydį ir leidėjų pavadinimus, nurodant ir leidėjų
|
||
leidinius su jų atneštomis pajamomis. Leidėjų pavadinimai neturi kartotis.
|
||
"""
|