Construirea programelor reprezinta o activitate creatoare si inovatoare. Cerintele activitatii de programare reclama nu numai rezolvarea problemei, dar si instituirea unui stil specific ce permite o abordare sistematica.
Īn strategiile de dezvoltare a programelor, o mare atentie se acorda identificarii si separarii subproblemelor (mai simple) din probleme (mai complicate), ajungāndu-se la elemente suficient de simple pentru a fi solutionate direct, frontal. Limbajul (Borland) PASCAL sustine aceasta strategie prin prezenta procedurilor īn programe, proceduri ce reprezinta etape de abordare "top-down" (de sus īn jos) a programelor.
Cānd o astfel de abordare este obtinuta printr-un program care are o functionalitate partiala - pe masura dezvoltarii sale - vorbim despre o "rafinare a pasilor" (privind "drumul" de la problema la rezolvarea ei). Īn ambele situatii, procedurile constituie solutia ideala a programarii moderne si sustin o abordare īn echipa a programelor - baza a unei productivitati remarcabile.
Procedura debuteaza cu un antet specific, dupa care pot urma declaratii de variabile (VAR) si constante (CONST) si, īn final, sectiunea enuntiativa BEGIN - END - care poate fi vida, la limita. O procedura poate prelua si returna parametri care reprezinta date de intrare si, respectiv, de iesire. Exista o corespondenta stricta īntre parametrii formali ai procedurii si cei efectivi (numar, dispunere, tip).
Un aspect ce nu trebuie neglijat īn realizarea programelor este interactivitatea lor, ce are ca scop un dialog coerent īntre masina (program) si utilizatorul uman. Acest dialog trebuie sa reiasa dintr-un compromis īntre claritate si conciziune.