{"id":1248,"date":"2015-08-31T10:53:45","date_gmt":"2015-08-31T08:53:45","guid":{"rendered":"http:\/\/www.blue.pri.ee\/ttu\/?page_id=1248"},"modified":"2025-08-08T13:51:26","modified_gmt":"2025-08-08T11:51:26","slug":"sissejuhatus-algoritmidesse-ja-umli","status":"publish","type":"page","link":"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/","title":{"rendered":"Sissejuhatus algoritmidesse ja UMLi"},"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-4'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/#Mis_on_algoritm\" >Mis on algoritm?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/#Mis_on_UML\" >Mis on UML?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/#Vajalikud_margised\" >Vajalikud m\u00e4rgised<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/#Soovitusi_modelleerimisel\" >Soovitusi modelleerimisel<\/a><\/li><\/ul><\/nav><\/div>\n<h4><span class=\"ez-toc-section\" id=\"Mis_on_algoritm\"><\/span>Mis on algoritm?<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>K\u00f5ige\u00a0l\u00fchidamalt \u00f6elduna on algoritm juhis probleemi lahendamiseks.\u00a0Algoritmideks v\u00f5ivad olla tegevused p\u00e4rismaailmas &#8211; nt kuidas s\u00f5ita TT\u00dcst lauluv\u00e4ljakule, vahetada ukselukku v\u00f5i valmistada pannkooke. K\u00f5iki neid tegevusi on v\u00f5imalik kirjeldada samm-sammu haaval, mille j\u00e4rgimisel on v\u00f5imalik j\u00f5uda soovitud tulemuseni.<\/p>\n<p>On oluline, et algoritmi puhul oleks olemas <strong>kindel alguspunkt, l\u00f5pppunkt, k\u00f5ik etapid oleksid selgesti kirjeldatud ning juhised ei katkeks ootamatult<\/strong> &#8211; st on v\u00f5imalik j\u00f5uda l\u00f5ppu. Samuti v\u00f5ivad oluliseks kujuneda erinevad eeldused.\u00a0 Vaadeldes n\u00e4iteks TT\u00dcst lauluv\u00e4ljakuni s\u00f5itmist v\u00f5ivad tekitada probleeme j\u00e4rgnevad puuduj\u00e4\u00e4gid, kuid mitte ainult:<\/p>\n<ul>\n<li>Eeldused: Milline s\u00f5iduvahend meil on? On selleks on auto, jalgratas v\u00f5i miski muu? Kas see s\u00f5iduvahend on tehniliselt korras? Kas me oskame v\u00f5i tohime sellega s\u00f5ita?<\/li>\n<li>L\u00e4htekoht: Kas me alustame s\u00f5itu peamaja v\u00f5i m\u00f5ne teise hoone eest?<\/li>\n<li>Sihtkoht: Lauluv\u00e4ljakule saab ligi mitmest kohast, kas me soovime nt saada oru v\u00f5i merev\u00e4ravate juurde? V\u00f5imalik, et soovime saada hoopiski laulukaare ette?<\/li>\n<li>Ebaselged juhised: p\u00f6\u00f6ra vasakule &#8211; millal? M\u00f5ne ristmiku puhul v\u00f5ib olla mitu teed, mis asetsetvad vasakul.<\/li>\n<\/ul>\n<p>Enamlevinud on algoritmi m\u00f5iste siiski matemaatikas ja arvutiteaduses. Lihtsamatest neist on n\u00e4iteks avaldise lahendamine j\u00e4lgides tehete j\u00e4rjekorda, ruutv\u00f5rrandi lahendite otsimine, suurima v\u00f5i v\u00e4hima v\u00e4\u00e4rtuse leidmine paljude arvude hulgast, korduvate suuruste eemaldamine, elementide sorteerimine, otsimine, arvus\u00fcsteemide teisendamine jne.<\/p>\n<p>Algoritmide juures on esmat\u00e4htis \u00fclesande edukas sooritamine, kuid samat\u00e4htis on ka selle efektiivsus\u00a0&#8211; st kui palju kulub aega probleemi lahendamiseks? Veelgi enam on see oluline probleemide suurenedes (nt kuidas kasvab ajakulu sorteerides 10 arvu asemel 10 miljardit arvu?). Samuti v\u00f5ib \u00fclesande puhul k\u00fcsida kui universaalselt seda lahendada tuleb?\u00a0 Kitsenduste tegemine aitab sageli lahendada probleeme kiiremini, kuid sellisel juhul peab veenduma, et need alati kehtiksid.<\/p>\n<p>Kursuse raames tutvume lihtsamate algoritmidega ning kuidas\u00a0algoritme esitada pseudokoodis ja modelleerimisvahendite abil.<\/p>\n<p><strong>Hea algoritm on programmeerimiskeelest s\u00f5ltumatu &#8211; st \u00fclesande lahenduseni on v\u00f5imalik j\u00f5uda kasutades erinevaid programmeerimiskeeli, \u00fchele konkreetsele keelele omast s\u00fcntaksit ei kasutata.<\/strong><\/p>\n<h4><span class=\"ez-toc-section\" id=\"Mis_on_UML\"><\/span>Mis on UML?<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>UML (<em>universal modeling language<\/em>), nagu nimigi \u00fctleb, on modelleerimiskeel.\u00a0 Standardiseeritud modelleerimiskeele peamine eesm\u00e4rk on kirjeldada olustike, s\u00fcndmusi, tegevusi, andmestruktuure jm sedasi, et k\u00f5ik osapooled sellest \u00fchtemoodi aru saaksid. Teisis\u00f5nu on see \u00fcks v\u00f5imalustest suurtes organisatsioonides meeskondades siseselt, struktuur\u00fcksuste vahel ja kliendiga suheldes kirjeldada loodavat toodet ja selle omadusi nii, et k\u00f5ik sellest \u00fcheselt aru saaksid.<\/p>\n<p>UML standardi alusel jaotuvad diagrammid k\u00e4itumuslikeks ja struktuurseteks. Antud kursuse raames piirdume tegevusdiagrammidega, mis on \u00fcks mitmetest k\u00e4itumuslikest diagrammidest. Tegevusdiagrammide abil on v\u00f5imalik visualiseerida algoritme ja protsesse, n\u00e4idates j\u00e4rjestikkuseid toiminguid soovitud tulemuseni j\u00f5udmiseks. Teiste diagrammi\u00a0t\u00fc\u00fcpidega\u00a0tutvute hilisemates kursustes.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Vajalikud_margised\"><\/span>Vajalikud m\u00e4rgised<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>J\u00e4rgnevalt on v\u00e4lja toodud peamised k\u00e4esoleva kursuse raames kasutatavad m\u00e4rgised. Loetelu ei ole t\u00e4ielik.<\/p>\n<table style=\"height: 224px;\" width=\"350\">\n<thead>\n<tr>\n<th>M\u00e4rgis<\/th>\n<th width=\"250\">Selgitus<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background-color: #ffffff;\">\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1467\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2015\/08\/uml-algus.png\" alt=\"uml algus\" width=\"50\" height=\"46\" \/><\/td>\n<td style=\"vertical-align: middle;\">Tegevuse algus<\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1468\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2015\/08\/uml-lopp.png\" alt=\"uml lopp\" width=\"50\" height=\"51\" \/><\/td>\n<td style=\"vertical-align: middle;\">Tegevuse\u00a0l\u00f5pp<\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td><a href=\"http:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2015\/08\/uml-tegevus.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1536\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2015\/08\/uml-tegevus.png\" alt=\"uml tegevus\" width=\"150\" height=\"43\" \/><\/a><\/td>\n<td style=\"vertical-align: middle;\">Tegevus<\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1471\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2015\/08\/uml-tingimus.png\" alt=\"uml tingimus\" width=\"50\" height=\"49\" \/><\/td>\n<td style=\"vertical-align: middle;\">Tingimus, otsus<br \/>\nKoondumine<\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1534\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2015\/08\/uml-kommentaar.png\" alt=\"uml kommentaar\" width=\"174\" height=\"84\" \/><\/td>\n<td style=\"vertical-align: middle;\">Kommentaar<a href=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2015\/08\/uml-tegevus.png\"><br \/>\n<\/a><\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1469 size-thumbnail\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2015\/08\/uml-paralleel-algus-150x74.png\" alt=\"uml paralleel algus\" width=\"150\" height=\"74\" \/><\/td>\n<td style=\"vertical-align: middle;\">S\u00fcnkronisatsiooniriba:\u00a0Paralleeltegevuste algus<\/p>\n<p><em>j\u00e4rgnevad tegevused\u00a0<strong>peavad olema<\/strong> \u00fcksteisest s\u00f5ltumatud ning k\u00f5ik j\u00e4rgnevad tegevused <strong>toimuvad \u00fcheaegselt<\/strong><\/em><\/td>\n<\/tr>\n<tr style=\"background-color: #ffffff;\">\n<td><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1470 size-thumbnail\" src=\"https:\/\/blue.pri.ee\/ttu\/wp-content\/uploads\/2015\/08\/uml-paralleel-lopp-150x65.png\" alt=\"uml paralleel lopp\" width=\"150\" height=\"65\" \/><\/td>\n<td style=\"vertical-align: middle;\">S\u00fcnkronisatsiooniriba: Paralleeltegevuste l\u00f5pp<\/p>\n<p>Paralleelselt toimunud tegevused koonduvad selles punktis. Sellest punktist on edasi v\u00f5imalik minna vaid juhul, kui k\u00f5ik siia suubuvad tegevused on l\u00f5petatud!<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h4><span class=\"ez-toc-section\" id=\"Soovitusi_modelleerimisel\"><\/span>Soovitusi modelleerimisel<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Nooled ei tohiks olla veetud diagonaalis. Suunda muutes tuleks nool murda t\u00e4isnurga all.<\/li>\n<li>V\u00f5imalusel v\u00e4ldi joonte \u00fcksteisest \u00fcle viimist. Kui seda on vaja teha, siis ainult t\u00e4isnurga all.<\/li>\n<li>Juhul kui algoritmil eksisteerib mitu v\u00f5imalikku l\u00f5pptulemust, tuleks igale l\u00f5pule lisada selgitav kommentaar. Nt Pangakaardiga kaupmehe juures makstes on vaid \u00fcks v\u00f5imalikest l\u00f5ppudest makse edukas sooritamine.<\/li>\n<li>Keerukamate \u00fclesannete puhul m\u00f5tle l\u00e4bi p\u00f5hilised tegevused ja grupeeri need visuaalselt eraldi. Selleks v\u00f5ivad olla nt sisendandmete lugemised, erinevad t\u00f6\u00f6tluse etapid (sorteerimine, otsimine, tulemuste leidmine, v\u00e4ljastamine jne).<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Mis on algoritm? K\u00f5ige\u00a0l\u00fchidamalt \u00f6elduna on algoritm juhis probleemi lahendamiseks.\u00a0Algoritmideks v\u00f5ivad olla tegevused p\u00e4rismaailmas &#8211; nt kuidas s\u00f5ita TT\u00dcst lauluv\u00e4ljakule, vahetada ukselukku v\u00f5i valmistada pannkooke. K\u00f5iki neid tegevusi on v\u00f5imalik kirjeldada samm-sammu haaval, mille j\u00e4rgimisel on v\u00f5imalik j\u00f5uda soovitud tulemuseni. On oluline, et algoritmi puhul oleks olemas kindel alguspunkt, l\u00f5pppunkt, k\u00f5ik etapid oleksid selgesti kirjeldatud &hellip; <a href=\"https:\/\/blue.pri.ee\/ttu\/ressursid\/sissejuhatus-algoritmidesse-ja-umli\/\" class=\"more-link\">Loe edasi <span class=\"screen-reader-text\">Sissejuhatus algoritmidesse ja UMLi<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":62,"menu_order":6,"comment_status":"closed","ping_status":"closed","template":"page-templates\/code-width.php","meta":{"footnotes":""},"class_list":["post-1248","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/1248","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=1248"}],"version-history":[{"count":0,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/1248\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/pages\/62"}],"wp:attachment":[{"href":"https:\/\/blue.pri.ee\/ttu\/wp-json\/wp\/v2\/media?parent=1248"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}