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.

       

Užduotis

Jau senų senovėje žmonėms kilo poreikis apsaugoti svarbią informaciją nuo „nesavų“ žmonių akių, neleisti konkurentams ja pasinaudoti. Itin aktualu tai buvo karyboje, prekyboje – srityse, kur, sužinojus jų paslaptis, bet koks priešininkų žingsnis galėjo atnešti nesėkmę. Todėl buvo galvojama, kaip būtų galima užšifruoti informaciją, kad ji būtų neprieinama konkurentams.

Štai vienas iš šifravimo būdų: parenkamas žodis, vadinamas raktu. Teksto, kurį reikia užšifruoti, simboliai suskirstomi į grupes. Simbolių kiekis grupėje sutampa su duoto rakto ilgiu. Paskutiniojoje grupėje gali būti mažiau raidžių.

Pavyzdžiui, duotas raktas pieva ir tekstas, kuri reikia užšifruoti „Tik nedaugelis, apžiūrėję naująjį Vilniaus prekės ženklą, pasakytų, kad tai Gedimino pilies bokšto kontūras.“

p

i

e

v

a

4

3

2

5

1

T

i

k

 

n

e

d

a

u

g

e

l

i

s

,

 

a

p

ž

i

ū

r

ė

j

ę

 

n

a

u

j

ą

j

į

 

V

i

l

n

i

a

u

s

 

p

r

e

k

ė

s

 

ž

e

n

k

l

ą

,

 

p

a

s

a

k

y

t

ų

,

 

k

a

d

 

t

a

i

 

G

e

d

i

m

i

n

o

 

p

i

l

i

e

s

 

b

o

k

š

t

o

 

k

o

n

t

ū

r

a

s

.

   

Rakto raidės sunumeruojamos. Mažesnį numerį turi raidė, kuri lotyniškoje abėcėlėje eina pirmiau. Tuomet parašome pirmojo stulpelio simbolius, po to antrojo, ir t. t. Gauname užšifruotą tekstą:

ng,ięjVar lataii ekkrkaipėaįn ėn k tenlbot.idlarnjlske,a, Gii tnsTee ū ąiuežąsųd mpsšoa usžju ipskpykadoio ū

Parašykite programą duotam tekstui užšifruoti.

Pradiniai duomenys įrašyti faile Duomenys.txt. Pirmoje eilutėje įrašytas raktas, antroje – pats tekstas. Raktas sudarytas tik iš mažųjų lotyniškų raidžių, jame nėra vienodų raidžių. Raktą sudaro ne daugiau kaip 7 simboliai, teksto ilgis neviršija 150 Tekstas gali būti sudarytas iš raidžių, tarpų, skyrybos ženklų.

Rezultatą spausdinkite faile Rezultatas.txt.

Duomenys

Rezultatai

pieva

Tik nedaugelis, apžiūrėję naująjį Vilniaus prekės ženklą, pasakytų, kad tai Gedimino pilies bokšto kontūras.

ng,ięjVar lataii ekkrkaipėaįn ėn k tenlbot.idlarnjlske,a, Gii tnsTee ū ąiuežąsųd mpsšoa usžju ipskpykadoio ū

Reikalavimai

  • naudokite masyvus;
  • sukurkite pradinių duomenų skaitymo procedūrą (funkciją void C++);
  • sukurkite procedūrą (funkciją void C++), rakto raidžių numeriams rasti;
  • sukurkite procedūrą (funkciją void C++), užšifruojančią tekstą;
  • sukurkite rezultatų rašymo į failą procedūrą (funkciją void C++).

Papildoma informacija

  • Lygis: 2
  • Taškai: 20
Į viršų