{"id":6755,"date":"2022-01-21T22:23:19","date_gmt":"2022-01-21T20:23:19","guid":{"rendered":"http:\/\/www.kameli.net\/marq\/?p=6755"},"modified":"2022-01-22T09:23:49","modified_gmt":"2022-01-22T07:23:49","slug":"isikoodausta-lukutraineri","status":"publish","type":"post","link":"https:\/\/www.kameli.net\/marq\/?p=6755","title":{"rendered":"Isikoodausta: lukutraineri"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">J\u00e4lleen pikku koodiprojekti natiaisen harjoitteluk\u00e4ytt\u00f6\u00f6n, nimitt\u00e4in <a href=\"http:\/\/www.kameli.net\/~marq\/processing\/lukutraineri.pde\">lukutraineri<\/a>. Kikkale arpoo luvun 1000\u20139999 ja nappia painamalla saa n\u00e4kyviin (usein pitk\u00e4n) lukusanan:<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"http:\/\/www.kameli.net\/marq\/wp-content\/uploads\/2022\/01\/lumero.png\"><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/www.kameli.net\/marq\/wp-content\/uploads\/2022\/01\/lumero-1024x206.png\" alt=\"\" class=\"wp-image-6756\" width=\"512\" height=\"103\" srcset=\"https:\/\/www.kameli.net\/marq\/wp-content\/uploads\/2022\/01\/lumero-1024x206.png 1024w, https:\/\/www.kameli.net\/marq\/wp-content\/uploads\/2022\/01\/lumero-300x60.png 300w, https:\/\/www.kameli.net\/marq\/wp-content\/uploads\/2022\/01\/lumero-768x155.png 768w, https:\/\/www.kameli.net\/marq\/wp-content\/uploads\/2022\/01\/lumero.png 1156w\" sizes=\"auto, (max-width: 512px) 100vw, 512px\" \/><\/a><figcaption>Yheks\u00e4ntuhatta nelj\u00e4sataakuuskytkuus<\/figcaption><\/figure><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">T\u00e4ll\u00e4 er\u00e4\u00e4 grafiikan ohjelmointiin ei paljon aikaa suttaantunut. L\u00e4hinn\u00e4 sill\u00e4 puolella yll\u00e4tyksen\u00e4 tuli, kuinka pitkiksi n\u00e4inkin pienet lukusanat jo kasvavat \u2013&nbsp;ikkunan leveytt\u00e4 piti kasvattaa ja kasvattaa, eik\u00e4 se 32 pisteen fontilla en\u00e4\u00e4 l\u00e4pp\u00e4rin\u00e4yt\u00f6lleni edes mahtuisi. Kellonaikoihin verrattuna lukusanat ovat s\u00e4\u00e4nn\u00f6llisempi\u00e4, kun tuhansia, satoja ym. edustavat numerot voi k\u00e4yd\u00e4 mekaanisesti yksitellen l\u00e4pi. N\u00e4in pienill\u00e4 luvuilla en jaksanut k\u00e4ytt\u00e4\u00e4 silmukkaa, mutta isommilla se tokisi tulisi v\u00e4ist\u00e4m\u00e4tt\u00e4 vastaan. Joitakin erikoistilanteita piti silti j\u00e4lleen huomioida:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Nollan kohdalla ei tarvitse yleens\u00e4 tehd\u00e4 yht\u00e4\u00e4n mit\u00e4\u00e4n, lukuun ottamatta tapausta 10 eli <em>kymmenen<\/em><\/li><li>Systemaattisen k\u00e4sittelyn rikkovat my\u00f6s 11\u201319 eli <em>yksitoista\u2013yhdeks\u00e4ntoista<\/em>, jotka voi sent\u00e4\u00e4n generoida helposti<\/li><li>Oikealta lukien kolmen numeron v\u00e4lein tulee v\u00e4lily\u00f6nti eli &#8220;kaksituhatta nelj\u00e4sataa&#8221;<\/li><li>Tuhat, sata ja kymmenen pit\u00e4\u00e4 k\u00e4sitell\u00e4 erikseen, koska ne eiv\u00e4t tietenk\u00e4\u00e4n ole &#8220;yksituhatta&#8221; jne.<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Koodinp\u00e4tk\u00e4\u00e4n tarvitaan tietysti yksinkertainen m\u00e4pp\u00e4ystaulukko numerosta tekstiksi; nollaa ei tosin n\u00e4emm\u00e4 k\u00e4ytet\u00e4 yht\u00e4\u00e4n mihink\u00e4\u00e4n. En tied\u00e4, tuleeko t\u00e4lle trainerille juuri k\u00e4ytt\u00f6\u00e4 todellisuudessa, mutta olipahan ainakin itselleni pient\u00e4 sormiverryttely\u00e4 ja sivussa opin jotakin suomen kielen lukusanoista. V\u00e4h\u00e4isell\u00e4 vaivalla paikat voisi vaihtaa, jolloin lukusanaa yritett\u00e4isiin muuttaa takaisin numeroiksi. Saatan kokeilla my\u00f6s puhekielisen version tekemist\u00e4 ihan mielenkiinnosta: ovatko arkiset lyhyemm\u00e4t lukusanat yht\u00e4 s\u00e4\u00e4nn\u00f6llisi\u00e4?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>edit: Kolmen numeron palasia voi k\u00e4sitell\u00e4 ilmeisen itsen\u00e4isesti, joten yleisp\u00e4tev\u00e4 ratkaisu ei olisi itse asiassa paljonkaan mutkikkaampi. Per\u00e4\u00e4n lis\u00e4t\u00e4\u00e4n vaan &#8220;miljoonaa&#8221;, &#8220;tuhatta&#8221; jne.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>J\u00e4lleen pikku koodiprojekti natiaisen harjoitteluk\u00e4ytt\u00f6\u00f6n, nimitt\u00e4in lukutraineri. Kikkale arpoo luvun 1000\u20139999 ja nappia painamalla saa n\u00e4kyviin (usein pitk\u00e4n) lukusanan: T\u00e4ll\u00e4 er\u00e4\u00e4 grafiikan ohjelmointiin ei paljon aikaa suttaantunut. L\u00e4hinn\u00e4 sill\u00e4 puolella yll\u00e4tyksen\u00e4 tuli, kuinka pitkiksi n\u00e4inkin pienet lukusanat jo kasvavat \u2013&nbsp;ikkunan leveytt\u00e4 piti kasvattaa ja kasvattaa, eik\u00e4 se 32 pisteen fontilla en\u00e4\u00e4 l\u00e4pp\u00e4rin\u00e4yt\u00f6lleni edes mahtuisi. Kellonaikoihin [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[25,24],"tags":[],"class_list":["post-6755","post","type-post","status-publish","format-standard","hentry","category-koodi","category-softat"],"_links":{"self":[{"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=\/wp\/v2\/posts\/6755","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6755"}],"version-history":[{"count":9,"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=\/wp\/v2\/posts\/6755\/revisions"}],"predecessor-version":[{"id":6767,"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=\/wp\/v2\/posts\/6755\/revisions\/6767"}],"wp:attachment":[{"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6755"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6755"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kameli.net\/marq\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6755"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}