IT Egzaminai/2019

Iš Pitonas.
16:16, 26 gegužės 2023 versija, sukurta Admin (aptarimas | indėlis) (→‎2 užduotis. Sportas)
(skirt) ← Ankstesnė versija | Dabartinė versija (skirt) | Vėlesnė versija → (skirt)

1 užduotis. Aliejus

Maksimalus vertinimas – 20 taškų

Ūkininkas išspaustą aliejų išpilsto į turimus vieno litro, trijų litrų ir penkių litrų indus. Pirmiausia aliejus pilamas į penkių litrų indus. Po to, jeigu reikia, – į trijų litrų indus, galiausiai, jeigu reikia, – į vieno litro indus. Nepilnai užpildyto indo neturi būti. Indų aliejui pilstyti gali būti pakankamai, per daug arba per mažai.

Parašykite programą, kuri suskaičiuotų:

  • kiek buvo pripilta turimų vieno, trijų ir penkių litrų indų ir kiek litrų aliejaus liko neišpilstyta;
  • kiek vieno, trijų ir penkių litrų indų papildomai reikėtų įsigyti, norint tuo pačiu būdu išpilstyti visą likusį aliejų;
  • koks bus gautas pelnas, pardavus visus indus su aliejumi; visų indų kainos įskaičiuotos į aliejaus gamybos išlaidas.

Pradiniai duomenys

Duomenys pateikiami tekstiniame faile U1.txt. Duomenų faile įrašyta:

  • pirmoje eilutėje užrašyti keturi skaičiai: turimų vieno, trijų ir penkių litrų indų skaičiai n1, n3, n5 (1 ≤ n1, n3, n5 ≤ 35) ir išspausto aliejaus litrų skaičius k (1 ≤ k ≤ 1000).
  • antroje eilutėje užrašyti keturi skaičiai: aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.

Skaičiai atskirti vienu tarpo simboliu. Visi skaičiai yra sveikieji.

Rezultatai

Rezultatus pateikite tekstiniame faile U1rez.txt.

  • Pirmoje eilutėje įrašykite, kiek buvo pripilta ūkininko turimų vieno, trijų ir penkių litrų indų ir kiek litrų aliejaus liko neišpilstyta. Jeigu kurios nors talpos indai nepanaudoti, rašykite nulį. Jeigu visas aliejus buvo išpilstytas, rašykite, kad liko nulis litrų aliejaus.
  • Antroje eilutėje įrašykite, kiek vieno, trijų ir penkių litrų talpos indų liko nepanaudota. Jeigu visi atitinkamos talpos indai buvo panaudoti, rašykite nulį.
  • Trečioje eilutėje įrašykite, kiek papildomai vieno, trijų ir penkių litrų talpos indų reikėtų įsigyti, norint išpilstyti visą likusį aliejų. Jeigu aliejaus neliko, įrašykite tris nulius.
  • Ketvirtoje eilutėje įrašykite, koks bus gautas pelnas, pardavus visus indus su aliejumi. Jeigu pelno nebus, rašykite nulį. Jeigu bus nuostolis, užrašykite, koks (neigiamuoju skaičiumi).

Nurodymai

  • Sukurkite ir parašykite funkciją, kuri suskaičiuotų, kiek buvo panaudota nurodytos talpos indų ir kiek litrų aliejaus liko neišpilstyta.
  • Programoje nenaudokite sakinių, skirtų darbui su ekranu.

Duomenų ir rezultatų pavyzdžiai

1 pavyzdys
Duomenų failo pavyzdys Paaiškinimai
1 8 5 156
256 5 7 9
* Turimų vieno, trijų ir penkių litrų indų skaičiai, išspausto aliejaus litrų skaičius.
* Aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.
Rezultatų failo pavyzdys Paaiškinimai
1 8 5 106
0 0 0
1 0 21
44
* Pripiltų vieno, trijų ir penkių litrų indų skaičiai, neišpilstyto aliejaus litrų skaičius.
* Kiek vieno, trijų ir penkių litrų indų liko nepanaudota.
* Kiek vieno, trijų ir penkių litrų indų papildomai reikėjo.
* Gautas pelnas.
2 pavyzdys
Duomenų failo pavyzdys Paaiškinimai
1 2 2 156
156 4 7 9
* Turimų vieno, trijų ir penkių litrų indų skaičiai, išspausto aliejaus litrų skaičius.
* Aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.
Rezultatų failo pavyzdys Paaiškinimai
1 2 2 139
0 0 0
1 1 27
134
* Pripiltų vieno, trijų ir penkių litrų indų skaičiai, neišpilstyto aliejaus litrų skaičius.
* Kiek vieno, trijų ir penkių litrų indų liko nepanaudota.
* Kiek vieno, trijų ir penkių litrų indų papildomai reikėjo.
* Gautas pelnas.
3 pavyzdys
Duomenų failo pavyzdys Paaiškinimai
1 2 35 156
356 4 7 9
* Turimų vieno, trijų ir penkių litrų indų skaičiai, išspausto aliejaus litrų skaičius.
* Aliejaus gamybos išlaidos, vieno, trijų ir penkių litrų indų su aliejumi pardavimo kainos.
Rezultatų failo pavyzdys Paaiškinimai
1 0 31 0
0 2 4
0 0 0
-73
* Pripiltų vieno, trijų ir penkių litrų indų skaičiai, neišpilstyto aliejaus litrų skaičius.
* Kiek vieno, trijų ir penkių litrų indų liko nepanaudota.
* Kiek vieno, trijų ir penkių litrų indų papildomai reikėjo.
* Gautas pelnas.

1 užduotis. Sprendimas

  print('Čia bus sprendimas')

2 užduotis. Sportas

Maksimalus vertinimas – 30 taškų

Sporto stovykloje populiari nauja sporto rungtis – vasaros biatlonas. Tai kroso lenktynės su šaudymu į taikinius. Tose pačiose varžybose dalyvauja ir vaikinai, ir merginos. Visi startuoja pagal atrankos etapo rezultatus. Merginos trasą bėga vieną kartą, vaikinai – du. Varžybų startas 9 val. Finišas uždaromas 17 val. Trasoje yra dvi šaudyklos po penkis taikinius. Netikslus šūvis vertinamas viena baudos minute, kuri pridedama prie trasos įveikimo laiko.

Parašykite programą, kuri pateiktų atskirai vaikinų ir merginų rezultatų sąrašus pagal trasos įveikimo rezultatą didėjančiai. Jei sportininkų rezultatas vienodas, jie turi būti rašomi abėcėliškai pagal simbolių eilutę, kurioje yra sportininką identifikuojanti informacija (naudojami tik lotynų abėcėlės simboliai).

Pradiniai duomenys

Duomenys pateikiami tekstiniame faile U2.txt. Visi skaičiai yra sveikieji. Duomenų faile įrašyta:

  • Pirmoje eilutėje užrašytas startuojančiųjų skaičius n (1 ≤ n ≤ 30).
  • Tolesnėse n eilučių atsitiktine tvarka surašyti sportininkų starto duomenys. Kiekvieno sportininko duomenys užrašyti atskiroje eilutėje: pirmose 20 pozicijų yra simbolių eilutė, kurioje pateikta sportininką identifikuojanti informacija; starto numeris (triženklis skaičius); tarpo simbolis ir po to starto laikas: valanda, minutė ir sekundė, atskirtos vienu tarpo simboliu. Merginų starto numeriai prasideda vienetu, vaikinų – dvejetu.
  • Toliau užrašytas finišavusiųjų skaičius m (1 ≤ m ≤ 30).
  • Tolesnėse m eilučių surašyti sportininkų finišo duomenys. Kiekvieno sportininko duomenys užrašyti atskiroje eilutėje: starto numeris; finišo laikas: valanda, minutė ir sekundė; ir kiekvienoje šaudykloje taiklių šūvių skaičiai. Visi duomenys atskirti vienu tarpo simboliu. Sąraše yra tik finišavusiųjų duomenys.

Rezultatai

Rezultatus įrašykite tekstiniame faile U2rez.txt.

  • Rezultatai turi būti surikiuoti pagal trasos įveikimo rezultatą (trasos įveikimo laikas kartu su baudos minutėmis) didėjančiai. Jei sportininkų rezultatas vienodas, jie turi būti rašomi abėcėliškai pagal simbolių eilutę, kurioje yra sportininką identifikuojanti informacija (naudojami tik lotynų abėcėlės simboliai).
  • Iš pradžių turi būti pateikiamas merginų rezultatų sąrašas, po to – vaikinų. Prieš atitinkamą sąrašą nuo eilutės pradžios užrašykite žodį „Merginos“ arba „Vaikinai“, net jeigu sąrašas bus tuščias.
  • Vienoje eilutėje užrašykite vieno sportininko duomenis: starto numerį; tolesnėse 20 pozicijų – simbolių eilutę, kurioje pateikta sportininką identifikuojanti informacija; po to sportininko rezultatą: valandos, minutės ir sekundės. Visi duomenys atskirti vienu tarpo simboliu. Jeigu sportininko nėra finišavusiųjų sąraše, tai rezultatų sąraše jo neturi būti.

Nurodymai

Sukurkite ir parašykite funkciją, kuri surikiuoja rezultatus.

  • Sukurkite ir parašykite funkciją, kuri spausdina vieno sąrašo rezultatus tekstiniame faile.
  • Programoje nenaudokite sakinių, skirtų darbui su ekranu.

Duomenų ir rezultatų pavyzdžiai

1 pavyzdys
Duomenų failo pavyzdys Rezultatų failo pavyzdys
6
Petras A. Petraitis 213 15 20 00
Jurgis Jurgutis     221 16 12 12
Rima Joana          115 15 15 59
Zigmas Nosis        256 16 23 9
Roma Liepa          111 15 15 15
Rytis Uosis Ainis   255 16 23 9
5
256 16 43 15 5 5 5 5
213 15 50 10 4 0 5 3
111 16 5 35 5 4
255 16 55 59 5 4 3 1
115 16 42 22 2 5
Merginos
111 Roma Liepa          0 51 20
115 Rima Joana          1 29 23
Vaikinai
256 Zigmas Nosis        0 20 6
213 Petras A. Petraitis 0 38 10
255 Rytis Uosis Ainis   0 39 50
2 pavyzdys
Duomenų failo pavyzdys Rezultatų failo pavyzdys
1
Petras A. Petraitis 213 15 20 00
1
213 15 50 10 4 0 5 3
Merginos
Vaikinai
213 Petras A. Petraitis 0 38 10

2 užduotis. Sprendimas

  print('Čia bus sprendimas')