2013 m. sausio 10 d., ketvirtadienis

7.1. Programų algoritmai



Algoritmu vadinama baigtinė nuoseklių veiksmų seka, kurią procesorius turi atlikti su pradiniais duomenimis, kad gautų uždavinio sprendinį.
Parašyti sudėtingos programos tekstą iš karto, dažniausiai nelengva. Pirmiausia būtina sukurti uždavinio sprendimo algoritmą. Priklausomai nuo to, kas sprendžia uždavinį (kas yra uždavinio sprendimo procesorius), algoritmas gali būti pateikiamas įvairiai: - kompiuterio mikroprocesoriui algoritmą reikia pateikti mašinine kalba (dvejetainis, aštuntainis arba šešioliktainis kodai), nes tik tokią kalbą supranta mikroprocesorius; - žmogui, esančiam procesoriaus vaidmenyje, algoritmą galima pateikti daugelyje formų: -teksto forma, t.y., programos , parašytos pseudo kodu, arba bet kuria, algoritmine kalba (paskalis, C++, asembleris, mašininė kalba); -grafine forma, t.y., blok-schemos pavidalu.
Pirmiausia išsiaiškinkime, kodėl pradėjom kalbėti apie žmogų kaip procesorių. Reikia priminti, kad kompiuteris pats dar nėra išsprendęs nei vieno uždavinio, o sprendžia uždavinį tik tuomet, kai žmogus sudaro to uždavinio sprendimo ALGORITMĄ ir jį užkoduoja (parašo programą) taip, kad būtų “aišku” kompiuteriui. Taigi, žmogus paprastai k u r i a uždavinio sprendimo algoritmą, o kompiuteris tik v y k d o sukurtą ir patikrintą algoritmą.
Kūrimo ir tikrinimo procese naudotina informatyviausia - grafinė algoritmo forma, pvz., algoritmo blokinė schema.
Algoritmo blokinės schemos elementai
Atskirus algoritmo veiksmus (veiksmų grupes) grafiškai priimta vaizduoti skirtingomis geometrinėmis figūromis vadinamomis blokais. Projektuojant arba analizuojant algoritmo blok-schemą nustatoma sprendimo proceso valdymo perdavimo, iš vieno bloko į kitą, tvarka.

Kiekvienam algoritmui privalu turėti pradžios ir pabaigos blokus. Valdymo procesas prasideda PRADŽIOS bloke , nuosekliai praeina visus algoritmo blokus ir baigiasi PABAIGOS bloke. Priimta tuos blokus vaizduoti tam tikrų matmenų ovalais, su juose įrašytais žodžiais PRADŽIA ir PABAIGA (kaip parodyta pav.1).
Kiekvieną bloką rėminanti linija kairiajame viršutiniame kampe privalo būti trūki, čia įrašomas bloko numeris. Visi blokai numeruojami pradedant pradžios ir baigiant pabaigos bloku. PASTABA. Kadangi PRADŽIOS ir PABAIGOS blokai yra unikalūs, tai jų numeracija nebūtina. Paprastai sprendimą (algoritmą) sudaro nuosekli veiksmų kompozicija, todėl pageidautina ir blokus numeruoti pagal valdymo perdavimo eigą.
Nesudėtingame algoritme, kai jo blokinė schema telpa į vieną lapą, blokus numeruojame sveikais skaičiais. Jeigu algoritmas sudėtingas ir jam pavaizduoti reikia kelių lapų, tai bloko numeracija gali turėti kelias dalis, atskirtas taškais: pvz. -2.12 (lapo numeris.bloko numeris). Santakos blokus (paprastai tai atitinkamo spindulio apskritimai, kurių viduje nurodytas vardas) įvardinti taip pat galima skaičiais, bet galima ir raidėmis. Pav. 1.
Algoritmo blokinės schemos grafinio vaizdavimo elementai
Aritmetinių ir loginių veiksmų blokas vaizduojamas stačiakampiu, su jame įrašytais aritmetinių (loginių) išraiškų sakiniais (pav.1. -2 blokas). Sąlygos tikrinimo blokui vaizduoti naudojama rombo forma (4-blokas) , jo viduje įrašoma tikrinama sąlyga. Informacijos įvedimo/išvedimo blokui panaudota lygiagretainio forma, kur įvedami/išvedami duomenys užrašomi skliaustuose. Įvedimo bloko kairiojoje pusėje įrašomas požymis IN, išvedimo bloke-požymis OUT (8-BLOKAS).
Kreipimosi į paprogramę blokas turi stačiakampio su dvigubom šoninėm linijom formą, jame nurodoma, kuriai paprogramei bus perduodamas valdymas. Visi algoritmo blokai tarpusavyje sujungiami taip vadinamomis valdymo linijomis, kurios gali būti tik vertikalios arba tik horizontalios.Valdymo krypčiai nurodyti valdymo linijos užsibaigia rodyklėmis.
PASTABA. Jeigu valdymas perduodamas į dešinę arba žemyn, linijos gale rodyklės nebūtinos. Išskyrus blokus, kuriuose vienaip ar kitaip tikrinama sąlyga, valdymo linijos į bloką patenka tik iš viršaus, išeina tik iš apačios. Į sąlygos tikrinimo blokus valdymas gali patekti tik iš viršaus, išeiti - tik per šonus. Išimtį sudaro tik FOR ciklo parametro modifikavimo ir sąlygos tikrinimo blokas (pav.1- 5 blokas), kur šalia pagrindinio įėjimo viršuje, kairėje pusėje yra dar modifikuoto parametro įėjimas.
Valdymo linijos gali sueiti į vieną vietą, ji žymima apskritimu ir vadinama santakos bloku. Apskritimo viduje gali būti nurodyta santakos žymė (pav1.-α). Į santaką valdymo linijos gali įeiti ir išeiti iš bet kurios pusės, tačiau keliama sąlyga-įėjimai gali būti keli, išėjimas tik vienas. Kai algoritmo schema gaunasi sudėtinga, neįmanoma išvengti valdymo linijų kryžiavimosi, tenka linijas nutraukti. Nutraukimo vietose dedamos ŽYMĖS, rodančios iš kur ateina nutrauktoji linija (iš kurio bloko) ir kur ji nueina toliau (į kurį bloką) 

Komentarų nėra:

Rašyti komentarą

Tinklaraščio archyvas

Etiketės