######################################################################## ## DESCRIPTION ## A WeBWorK problem that asks students to calculate binomial probabilities. ## WeBWorK problem written by JoAnne Taormina, <joanne(dot)taormina(at)ncc(dot)edu> ## ENDDESCRIPTION ## ## KEYWORDS('binomial probability', 'discrete') ## ## Author('JoAnne Taormina') ## Institution('Nassau Community College') ######################################################################## DOCUMENT(); loadMacros( "PGstandard.pl", "MathObjects.pl", "PGgraphmacros.pl", "weightedGrader.pl", ); install_weighted_grader(); # make sure we're in the context we want Context("Numeric"); #random probability of success $prob_success_1 = random(.30, .70, .01); #random number of trials $trials = random(8, 12, 1); #random number of successes $successes = random(4, 7, 1); #answer to question 1 $combos = C($trials,$successes); $ans_1_1 = $combos * ($prob_success_1**$successes); $ans_1 = $ans_1_1 * ((1-$prob_success_1)**($trials-$successes)); $prob_success_percent = $prob_success_1 * 100; # round $ans_1 to 4 decimal places $ans_1 = int(10000*$ans_1+.5*($ans_1 <=> 0))/10000; $die_rolls = random(8, 12, 1); $die_successes=random(4, 6, 1); $die_num = random(1, 6, 1); $ans_2 = C($die_rolls,$die_successes)*((1/6)**$die_successes)*(1-(1/6))**($die_rolls-$die_successes); # round $ans_2 to 4 decimal places $ans_2 = int(10000*$ans_2+.5*($ans_2 <=> 0))/10000; #Joe probability of burned dinner $prob_success_dinner = random(.50, .70, .01); #random number of dinners $dinners = random(5, 10, 1); #random number of burnt dinners $dinners_burned_a = random(1, 4, 1); #answer to question 3 $ans_3= C($dinners, $dinners_burned_a)*($prob_success_dinner**$dinners_burned_a)*(1-$prob_success_dinner)**($dinners-$dinners_burned_a); # round $ans_3 to 4 decimal places $ans_3 = int(10000*$ans_3+.5*($ans_3 <=> 0))/10000; #at least $dinners_burned_b = $dinners - 2; #answer to question 4 for($i = $dinners_burned_b; $i<=$dinners; $i++) { $ans_4 += C($dinners, $i)*($prob_success_dinner**$i)*(1-$prob_success_dinner)**($dinners-$i); } # round $ans_4 to 4 decimal places $ans_4 = int(10000*$ans_4+.5*($ans_4 <=> 0))/10000; #less than $dinners_burned_c = 3; #answer to question 5 for($i = 0; $i<$dinners_burned_c; $i++) { $ans_5 += C($dinners, $i)*($prob_success_dinner**$i)*(1-$prob_success_dinner)**($dinners-$i); } # round $ans_5 to 4 decimal places $ans_5 = int(10000*$ans_5+.5*($ans_5 <=> 0))/10000; $prob_success_dinner = $prob_success_dinner * 100; $ans_1 = Compute($ans_1); $ans_2 = Compute($ans_2); $ans_3 = Compute($ans_3); $ans_4 = Compute($ans_4); $ans_5 = Compute($ans_5); TEXT(beginproblem()); Context()->texStrings; BEGIN_TEXT 1. Suppose the probability of success is \( p = $prob_success_percent %\). What is the probability of \( $successes \) successes in \( $trials \) trials? $BITALIC Express your answer as a decimal rounded to 4 decimal places after the decimal point.$EITALIC $BR $BR \{ ans_rule(5) \} $BR $BR 2. A fair die is rolled \( $die_rolls \) times. What is the probability of rolling a \( $die_num \) on the die \( $die_successes \) times? $BITALIC Express your answer as a decimal rounded to 4 decimal places after the decimal point. $EITALIC $BR $BR \{ ans_rule(5) \} $BR $BR 3. Joe is new to cooking. The probability that Joe burns dinner is \( $prob_success_dinner %\). $BR $BR (a) What is the probability that in the next \( $dinners \) dinners Joe prepares, \( $dinners_burned_a \) of them will burn? $BITALIC Express your answer as a decimal rounded to 4 decimal places after the decimal point. $EITALIC $BR $BR \{ ans_rule(5) \} $BR $BR (b) What is the probability that in the next \( $dinners \) dinners Joe prepares, at least \( $dinners_burned_b \) of them will burn? $BITALIC Express your answer as a decimal rounded to 4 decimal places after the decimal point. $EITALIC $BR $BR \{ ans_rule(5) \} $BR $BR (c) What is the probability that in the next \( $dinners \) dinners Joe prepares, less than \( $dinners_burned_c \) of them will burn? $BITALIC Express your answer as a decimal rounded to 4 decimal places after the decimal point. $EITALIC $BR $BR \{ ans_rule(5) \} $BR $BR $ECENTER END_TEXT Context("Numeric"); Context()->flags->set( tolerance=>0.00001, tolType=>"absolute" ); WEIGHTED_ANS($ans_1->cmp(),10); WEIGHTED_ANS($ans_2->cmp(),15); WEIGHTED_ANS($ans_3->cmp(),15); WEIGHTED_ANS($ans_4->cmp(),30); WEIGHTED_ANS($ans_5->cmp(),30); ENDDOCUMENT();