##DESCRIPTION
## Compound Inequalities
##
##ENDDESCRIPTION
# Original Problem Author: Modified by Shafiu Jibrin
# from setSets/ur_st_1_2.pg
# Location: Northern Arizona University
## DBsubject(Set theory)
## DBchapter(Basic properties and operations)
## DBsection(Union and intersection)
## Institution(The College of Idaho)
## Author(RA Cruz)
## Level(2)
## TitleText1('Essentials of Intermediate Algebra')
## AuthorText1('Blitzer')
## EditionText1('1')
## Section1('4.1')
## Problem1('')
## KEYWORDS('inequalities')
## Date: 2007/10
DOCUMENT(); # This should be the first executable line in the problem.
loadMacros(
"PGstandard.pl",
"PGchoicemacros.pl",
"MathObjects.pl",
# "PGgraphmacros.pl",
# "PGnauGraphics.pl",
# "contextInequalitiesAllowStrings.pl",
"answerHints.pl",
# "CofIdaho_macros.pl"
);
TEXT(beginproblem());
######################################
# Setup
@slice = NchooseK(12,9);
@A = ($slice[1], $slice[2], $slice[3], $slice[4]);
@B = ($slice[5], $slice[6], $slice[8]);
$AiB = "N";
@AuB = ($slice[1], $slice[2], $slice[3], $slice[4], $slice[5], $slice[6],$slice[8]);
for ($k=3; $k>0; $k-=1) {</font></div><div><font face="courier new, courier, monospace"> for ($i=0; $i<$k; $i+=1){</font></div><div><font face="courier new, courier, monospace"> if($A[$i]>$A[$k]) {</font></div><div><font face="courier new, courier, monospace"> $b = $A[$i];</font></div><div><font face="courier new, courier, monospace"> $A[$i] = $A[$k];</font></div><div><font face="courier new, courier, monospace"> $A[$k] = $b;</font></div><div><font face="courier new, courier, monospace"> }
}
}
for ($k=2; $k>0; $k-=1) {</font></div><div><font face="courier new, courier, monospace"> for ($i=0; $i<$k; $i+=1){</font></div><div><font face="courier new, courier, monospace"> if($B[$i]>$B[$k]) {</font></div><div><font face="courier new, courier, monospace"> $b = $B[$i];</font></div><div><font face="courier new, courier, monospace"> $B[$i] = $B[$k];</font></div><div><font face="courier new, courier, monospace"> $B[$k] = $b;</font></div><div><font face="courier new, courier, monospace"> }
}
}
#for ($k=2; $k>0; $k-=1) {</font></div><div><font face="courier new, courier, monospace"># for ($i=0; $i<$k; $i+=1){</font></div><div><font face="courier new, courier, monospace"># if($AiB[$i]>$AiB[$k]) {</font></div><div><font face="courier new, courier, monospace"># $b = $AiB[$i];</font></div><div><font face="courier new, courier, monospace"># $AiB[$i] = $AiB[$k];</font></div><div><font face="courier new, courier, monospace"># $AiB[$k] = $b;</font></div><div><font face="courier new, courier, monospace"># }
# }
#}
for ($k=6; $k>0; $k-=1) {</font></div><div><font face="courier new, courier, monospace"> for ($i=0; $i<$k; $i+=1){</font></div><div><font face="courier new, courier, monospace"> if($AuB[$i]>$AuB[$k]) {</font></div><div><font face="courier new, courier, monospace"> $b = $AuB[$i];</font></div><div><font face="courier new, courier, monospace"> $AuB[$i] = $AuB[$k];</font></div><div><font face="courier new, courier, monospace"> $AuB[$k] = $b;</font></div><div><font face="courier new, courier, monospace"> }
}
}
$LEFT_BRACE = '\{';</font></div><div><font face="courier new, courier, monospace">$RIGHT_BRACE = '\}';
Context("Interval");
$ans_a = Set();
######################################
# Main text
Context()->texStrings;
BEGIN_TEXT
Let \( A= ${LEFT_BRACE} $A[0], $A[1], $A[2], $A[3] ${RIGHT_BRACE}\) , $SPACE
\( B= ${LEFT_BRACE} $B[0], $B[1], $B[2] ${RIGHT_BRACE}\).
$BR
Find the following sets in list form. Separate elements with commas. If there are no elements in the set, enter "NONE".
$PAR
a) \( A \cap B = \) \{$ans_a->ans_rule(25) \}
$PAR
b) \( A \cup B = \) \{ans_rule(25)\}
END_TEXT
Context()->normalStrings;
######################################
# Answer
ANS($ans_a->cmp);
Context()->parens->replace('{' => {close => '}', type => 'Set'});
# $ans_a = String("NONE");
#ANS($ans_a->cmp->withPostFilter(AnswerHints(
# sub {</font></div><div><font face="courier new, courier, monospace"> # my ($correct,$student,$ans) = @_;</font></div><div><font face="courier new, courier, monospace"> # if ($student=~ /\w/) {return $student !~ /[}{]/;}
# } => ["Enter your answer with set notation: { ... }",
# checkCorrect => 1,
# score => 0]
#)));
$ans_b = Set("{$AuB[0],$AuB[1],$AuB[2],$AuB[3],$AuB[4],$AuB[5],$AuB[6]}");
#Answer hints not working
ANS($ans_b->cmp->withPostFilter(AnswerHints(
sub {</font></div><div><font face="courier new, courier, monospace"> my ($correct,$student,$ans) = @_;</font></div><div><font face="courier new, courier, monospace"> return $student !~ /[}{]/;</font></div><div><font face="courier new, courier, monospace"> } => ["Enter your answer with set notation: { ... }",
checkCorrect => 1,
score => 0]
)));
$showPartialCorrectAnswers = 1;
######################################
COMMENT('MathObject version');
ENDDOCUMENT();