忍者ブログ

いろいろサンプル

JAVASCRIPTで作成した算数のゲーム(ドリル・クイズ)の解答やソース、プログラムで必要なことを書いていきます。 SPIや小・中学の勉強になるe-ラーニングのプログラムになることを目指しています。

文章題・過不足算(人数2)


×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

文章題・過不足算(人数2)


人数を求める過不足算です。

今回はリンゴとミカンを分ける問題になっています。

問題は
「あるグループの人がミカンとリンゴを山分けする。ミカンはリンゴのP倍あります。リンゴをA1ずつ分けるとA2あまり、ミカンをB1ずつ分けるとB2あまる。このグループの人数は何人でしょうか。」

人数をX
リンゴの総数をY
ミカンの総数をZ
とします。

リンゴの総数Y=A1X + A2
ミカンの総数Z=B1X + B2
Z=PY ・・・①

となります。

計算としては
①の式に全部代入していきます。
Z=PY ・・・①
B1X +B2 = P(A1X +A2)
B1X +B2 = PA1X +PA2
B1X ー PA1X = PA2 - B2
X=(PA2 - B2)/(B1 - PA1) 人
になります。


小学生が解く際には下記のような方法になると思います。
【中学受験算数】過不足算・全解法3パターン - NAVER まとめ
過不足算・発展問題1・解答 - 学ぶ・教える.COM


問題に数値を入れてみます。
「あるグループの人がミカンとリンゴを山分けする。ミカンはリンゴの3倍あります。リンゴを8ずつ分けると4あまり、ミカンを10ずつ分けると180あまる。このグループの人数は何人でしょうか。」

人数をX
リンゴの総数をY
ミカンの総数をZ
とします。

Y = 8X + 4
Z = 10X + 180
Z = 3Y ・・・②

②の式に全部代入していきます。
Z = 3Y ・・・②
10X + 180 = 3(8X + 4)
10X + 180 = 24X + 12
10X - 24X = 12 - 180
-14X = -168
X = 12
答え 12人

リンゴの総数はY = 8X + 4 = 8 × 12 + 4 = 100 個
ミカンの総数はZ = 10X + 180 = 10 × 12 + 180 = 300 個

になります。



余りがマイナスになった場合は足りないと考えてください
たとえば
「あるグループの人がミカンとリンゴを山分けする。ミカンはリンゴの5倍あります。リンゴを1ずつ分けると2あまり、ミカンを8ずつ分けると-26あまる。このグループの人数は何人でしょうか。」

の場合
ミカンは26個足りなかったと考えてください。

計算も同じようにすることができます。

人数をX
リンゴの総数をY
ミカンの総数をZ
とします。

Y = X + 2
Z = 8X + (-26)
Z = 5Y ・・・③

③の式に全部代入していきます。
Z = 5Y ・・・③
8X + (-26) = 5(X + 2)
8X - 5X = 10 + 26
3X = 36
X = 12

答え 12人

リンゴの総数はY = X + 2 = 12 + 2 = 14 個
ミカンの総数はZ = 8X + (-26) = 8 × 12 - 26 = 70 個

となります。

サンプルはこちら
文章題・過不足算(人数2)

ソースは下記
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<script src="jq/jquery-1.10.2.min.js"></script>
<title>文章題・過不足算(人数2)</title>
<link href="css/toimondai.css" rel="stylesheet" type="text/css">
<meta name="keywords" content="ゲーム,過不足算,文章題,イーラーニング,クイズ">
<meta name="description" content="算数の過不足算の文章題です。JAVASCRIPTで作製しています。">

</head>
<script type="text/javascript"><!--
    myHit = 0;
    myNowCnt = 0;    // 問題を出すテーブルカウンタ
    myLastCnt = 10;    // 問題の数
    var myy1,myy2,myy3,myy4,myy5,ayy1,pp1,pp2;
    var qqaa=new Array();
    var qqab=new Array();
    var qqac=new Array();
    var qqad=new Array();
    var qqcc=new Array();
    var qqdd=new Array();
    var aaaa=new Array();
function mySet(){
    myy4 = (Math.floor(Math.random()*5)+2);
    ayy1 = (Math.floor(Math.random()*10)+5);
    myy1 = (Math.floor(Math.random()*10)+1);
    myy2 = (Math.floor(Math.random()*10)+3);
    pp1 = (Math.floor(Math.random()*5)+1);
    myy3 = (ayy1*myy1)+pp1;
    myy5 = myy4*myy3;
    pp2 = myy5-(ayy1*myy2);
    document.getElementById('atoi').innerHTML = "あるグループの人がミカンとリンゴを山分けする。ミカンはリンゴの"+myy4+"倍あります。リンゴを"+myy1+"ずつ分けると"+pp1+"あまり、ミカンを"+myy2+"ずつ分けると"+pp2+"あまる。このグループの人数は何人でしょうか。";
    document.myForm.myFormA1.value = ""; // 数値
}
// 入力した答えが正解か不正解かを判定する関数 (答えを入力して、[OK]ボタンを押した時の処理)
function myCheck(){
     myA1 = eval(document.myForm.myFormA1.value); // 入力された 答え を取得
    if ( ayy1 == myA1 ){ // 答えと入力した値は等しいか(正解か)?
        myHit++;
        document.getElementById('ytr001').innerHTML = ("あたり! すばらしいヽ(*⌒∇⌒)ノ ");
        qqcc.push("○");
     }else{
        document.getElementById('ytr001').innerHTML = ("はずれ! (´+д+`)  こたえは"+ayy1+"人です !");
        qqcc.push("×");
     }
        qqaa.push(myy1);
        qqab.push(pp1);
        qqac.push(myy2);
        qqad.push(pp2);
        aaaa.push(myA1);
        qqdd.push(ayy1);
     mySet(); // 次の問題をセット    
     if (myNowCnt==myLastCnt-1){    // 問題終わった?
            myScore = myHit*10;    // 得点計算
            document.getElementById('ytr002').innerHTML =("問題終了です。"+myLastCnt+"問中"+myHit+"問正解。点数は"+myScore+"点です。");   
            myNowCnt=0;   
            myHit=0;
            var hantei ="";
            var seitou = document.getElementById('kaitou');
            hantei +="<table border=1><tr><td>リンゴ配布</td><td>リンゴ余り</td><td>ミカン配布</td><td>ミカン余り</td><td>あなたの答え</td><td>判定</td><td>正答</td></tr>" ;
            for (i = 0; i < 10; i = i +1){
                hantei += "<tr><td>";
                hantei += qqaa[i];
                hantei += "個</td><td>";
                hantei += qqab[i];
                hantei += "個</td><td>";
                hantei += qqac[i];
                hantei += "個</td><td>";
                hantei += qqad[i];
                hantei += "個</td><td>";
                hantei += aaaa[i];
                hantei += "人</td><td>";
                hantei += qqcc[i];
                hantei += "</td><td>";
                hantei += qqdd[i];
                hantei += "人</td></tr>";               
            }
            hantei +="</table>";
            seitou.innerHTML = hantei;
            qqaa=[];
            qqab=[];
            qqac=[];
            qqad=[];
            qqcc=[];
            qqdd=[];
            aaaa=[];
        }else{    // 次の問題へ
            myNowCnt++;
            document.getElementById('ytr002').innerHTML =(+myNowCnt+"問中"+myHit+"問正解。");   
        }
}

// --></script>
<body>

<div id="title">
<h1>文章題・過不足算(人数2)</h1>
</div>
<!-- 問題フォームを設置 -->
<div class="midashidai">
<h2>
次のグループの人数を答えてください。
</h2>
</div>

<div id="atoi"></div>

<div id="kotaeyou">
<form name="myForm">
答え<input class="ansyou" type="text" size="3" name="myFormA1">人
<input class="ansbot" type="button" value="OK" onclick="myCheck()">
</form>
</div>


<div id="ytr001"></div>
<div id="ytr002"></div>
<a href="http://tasarotoste.kuizu.net/Entry/71/">解説はこちら</a>
<div id="kaitou"></div>
<script type="text/javascript"><!--
mySet(); // 初回の問題をフォームへセット
// --></script>
<br>
<a href="http://tasarotoste.zouri.jp/">TOPへ</a>
<br>
<br><br>
</body>
</html>
PR

コメント

TWITTER

忍者カウンター

広告

ブログ内検索

フリーエリア

フィードメーター - いろいろサンプル ページランク表示用ブログパーツ E-Pagerank にほんブログ村 ゲームブログ 学習ゲームへ
にほんブログ村 学びランキング ブログ王ランキングに参加中! PVランキング ページランク表示用ブログパーツ E-PageRank