next up previous
Next: About this document Up: Vaje 12 Previous: Poizvedovanja

Primer pogodbe:

typedef SKL_tSklad;

SKL_tSklad SKL_Ustvari();
/*  Desc:   Ustvari prazen sklad.
    Parms:  /
    Result: sklad
    Pre:    /
    Post:   SKL_Prazen(sklad)
*/

void SKL_Unici(SKL_tSklad * sklad);
 /*  Desc:   Unici sklad.
    Parms:  sklad - sklad, ki ga unicimo (po referenci)
    Result: /
    Pre:    sklad je bil ustvarjen
    Po:     sklad ne moremo vec uporabiti
*/

void SKL_Nalozi(SKL_tSklad * sklad,
                int element);
/*  Desc:   Na sklad nalozi element.
    Parms:  sklad - sklad, na katerega nalozimo element (po referenci)
            element - na sklad nalozen element (po vrednosti)
    Result: /
    Pre:    NOT (SKL_Poln(sklad))
    Post:   sklad' = [element | sklad]

int SKL_Zlozi(SKL_tSklad * sklad);
/*  Desc:   S sklada zlozi element.
    Parms:  sklad - sklad, s katerega zlozimo element (po referenci)
    Result: element
    Pre:    (NOT SKL_Prazen(sklad)) AND (sklad = [element | ostalo])
    Post:   sklad' = ostalo
*/

bool SKL_Prazen(SKL_tSklad sklad);  /* ...(const SKL_tSklad *sklad) */
/*  Desc:   Preveri, ali je sklad prazen in tedaj vrne vrednost TRUE, sicer
            FALSE.
    Parms:  sklad - sklad, za katerega poizvedujemo
    Result: {if sklad = [] then TRUE else FALSE }
    Pre:    sklad ustvarjen
    Post:   /
*/

/* Potrebujemo se funkcijo bool SKL_Prazen(SKL_tSklad * sklad) */





Andrej Brodnik (Andy)
Fri Jan 9 10:16:43 MET 1998