Sissejuhatus algoritmidesse ja UMLi

Mis on algoritm?

Kõige lühidamalt öelduna on algoritm juhis probleemi lahendamiseks. Algoritmideks võivad olla tegevused pärismaailmas, nt kuidas siduda kingapaelu, pesta juukseid või teha omletti. Kõiki neid tegevusi on võimalik kirjeldada samm-sammu haaval, mille järgimisel on võimalik jõuda eduka tulemuseni.

Enamlevinud on algoritmi mõiste siiski matemaatikas ja arvutiteaduses. Lihtsamatest neist on näiteks avaldise lahendamine jälgides tehete järjekorda, ruutvõrrandi lahendite otsimine, suurima või vähima väärtuse leidmine paljude arvude hulgast, väärtuste sorteerimine, otsimine, arvusüsteemide teisendamine jne.

Algoritmide juures on esmatähtis ülesande edukas sooritamine, kuid samatähtis on ka selle efektiivsus – 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?)

Kursuse raames tutvume lihtsamate algoritmidega ning kuidas algoritme esitada pseudokoodis ja modelleerimisvahendite abil.

Hea algoritm on programmeerimiskeelest sõltumatu – st algoritm ei ole keelest sõltuv ja ei sisalda kindlale programmeerimiskeelele omast süntaksit.

Mis on UML?

UML (universal modeling language), nagu nimigi ütleb, on modelleerimiskeel.  Standardiseeritud modelleerimiskeele peamine eesmärk on kirjeldada olustike, sündmusi, tegevusi, andmestruktuure jm sedasi, et kõik osapooled sellest ühtemoodi aru saaksid. Teisisõnu on see üks võimalustest suurtes organisatsioonides meeskondades siseselt, struktuurüksuste vahel ja kliendiga suheldes kirjeldada loodavat toodet ja selle omadusi nii, et kõik sellest aru saaksid.

UML standardi alusel jaotuvad diagrammid käitumuslikeks ja struktuurseteks. Antud kursuse raames piirdume tegevusdiagrammidega, mis on üks mitmetest käitumuslikest diagrammidest. Tegevusdiagrammide abil on võimalik visualiseerida algoritme ja protsesse, näidates järjestikkuseid toiminguid soovitud tulemuseni jõudmiseks. Teiste diagrammi tüüpidega tutvute hilisemates kursustes.

Vajalikud märgised

 

Märgis Selgitus
uml algus Tegevuse algus
uml lopp Tegevuse lõpp
uml tegevus Tegevus
uml tingimus Tingimus
Koondumine
uml kommentaar Kommentaar
uml paralleel algus Paralleeltegevuste algus
uml paralleel lopp Paralleeltegevuste lõpp

ArgoUML

Uue aktiivsusdiagrammi loomine

argo_est

Pildifailide loomine dokumentatsiooni lisamiseks

argo_export