Programavimo pamokėlės

pamokelesm

Mokymų ciklas „Programavimo pamokėlės" skirtos visiems, kurie nori išmokti programuoti.

IT galvosūkiai

itgalvosukiai

Konkurso tikslas – skatinti moksleivius domėtis IT sprendžiant įvairiausius galvosūkius.

Informikas

informikasm

Konkurso tikslas – supažindinti moksleivius su menu informacinėse technologijose ir mūsų talismanu.

Dr. J. P. Kazicko konkursai

kkonkursai

Žemaitijos, Aukštaitijos, Suvalkijos ir Dzūkijos regionuose vykdomas IT konkursas.

       
×

Įspėjimas

JUser: :_load: Nepavyko įkelti nario su id: 2832

Užduotis

Atsiradus raštui, kurį supranta visi raštingi žmonės, natūralu, kad atsirado poreikis ieškoti būdų, skirtų informacijai paslėpti (užkoduoti). Pirmieji skaitymą „apsunkino" egiptiečiai, kurie vietoj raidžių naudojo savus hieroglifus, tačiau dar iki šiol nėra aišku, ar taip buvo daroma dėl to, kad informaciją galėtų perskaityti tik tie, kam tas raštas skirtas, ar dėl kitų priežasčių. Tačiau yra aišku, kad slaptaraštį tikrai naudojo žydų raštininkai. Vienas iš jų naudojamų slaptaraščių – ATBASH, kurio esmė, kad vietoj vienų raidžių yra naudojamos kitos. Sukurkite programą, kuri iššifruotų eilutes, užkoduotas ATBASH slaptaraščiu.

ATBASH slaptaraščio esmė tokia, kad pirmoji pateiktos abėcėlės raidė atitinka paskutiniąją, antroji - priešpaskutinę ir t.t. Pavyzdžiui, lietuviškai abėcėlei būtų pritaikomi tokie raidžių pakeitimai:

Capture

Tačiau Jūsų užduotis: sukurti programą, kuri naudoja lotynišką 26 raidžių abėcėlę ir iššifruoja tekstiniame faile pateiktus sakinius (iššifruojama kiekviena faile pateikta eilutė).

Programos duomenys: duomenų failo duomenys.txt pirmoje eilutėje - tekstiniame faile esančių užšifruotų eilučių kiekis (n). Kitose eilučių pateiktos ATBASH šifru užkoduotos eilutės.

Programos rezultatai: rezultatų failo rezultatai.txt  atskirose eilutėse surašytos iššifruotos duomenų faile buvusios eilutės (kiekvieną duomenų failo eilutę atitinka viena rezultatų failo eilutė).

 

Pradiniai duomenys Rezultatai

1
Ozyzh

Labas

2
Ozyzh
Svool_Dliow!

Labas
Hello_World!

3
Ozyzh
Svool_Dliow!
OzYzH_oZyZh

Labas
Hello_World!
LaBaS_lAbAs

Pastabos:

  • Šifruojami tik lotyniškoje abėcėlėje esantys simboliai, jei eilutėje yra kitų simbolių - jie paliekami tokie, kokie yra.
  • Atkreipkite dėmesį į tai, kad didžiosios raidės iššifravus lieka didžiosiomis. Atitinkamai ta pati taisyklė galioja ir mažosioms raidėms.
  • Naudokite lotynišką abėcėlę (26 raidžių).
  • Šiame uždavinyje žodžiai atskiriami apatiniu brūkšneliu.

Reikalavimai

  • Parašyti duomenų skaitymo funkciją void().
  • Parašyti iššifruotų eilučių spausdinimo funkciją void().
  • Sukurti funkciją Atbash(), kuri per savo vardą grąžintų iššifruotą eilutę. Funkcijos tipas - string().
  • Realizuoti funkciją, kuri kiekvienai nuskaitytai duomenų failo eilutei pritaikytų funkciją Atbash(). Funkcijos tipas - void().

Papildoma informacija

  • Lygis: 3
  • Taškai: 100
Į viršų