spell IT

new

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.

Iulie 2020 »
Iulie
LuMaMiJoViSaDu
12345
6789101112
13141516171819
20212223242526
2728293031
 

Sari la continut | Sari la navigare

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