Uždavinių sprendimo kompiuteriu etapai (konspektas)
Uždavinio formulavimas. Prieš programuodami turime išsiaiškinti visus reikalavimus būsimai programai, t.y. sudaryti tikslią programavimo užduotį. Todėl formuojant uždavinį, reikia aiškiai nurodyti, ką turi atlikti programa, kokie turi būti pradiniai duomenys ir rezultatai. Svarbu išsiaiškinti, kaip reikės pateikti rezultatus- išdėstyti lentelėse, pavaizduoti grafiškai, išspausdinti su antraštėmis, eilutėmis ir t.t. Kaip gauti rezultatus, t.y. kokius veiksmus reikia atlikti, nustatoma vėliau, sudarant programą.
Sprendimo algoritmo parinkimas ar sudarymas. Uždavinio sprendimo algoritmą turi sugalvoti programuotojas. Juk programa ir yra tikslus uždavinio sprendimo aprašymas, kurį vienodai supranta ir žmogus, ir kompiuteris. Tiktai kompiuteris, spręsdamas uždavinį, atlieka dar skaičiavimo darbą, kuris nurodomas programoje. Taigi programuotojas visų pirma turi išsiaiškinti, kaip spręsti duotą uždavinį. Jis gali pritaikyti jau žinomus metodus, pvz.: tiesinių lygčių sistemą spręsti sudėties būdu, pirminius skaičius ieškoti Eratosteno rėčio metodu ir pan. Tačiau kartais programuotojui tenka pačiam sukurti uždavinio sprendimo metodą.
Programos sudarymas. Kiekvieno uždavinio programa yra savita. Be to, tam pačiam uždaviniui spręsti galima sudaryti daug skirtingų programų. Programavimas yra kūrybinis procesas, ir universalių receptų, kaip sudaryti vieno ar kito uždavinio programą, nėra. Tačiau vadovaujantis bendrais dėsniais, šį darbą galima paspartinti, atlikti geriau. Iš karto sudaryti sudėtingo uždavinio programą sunku arba iš viso neįmanoma. Tokiu atveju uždavinys skaidomas į keletą smulkesnių dalių, kurių kiekviena sprendžiama (programuojama) atskirai. Jeigu toji dalis yra dar per stambi, tai ji skaidoma į smulkesnes dalis tol, kol jų programos pasidaro pakankamai trumpos ir vaizdžios.
Programos tikrinimas. Sudarant programą, labai lengva suklysti. Todėl prieš pateikiant ją kompiuteriui, reikia kruopščiai patikrinti. Tikrinant programą reikėtų įsitikinti: 1) ar nėra sintaksės kaidų (netaisyklingai užrašytas kuris nors sakinys, praleistas skyrybos ženklas ir pan.; 2) ar aprašyti visų kintamųjų vardai; 3) ar apibrėžtos visų kintamųjų reikšmės; 4) ar programos veiksmai baigtiniai; 5) ar programa duos teisingus rezultatus. Be abejo, svarbiausia gauti teisingus rezultatus. Tačiau juos patikrinti sunku. Vienas paprasčiausių tikrinimo būdų- pasirinkus kokius nors pradinius duomenis, pačiam programuotojui (be kompiuterio) atlikti programoje užrašytus veiksmus. Veiksmai atliekami taip, kaip juos atliktų kompiuteris, t.y. paraidžiui, mechaniškai, nesigilinant į jų prasmę. Tada gaunami tokie patys rezultatai, kaip ir kompiuteriu. Tikrinimui parinkti pradiniai duomenys vadinami kontroliniais. Labai svarbu parinkti tinkamus kontrolinius duomenis. Jie turi būti būdingi tikrinamai programai- tokie, kad būtų patikrinamos visos programos dalys. Be to, kontrolinius duomenis reikia parinkti taip, kad galėtume nesunkiai apskaičiuoti rezultatą.
Programos derinimas. Programuotojas, sudaręs programą ir pateikęs ją kompiuteriui, paprastai tikisi teisingų rezultatų. Tačiau net ir gerai parinktoje programoje pasitaiko klaidų. Kompiuteris spausdina pranešimus apie visas aptiktas klaidas. Programuotojas turi išnagrinėti kiekvieną klaidą ir ištaisytą programą vėl pateikti kompiuteriui. Šis procesas kartojamas tol, kol programoje nelieka klaidų. Šitaip ištaisomos visos sintaksinės klaidos. Prasmines klaidas rasti sunkiau. Jų ieškoma pateikiant kompiuteriui pradinius duomenis ir lyginant jo spausdinamus rezultatus su iš anksto žinomais rezultatais. Tinka tie patys kontroliniai duomenys, kurie buvo vartojami tikrinant programą be kompiuterio. Tiktai dabar galime imti ir kitus, sudėtingesnius duomenis, nes skaičiuojame ne mes, o kompiuteris. Ne visas prasmines klaidas pavyksta greitai ir lengvai ištaisyti. Sudėtingose programose pasitaiko sunkiai aptinkamų klaidų. Kaip jų ieškoti- bendrų receptų nėra. Dažnai praverčia įžvalgumas, logika, programavimo išmanymas. Kai programos vaizdžiai, suprantamai parašytos, jas lengviau skaityti, o kartu ir surasti klaidas. Taigi programos paruošimas yra ilgas ir kruopštus darbas. Tačiau kai programa sudaryta ir suderinta, ją galima atlikti daug kartų, įvedant vis kitus pradinius duomenis. Tokia programa gali pasinaudoti ir kiti, ne tik jo autorius.