{"id":262,"date":"2019-09-09T09:12:49","date_gmt":"2019-09-09T06:12:49","guid":{"rendered":"https:\/\/coursepages.uta.fi\/tiep1-1\/?page_id=262"},"modified":"2019-10-31T18:56:02","modified_gmt":"2019-10-31T16:56:02","slug":"palaute","status":"publish","type":"page","link":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/syksy-2019\/harjoitukset\/ratkaisujen-tarkistus\/palaute\/","title":{"rendered":"Palaute"},"content":{"rendered":"<h2>Harjoitus 1<\/h2>\n<p>Ensimm\u00e4inen harjoitus arvioitiin hyvin rennolla otteella. Poikkeamat ohjelmointiteht\u00e4vien esimerkkitulosteista eiv\u00e4t olleet ongelma, koska varsinainen automaattinen tarkistus alkaa vasta toisissa harjoituksissa. N\u00e4in esimerkiksi Pythonin aritmettisiin operaattoreihin johdatellut ohjelma sai puhua suomea.<\/p>\n<p><strong>3) oma vuokaavio, Rama<br \/>\n<\/strong><\/p>\n<div>Pisteeseen tarvittiin silmukka. Asia tuntui menneen hyvin perille ja useimmilla oli mielekk\u00e4it\u00e4 kaavioita. Monilla oli toisaalta vastauksissaan tavallaan turhia silmukoita, jotka k\u00e4ytiin l\u00e4pi vain kerran. Siis suoritettiin jokin osa vuokaaviota kokonaisuudessaan niin, ett\u00e4 silmukan toista kierrosta ei ollut tarpeen suorittaa. T\u00e4m\u00e4 ei vaikuttanut arvosteluun, mutta on hyv\u00e4 tuoda esiin, koska aina vain yhden kerran suoritettava silmukka on k\u00e4yt\u00e4nn\u00f6ss\u00e4 tarpeeton. Todella monelta puuttuivat kokonaan oletukset, mutta toisaalta algoritmit olivat melko itsest\u00e4\u00e4nselvi\u00e4.<\/div>\n<p><strong>4) korin pisteytys, Albert<\/strong><\/p>\n<p>Ei erityist\u00e4 palautetta. En nollia.<\/p>\n<p><strong>5) kastikkeen valmistus, Ilmari<\/strong><\/p>\n<p>Pisteeseen tarvittiin silmukka. Ei erityist\u00e4 palautetta. En nollia.<\/p>\n<p><strong>8) aritmetiikkaa, Kimmo<\/strong><\/p>\n<p>Aika yksinkertainen teht\u00e4v\u00e4, joten vastaukset olivat aika samankaltaisia. Erot olivat l\u00e4hinn\u00e4 tulosteiden muotoilussa ja siin\u00e4 oliko laskennassa k\u00e4ytetty apumuuttujia tulosten tallentamiseen ennen tulostuksia. Apumuuttujat summalle, erotukselle, tulolle ja osam\u00e4\u00e4r\u00e4lle selvent\u00e4v\u00e4t koodia varsinkin, jos tulostaminen on tehty annetun mallin mukaan.<\/p>\n<h2>Harjoitus 2<\/h2>\n<p>Tarkistus oli nyt selv\u00e4sti tiukempaa WETO:n taholta. Opettajat tarkistivat teht\u00e4vi\u00e4 viel\u00e4 melko rennosti.<\/p>\n<p><strong>2) bugeja, Kimmo<\/strong><\/p>\n<p>Eip\u00e4 kummempaa, osalla oli j\u00e4\u00e4nyt kommentoimatta muutokset, mutta p\u00e4\u00e4asiassa omia kommentteja l\u00f6ytyi. Ohjelman rakenne oli pysynyt hyvin alkuper\u00e4isess\u00e4 muodossaan: ei enempi\u00e4 lauseiden poistoja tai lis\u00e4yksi\u00e4. Ei hyl\u00e4ttyj\u00e4.<\/p>\n<p><strong>4) lasi, Rama<\/strong><\/p>\n<p>Teht\u00e4v\u00e4nannossa pyydettiin if-else. Muutama ratkaisu hyl\u00e4ttiin t\u00e4st\u00e4 syyst\u00e4. Muuten n\u00e4ytti hyv\u00e4lt\u00e4, mutta aika monella oli v\u00e4h\u00e4nlaisesti kommentteja. Joissakin ratkaisuissa\u00a0 oli vain yksi n\u00e4enn\u00e4inen kommentti, ihan vain jotta Weto hyv\u00e4ksyisi palautuksen. &#8221;# hip, hop, hipetihop&#8221;-tyyppisen kommentin kirjoittamiseen menee suurin piirtein sama aika kuin lyhyen &#8221;oikean&#8221; kommentin tekemiseen, koska kerran kirjoitetun yleisen kommentin voi kopioida nopeasti seuraavaan teht\u00e4v\u00e4\u00e4n. Siksi edes yksi kunnon kommentti on hyvin teht\u00e4viss\u00e4. Onneksi monilla kommentointia oli paremmin eli tekij\u00e4n tiedot, muttei toisaalta muuta. Ohjelman lauseita saa ja pit\u00e4\u00e4 kommentoda ainakin niiss\u00e4 vaikeimmissa paikoissa, jotta kommentointia tulee harjoiteltua.<\/p>\n<p><strong>6) vuodenajat, Albert<\/strong><\/p>\n<p>T\u00e4ss\u00e4 teht\u00e4v\u00e4ss\u00e4 ei hyl\u00e4ttyj\u00e4. Vain noin puolissa palautuksista oli k\u00e4ytetty tyyppimuunnosta sy\u00f6tteen luvun j\u00e4lkeen, mik\u00e4 ei onneksi ongelma t\u00e4ll\u00e4 kertaa, koska valinta onnistui hyvin my\u00f6s merkkijonomuotoisilla luvuilla.<\/p>\n<p><strong>7) jaollisuus, Ilmari<\/strong><\/p>\n<div>Monella oli if-elif-else rakenteen idea hieman hukassa ja samoja ehtoja tarkistettiin useasti samassa koodissa. My\u00f6skin moni tarkasti turhaan onko jaettava nolla vai ei. WETOn automaattitarkastajan hylk\u00e4\u00e4miss\u00e4 vastauksissa ongelma oli tarkistusten j\u00e4rjestys. Hyl\u00e4tyt ohjelmat tarkastivat onko jakaja nolla vasta koodin lopussa, joka johti koodin kaatumiseen nollalla jakavissa testeiss\u00e4.<\/div>\n<h2>Harjoitus 3<\/h2>\n<p><strong>4) Unicode-merkkien tulostus, Ilmari<\/strong><\/p>\n<div class=\"_2le66D_cFAbkq67CrgZcmE\">\n<div class=\"item-part\">\n<div class=\"wide-content-host\">\n<div class=\"expanded-itempart B1IVVpQay0rPzznhParFr KcNy0Xfd9-is-_CEp3QOI\">\n<div>\n<div class=\"_3U2q6dcdZCrTrR_42Nxby JWNdg1hee9_Rz6bIGvG1c allowTextSelection\">\n<div>\n<div>\n<div dir=\"ltr\">\n<div>Ratkaisuissa ei ollut mit\u00e4\u00e4n suurempia ongelmia. Muutamassa tapauksessa silmukan rakenne oli tarpeettoman monimutkainen. Muutamasta ratkaisusta l\u00f6ytyi unicodedata moduulin import, joka ei ollut tarpeen. Teht\u00e4v\u00e4nannossa kerrotaan aina, jos kielen ytimen lis\u00e4ksi tarvitaan lis\u00e4palveluja.<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>5) lis\u00e4aritmetiikkaa, Albert<\/strong><\/p>\n<div>Kaikki teht\u00e4v\u00e4n nollat tulivat unohtuneesta lippumuuttujasta. Hyl\u00e4tyiss\u00e4 ratkaisuissa silmukan jatkamisen m\u00e4\u00e4ritti lippumuuttujan asemasta tai merkkijono. Muutamassa palautuksessa jatkovalinta tarkistettiin silmukassa. T\u00e4st\u00e4 ei valitettavasti saa lis\u00e4pisteit\u00e4, mutta toki hyv\u00e4\u00e4 harjoitusta parempien ohjelmien tekoon.<\/div>\n<p><strong>6) sahalaita, Rama<\/strong><\/p>\n<p>Hyl\u00e4tyiss\u00e4 ratkaisuissa harmillisen moni oli tehnyt turhan while-silmukan, joka suoritettiin aina vain kerran. T\u00e4m\u00e4n silmukan sis\u00e4ll\u00e4 tulostettiin kuvio k\u00e4ytt\u00e4en print-funktiota ja merkkijonon kertomista luvulla. N\u00e4iss\u00e4 tapauksissa while-silmukkaa ei k\u00e4ytetty oikeasti tulostukseen. Yleens\u00e4 ottaen tasan kerran suoritettava silmukka on tapeeton ja oire ongelmasta ohjelman rakenteessa. Kommentteja oli kirjoiteltu paikoin valitettavan v\u00e4h\u00e4n, jos lainkaan.<\/p>\n<h2>Harjoitus 4<\/h2>\n<p><strong>2) sulkeiden tunnistus, Rama<\/strong><\/p>\n<p>Pisteeseen tarvittiin v\u00e4hint\u00e4\u00e4n yksi looginen operaattori parien tunnistuksessa. Monessa vastauksessa oli jokaista paria kohden oma print-lauseensa. Koska kaikilla pareilla tuloste oli saman mallinen, olisi v\u00e4hempikin m\u00e4\u00e4r\u00e4 printej\u00e4 riitt\u00e4nyt ja n\u00e4in v\u00e4ltytty turhalta koodilta. J\u00e4lleen kerran kommentointi oli monilla puutteellista. Kommentteja pit\u00e4isi muistakaa laittaa my\u00f6s ohjelman sis\u00e4lle eik\u00e4 vain alkuun.<\/p>\n<p><strong>3) merkkijonojen vertailu, Ilmari<\/strong><\/p>\n<p>Teht\u00e4v\u00e4 arvioitiin teht\u00e4v\u00e4nannossa uhatulla tavalla: pisteeseen tarvittiin &#8221;xyz&#8221;-merkkijonon vakiointi ja vakion my\u00f6hempi k\u00e4ytt\u00f6 ohjelmassa. Vakiot ja niiden k\u00e4ytt\u00f6 olivat onneksi p\u00e4\u00e4osin hyvin hallussa. Ratkaisuissa ei ilmennyt mit\u00e4\u00e4n erityist\u00e4, mit\u00e4 nyt muutamia turhan pitki\u00e4 silmukoita ja turhia if-else rakenteita.<\/p>\n<p><strong>7) riveille k\u00e4\u00e4rint\u00e4, Albert<\/strong><\/p>\n<p>Monessa palautuksessa kommentteja oli vain alussa (kuka on tehnyt ja mik\u00e4 teht\u00e4v\u00e4). L\u00e4hes jokainen oli sis\u00e4ist\u00e4nyt for-silmukan ja range-sekvenssin yhteispelin sek\u00e4 viipaloimisen k\u00e4yt\u00f6n.<\/p>\n<h2>Harjoitus 5<\/h2>\n<p><strong>1) rekisteritunnus, Kimmo<\/strong><\/p>\n<p>Teht\u00e4v\u00e4ss\u00e4 annettiin armoa siten, ett\u00e4 pisteen sai, vaikka merkkijonoluokan metodeja ei oltu k\u00e4ytetty. Teht\u00e4v\u00e4n yksikertaisuus n\u00e4kyi samankaltaisia vastauksina. Joissakin ratkaisuissa oli monimutkaisempaa if-else-rakennetta tai kaikki tarkistukset pakattuna yhteen riviin. Huomiona, ett\u00e4 aika paljon tarkistettiin totuusarvoja vertaamalla niit\u00e4 True-arvoihin, vaikka muuttujaa tai paluuarvoa itsess\u00e4\u00e4n voisi k\u00e4ytt\u00e4\u00e4 suoraan ehtolausekkeessa Esimerkiksi &#8230;.isalpha() == True on sama kuin &#8230;.isalpha(). Toinen huomio oli se, ett\u00e4 ohjelmissa oli monesti turhia str-funktiolla tehtyj\u00e4 tyyppimuunnoksia sy\u00f6tteen luvun ja tulostuksen yhteydess\u00e4. Input-funktio palauttaa aina merkkijonon, jota ei ole siten en\u00e4\u00e4 tarvetta muuntaa merkkijonoksi.<\/p>\n<p><strong>3) erisnimet, Albert<\/strong><\/p>\n<p>Pisteeseen tarvittiin molempien komentojen vakiointi ja vakioiden my\u00f6hempi k\u00e4ytt\u00f6 ohjelmassa. Nollia tuli hieman yll\u00e4tt\u00e4en jonkin verran erityisesti siit\u00e4, ett\u00e4 vakioita ei oltu m\u00e4\u00e4ritelty. Muutamassa tapauksessa vakioiden tunnuksia ei oltu m\u00e4\u00e4ritelty isoin kirjaimin, mutta koska idea oli ymm\u00e4rretty oikein, pistett\u00e4 ei otettu pois.<\/p>\n<p><strong>5) vuodenajat, Ilmari<\/strong><\/p>\n<p>Teht\u00e4viss\u00e4 sai pisteen, jos siin\u00e4 k\u00e4ytettiin teht\u00e4v\u00e4nannon mukaista menetelm\u00e4\u00e4 eli sanakirjaa. N\u00e4in olikin tehty l\u00e4hes kaikissa ratkaisuissa.<\/p>\n<p><strong>8) samat etumerkit, Rama<\/strong><\/p>\n<div>Palautukset olivat hyvin samanlaisia, eik\u00e4 juuri mit\u00e4\u00e4n virheit\u00e4 esiintynyt. Mit\u00e4\u00e4n erityist\u00e4 kommentoitavaa ei t\u00e4ll\u00e4 kertaa ole. Kaikki palautukset hyy\u00e4ksyttiin.<\/div>\n<h2>Harjoitus 6<\/h2>\n<p><strong>1) samat etumerkit, Rama<\/strong><\/p>\n<p>Noin nelj\u00e4sosa opettajan tarkistamista ratkaisuista hyl\u00e4ttiin. Kaikissa hyl\u00e4tyiss\u00e4 ratkaisuissa funktiota oli kutsuttu tarpeettomasti useita kertoja ja\/tai arvoa ei sijoitettu muuttujaan.<\/p>\n<p><strong>4) yksitt\u00e4iset merkit, Kimmo<\/strong><\/p>\n<p>Palautuksissa oli jonkin verran turhan monimutkaisia ratkaisuja. Helpointa oli k\u00e4yd\u00e4 sana l\u00e4pi for-silmukalla ja laskea count-metodilla montako kertaa silmukkamuuttuja esiintyy sanassa. Funktiokutsut ja paluuarvon k\u00e4ytt\u00f6 osattiin hyvin t\u00e4ss\u00e4 teht\u00e4v\u00e4ss\u00e4. N\u00e4ist\u00e4 syist\u00e4 tuli hyvin v\u00e4h\u00e4n nollia.<\/p>\n<p><strong>5) tunnusluvut, Albert<\/strong><\/p>\n<p>Teht\u00e4v\u00e4 osattiin hyvin. Pari nollaa tuli toistuvista funktiokutsuista. Palautuksien rakenteessa suurin vaihtelu oli siin\u00e4 k\u00e4sitetltiink\u00f6 paluuarvoa tuplana vai otettiinko tuplan arvot omiksi muuttujiksi ja siten tulostuksen avuksi.<\/p>\n<p><strong>6) lukujono, Ilmari<\/strong><\/p>\n<p>Hyl\u00e4tyiss\u00e4 ratkaisuissa funktiokutsun paluuarvo j\u00e4i sijoittamatta muuttujaan. T\u00e4m\u00e4kin teht\u00e4v\u00e4 oli osattu hyvin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Harjoitus 1 Ensimm\u00e4inen harjoitus arvioitiin hyvin rennolla otteella. Poikkeamat ohjelmointiteht\u00e4vien esimerkkitulosteista eiv\u00e4t olleet ongelma, koska varsinainen automaattinen tarkistus alkaa vasta toisissa harjoituksissa. N\u00e4in esimerkiksi Pythonin aritmettisiin operaattoreihin johdatellut ohjelma sai puhua suomea. 3) oma vuokaavio, Rama Pisteeseen tarvittiin silmukka. Asia tuntui menneen hyvin perille ja useimmilla oli mielekk\u00e4it\u00e4 kaavioita. Monilla oli toisaalta vastauksissaan tavallaan turhia &hellip; <a href=\"https:\/\/coursepages2.tuni.fi\/tiep1-1\/syksy-2019\/harjoitukset\/ratkaisujen-tarkistus\/palaute\/\" class=\"more-link\">Jatka artikkeliin <span class=\"screen-reader-text\">Palaute<\/span><\/a><\/p>\n","protected":false},"author":6,"featured_media":0,"parent":259,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-262","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/wp-json\/wp\/v2\/pages\/262","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/wp-json\/wp\/v2\/comments?post=262"}],"version-history":[{"count":41,"href":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/wp-json\/wp\/v2\/pages\/262\/revisions"}],"predecessor-version":[{"id":456,"href":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/wp-json\/wp\/v2\/pages\/262\/revisions\/456"}],"up":[{"embeddable":true,"href":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/wp-json\/wp\/v2\/pages\/259"}],"wp:attachment":[{"href":"https:\/\/coursepages2.tuni.fi\/tiep1-1\/wp-json\/wp\/v2\/media?parent=262"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}