version 1.136, 2008/10/24 16:22:54
|
version 1.137, 2008/11/14 21:27:17
|
Line 25
|
Line 25
|
# http://www.lon-capa.org/ |
# http://www.lon-capa.org/ |
# |
# |
|
|
|
|
|
=head1 NAME |
|
|
|
Apache::radiobuttonresponse |
|
|
|
=head1 SYNOPSIS |
|
|
|
Handles multiple-choice style responses. |
|
|
|
This is part of the LearningOnline Network with CAPA project |
|
described at http://www.lon-capa.org. |
|
|
|
=head1 HANDLER SUBROUTINE |
|
|
|
start_radiobuttonresponse() |
|
|
|
=head1 OTHER SUBROUTINES |
|
|
|
=over |
|
|
|
=item * |
|
|
|
bubble_line_count() |
|
|
|
=item * |
|
|
|
end_radiobuttonresponse() |
|
|
|
=item * |
|
|
|
start_foilgroup() |
|
|
|
=item * |
|
|
|
storesurvey() |
|
|
|
=item * |
|
|
|
grade_response() |
|
|
|
=item * |
|
|
|
end_foilgroup() |
|
|
|
=item * |
|
|
|
getfoilcounts() |
|
|
|
=item * |
|
|
|
format_prior_answer() |
|
|
|
=item * |
|
|
|
displayallfoils() |
|
|
|
=item * |
|
|
|
&whichfoils($max,$randomize) |
|
|
|
Randomizes the list of foils. |
|
Respects |
|
- each foils desire to be randomized |
|
- the existance of Concept groups of foils (select 1 foil from each) |
|
- and selects a single correct statement from all possilble true statments |
|
- and limits it to a toal of $max foils |
|
|
|
WARNING: this routine uses the random number generator, it should only |
|
be called once per target, otherwise it can cause randomness changes in |
|
homework problems. |
|
|
|
Arguments |
|
$max - maximum number of foils to select (including the true one) |
|
(so a max of 5 is: 1 true, 4 false) |
|
|
|
$randomize - whether to randomize the listing of foils, by default |
|
will randomize, only if randomize is 'no' will it not |
|
|
|
Returns |
|
$answer - location in the array of the correct answer |
|
@foils - array of foil names in to display order |
|
|
|
=item * |
|
|
|
displayfoils() |
|
|
|
=item * |
|
|
|
displayallanswers() |
|
|
|
=item * |
|
|
|
displayanswers() |
|
|
|
=item * |
|
|
|
start_conceptgroup() |
|
|
|
=item * |
|
|
|
end_conceptgroup() |
|
|
|
=item * |
|
|
|
insert_conceptgroup() |
|
|
|
=item * |
|
|
|
start_foil() |
|
|
|
=item * |
|
|
|
end_foil() |
|
|
|
=item * |
|
|
|
insert_foil() |
|
|
|
=back |
|
|
|
=cut |
|
|
package Apache::radiobuttonresponse; |
package Apache::radiobuttonresponse; |
use strict; |
use strict; |
use HTML::Entities(); |
use HTML::Entities(); |
Line 403 sub displayallfoils {
|
Line 525 sub displayallfoils {
|
return $result; |
return $result; |
} |
} |
|
|
=pod |
|
|
|
=item &whichfoils($max,$randomize) |
|
|
|
Randomizes the list of foils. |
|
Respects |
|
- each foils desire to be randomized |
|
- the existance of Concept groups of foils (select 1 foil from each) |
|
- and selects a single correct statement from all possilble true statments |
|
- and limits it to a toal of $max foils |
|
|
|
WARNING: this routine uses the random number generator, it should only |
|
be called once per target, otherwise it can cause randomness changes in |
|
homework problems. |
|
|
|
Arguments |
|
$max - maximum number of foils to select (including the true one) |
|
(so a max of 5 is: 1 true, 4 false) |
|
|
|
$randomize - whether to randomize the listing of foils, by default |
|
will randomize, only if randomize is 'no' will it not |
|
|
|
Returns |
|
$answer - location in the array of the correct answer |
|
@foils - array of foil names in to display order |
|
|
|
=cut |
|
|
|
sub whichfoils { |
sub whichfoils { |
my ($max,$randomize)=@_; |
my ($max,$randomize)=@_; |