Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the photo-gallery domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/3/vilikki/sites/vilikki.kapsi.fi/www/apinaorkesteri/wp-includes/functions.php on line 6131
Aivopähkinä päivälle – Apinaorkesteri

Esittelemme regular expression -henkisen aivopähkinän (pienin muutoksin, katso ohjeet)! Tehtävänäsi on ratkaista ruudukko vaaka- ja pystysuuntaisten vihjeiden perusteella. Reunoilla kulkevat vihjeet kuvailevat vastaavalle riville/sarakkeelle muodostuvaa kirjainrimpsua. Nappaa palanen paperia ja ratkaise oheinen 5×5-”ristikko” vihjeiden perusteella (aakkosto on A-E). Ohjeet vihjeiden tulkintaan löytyvät tehtävän alta.

.+[BD]{1,2}CED?
(..)+B
ADD?..+
[CDE].C.[CDE]
[ABE][BD].{1,2}B.*
.D.+.+A..*.{2}A.{2}.+.{2,3}E.C+[AC]?E
EDIT 1.12. klo 10.04: korjattu toisen rivin vihje
klo 13.24: …ja viimeisen rivin vihje. Kiitos ja anteeksi.

Mallivastaukset julkaistaan joskus. Vihjeet noudattavat seuraavaa syntaksia.

Yksittäinen merkki voidaan kuvata vihjeissä seuraavasti:
”A” Yksittäinen kirjain vihjeessä ilmaisee tiettyä yksittäistä kirjainta.
”.” Ilmaisee, että kyseessä voi olla mikä hyvänsä kirjain A-E.
”[ABC]” Hakasulkeilla ilmoitetaan, että kyseessä on jokin hakasulkeissa olevista kirjaimista (tässä joko A, B tai C).

Merkkejä peräkkäin kirjoittamalla saadaan aikaiseksi sanoja. Tarkastelun kannalta merkkijono voidaan joskus sulkea normaaleihin sulkeisiin.
”(ABBE)” Suluilla ilmoitetaan, että sulkujen sisällä esiintyvät kirjaimet esiintyvät mainitussa järjestyksessä ”ABBE”.

Mistä hyvänsä näistä kirjaimista tai kirjainsarjoista voidaan toistaa merkitsemällä toiston määrää ilmoittava lukumäärä perään. Erilaisia esitystapoja ovat:
”?” Edellä esitetty merkki tai sulkeisiin suljettu sarja merkkejä esiintyy 0-1 kertaa.
”*” Edellä esitetty merkki tai sulkeisiin suljettu sarja merkkejä esiintyy 0-n kertaa (käytännössä ruudukossamme n=5).
”+” Edellä esitetty merkki tai sulkeisiin suljettu sarja merkkejä esiintyy 1-n kertaa (eli ainakin kerran).
”{m}” Edellä esitetty merkki tai sulkeisiin suljettu sarja merkkejä esiintyy m kertaa.
”{m,n}” Edellä esitetty merkki tai sulkeisiin suljettu sarja merkkejä esiintyy m-n kertaa.

Sulut ja hakasulut arvottuvat sisimmästä alkaen. Jos tämä ei vielä kerro mitään, kurkkaa jälkimmäinen esimerkki.

Poimitaan ensiesimerkiksi vihje ”(ABCD)*E?”. Tässä tähti * (eli ”kuinka monta kertaa tahansa toistuva”) viittaa sulkeiden sulkemaan kirjainsarjaan (ABCD). Nyt sulkeet ovat oleelliset, sillä muuten tähti toistaisi vain juuri edeltävää D-kirjainta. Vastavuoroisesti kysymysmerkki ? (eli ”0-1 kertaa toistuva”) viittaa ainoastaan E-kirjaimeen. Vihjeestä voidaan siis muodostaa seuraavat sanat:

  • ”” (ABCD ei esiinny kertaakaan, samoin E ei esiinny kertaakaan)
  • ”ABCD” (ABCD esiintyy kerran, E ei kertaakaan)
  • ”ABCDABCD” (ABCD kahdesti, E ei kertaakaan…)
  • ”ABCDABCDABCD”…
    jne sekä lisäksi näiden vastinparit, joissa E esiintyy nollan kerran sijaan yhden kerran:
  • ”E” (ABCD ei kertaakaan, E kerran)
  • ”ABCDE” (ABCD kerran, E kerran…)
  • ”ABCDABCDE”
  • ”ABCDABCDABCDE”
    jne. Toisinaan päättely oikeasta sanasta tai sanan osasta voi hyvinkin vaatia vaaka- ja pystysuuntaisten vihjeiden yhdistämistä, mutta tässä tapauksessa selviämme sujuvasti yhdellä vihjeellä: koska aivopähkinän vihjesanat (ainakin pääsääntöisesti) ovat 5×5-ruudukon sanoja ja vihjeet määrittävät sanat kokonaisuudessaan, on ainoa 5-kirjaiminen vaihtoehto ratkaisusanaksi ”ABCDE”.

Esimerkki sulkujen arvottumisesta:
Puretaan vihje ”A(D[BC]){2}” auki. Nyt siis

  • Arvuuteltava sana alkaa A-kirjaimella (kirjaimen perässä ei ole lukumäärää määrittäviä tekijöitä, joten A-kirjain esiintyy tasan kerran).
  • Huomaamme, että sulkujen () perässä tulee lukumäärä 2. Suluissa esiintyvä osa toistetaan siis kahdesti.
  • Suluista muodostuu sarja ”DB” tai ”DC”. Näin ollen ratkaisusana on joko ”ADBDB” tai ”ADCDC”. Sen sijaan sekamuoto ”ADBDC” ei ole mahdollinen: ensin täytyy valita sisimmissä hakasulkeissa esiintyvä kirjain ja vasta sen jälkeen sitä lähdetään toistamaan osana D:tä seuraavaa kirjainta, ei toisin päin.

Huom! Sama arvotusjärjestys pätee .-merkkiin: esimerkiksi vihje ”.{2,4}” voi ilmaista merkkijonoa ”AA” tai ”EEEE”, mutta ei merkkijonoa ”DAE”. Piste korvautuu ensin tietyllä kirjaimella ja vasta sitten lähdetään tarkastelemaan mahdollisia ympäröiviä sulkuja ja lukumäärämääreitä.


0 kommenttia

Vastaa

Avatar placeholder

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *