infoarena

infoarena - concursuri, probleme, evaluator, articole => Informatica => Subiect creat de: Dragos din Februarie 23, 2010, 09:21:40



Titlul: Assert
Scris de: Dragos din Februarie 23, 2010, 09:21:40
Salut!
La ce ajuta funtia assert si headerul assert? ( pe www.cplusplus.com e cam vaga descrierea si nu pot intelege)
Multumesc anticipat!


Titlul: Răspuns: Assert
Scris de: alexandru din Februarie 23, 2010, 10:03:33
Functia e definita in cassert.
assert( conditie ) - daca conditia este falsa opreste executia programului trimitand un mesaj de eroare


Titlul: Răspuns: Assert
Scris de: Dragos din Februarie 23, 2010, 10:40:29
Functia e definita in cassert.
assert( conditie ) - daca conditia este falsa opreste executia programului trimitand un mesaj de eroare
Adica in practica o putem folosi ca sa oprim programul atunci cand facem algoritmi probabilistici?
Si am auzit ca se foloseste la debuging dar nu stiu cum?


Titlul: Răspuns: Assert
Scris de: Savin Tiberiu din Februarie 23, 2010, 15:56:50
Autorii problemelor folosesc functia assert pentru a verifica validitatea testelor. De exemplu daca in enunt avem restrictia N <= 100000 e foarte probabil ca in programul celui care a adaugat problema sa existe urmatoarele linii de cod:
Cod:
assert(scanf("%d", &N) == 1) // functia scanf returneaza numarul de variabile de citite. In acest caz se verifica daca s-a citit N-ul.
assert( 0 <= N && N <= 100 000) // verifica ca numarul citit sa respecte restrictiile din enunt


Titlul: Răspuns: Assert
Scris de: Dragos din Februarie 23, 2010, 20:16:56
Autorii problemelor folosesc functia assert pentru a verifica validitatea testelor. De exemplu daca in enunt avem restrictia N <= 100000 e foarte probabil ca in programul celui care a adaugat problema sa existe urmatoarele linii de cod:
Cod:
assert(scanf("%d", &N) == 1) // functia scanf returneaza numarul de variabile de citite. In acest caz se verifica daca s-a citit N-ul.
assert( 0 <= N && N <= 100 000) // verifica ca numarul citit sa respecte restrictiile din enunt
Multumesc!
Asta e raspunsul de care aveam nevoie!