2014 2015 2016 2017 2018
BEBRO konkurso užduotys 2017

 

Slaptažodžio atspėjimas

Taškai: 12

Bebras būsimoms statyboms kaupia tvirtus rąstus. Juos sudeda į savo buveinę ir užrakina. Spyna užrakinama 8 dvejetainių (tik 0 ir 1) skaitmenų ilgio slaptažodžiu. Kartą bebras atvilko puikių klevų ir gluosnių rąstų, užrakino ir... pamiršo slaptažodį.

Bebro spyna – išmanioji: ekrane rodomi įvedami 8 slaptažodžio skaitmenys, taip pat yra spėjimo mygtukas ir rezultato langelis. Įvedus bet kokį slaptažodį ir paspaudus spėjimo mygtuką, rezultato langelis rodo štai ką:

  • jei teisingai atspėti lygiai 4 skaitmenys, rodomas skaičius 4;

  • jei teisingai atspėti visi 8 skaitmenys, rodomas skaičius 8;

  • bet kuriuo kitu atveju rodomas brūkšnelis “-”.

Pavyzdžiui, jei Bebras spėjo 10110111, o teisingas slaptažodis yra 11010101, tai rezultato langelyje rodomas “-”.

Tačiau jei Bebras įveda 10110110, tai rezultato langelyje matomas skaičius 4, o jei įveda 11010101, tai matomas skaičius 8.

Padėk bebrui atspėti slaptažodį.

Paaiškinimas

Dvejetainė skaičiavimo sistema yra kompiuterio veikimo ir skaičiavimų pagrindas. Kompiuteris bet kokią informaciją išreiškia dviem būsenomis.

Šiame uždavinyje taip pat svarbu pastebėti, kaip pateikti grįžtamąjį ryšį (rezultatą). Pateikę pradinį duomenį ir gavę rezultatą, galime geriau pasirinkti tolesnius spėjimus.

Raktiniai žodžiai: dvejetainė skaičiavimo sistema, būsena.

Atsakymas

Parinktas teisingas slaptažodis 10111001 (ar jis teisingas, įsitikinama interaktyviai spaudant skaitmenų mygtukus ).

Kadangi rezultatas reikšmingos informacijos pateikia tik tada, kai atspėjame 4 skaitmenis, tai turime bandyti atspėti 4 skaitmenis. Pirmiausia spėjame bet kokią skaitmenų eilutę. Jei joje nėra 4 skaitmenų, tai tarkime, kad yra X teisingų skaitmenų. Invertuojame savo spėjimą (kiekvieną 0 keičiame 1, o kiekvieną 1 keičiame 0) ir galų gale gauname eilutę su 8 – X teisingais skaitmenimis. Jei X yra mažiau už 4, tada 8 – X yra daugiau už 4, o jei X yra daugiau už 4, tada 8 – X yra mažiau už 4. Taigi invertuojame pirmąjį skaitmenį ir spėjame, o jei nepavyksta, invertuojame antrąjį skaitmenį ir spėjame, tada trečiąjį ir taip toliau, kol atspėjame 4 teisingus slaptažodžio skaitmenis.

Atspėję 4 teisingus skaitmenis, toliau turime nustatyti, kurie skaitmenys yra neteisingi, ir atspėti visą slaptažodį. Tai darome, paeiliui invertuodami pirmąjį ir antrąjį skaitmenis ir stebėdami rezultatą: gali būti 2 arba 6 teisingi skaitmenys (rezultatas lygus „-“) arba lieka 4 atspėti skaitmenys. Šitaip sužinosime, kad pirmi du skaitmenys yra arba abu teisingi, arba abu neteisingi (pastaruoju atveju rezultatas rodo 4). Tada analogiškus veiksmus atliekame su pirmuoju ir trečiuoju skaitmenimis, toliau – su pirmuoju ir ketvirtuoju skaitmenimis ir t. t. Šitaip galų gale gausime visų teisingų skaitmenų eilutę arba visų neteisingų skaitmenų eilutę – pastarosios visus skaitmenis konvertuotume. Pagaliau atspėjame slaptažodį.

Interaktyvi užduotis