IT Egzaminai/2023

Iš Pitonas.

1 užduotis. Žingsniai

Maksimalus vertinimas – 20 taškų

Mokykla, minėdama Pasaulinę sveikatos dieną, surengė savaitės trukmės akciją „Judėk!“ Kiekvienas akcijos dalyvis turėjo užsiregistruoti internetu, nurodydamas savo klasės kategoriją ir žingsnio ilgį, o paskui kiekvieną savaitės dieną įvesti nueitų žingsnių skaičių.

Parašykite programą, kuri pateiktų kiekvienos klasės kategorijos visų akcijoje dalyvavusių mokinių nueito atstumo sąrašą.

Pradiniai duomenys

Duomenys pateikti tekstiniame faile U1.txt.

  • Pirmoje eilutėje užrašytas akcijoje dalyvavusių mokinių skaičius m (10 ≤ m ≤ 50).
  • Tolesnėse eilutėse užrašyti akcijoje dalyvavusių mokinių duomenys: klasės kategorija (skaičius nuo 1 iki 12); žingsnio ilgis centimetrais; kiekvieną akcijos savaitės dieną nueitų žingsnių skaičius. Jeigu mokinys tam tikrą savaitės dieną neįvedė nueitų žingsnių skaičiaus, pateikiama reikšmė 0. Duomenys atskirti vienu tarpo simboliu. Buvo bent vienas mokinys, kuris įvedė nueitų žingsnių skaičių kiekvieną akcijos savaitės dieną.

Rezultatai

Rezultatus pateikite tekstiniame faile U1rez.txt.

  • Spausdinamas kiekvienos klasės kategorijos mokinių viso nueito atstumo sąrašas: klasės kategorija; kiek buvo mokinių, kurie įvedė nueitų žingsnių skaičių kiekvieną akcijos savaitės dieną; visas nurodytos klasės kategorijos nueitas atstumas kilometrais, suapvalintas iki šimtųjų. Jeigu dalyvis bent vieną dieną neįvedė nueitų žingsnių skaičiaus, jo duomenys nėra naudojami skaičiavimams. Duomenys atskirti vienu tarpo simboliu.
  • Vienoje eilutėje pateikiami vienos klasės kategorijos duomenys. Jeigu kurioje nors klasės kategorijoje nebuvo nė vieno mokinio, kuris įvedė nueitų žingsnių skaičių kiekvieną akcijos savaitės dieną, tai duomenų apie šią klasės kategoriją pateikti nereikia. Sąrašas pagal klasių kategorijas pateikiamas tokia eilės tvarka, kokia jos buvo nurodytos pradinių duomenų faile.

Nurodymai

  • Sukurkite ir parašykite vieną funkciją, kuri apskaičiuoja kiekvienos klasės kategorijos visą nueitą atstumą kilometrais ir suskaičiuoja, kiek tos klasės kategorijos mokinių įvedė nueitų žingsnių skaičių kiekvieną akcijos savaitės dieną.

Duomenų ir rezultatų pavyzdžiai

Duomenų failo pavyzdys Paaiškinimai
10
7 76 4353 8738 4946 6484 8946 6336 6284
11 74 4352 4578 7239 3157 7856 4648 5850
6 70 5731 9017 7641 6785 8865 3184 6800
5 68 9147 9702 8671 0 5398 9555 7141
8 71 7550 0 9089 8446 4390 0 7901
7 68 4227 7160 9565 3297 4401 5740 6908
7 73 6362 6705 0 9017 5971 3154 3585
6 73 7053 8752 7606 4079 5204 3819 3310
5 73 4263 5836 3336 5401 4719 0 0
8 71 8588 5617 6903 9565 6445 6786 4522
• Akcijoje dalyvavusių mokinių skaičius.
• Mokinių duomenys: klasės kategorija; 
žingsnio ilgis centimetrais; kiekvieną
akcijos savaitės dieną nueitų žingsnių 
skaičius.
• Reikšmė 0 rodo, kad mokinys neįvedė 
tos dienos duomenų
Rezultatų failo pavyzdys Paaiškinimai
7 2 63.11
11 1 27.88
6 2 62.69
8 1 34.38
• Klasių kategorijų duomenys: klasės
kategorija; kiek buvo mokinių, kurie
įvedė nueitų žingsnių skaičių kiekvieną
akcijos savaitės dieną; visas tos klasės
kategorijos mokinių nueitas atstumas
kilometrais, suapvalintas iki šimtųjų.
• Sąrašas pagal klasių kategorijas
pateikiamas tokia eilės tvarka, kokia jos
buvo nurodytos pradinių duomenų faile.

1 užduotis. Sprendimas

print("čia bus sprendimas")

2 užduotis. Slaptažodžiai

Maksimalus vertinimas – 30 taškų

Vaida, atlikdama informatikos projektinį darbą apie slaptažodžius, sukūrė mobiliąją programėlę. Programėlė palygina naudotojo įvesto slaptažodžio duomenis su Vaidos iš anksto į programėlę įrašytų įvairaus stiprumo slaptažodžių duomenimis ir įvertina naudotojo įvesto slaptažodžio stiprumą – silpnas, vidutinis ar stiprus.

Parašykite programą, kuri įvertintų mobiliosios programėlės naudotojo įvestų slaptažodžių stiprumą. Norint įvertinti naudotojo įvesto slaptažodžio stiprumą, reikia rasti į jį panašiausią slaptažodį Vaidos įrašytų slaptažodžių sąraše. Panašumo reikšmė nustatoma, apskaičiuojant naudotojo įvesto ir kiekvieno Vaidos į programėlę įrašyto slaptažodžio parametrų skirtumų absoliučiųjų didumų sumą. Kuo mažesnė apskaičiuota slaptažodžių panašumo reikšmė, tuo panašesni slaptažodžiai.

Pradiniai duomenys

Duomenys pateikiami tekstiniame faile U2.txt.

  • Pirmoje eilutėje užrašyta naudotojo įvestų slaptažodžių skaičius n (1 ≤ n ≤ 5) ir Vaidos iš anksto į programėlę įrašytų įvairaus stiprumo slaptažodžių skaičius s (5 ≤ s ≤ 25).
  • Tolesnėse eilutėse užrašyti:
    • mobiliosios programėlės naudotojo įvestų slaptažodžių duomenys: slaptažodis (15 simbolių); slaptažodžio ilgis; didžiųjų raidžių kiekis; mažųjų raidžių kiekis; skaitmenų kiekis; specialiųjų simbolių kiekis;
    • Vaidos iš anksto į programėlę įrašytų slaptažodžių duomenys: slaptažodis (15 simbolių); slaptažodžio ilgis; didžiųjų raidžių kiekis; mažųjų raidžių kiekis; skaitmenų kiekis; specialiųjų simbolių kiekis; slaptažodžio stiprumą nusakanti žymė (Silpnas, Vidutinis, Stiprus; 9 simboliai). Duomenys atskirti vienu tarpo simboliu.

Rezultatai

Rezultatus pateikite tekstiniame faile U2rez.txt.

  • Nuo eilutės pradžios įrašykite mobiliosios programėlės naudotojo įvesto slaptažodžio duomenis: slaptažodis, nustatyta slaptažodžio stiprumo žymė ir apskaičiuota slaptažodžių panašumo mažiausia reikšmė. Yra žinoma, kad naudotojo įvestų slaptažodžių nustatyta stiprumo žymė sutapo tik su viena kuria nors Vaidos įrašytų slaptažodžių žyme. Duomenis eilutėje atskirkite vienu tarpo simboliu.
  • Po naudotojo kiekvieno įvesto slaptažodžio atskirose eilutėse pateikite Vaidos įrašytų slaptažodžių, kurie panašiausi į naudotojo įvestą slaptažodį, sąrašą. Sąrašą surikiuokite pagal slaptažodžių ilgį mažėjančiai. Jeigu yra keli vienodo ilgio slaptažodžiai, jie turi būti pateikiami tokia eilės tvarka, kokia juos surašė Vaida.

Nurodymai

  • Programoje naudokite struktūros duomenų tipo masyvus mobiliosios programėlės naudotojo įvestų ir Vaidos iš anksto į programėlę įrašytų slaptažodžių duomenims saugoti. Python programavimo kalboje naudokite žodyno duomenų struktūrą arba struktūrą sudarykite, naudodami klases.
  • Sukurkite ir parašykite funkciją2, kuri apskaičiuotų mobiliosios programėlės naudotojo įvesto slaptažodžio ir Vaidos iš anksto į programėlę įrašyto slaptažodžio panašumo reikšmę.