222 lines
5.8 KiB
PHP
222 lines
5.8 KiB
PHP
<?php
|
|
|
|
namespace App\Model;
|
|
use CodeIgniter\Model;
|
|
|
|
class MathsModel extends Model
|
|
{
|
|
|
|
|
|
protected function initialize()
|
|
{
|
|
parent::initialize(); // TODO: Change the autogenerated stub
|
|
}
|
|
|
|
public function PageData($printableCode){
|
|
|
|
// Check if function is available first
|
|
return $this->$printableCode();
|
|
}
|
|
|
|
private function SIMULTAN1(){
|
|
$data = [];
|
|
for ($ii = 0; $ii < 50; $ii++) {
|
|
|
|
$la1 = array("x","a","p","r","q","s"); // your choice for variale name
|
|
$la2 = array("y","z","n","m","u","f"); // your choice for variale name different from list la1
|
|
|
|
$let1 = $la1[rand(0,5)]; // pick a variale name to use
|
|
$let2 = $la2[rand(0,5)]; // pick a variale name to use
|
|
|
|
$ans1 = rand(1,9); // generate the solution 1
|
|
$ans2 = rand(2,11); // generate the solution 2
|
|
if ($ans2 == $ans1) $ans2 = rand(2,11); // regenrate it
|
|
|
|
$c1 = rand(1,6);
|
|
$c2 = rand(1,6);
|
|
$c3 = rand(1,6); if ($c3 == $c1) $c3 = rand(2,11); // regenrate it
|
|
$c4 = rand(1,6); if ($c4 == $c2) $c4 = rand(2,11); // regenrate it
|
|
|
|
$mopt = array(1,-1);
|
|
$mp1 =$mopt[rand(0,1)];
|
|
$mp2 =$mopt[rand(0,1)];
|
|
|
|
$tot1 = $c1*$ans1 + $mp1*$c2*$ans2;
|
|
$tot2 = $c3*$ans1 + $mp2*$c4*$ans2;
|
|
|
|
$question1 = " $c1$let1" .( $mp1>0?"+":"-"). "$c2$let2 = $tot1 ";
|
|
$question2 = " $c3$let1" .( $mp2>0?"+":"-"). "$c4$let2 = $tot2 ";
|
|
$question3 = " What is $let1 and $let2 ?";
|
|
|
|
$realQ = array(
|
|
'no'=>$ii+1,
|
|
'l1'=>$question1,
|
|
'l2'=>$question2,
|
|
'l3'=>$question3,
|
|
'q'=>$question1 ."<br>".$question2 ."<br>". $question3,
|
|
'ans'=> $ans1.",".$ans2
|
|
);
|
|
$data[] = $realQ;
|
|
|
|
}
|
|
|
|
$result =array(
|
|
'desc' =>'Basic Simultaneous Equations',
|
|
'detail'=> 'Basic Simultaneous Equations Practice',
|
|
'col' => 1,
|
|
'frame'=>'line',
|
|
'data'=>$data
|
|
);
|
|
return $result;
|
|
}
|
|
|
|
private function EQUATION1(){
|
|
$data = [];
|
|
|
|
$p1=['Apple','Banana','Gape'];
|
|
$p2=['Lemon','Mango','Orange'];
|
|
$txtL1 = $p1[rand(0,2)];
|
|
$txtL2 = $p2[rand(0,2)];
|
|
for ($ii = 0; $ii < 24; $ii++) {
|
|
|
|
$xpart = rand(1, 2);
|
|
$xp = "";
|
|
for ($i = 0; $i < $xpart; $i++) {
|
|
$xc = rand(1,4);
|
|
$xp .= ($xc>1?$xc:'')." ".$txtL1.($xc>1?"s":'').($i< $xpart-1?" + ":'');
|
|
// $i=$i+$xc;
|
|
}
|
|
|
|
$ypart = rand(1, 2);
|
|
$yp = "";
|
|
for ($iy = 0; $iy < $ypart; $iy++) {
|
|
$yc = rand(1,6);
|
|
$yp .= " + ". ($yc>1?$yc:'')." ".$txtL2.($yc>1?"s":'');
|
|
}
|
|
$question = $xp . $yp. " = ";
|
|
|
|
$realQ = array(
|
|
'no'=>$ii+1,
|
|
'l1'=>$xp,
|
|
'l2'=>$yp,
|
|
'l3'=>'',
|
|
'q'=>$question,
|
|
'ans'=> ''
|
|
);
|
|
$data[] = $realQ;
|
|
}
|
|
|
|
|
|
|
|
$result =array(
|
|
'desc' =>'Basic Equations Level 1',
|
|
'detail'=> 'Basic Equations Level 1 Practice, Simplify the expressions',
|
|
'col' => 1,
|
|
'frame'=>'line',
|
|
'data'=>$data
|
|
);
|
|
return $result;
|
|
}
|
|
|
|
private function EXPONENT1(){
|
|
$data = [];
|
|
$la1 = array("x","a","p","r","q","s","y","z","n","m","u","f");
|
|
|
|
for ($ii = 0; $ii < 50; $ii++) {
|
|
$numV = rand(2,3);
|
|
|
|
$var_list= array();
|
|
|
|
for ($i=0; $i<$numV; $i++){
|
|
$var_list[$i] = $la1[rand(0,(count($la1)-1))];
|
|
}
|
|
|
|
$numQ = rand(4,8);
|
|
|
|
$quest_list= array();
|
|
$quest ="";
|
|
for ($i=0; $i<$numQ; $i++){
|
|
$quest_list[$i] = $var_list[rand(0,(count($var_list)-1))];
|
|
$quest .= ($i>0?" . ":'').$quest_list[$i];
|
|
}
|
|
|
|
$realQ = array(
|
|
'no'=>$ii+1,
|
|
'l1'=>'',
|
|
'l2'=>'',
|
|
'l3'=>'',
|
|
'q'=>$quest." = ",
|
|
'ans'=> ''
|
|
);
|
|
$data[] = $realQ;
|
|
}
|
|
|
|
$result =array(
|
|
'desc' =>'Basic Exponential Expression',
|
|
'detail'=> 'Basic Exponential Expression Level 1, Simplify the expressions',
|
|
'col' => 1,
|
|
'frame'=>'line',
|
|
'data'=>$data
|
|
);
|
|
return $result;
|
|
|
|
}
|
|
|
|
private function EQUATION4(){
|
|
$data = [];
|
|
|
|
$la1 = array("x","a","p","r","q","s","y","z","n","m","u","f");
|
|
|
|
for ($ii = 0; $ii < 50; $ii++) {
|
|
$numV = rand(2, 3);
|
|
|
|
$var_list = array();
|
|
|
|
for ($i = 0; $i < $numV; $i++) {
|
|
$var_list[$i] = $la1[rand(0, (count($la1) - 1))];
|
|
}
|
|
|
|
$numQ = rand(4, 8);
|
|
$sign_arr = array("+", "-");
|
|
|
|
$quest_list = array();
|
|
$quest = "";
|
|
for ($i = 0; $i < $numQ; $i++) {
|
|
$quest_list[$i] = $var_list[rand(0, (count($var_list) - 1))];
|
|
$sgn = $sign_arr[rand(0, 1)];
|
|
if ($i == 0 && $sgn == "+") {
|
|
$sgn = "";
|
|
}
|
|
$que = rand(1, 5);
|
|
if ($que == 1) {
|
|
$que = "";
|
|
}
|
|
|
|
$quest .= " ".$sgn . $que . $quest_list[$i];
|
|
}
|
|
|
|
$realQ = array(
|
|
'no' => $ii + 1,
|
|
'l1' => '',
|
|
'l2' => '',
|
|
'l3' => '',
|
|
'q' => $quest . " = ",
|
|
'ans' => ''
|
|
);
|
|
$data[] = $realQ;
|
|
|
|
|
|
}
|
|
$result =array(
|
|
'desc' =>'Equation Simplification IV',
|
|
'detail'=> 'Basic Exponential Expression Level 1, Simplify the expressions',
|
|
'col' => 1,
|
|
'frame'=>'line',
|
|
'data'=>$data
|
|
);
|
|
return $result;
|
|
|
|
|
|
}
|
|
|
|
} |