Disclaimer

Pentru publicarea articolelor in cadrul acestei reviste, ele trebuiesc furnizate in format electronic, trebuie  avizate de catre unul din membrii echipei editoriale si presupune automat din acel moment asumarea de catre autor a raspunderii privind originalitatea continutului articolului respectiv.

« Septembrie 2019 »
Septembrie
LuMaMiJoViSaDu
1
2345678
9101112131415
16171819202122
23242526272829
30
Autentificare


Ai uitat parola?
Utilizator nou?
 
Prima pagina Revista Numarul 6 - an scolar 2013 - 2014 Programarea testelor psihologice

Sari la continut | Sari la navigare

Programarea testelor psihologice

partea I

M-am lovit de curand de necesitatea programarii unor teste psihologice si am fost bucuroasa sa pot realiza aceasta cerinta intr-un mod incantator. De fapt, implementarea interpretarii acestor teste trebuia facuta intr-un mediu nu foarte ofertant pentru un programator, mediu care nu imi permitea decat utilizarea unor instructiuni simple, precum if, si/sau a unor functii de baza, precum sum, min, max, medie. Nu vreau sa intru in detaliile testului ci vreau sa va prezint varinata pe care am gasit-o eu sperand ca v-am starnit interesul pentru a incerca, voi insiva, sa gasiti o varianta mai buna.  

Pe scurt, un respondent are in fata 4 seturi de intrebari grupate in 4 categorii simbolizate prin "e"/"i", "s"/"n", "t"/"f", "j"/"p". Raspunde la fiecare set de  intrebari si completeaza intr-un tabel cu 2 coloane raspunsurile date. Pe fiecare set va iesi o maroritate pe unul din simboluri: e sau i, s sau n, t sau f si, respectiv, j sau p. Astfel, raspunsul sau final nu se poate situa decat in una din urmatoarele 16 cazuri: estj, estp, esfj, esfp, entj, entp, enfj, enfp, istj, istp, isfj, isfp, intj, intp, infj sau infp.

Cum mediul meu de programare, destul de rudimentar de attfel, dar extrem de util in ceea ce priveste dezvoltarea testelor psohologice, nu imi permite instructiuni avansate si eficiente nu am putut folosi decat "clasicul" IF.

Iata rezultatul:

{if(e>i, if(s>n, if(t>f, if(j>p,"estj","estp"), if(j>p,"esfj","esfp")), if(t>f, if(j>p,"entj","entp"), if(j>p,"enfj","enfp"))), if(s>n, if(t>f, if(j>p,"istj","istp"), if(j>p,"isfj","isfp")), if(t>f, if(j>p,"intj","intp"), if(j>p,"infj","infp"))))}

Am testat algoritmul si in C++ si iata sursa pentru cei care vor sa o probeze:

#include<iostream.h>
void main()
{int e,i,s,n,t,f,j,p; cin>>e>>i>>s>>n>>t>>f>>j>>p;
 if (e>i) {if (s>n) {if (t>f) {if (j>p) cout<<"estj"; else cout<<"estp"; } else {if (j>p) cout<<"esfj"; else cout<<"esfp"; } } else
       {if (t>f) {if (j>p) cout<<"entj"; else cout<<"entp";} else {if (j>p) cout<<"enfj"; else cout<<"enfp";} } }
 else
       {if (s>n) {if (t>f) {if (j>p) cout<<"istj";else cout<<"istp";} else {if (j>p) cout<<"isfj"; else cout<<"isfp"; } } else
       {if (t>f) {if (j>p) cout<<"intj"; else cout<<"intp"; } else {if (j>p) cout<<"infj"; else cout<<"infp"; } } }

}

Actiuni document