(function() {
var array = [];
var types = shuffle( [1, 1, 1, 2, 2, 2, 3, 3, 3], 5 );
var used = {};
while ( array.length < 5 ) {
var type = types[ array.length ], n, ns;
switch ( type ) {
case 1: // decimal
n = randRange( 100, 999 ) / 1000;
ns = n.toFixed( 3 );
if ( !used[ ns ] ) {
array.push([ type, n, ns, "= " + ns ]);
used[ ns ] = true;
}
break;
case 2: // percentage
n = randRange( 100, 999 ) / 1000;
ns = n.toFixed( 3 );
if ( !used[ ns ] ) {
array.push([ type, n, (100 * n).toFixed( 1 ) + "\\%", "= " + ns ]);
used[ ns ] = true;
}
break;
case 3: // fraction
var d = 4 * randRange( 5, 15 );
n = randRange( 1, d - 1 );
ns = ( n / d ).toFixed( 3 );
if ( !used[ ns ] ) {
var gcd = KhanUtil.getGCD( n, d );
array.push([ type, n/d, fractionReduce( n, d, true ), "\\approx " + ns, (n/gcd) + "/" + (d/gcd) ]);
used[ ns ] = true;
}
break;
}
}
return array;
})()
jQuery.map( NUMS, function( el ) {
return el[2];
} ).join( "," )
jQuery.extend( true, [], NUMS ).sort( function(a, b) {
return a[1] - b[1];
} )
jQuery.map( NUMS_SORT, function( el ) {
return el[2];
} ).join( "," )
jQuery.map( NUMS_SORT, function( el ) {
return el[3].match( / (.+)$/ )[1];
} ).join( ",\\space" )
createSorter()
Järjesta järgnevad arvud väikseimast suurimani:
SORTER.init( "sortable" )
Muuda arvude järjekorda vasakult paremale, nii et vasakpoolseim oleks väikseim.
SORTER.getContent()
return guess.join( "," ) === NUMS_SORT_TEX;
SORTER.setContent( guess );
Teisenda kõik arvud kümnendmurdudeks.
\begin{align*}
NUM[4] || NUM[2] & NUM[3] \\
\end{align*}
Järjesta kümnendmurrud järgmiselt: NUMS_SORT_DECS
.
Teisenda eelnevalt muudetud arvud tagasi esialgsele kujule: \Large{NUMS_SORT_TEX}
.