2014 2015 2016 2017 2018
BEBRO konkurso užduotys 2017

 

Daug vienetų

Taškai: 12

Labai ilgame surinktame tekste pastebėta klaidų. Visi 1 turėjo būti 11, o visi 11 turėjo būti 1. Gerai, kad tekstų rengyklėje galima automatiškai keisti simbolius.

Kuri veiksmų seka ištaiso klaidas tekste?

Dėmesio! Ženklo $ pradiniame tekste nėra.

A. Visus 11 pakeisti į 1, tada visus 1 pakeisti į 11.

B. Visus 1 pakeisti į 11, tada visus 11 pakeisti į 1.

C. Visus 1 pakeisti į ženklą $, tada visus $ pakeisti į 11, o paskui visus 11 pakeisti į 1.

D. Visus 11 pakeisti į $, tada visus 1 pakeisti į 11, o paskui visus $ pakeisti į 1.

Paaiškinimas

Kintamųjų reikšmių sukeitimas vietomis gerai žinomas programavimo uždavinys. Norint sukeisti dviejų kintamųjų reikšmes vietomis, būtinas dar vienas, papildomas (tarpinis), kintamasis. Ženklams tekste sukeisti taip pat reikalingas papildomas ženklas. Pateiktuose atsakymuose naudojamas ženklas $.

Raktiniai žodžiai:  tekstų rengyklė, veiksmų sekos vykdymas, kintamųjų sukeitimas.

Atsakymas

Teisingas atsakymas yra D.

A atsakyme pakeitus visus 11 į 1, tekste liktų tik 1. Atlikus antrą veiksmą, tekste liktų tik 11.

B atsakyme pakeitus 1 į 11, 11 taptų 1111. Atlikę antrą veiksmą, sugrįžtume į pradinę padėtį.

Pritaikę C atsakyme pateiktą veiksmų seką, tekste turėtume tik 1.

Pritaikę D atsakymo veiksmų seką, ištaisome klaidas, sukeisdami 1 ir 11 vietomis.