{"id":7060,"date":"2022-08-22T20:40:51","date_gmt":"2022-08-22T18:40:51","guid":{"rendered":"https:\/\/blue.pri.ee\/ttu\/?page_id=7060"},"modified":"2022-08-22T21:33:22","modified_gmt":"2022-08-22T19:33:22","slug":"uml-naide-positiivsete-arvude-massiivi-salvestamine","status":"publish","type":"page","link":"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/uml-naide-positiivsete-arvude-massiivi-salvestamine\/","title":{"rendered":"UML n\u00e4ide: Positiivsete arvude massiivi salvestamine"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/uml-naide-positiivsete-arvude-massiivi-salvestamine\/#Ulesande_pustitus\" >\u00dclesande p\u00fcstitus<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/uml-naide-positiivsete-arvude-massiivi-salvestamine\/#Kusimusi_diskussiooniks\" >K\u00fcsimusi diskussiooniks<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/uml-naide-positiivsete-arvude-massiivi-salvestamine\/#Naidislahendus_uhe_massiiviga\" >N\u00e4idislahendus \u00fche massiiviga<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/uml-naide-positiivsete-arvude-massiivi-salvestamine\/#Naidislahendus_kahe_massiiviga\" >N\u00e4idislahendus kahe massiiviga<\/a><\/li><\/ul><\/nav><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Ulesande_pustitus\"><\/span>\u00dclesande p\u00fcstitus<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Koostada UML tegevusdiagramm j\u00e4rgmisele \u00fclesandele<\/p>\n<ul>\n<li>Kasutajalt loetakse N t\u00e4isarvu<\/li>\n<li>Leida ja salvestada k\u00f5ik positiivsed t\u00e4isarvud eraldi massiivi ning need v\u00e4ljastada.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"Kusimusi_diskussiooniks\"><\/span>K\u00fcsimusi diskussiooniks<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><strong>K1: Kust tuleb N?<\/strong><\/p>\n<p>Antud \u00fclesande puhul on N m\u00e4\u00e4ramata suurusega konstant, mis kirjeldab arvude hulka mida meie lahendus t\u00f6\u00f6tlema peaks. Olenevalt \u00fclesandest v\u00f5ib olla tegu olulise suurusega, mis tuleks kliendilt ehk tellijalt j\u00e4rele p\u00e4rida.<\/p>\n<p>Meie \u00fclesande raames saame k\u00e4sitleda N-i kui tundmatut konstanti ning kuniks me programmi realiseerima ei hakka saame me ka selle j\u00e4tta m\u00e4\u00e4ramata. Kui soovid proovida programmi l\u00e4bi kirjutada m\u00e4\u00e4ra selleks m\u00f5ni v\u00e4iksem t\u00e4isarv.<\/p>\n<p><strong>K2: Mitut massiivi \u00fclesande lahendamiseks vaja on?<\/strong><\/p>\n<p>Antud \u00fclesannet saab lahendada\u00a0 \u00fche v\u00f5i kahe massiiviga. M\u00f5lemal on omad eelised ning puuduj\u00e4\u00e4gid.<\/p>\n<p>\u00dche massiiviga lahenduse puhul saame me k\u00e4tte p\u00fcstituses n\u00f5utud tulemuse, kuid meil puudub v\u00f5imalus taasesitada kogu sisestatud massiivi.<\/p>\n<p>Kahe massiiviga lahenduse puhul tekib meil v\u00f5imalus taasesitada kogu sisestatud jada, kuid k\u00f5ige selle meelespidamine vajab t\u00e4iendavat programmi loogikat ning suurendab ressursside kasutust.<\/p>\n<p><strong>K3: Mis on massiivi(de) pikkus(ed)?<\/strong><\/p>\n<p>Kuna tegu on pelgalt algoritmiga, siis massiivi suurust algv\u00e4\u00e4rtustama ei pea. K\u00fcll aga kui tahta v\u00f5imalikult l\u00e4hedast m\u00f5tlemist C keelsele koodile v\u00f5ib kasutada massiivi pikkuseks konstanti N. Pikkus on sama olenemata kas tegu on \u00fche v\u00f5i kahe massiiviga lahendusega &#8211; &#8220;Halvimal juhul&#8221; on k\u00f5ik sisestatud numbrid positiivsed ning vajavad salvestamist.<\/p>\n<p><strong>K4: Kas 0 on positiivne t\u00e4isarv?<\/strong><\/p>\n<p>Tegu on j\u00e4llegi olulise k\u00fcsimusega, mis tasub alati kliendilt \u00fcle t\u00e4psustada. Tegu on sageli kriitilise piirjuhuga.<\/p>\n<p>Antud \u00fclesande lahendamisel vaatame juhtu kus positiivseteks loeme k\u00f5ik nullist suuremad arvud.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Naidislahendus_uhe_massiiviga\"><\/span>N\u00e4idislahendus \u00fche massiiviga<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>N\u00e4idise puhul tasub t\u00e4hele panna, et tegu ei ole ainu\u00f5ige lahendusega. N\u00e4iteks:<\/p>\n<ul>\n<li>Massiivi luues v\u00f5ib ka selle suuruse fikseerida, kuid ei pea. Lahendus peaks olema keelest s\u00f5ltumatu ja arendaja enda mure kuidas realiseerida. Oluline on, et algoritm on loetav.<\/li>\n<li>Arusaadava s\u00f5nastusega v\u00f5ib j\u00e4tta loenduri i kasutamata andmete sisestuse osas ning asendada need t\u00e4ielikult tekstiliste selgitustega.<\/li>\n<\/ul>\n<p>Programmeerimise aine raames j\u00e4\u00e4b oluliseks n\u00e4idata massiivide indekseerimist!<\/p>\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_21-31-42_y2HQAU.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7064\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_21-31-42_y2HQAU.png\" alt=\"\" width=\"1141\" height=\"1019\" srcset=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_21-31-42_y2HQAU.png 1141w, https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_21-31-42_y2HQAU-300x268.png 300w, https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_21-31-42_y2HQAU-1024x915.png 1024w, https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_21-31-42_y2HQAU-768x686.png 768w\" sizes=\"auto, (max-width: 1141px) 100vw, 1141px\" \/><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Naidislahendus_kahe_massiiviga\"><\/span>N\u00e4idislahendus kahe massiiviga<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Selle n\u00e4idise raames eraldame me sisestuse ja t\u00f6\u00f6tluse \u00fcksteisest, muutes lahenduse klassikalisemaks &#8220;sisestus-t\u00f6\u00f6tlus-v\u00e4ljastus&#8221; t\u00fc\u00fcpi algoritmiks. \u00dchest k\u00fcljest annab t\u00fckeldamine parema modulaarsuse ja korduvkasutuse v\u00f5imalused, kuid samal ajal n\u00f5uab rakenduselt ka suuremat ressursikasutust.<\/p>\n<p><a href=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_22-32-44_PgWJCH.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7071\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_22-32-44_PgWJCH.png\" alt=\"\" width=\"1450\" height=\"903\" srcset=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_22-32-44_PgWJCH.png 1450w, https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_22-32-44_PgWJCH-300x187.png 300w, https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_22-32-44_PgWJCH-1024x638.png 1024w, https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2022\/08\/PC_posNumbs__-_Visual_Paradigm_Community_EditionRist_2022-08-22_22-32-44_PgWJCH-768x478.png 768w\" sizes=\"auto, (max-width: 1450px) 100vw, 1450px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00dclesande p\u00fcstitus Koostada UML tegevusdiagramm j\u00e4rgmisele \u00fclesandele Kasutajalt loetakse N t\u00e4isarvu Leida ja salvestada k\u00f5ik positiivsed t\u00e4isarvud eraldi massiivi ning need v\u00e4ljastada. K\u00fcsimusi diskussiooniks K1: Kust tuleb N? Antud \u00fclesande puhul on N m\u00e4\u00e4ramata suurusega konstant, mis kirjeldab arvude hulka mida meie lahendus t\u00f6\u00f6tlema peaks. Olenevalt \u00fclesandest v\u00f5ib olla tegu olulise suurusega, mis tuleks kliendilt &hellip; <a href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/uml-naide-positiivsete-arvude-massiivi-salvestamine\/\" class=\"more-link\">Loe edasi <span class=\"screen-reader-text\">UML n\u00e4ide: Positiivsete arvude massiivi salvestamine<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1248,"menu_order":2,"comment_status":"closed","ping_status":"closed","template":"page-templates\/code-width-wide.php","meta":{"footnotes":""},"class_list":["post-7060","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/7060","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/comments?post=7060"}],"version-history":[{"count":0,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/7060\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/1248"}],"wp:attachment":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/media?parent=7060"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}