uitslag berekenen
hoi, Ik moet een soort online examen met multiple choice vragen maken waarbij je aan het einde dus moet zien of je geslaagd bent of niet. Bij elke vraag zie je of je hem correct of fout hebt maar het lukt niet om aan het einde aan te geven of je geslaagd bent of niet, weet iemand misschien hoe ik dit erin kan zetten?
Een andere optie is om bij te houden hoeveel vragen er goed beantwoord zijn en bij te houden bij hoeveel goed beantwoorde vragen (het aantal) de cursist geslaagd is (vooral handig wanneer het aantal vragen iedere keer het zelfde is).
Een derde optie is wat complexer. Wanneer het gewicht per vraag verschilt kan je per vraag instellen voor hoeveel het foute of goede antwoord mee weegt en daar een puntenaantal aan hangen. Vervolgens Bereken je aan het eind wat het puntenaantal is. Dit vergelijk je met een vooraf ingesteld minimum aan punten. Behaald de cursist precies dat aantal of meer dan is deze geslaagd, anders is de cursist gezakt.
De keuze voor welke voor jou het beste is is gedeeltelijk een persoonlijke keuze en word gedeeltelijk bepaald door de soort vragen. Kan je eens wat meer informatie geven? Er zijn meerdere manieren voor. Je kan laten berekenen bij welk percentage goed beantwoorde vragen de cursist geslaagd is (vooral bruikbaar wanneer het aantal vragen verschilt per keer dat het examen gemaakt word).
Ik heb alles al gemaakt inclusief de vragen en wanneer de vraag goed of fout is maar hij wilt aan het eind niet aangeven of degene die de vragen heeft ingevuld geslaagd is of niet. Het zijn telkens dezelfde 40 vragen random. Hij controleert de vragen met behulp van een array. Bedankt voor jullie reacties!
Het (theoretische) antwoord is simpel: je hebt een mechanisme nodig dat informatie over verschillende pagina-aanroepen onthoudt.
In dit geval is het ook belangrijk dat er weinig tot geen ruimte is dat er met deze informatie geknoeid kan worden. Daartoe kan het handig zijn om deze informatie buiten bereik van de deelnemer vast te leggen. Omdat je deze vraag in de rubriek "Algemene PHP scripting en meer" stelt ga ik er vanuit dat je al met een soort serverside scriptingtaal werkt.
Je zegt "Het zijn telkens dezelfde 40 vragen random", wat bedoel je hiermee? Dat dezelfde vragen in een willekeurige volgorde worden gesteld? Maar dan moet die volgorde toch ook ergens onthouden worden? Hoe weet je namelijk dat je vorige keer vraag 8 beantwoordde, en nu vraag 27?
Anyhow, een mechanisme om zaken te onthouden over meerdere pagina-aanroepen zijn sessies. Ik vergelijk dit zelf altijd met "server side cookies": aan de webserverkant kun je bijhouden wat iemand op welke vraag heeft beantwoord (en welke vragen reeds beantwoord zijn, zodat ze niet eindeloos nieuwe pogingen kunnen doen). Je zou de informatie in de sessie ook zo kunnen structureren dat je hier ook de identiteit van de deelnemer bijhoudt, en de (random) volgorde van de vragen hierin vastlegt. Webpagina's en het onderliggende protocol (o.a. HTTP) zijn stateless. Dit wil zeggen dat ze van zichzelf niets onthouden van historie, dat je voor deze pagina een andere pagina hebt aangeroepen houdt HTTP niet voor je bij (dit doet je browser).
Ik heb een inlogpagina en een database gebouwd zodat de antwoorden onthoud worden per kandidaat maar het lukt nu niet om deze antwoorden weer uit de database te halen en aan te geven of diegene geslaagd is. Of moet ik hiervoor naar een ander topic? met "het zijn telkens dezelfde 40 vragen random" bedoel ik dat dezelfde vragen in een willekeurige volgorde worden gesteld.
Als je database de volgende informatie bevat:
- alle vragen
- alle bijbehorende antwoorden
- het goede antwoord
- de antwoorden die de deelnemer heeft ingevuld
Dan is het prima mogelijk om te berekenen of iemand geslaagd is of niet indien je hiervoor een criterium hebt (wanneer is iemand geslaagd).
Hoe makkelijk dit is -ook al heb je bovenstaande informatie- hangt af van de structuur, hoe luidt deze? Stel je hebt geen 40 maar 5 vragen, vervolgens hussel je deze door elkaar: 3 1 4 5 2. Vervolgens heb je je examen waarbij je van vraag naar vraag navigeert (of staan alle vragen op één pagina?). Je zult dan op een of andere manier vastgelegd moeten hebben dat op de eerste pagina vraag 3 wordt getoond, daarna vraag 1 et cetera toch?
Wat als je het aantal goede en foute vragen bijhoud, en vervolgens bij een x aantal vragen goed ben je geslaagd (of niet)
Is het misschien een idee om eerst over de vragen na te denken? De antwoorden te noteren en dan een waarde er aan te hangen. De volgorde van de vragen vaststellen. Dan pas een formulier opstellen. Dan formulier beoordelen. Ergens moet je beginnen. Dus eerst de vragen maar....
Een andere optie is om bij te houden hoeveel vragen er goed beantwoord zijn en bij te houden bij hoeveel goed beantwoorde vragen (het aantal) de cursist geslaagd is (vooral handig wanneer het aantal vragen iedere keer het zelfde is).
Een derde optie is wat complexer. Wanneer het gewicht per vraag verschilt kan je per vraag instellen voor hoeveel het foute of goede antwoord mee weegt en daar een puntenaantal aan hangen. Vervolgens Bereken je aan het eind wat het puntenaantal is. Dit vergelijk je met een vooraf ingesteld minimum aan punten. Behaald de cursist precies dat aantal of meer dan is deze geslaagd, anders is de cursist gezakt.
De keuze voor welke voor jou het beste is is gedeeltelijk een persoonlijke keuze en word gedeeltelijk bepaald door de soort vragen. Kan je eens wat meer informatie geven?
Ik heb alles al gemaakt inclusief de vragen en wanneer de vraag goed of fout is maar hij wilt aan het eind niet aangeven of degene die de vragen heeft ingevuld geslaagd is of niet. Het zijn telkens dezelfde 40 vragen random. Hij controleert de vragen met behulp van een array.
Het (theoretische) antwoord is simpel: je hebt een mechanisme nodig dat informatie over verschillende pagina-aanroepen onthoudt.
In dit geval is het ook belangrijk dat er weinig tot geen ruimte is dat er met deze informatie geknoeid kan worden. Daartoe kan het handig zijn om deze informatie buiten bereik van de deelnemer vast te leggen. Omdat je deze vraag in de rubriek "Algemene PHP scripting en meer" stelt ga ik er vanuit dat je al met een soort serverside scriptingtaal werkt.
Je zegt "Het zijn telkens dezelfde 40 vragen random", wat bedoel je hiermee? Dat dezelfde vragen in een willekeurige volgorde worden gesteld? Maar dan moet die volgorde toch ook ergens onthouden worden? Hoe weet je namelijk dat je vorige keer vraag 8 beantwoordde, en nu vraag 27?
Anyhow, een mechanisme om zaken te onthouden over meerdere pagina-aanroepen zijn sessies. Ik vergelijk dit zelf altijd met "server side cookies": aan de webserverkant kun je bijhouden wat iemand op welke vraag heeft beantwoord (en welke vragen reeds beantwoord zijn, zodat ze niet eindeloos nieuwe pogingen kunnen doen). Je zou de informatie in de sessie ook zo kunnen structureren dat je hier ook de identiteit van de deelnemer bijhoudt, en de (random) volgorde van de vragen hierin vastlegt.
Ik heb een inlogpagina en een database gebouwd zodat de antwoorden onthoud worden per kandidaat maar het lukt nu niet om deze antwoorden weer uit de database te halen en aan te geven of diegene geslaagd is. Of moet ik hiervoor naar een ander topic?
Gewijzigd op 13/04/2018 09:33:03 door Maaike Gresnigt
Sla je de vragen en antwoorden per kandidaat op? Dan kun je een query maken met de juiste antwoorden per kandidaat. En dan heb jij je lijst. Je moet namelijk wel weten welke vraag gesteld is. Omdat je anders alleen antwoorden hebt, maar weer je niet meer bij welke vraag omdat die daarom was. Dus de structuur van de database is belangrijk om de resultaten te ‘berekenen’.
Quote:
Ik heb een inlogpagina en een database gebouwd zodat de antwoorden onthoud worden per kandidaat maar het lukt nu niet om deze antwoorden weer uit de database te halen en aan te geven of diegene geslaagd is. Of moet ik hiervoor naar een ander topic?
Als je database de volgende informatie bevat:
- alle vragen
- alle bijbehorende antwoorden
- het goede antwoord
- de antwoorden die de deelnemer heeft ingevuld
Dan is het prima mogelijk om te berekenen of iemand geslaagd is of niet indien je hiervoor een criterium hebt (wanneer is iemand geslaagd).
Hoe makkelijk dit is -ook al heb je bovenstaande informatie- hangt af van de structuur, hoe luidt deze?