restart: with(Maplets[Elements]); with(combinat, randcomb,powerset); # problem3 := proc() local respond, U, finished, A, answer, m, CurrentMaplet; respond := (m,n) -> if (m=n) then RETURN(CORRECT) else RETURN(INCORRECT) fi; randomize(); U:={0,1,2,3,4,5,6,7,8,9,10}; finished := false; while (not finished) do A:= randcomb(U,2); answer := powerset(A); m := Maplet( Window( 'title'="Power Set", [[[cat("Let set A be ",convert(A,string),".")], "What is the powerset of A?",TextField['TF1'](20)], TextBox['TB1']('editable' = 'false'), [Button("Check", Evaluate('TB1'='respond(TF1, answer)')), Button("Quit", Shutdown("0")), Button("Another", Shutdown("1"))] ] ) ): CurrentMaplet := Maplets[Display](m); if (CurrentMaplet = "1") then finished := false else finished := true fi; end do; end proc; problem3();