IZRADA PROGRAMA Faze u izradi programa Planiranje, definiranje, analiza i opisivanje problema, određivanje algoritma, oblikovanje rješenja Kodiranje i prevođenje Testiranje i ispravljanje, kontrola programa na formalne (sintaktičke, semantičke) i logičke greške Održavanje programa Dokumentiranje programa – faza koja se provodi usporedo sa ostalim fazama (odvojeno i/ili u kodu) 1. Planiranje, definiranje, analiza i opisivanje problema (određivanje i oblikovanje rješenja) Izbor jezika i prevodioca (subjektivni i objektivni faktori) Što treba program raditi, koje podatke obrađivati Oblikovanje i opis korisničkog sučelja Kako i odakle podaci “dolaze” (disketa, datoteka, tipkovnica), pripaziti na pregledan unos (opći podaci prije posebnih) Koje će se i kako (na kojem mediju) informacije prezentirati Oblikovanje preglednog i potpunog izlaza, bez nepotrebnih podataka, uz eventualno ispisivanje međurezultata Oblikovanje rješenja - izrada algoritma Ako je problem opsežniji treba napraviti grubi opis problema (kasnije se hijerarhijski raščlanjuje) Program treba oblikovati po načelima modularnog i strukturiranog programiranja. 2. Kodiranje Pisanje izvornog (source) koda koji predstavlja rješenje problema izraženo u obliku računalnog programa (ručno, na računalu) Kako procesor ne “razumije” više programske jezike nego traži binarni opis programa, prevođenje sa višeg programskog na strojni jezik obavlja program prevoditelj (kompilator ili interpreter) 3. Testiranje i ispravljanje Kontrola programa na greške (DEBUGGING), dotjerivanje i modifikacija Greške mogu biti: FORMALNE (sintaktičke i semantičke) – detektira ih prevoditelj (nekorektno korištenje naredbi/pravila programskog jezika) LOGIČKE – nastale u formulaciji problema, algoritma i sl. Testiranje se obično vrši sa test-podacima Beta-testiranje – vrši se izvan grupe koja je kreirala program Dokumentiranje - pisanje dokumentacije Faza koja se izvodi paralelno sa drugim fazama stvaranja (izrade) programa Važno za održavanje i naknadne prilagodbe ili promjene programa. Opis operacija (svrha, mogućnosti) korištenja (upotrebe) programa svrhe programa (što “radi”, koji su ulazni i izlazni podaci...) sustavnih potreba (operacijski sustav, konfiguracija računala, disk, karakteristike radne memorije...), objašnjenje postupka instaliranja, objašnjenje izvođenja i korištenja, granice upotrebe... Programski komentari – “sažeto dokumentiranje” Metode programiranja i predstavljanje algoritama Modularno programiranje Program se sastoji od modula (procedura, funkcija, potprograma...) koji se mogu nezavisno razvijati i zatim koristiti u više programa prednost: olakšano pisanje, testiranje, unošenje izmjena. Osnovne programske strukture Pravocrtan tijek programa, sekvenca Programska grananja if (ako) if-else (ako-onda) switch (višestruko grananje) Programske petlje for (poznati broj ponavljanja) do-while (ispitivanje uvjeta ponavljanja na kraju) while (ispitivanje uvjeta ponavljanja na početku) Neki načini opisa algoritama Blok dijagrami - grafički Pseudokod – riječima ako, onda, za, učitaj, ispiši, dok je... i=1, s=0; radi učitaj broj ako je (broj>0) onda s+=broj; dok je (i++<=10&&s<99); ispiši s, i