Am fost interesat de această întrebare și am decis să fac un mic exemplu ca exemplu. Există o mulțime de bukov = /
Voi începe din afară: nu duceți știința politică, este doar punctul meu de vedere cu privire la soluționarea problemei. Acesta este zborul imaginației mele, o astfel de piesă de bază, pe care o puteți dezvolta, dacă se dorește.
Și acum în afaceri:
programul citește datele din fișierul ini, iar pe baza lor creează un copac. în copac, fiecare ramură este o întrebare. În funcție de răspunsul la întrebare (da sau nu), se selectează următoarea întrebare. Numărul de ramuri de copaci nu contează pentru program. La o clasă întrebarea este parametrul YesNo, poate fi folosită pentru verificarea corectitudinii răspunsului.
exemplu fișier ini:
Structura fișierului ini:
cheie - identificator al întrebării (nu trebuie repetată) valoare - părintele întrebării (adică întrebarea care o precedă)
cheia - identificatorul întrebării (trebuie să corespundă ID-ului din tabelul Întrebări) valoare - textul întrebării
cheia - identificatorul întrebării (trebuie să corespundă ID-ului din tabelul Întrebări) valoare - aici puteți experimenta cum vreți
În primul rând, descriem clasa de întrebări:
Acum, de fapt, codul aplicației:
Să fie un tabel de chestionar: 10 seturi de câte 10 întrebări fiecare.
O opțiune simplă. Amestecare aleatorie. Pentru fiecare subiect, întrebările lor (indiferent de răspuns).
- Creați un tabel cu numere de întrebări în tabela sursă.
- Alegeți întâmplător întrebări pentru fiecare apel.
- Desfășurați un test, extragând întrebarea din tabelul sursă pe baza numărului întrebării.
- Creați un arbore cu numere de întrebări în tabela sursă.
- La fiecare nivel, ramurile copacului sunt determinate de posibilele răspunsuri.
- Trecem testul, coborâm pe ramuri.
Citiți mai multe despre copacii din Delphi: o serie de articole.