blogas – tekstų skaitymo būdas

 
ANTROJI METŲ SAVAITĖ
(grįžti prie sąrašo)
 
 
2009-01-09, jei gali neprogramuoti – neprogramuok
 
Sausis – kalendoriukų keitimo mėnuo, todėl būtent sausį vis susimąstau, ar visuomet reikia naujo kalendoriuko? Gal tiktų kurių nors praėjusių metų? Tad galų gale suformulavau tokį programavimo uždavinį:

Nustatyti, kurių XXI-ojo amžiaus metų kalendoriukai yra būtini, o kurie – tik pakartoja ankstesnių šio amžiaus metų kalendoriukus.

Protingas tingumas yra progreso pagrindas, todėl nusprendžiau skirti laiko analizei. Kiek skirtingų kalendoriukų gali iš viso būti? Pasvarstykime. Metai gali prasidėti viena iš septynių savaitės dienų. Keliamieji baigiasi vienaip, o likę – kitaip. Taigi – keturiolika skirtingų variantų.

Svarsčiau, kurią programavimo aplinką pasirinkti. O gal čia pakaks ir ekselio?

  1. Sritį A1:K11 užpildžiau metų numeriais (langelyje B2 įrašyta gerai besikopijuojanti formulė =2000+$A2+B$1).
  2. Stulpelyje M iš naujo susirašiau metus, nuo 2001 iki 2100
  3. Stulpelyje N radau sausio 1 d. savaitės dienas: =WEEKDAY(DATE(M1;1;1);2)
  4. Stulpelyje O tikrinau, ar metai keliamieji: =MONTH(DATE(M1;2;29))
  5. Stulpelyje P susikonstravau „unikalaus kalendoriuko kodą“ =N1*10+O1
  6. Į stulpelį T susirašiau visas galimas šio kodo reikšmes:
    13, 23, 33, 43, 53, 63, 73, 12, 22, 32, 42, 52, 62 ir 72
  7. Į stulpelį Q nukopijavau stulpelio M turinį
  8. Stulpelyje U nustačiau, kuriais XXI a. metais kiekvieną kodo reikšmę atitinkantis kalendoriukas pirmąsyk pasirodys: =VLOOKUP(T1;P:Q;2;FALSE)
  9. Stulpelyje R įrašiau šių metų numerius: =VLOOKUP(P1;T:U;2;FALSE)
  10. Beliko užpildyti sritį A14:K24 - nusikopijavau ją iš A1:K11
  11. Kalendoriukų metus nustačiau pagal lentelę Q:R, modifikavęs langelio B15 formulę į: =VLOOKUP(2000+$A15+B$14;$Q:$R;2;FALSE).
  12. Nukopijavęs minėtą formulę į sritį B15:K24 uždėjau jai sąlyginį formatą (Conditional Formatting) su formule (Formula Is): =B15=B2
Na va. Tas prakeiktas tingumas. Šįkart programuoti jau nebeteks...


Namų darbas tiems, kam dar negana:
  1. Kurių metų kalendoriukai dažniau kartojasi: keliamųjų ar paprastų?
  2. Kurių nekeliamųjų metų kalendoriukas rečiausias?
  3. Kiek mažiausiai kartų pasikartoja kai kurie kalendoriukai?
  4. Kiek tokių „retų“ kalendoriukų rūšių yra?
 
< 2009-01-08 programuotojai 2009-01-11 >
komentarų: 0neteisingų atsakymų: 0teisingų be komentaro: 0
kaip komentuoti?vardas:
Kontrolinis klausimas:url:
Ar visi keturiolika kalendoriuko variantų pasitaiko XXI a.?

atsakymas:
Įrašyti(pasitikiu Jūsų vidiniu cenzoriumi (ąčęėįšųūž, rupūžė ir t.t.))

rzu
dienos
saulė
modeliai
kūryba
ratilai
kas ir kaip
parama