2008年04月30日

算数オリンピック・・・[9ー1]

パソコンで解く算数オリンピック・・・[9ー1]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

A、B、C、D、Eの5つのお皿には、それぞれいくつかのキャンディーがのっています。
このうち1皿を取るか、
つながった2つ以上のお皿を取ることによって(たとえば、AとB、DとEとA、など)
お皿の上のキャンディーで、
1から21までの個数を作ることが、できます。
それぞれのお皿にのっているキャンディーの個数を求めなさい。

  A E
B    D
  C

                    
(95年度算数オリンピックトライヤル問題[7]より)

この算数オリンピックの設問は、算数オリンピック問題集(小学生/中学生・知の祭典)から、
選ばせてもらって、載せています(先方には、ご了解を得ています。感謝をしています)。
図形に関するものなど、私には、手の出せないものは、はずしています。
この設問も、本当ははずしたほうが良かったのかもしれません。
見通しが付かないうちに、始めていました。
スッキリとした処理方法があったのかもしれません。
Eプログラムは、10ページになり、処理時間は、7分かかることになってしまいました。

まず、5つのお皿があるのですから、その、並ぶ組み合わせを、表にしようとしました。
99,999行の、限度ぎりぎりの表を作って、A列に、1〜99,999の数字を入れました。
そして、それぞれの桁ごとに、数字を分けて、G〜K列に、入れました。
そして、1〜5の数字以外を含む行は、除きました。
9-1-1.bmp

Eプログラム内の<■■1■■で、止めた時のファイル内容です。
1〜5の数字以外を含む行を除いたところ、3,125行に、縮まりました。
9-2-1.bmp
9-2-2.bmp

5つのお皿に番号を付けて、その組み合わせを見るのですから、
その組み合わせ内には、同じ番号のお皿はありえません。
そこで、同じ番号のある行は、除きました。
9-1-2.bmp

その結果、Eプログラム内の<■■2■■では、120行になりました。
このファイルに、9-SAVE-120 と、名付けました。
コレは、後半で使います。
9-2-3.bmp
9-2-4.bmp

これは、別の表です。
5つの数で、それを単独や、それぞれを加えることによって、
1〜21の数字を作ることが出来る組み合わせを、作ります。
99,999桁をオーバーしないように、途中でも、データを減らしていきました。
9-1-3.bmp
9-1-4.bmp

<■■3■■では、20,349件に、押さえました。
9-2-5.bmp
9-2-6.bmp

<■■4■■では、この組み合わせで、合計が、21 になるものだけを、残しました。
これで、10件に。このファイルは、 9-SAVE-10 と名付けました。
これも、後半で使います。
G〜K列が、メインとなる場所ですが、同じものを、B〜F列にも、置きました。
これで、並べる位置を変えるときに、B〜F列から、G〜K列に、持って行くことにしました。
9-2-7.bmp








posted by ゆうやけこやけ at 06:14| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月29日

算数オリンピック・・・[10]

パソコンで解く算数オリンピック・・・[10]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

重さが1gのボール6個、2gのボール1個、3gのボール1個の
合計8個のボ−ルがあります。
これらの8個のボールに[1]〜[8]の番号をつけ、
上皿てんびんにのせてみたら下の図のようになりました。
(1)2gのボールは何番ですか。
(2)3gのボールは何番ですか。

   [1][2][3]軽い←← ○ →→重い[4][5][6][7]


   [2][6][8]重い←← ○ →→軽い[1][3][5][4]


   [1][3][8]軽い←← ○ →→重い[2][4][5]

              
(96年度算数オリンピックトライヤル問題[3]より)

とりあえず、設問だけ、ご紹介します。この続きは、別途、掲載しました。

画面右上の、さくいんから入るのが、便利です。

よろしく、お願いをいたします。




posted by ゆうやけこやけ at 07:10| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月28日

算数オリンピック・・・[8ー2]

パソコンで解く算数オリンピック・・・[8−2]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

「上(左)から読んでも下(右)から読んでも同じになる数」を「回文数」と呼ぶことにします。
(たとえば、123321、448844のような数のことです)

(問い1)6けたの回文数で95で割り切れ、しかも、
     割った後の答えも回文数となるものを求めなさい。

(問い2)8けたの回文数で1995で割り切れるものを1つ求めなさい。
     (問い2)は、割った後の答えが回文数になる必要は、ありません。

                         
(95年度算数オリンピックトライアル問題[3]より)

ここで、(問い1)です。
こちらのほうが、答えを出すまでの条件が多いので、後回しにしました。
6桁の回文数のうち、上3桁100〜999を、A列に作ります。<■■1■■
そして、6桁の回文数を、B列に作りました。<■■2■■
これを、95で割った余りをA列におき、余り0を、分類しました。
これで、5件になりました。<■■3■■
こんどは、B列の選ばれた回文数を95で割った答えを、A列に置きます。<■■4■■
そして、A列の数字をC〜F列を使って、
それぞれの桁の数字を分けた上、この4桁の回文数を選び出しました。
回文数527725が、95で割って、答えが、5555という回文数になるという、目的の答えでした。
8-1-1.bmp

<■■1■■
8-1-2.bmp

<■■1■■
8-1-3.bmp

<■■2■■
8-1-4.bmp

<■■2■■
8-1-5.bmp

<■■3■■
8-1-6.bmp

<■■4■■
8-1-7.bmp

目的の答えが、残りました。
8-1-8.bmp

                                        この項 終わり


posted by ゆうやけこやけ at 07:18| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月27日

算数オリンピック・・・[9]

パソコンで解く算数オリンピック・・・[9]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

A、B、C、D、Eの5つのお皿には、それぞれいくつかのキャンディーがのっています。
このうち1皿を取るか、
つながった2つ以上のお皿を取ることによって(たとえば、AとB、DとEとA、など)
お皿の上のキャンディーで、
1から21までの個数を作ることが、できます。
それぞれのお皿にのっているキャンディーの個数を求めなさい。

  A E
B    D
  C

                    
(95年度算数オリンピックトライヤル問題[7]より)

とりあえず、設問だけ、ご紹介します。

この続きは、別途、掲載しました。

画面右上の、さくいんから入るのが、便利です。

よろしく、お願いをいたします。





posted by ゆうやけこやけ at 07:27| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月26日

算数オリンピック・・・[8ー1]

パソコンで解く算数オリンピック・・・[8−1]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

「上(左)から読んでも下(右)から読んでも同じになる数」を「回文数」と呼ぶことにします。
(たとえば、123321、448844のような数のことです)

(問い1)6けたの回文数で95で割り切れ、しかも、
     割った後の答えも回文数となるものを求めなさい。

(問い2)8けたの回文数で1995で割り切れるものを1つ求めなさい。
     (問い2)は、割った後の答えが回文数になる必要は、ありません。

                         
(95年度算数オリンピックトライアル問題[3]より)

(問い2)から、始めました。
<■■1■■といったものは、プログラムを止めて、ファイルを絵にした場所を指します。
8けたの回文数ですから、まず、その左半分の数で、表を作ります。
A列の1,000〜9,999です。これを、10で割りながら、その余りで、異なる桁ごとの数をG〜Jに入れました。
その数を逆にJ〜Gに並べ替えて、下4桁にします。
それが、ココまでの処理です。<■■1■■
この上4桁は、先ほどのA列の数。これを、上に載せて、完成。
それが、ココまでの処理です。<■■2■■
これで、8桁の回文数すべてが、B列に並びました。
これに、1995で割って、余りをA列におく。そして、余り0を、分類します。
答えは3つ。51066015と52777725と53611635でした。
8-2-1.bmp

Eプログラム内、<■■1■■で、止めて見たファイル内容です。
8-2-2.bmp

Eプログラム内、<■■1■■で、止めて見たファイル内容の、
530ページ目・最後のページです。
1ページ目を画面に出すのが R[Enter]、最後のページを出すのが RE[Enter]。
瞬時に出ますから、びっくりです。
8-2-3.bmp

Eプログラム内、<■■2■■で、止めて見たファイル内容です。
B列に、8桁の回文数が、すべて、揃いました。
8-2-4.bmp

Eプログラム内、<■■2■■で、止めて見たファイル内容の、最後のページです。
8-2-7.bmp

B列を1995で割って、余りをA列におく。そして、余り0を、分類しました。
答えが、3つ。B列に、現れました。
8-2-6.bmp

                                     (問い2)のみ 終わり




posted by ゆうやけこやけ at 05:58| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月25日

算数オリンピック・・・[8]

データベース
  
パソコンで解く算数オリンピック・・・[8]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

「上(左)から読んでも下(右)から読んでも同じになる数」を「回文数」と呼ぶことにします。
(たとえば、123321、448844のような数のことです)

(問い1)6けたの回文数で95で割り切れ、しかも、
     割った後の答えも回文数となるものを求めなさい。

(問い2)8けたの回文数で1995で割り切れるものを1つ求めなさい。
     (問い2)は、割った後の答えが回文数になる必要は、ありません。

                         
(95年度算数オリンピックトライアル問題[3]より)

とりあえず、設問だけ、ご紹介します。

この続きは、別途、掲載しました。

画面右上の、さくいんから入るのが、便利です。

よろしく、お願いをいたします。




posted by ゆうやけこやけ at 07:08| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月24日

算数オリンピック・・・[7ー3]

パソコンで解く算数オリンピック・・・[7−3]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

1円玉、10円玉、100円玉、1,000円札を、合わせて、60枚使って、

ちょうど10,000円を支払うことができるでしょうか。

できるかどうかを答え、考え方をすじみちをたてて分かりやすく説明しなさい。

(93年度算数オリンピックファイナル問題[1]より)

いきなりですが、このデータフォーマットをご覧下さい。
BC欄は千円札、EF欄は100円玉、HI欄は10円玉、KL欄は、1円玉。
そのうち、左の欄は枚数、右の欄は、その金額。
ただし、1行目は、そのデータは入っていません。
そして、1行目の金額欄には、それぞれのデータの行数が入っています。
これの入っているファイルを取っておき、必要に応じて、これを、覗きに行きます。
1円玉は、10枚単位のデータが入っています。
それぞれ、データが入っているだけで、左右の異金種とデータとの関連は、いまのところありません。
この4種類のデータの、あらゆる組み合わせを、見ていこうとしています。
7-1-3.bmp
7-1-4.bmp

このEプログラムの1行目は、使っている変数名などの一覧をのせています。
これで、誤って、ダブって使用することによる混乱を避けようとしています。
まず、上の絵の表を作ります。
ついで、1行目のデータをはずして、7 WORK 1 に、データを移します。
そして、 7 WORK 2 に、加工したデータを移しながら、作業をします。
サブルーティンを使って、10円玉の1行目のデータ 0・0を、1円玉のデータ61件の、
10円玉欄全行に、移して7 WORK 2 に書き込みます。
次に、10円玉の2行目のデータ 1・10を、1円玉のデータ61件の、
10円玉欄全行に移して、先ほどの 7 WORK 2 に、統合します。
これを、10円玉全部について、行います。
61×61=3,721行の表ができます。
ところが、次の作業、100円玉についても、同じ、作業を行います。
これで、3,721×61=226,981行の表になると、例の99,999行を超えて、処理不能になってしまいます。
そこで、ここで、行数を減らす作業を入れました。
10円玉と1円玉の枚数・金額が、60枚・1万円を超えていれば、除外するということにしました。
これで、223行になりました。
ここで、100円玉で、同じ処理です。
223×61=13,603行になりました。
これの行数減らしで、5,094 になります。
ついで、1,000円札です。
13,603×11=56,034行となり、ここでは、60枚で、10,000円に、該当するものだけを、分類しました。
該当無しでした。
7-1-1.bmp
7-1-2.bmp

10円玉の該当列の各行データを、1円玉のデータ61件の、
10円玉欄全行に、移すという作業で、61×61=3,721行の表ができました。
7-1-5.bmp
7-1-6.bmp

10円玉と1円玉の枚数・金額が、60枚・1万円を超えていれば、除外するということにしました。
これで、223行になりました。
7-1-7.bmp
7-1-8.bmp

その後、100円玉でも、同様の作業を行います。
そして、1,000円札では、60枚になるものの中で、10,000円になるものを、分類したところ、
この絵のように、データは、ゼロでした。
「設問の条件に合うものはできない」が、答えです。
では、「その考え方をすじみちをたてて分かりやすく説明しなさい」については、
この際、どうしたものか、結局、いい答えが出ませんでした・・・。
なお、この処理には、1分20秒ほどかかっています。
7-1-9.bmp

                                        この項 終わり



posted by ゆうやけこやけ at 07:10| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月23日

算数オリンピック・・・[7ー2]

パソコンで解く算数オリンピック・・・[7−2]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

1円玉、10円玉、100円玉、1,000円札を、合わせて、60枚使って、

ちょうど10,000円を支払うことができるでしょうか。

できるかどうかを答え、考え方をすじみちをたてて分かりやすく説明しなさい。

(93年度算数オリンピックファイナル問題[1]より)


考えが、まとまり出すきっかけとなったのは、次のことからでした。


1円玉は、1円単位で、考えなくていい、ということでした。

つまり、合計10,000円になる構成単位として、

10円玉が9枚と1円玉が10枚とか、10円玉が8枚と1円玉が20枚、

というようになる。

1円玉が11枚というような構成はありえない。

あと、10円玉は、最大1,000枚までの、構成がありうる。

1円玉なら、最大10,000枚までの、構成がありうる。

ただ、データとして考えるのは、1,000件でよい。

10枚単位での増減を考えればいいわけですから。


あとは、例の、99,999の制限に、引っかからないようにする。

ということでした。


最大1,000件を、考えればいいことになったけれども、さらに、これが、60件まで、でよい。

100円玉も、100枚ではなくて、60枚でよい。


そこで、かけ算をしてみました。

60×60×60×10=2,160,000 桁


まだ、駄目でした。


でも、実は、今回、この、表の行数のことは考えないで、表を作り始めていました。



posted by ゆうやけこやけ at 07:13| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月22日

算数オリンピック・・・[7ー1]

パソコンで解く算数オリンピック・・・[7−1]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

1円玉、10円玉、100円玉、1,000円札を、合わせて、60枚使って、

ちょうど10,000円を支払うことができるでしょうか。

できるかどうかを答え、考え方をすじみちをたてて分かりやすく説明しなさい。

(93年度算数オリンピックファイナル問題[1]より)


どのようにまとめていくといいのか、2日考えていました。

といっても、ウンウン考えていたのではなくて、ちょっと、メモをしては、

これも駄目か! と、席をはずして、

植木に水をやりに行ったり、

雀に、パンくずをまきにいったり、

夕食のための買い物に行ったり、といった案配で、

もし、これが、仕事でやっているのなら、やる気があるのか無いのか、

周りが、心配をしてしまうような、そんな雰囲気であります。


設問が、できるかどうかを考えるというのですから、

答えをそっと見て、合っていた! というのと違って、多少緊迫をしています。

チェックの繰り返しです。

恥ずかしながら、5〜6回、繰り返し、部分的に直して、

それで、たぶんこれでいいだろう・・・、

と、いうところに、たどり着きました。

なんとも・・・。


身近で、簡単に解けると思える設問ほど、難しい、

という実感です。


で、できあがってみると、案外、コンパクトに、まとまりました。





posted by ゆうやけこやけ at 06:44| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月21日

私のサブルーティンの作り方


私のサブルーティンの作り方を、ご紹介します。

こんなの、当たり前だとおっしゃる方には、

何も、申し上げることはありませんが・・・。

せめて、私の知っている知識は、

恥を忍んで、

なんでも、洗いざらい、

申し上げているという、

心意気だけでも、

くみ取っていただけましたら、

助かります。

ハイ。


日本昔ばなし 桃太郎を例にします。

・・・・・略・・・・・

桃太郎は、おじいさんのつくった晴れ着をきて、
おばあさんのつくったきびだんごのつつみをこしにつけた。
・・・・・
桃太郎は、はりきって家を出ていった。
・・・・・
とちゅう、いぬが一ぴきやってきて、桃太郎に声をかけた。

「桃〜太郎さん、桃太郎さん。おこしにつけたきびだんご、
一つ、私に、くださいな。くれたら家来になりますよ」

いぬは、きびだんごをもらって、家来になった。
しばらくいくと、さるが出てきた。
「桃〜太郎さん、桃太郎さん。おこしにつけたきびだんご、
一つ、私に、くださいな。くれたら家来になりますよ」

さるも、きびだんごをもらって、家来になった。
こんどは、きじがとんできた。そして、おなじことをいった。
「桃〜太郎さん、桃太郎さん。おこしにつけたきびだんご、
一つ、私に、くださいな。くれたら家来になりますよ」

きじも、きびだんごをもらって、家来になった。

いぬ、さる、きじをおともにつれて、ゆくはわれらが桃太郎。

・・・・・略・・・・・


この「桃太郎さん」、同じ文章が3回出てきます。

実際には、この、2回目を書き出すときに、

どこが、ダブってしまう文章で、どこが、同じでないところになるのかが、

わかってきます。

太字がダブりで、赤文字が、そうでないところです。

それが、わかってきたら、あとは、簡単です。

プログラムとしては、このようになります。


・・・・・略・・・・・

桃太郎は、おじいさんのつくった晴れ着をきて、
おばあさんのつくったきびだんごのつつみをこしにつけた。
・・・・・
桃太郎は、はりきって家を出ていった。
・・・・・
とちゅう、いぬが一ぴきやってきて、桃太郎に声をかけた。

Va$="いぬは、" :gosub <サブルーティン(出会い)
しばらくいくと、さるが出てきた。
Va$="さるも、" :gosub <サブルーティン(出会い)
こんどは、きじがとんできた。そして、おなじことをいった。
Va$="きじも、" :gosub <サブルーティン(出会い)

いぬ、さる、きじをおともにつれて、ゆくはわれらが桃太郎。

・・・・・略・・・・・

END

<サブルーティン(出会い)
「桃〜太郎さん、桃太郎さん。おこしにつけたきびだんご、
一つ、私に、くださいな。くれたら家来になりますよ」

a$きびだんごをもらって、家来になった。
return



細かい、説明は、省きました。

このブログをお読みになって、

ちょっと、変じゃない?

とか、この方がいいよとか・・・。

comment をいただけましたら、助かります。

よろしく、お願いを致します。




posted by ゆうやけこやけ at 07:32| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月20日

算数オリンピック・・・[6ー2]

パソコンで解く算数オリンピック・・・[6−2]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]
トランプのカードが3枚あります。カードの数字はどれも10以下です。
この3枚のカードをよくきって、清子さん、純一君、真美さんの3人に1枚ずつ配り、めいめいのカードの数字を記録しておきます。
このようにして、何回か配り、記録しておいた数字を合計すると、清子さんが13,純一君が15、真美さんが23となりました。
3枚のカードの数字を、すべて答えなさい。
               
(93年度算数オリンピックトライヤル問題[2]より)

前回で、1,000件のデータが、60件に減りました。
さらに、設問の求めるものへと、余分なデータをそぎ落としていきます。
ここでは、10・4・3と10・3・4というような、並び方の違う数を10・4・3のように、同じ並びにして、1,043という、数値に変えます。
その上で、指定した桁の同じ数字を、1行に、まとめてしまいます。
これ、仕訳集計で、有効な使い方ができます。
これをつかって、データを減らします。@B,Aです。
このダブり分が、最後の回答を出すところでも、出てきます。
そこでも、このコマンドを使うことになります。
6-2-2.bmp

その結果、10件にまで、データが、まとまってきました。
6-3-1.bmp

この、最後の部分で、「書いて、また消す、白い指」ではありませんが、
何回も、作り直しをしました。
3枚のカードが、3回配られてくる(と、しました。51(13+15+23)÷13(または23)で、推定です。ここら辺も、パソコンで、解きたかったのですが・・・)と、どういう組み合わせで、手元に来るのか。
例えば、ある番号が、3回とも来るのか、ある番号が2回来て、あと、あっちのが1枚か、こっちのが1枚なのか、などです。
これで、データ情報が増えます。
これを、データ数を増やして、縦に延ばす方法と、横に延ばす方法があります。
最終的に、横に延ばすことにしました。
その情報の中に、13・15・23のすべてが入っているものを選び出すことにしました。
サブルーティンも使っています。
6-2-3.bmp
6-2-4.bmp

最後に選ばれたデータがこれです。
3・5・7でした。
じつは、これと同じデータが、2件選ばれていました。
たぶん、それは、M〜U の中に、15が、2つあります。
5×3 と、3×2+9 による、2種類です。
これではどうも、締まらないと思い、当日記欄の最初に述べたコマンドを使って、ダブり分の、削除をしました。
6-3-2.bmp

この設問は、「3枚のカードの数字を、すべて答える」ことで、よかったのですが、

ついでに、順序は別にして、その内訳を、まとめてみました。

      清子さん、 純一君、 真美さん
        3    9    5
        5    3    9
        5    3    9
  合 計  13   15   23

ここも、パソコンで解いてご覧・・・、とは、おっしゃらないでください。

ちょっと、くたびれましたので、一息入れます。 フーッ。

                                        この項 終わり


posted by ゆうやけこやけ at 06:40| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月19日

算数オリンピック・・・[6ー1]

パソコンで解く算数オリンピック・・・[6−1]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]
トランプのカードが3枚あります。カードの数字はどれも10以下です。
この3枚のカードをよくきって、清子さん、純一君、真美さんの3人に1枚ずつ配り、めいめいのカードの数字を記録しておきます。
このようにして、何回か配り、記録しておいた数字を合計すると、清子さんが13,純一君が15、真美さんが23となりました。
3枚のカードの数字を、すべて答えなさい。
               
(93年度算数オリンピックトライヤル問題[2]より)

「段取り八分」という言葉があります。

建設関連で、よく聞きます。

窓を作る部分に、壁で塗り込めちゃったなどというのは、

極端な話かもしれませんが、

少なくとも、次の作業を始めるときには、重機が待機していたり、

建材が、すぐお隣に準備されていたり、しなければなりません。

その準備ができれば、八分通り、仕事ができたも同じこと、と・・・。

それを、この設問に、パソコンで、オタオタしてしまったものですから、

あらためて、「段取り八分」の、言葉が、身にしみた次第であります。

これが、今回の、ファイルフォーマットです。
実際には、縦列が、A〜Uだけでは、足りないものですから、二重三重に使っているところもあります。
臨時に、そこで使い終わったら、いらなくなるデータですので、
そこを別エリヤとして、つかってもいいのです。
後日まで、大切の保存をしておかなければならないデータなら、
この列を、もっと、右に延ばして、保管場所を増やすことができます。
列の限度は、大文字のアルファベットと小文字のアルファベット分で、
26×2の52まで、確保することができます。
6-1-1.bmp

3人が、3枚のカードを配ってもらう。
ということですから、カードの配列の種類の表を作ることにしました。
数字は、1から10まで。
ということで、1〜1000までの行数を確保しました。
その数字をA列に入れます。
そして、CDE列に、百桁目・十桁目・一桁目の数字を入れました。
例の、10で割って、その余りを、使うという手法です。
そして、0 は、10 に、置き換えます。
あとは、この1,000のデータを、減らしていくのです。
まず、配られるカードには、数字のダブりがないということですから、
CD間、DE間、CE間の数字のダブりのデータは、消していきます。
それから、配られたカードの数字を合計していますから、その、
13・15・23 を合計します。51です。
そして、各行のCDE の数字を加えたものをつかって、51を、割ります。
これで、余りが出るものは、該当しない組み合わせであるということで除外します。
6-2-1.bmp

その結果の絵が、この2枚です。
1ページ目と、4ページ目です。
ここで、参考になるのは、CDE の、配られる可能性のあるカードの種類が、
1,000組から、60組に減ってきていることくらいです。
6-1-2.bmp
6-1-3.bmp

                                        この項 続く


posted by ゆうやけこやけ at 07:35| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月18日

プログラムとストレス

ブログで、「考えるパソコンに!」を、書いています。

当然に、設問があって、それをプログラムに組みやすい考え方に、組みたて直します。

メモもしますが、大半は、頭の中で、考えています。

メモに書く・それを読むよりも、頭の中だけで考えていたほうが、

処理速度が速いのです。

頭の中って、パソコンみたいです(逆かな)けど・・・。

で、ポッと、グッドアイデアが生まれても、その後、お客さんが来たりで、

別のことに、気が散ったりしますと、それを、忘れてしまうことがあります。

私、リタイヤ組でありながら、このブログを始めてから、

ストレスをためやすい状況の中にあります。


難しい仕事に取り組んでいらっしゃるサラリーマンの方々に、似ています。

私は、晩酌をするわけでもないので、

きれいさっぱりと、気分転換ができていないのかもしれません。


私の気分転換法は、寝ることなんです。

この気分転換法は、安いし、健康にいいし、余分に時間もかからないのがなんともいいです。


でも、少しずつ、ストレスは、溜まっていくようです。

私のストレスが溜まっていくと、少し、おこりっぽくなります。

といっても、表情に出たり、行動を起こすことはありませんが。


自分が、ストレスをため始めたときの症状を知っておくのは、大切なことです。

ちょうど、身体のことを気遣って、体重を量ったり、体温を測るのと、

同じくらい大切なことと思います。


パソコン、もっといえば、電子計算機は、人間のために便利な機械ではありますが、

これに、大いに接する方々は、

機械が勝つか、人間が勝つかの、壮絶な戦いをしている
ともいえます。

目線を、ストレスに、あてて、考えてみますと、そのような結論に達します。


なんだか、ライオンか、虎を、飼い慣らそうとしている調教師にも似ています。

こういったことに、たずさわっていらっしゃる皆々様、

精神的にも、肉体的にも、

健康には、十分に、ご配慮なさって、お仕事をすすめていただきたく思います。

                                        この項 終わり


posted by ゆうやけこやけ at 07:02| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月17日

算数オリンピック・・・[7]

パソコンで解く算数オリンピック・・・[7]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]

1円玉、10円玉、100円玉、1,000円札を、合わせて、60枚使って、

ちょうど10,000円を支払うことができるでしょうか。

できるかどうかを答え、考え方をすじみちをたてて分かりやすく説明しなさい。

(93年度算数オリンピックファイナル問題[1]より)

とりあえず、設問だけ、ご紹介します。




posted by ゆうやけこやけ at 06:43| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月16日

算数オリンピック・・・[5ー3]

パソコンで解く算数オリンピック・・・[5−3]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]
オリンピックの五輪のマークがあります。
aからiの位置に1から9までの整数を一つずつ書き入れて、
一つの円に囲まれた数の和が、5つのすべての円で等しくなるようにします。
ただし、一つの整数は1回しか使えません。
このとき、一つの円にかこまれた数の和はいくつになりますか。
もっとも大きい場合と、最も小さい場合を答えなさい。

■■■■■■■■■   ■■■■■■■■■   ■■■■■■■■■
■■■■■■■■■   ■■■■■■■■■   ■■■■■■■■■
■■■■■■■■■   ■■■■■■■■■   ■■■■■■■■■
■■■■a■■■■   ■■■■e■■■■   ■■■■i■■■■
■■■■■■□□□■■■□□□■■■□□□■■■□□□■■■■■■
■■■■■■□b□■■■□d□■■■□f□■■■□h□■■■■■■
■■■■■■□□□■■■□□□■■■□□□■■■□□□■■■■■■
      ■■■■■■■■■   ■■■■■■■■■
      ■■■■c■■■■   ■■■■g■■■■
      ■■■■■■■■■   ■■■■■■■■■
      ■■■■■■■■■   ■■■■■■■■■
                    
(93年度算数オリンピックトライヤル問題[1]より)

前回で、b〜i の、整数の組み合わせのうち c〜h の、一覧表ができました。

その次に、
8□□,□□□,□□9 9□□,□□□,□□8 を、
行うことにしていました。
ですが、
□8□,□□□,□□9 □9□,□□□,□□8
8□□,□□□,□9□ 9□□,□□□,□8□
□8□,□□□,□9□ □9□,□□□,□8□ についても、
念のために、調べることにしました。
それが、この絵です。
この中のコマンドQ ACBDEF・・・というのは、ABCDEF・・・の、列の並び方のうち、
BとCの列を入れ替えてくれます。
実に、便利なコマンドです。
5-2-3.bmp

これは、その結果の、頭としっぽの絵です。
5,040×8=40,320の長さになりました。
5-2-7.bmp
5-2-8.bmp

いよいよ、最後のステップです。
「一つの円に囲まれた数の和が、5つのすべての円で等しくなる」ものを、分類するのです。
前回にも、述べましたが、
K〜O欄は、J=A+B、K=B+C+D、L=D+E+F、M=D+E+F、M=F+G+H、
N=H+I+J、O=I+J を、入れます。
そして、K〜Oすべての欄が、同じ整数にするために、J-K=0、K-L=0、
M-M=N、N-O=0 と、引き算をしながら、ゼロのものを分類で、選び出していきます。
この計算で、P欄を使っています。
そして、J欄で、データを順番に並べて、終了です。
5-2-4.bmp

これは、最終の絵です。
設問にある「一つの円にかこまれた数の和はいくつになりますか。
もっとも大きい場合と、もっとも小さい場合」が、でています。
1411が、求めるものです。
中に、が、内側の欄に来ているものもあります。
念のための追加が、功を奏したことになりました。
5-2-9.bmp

                                        この項 終わり


posted by ゆうやけこやけ at 07:26| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月15日

算数オリンピック・・・[5ー2]

パソコンで解く算数オリンピック・・・[5−2]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]
オリンピックの五輪のマークがあります。
aからiの位置に1から9までの整数を一つずつ書き入れて、
一つの円に囲まれた数の和が、5つのすべての円で等しくなるようにします。
ただし、一つの整数は1回しか使えません。
このとき、一つの円にかこまれた数の和はいくつになりますか。
もっとも大きい場合と、最も小さい場合を答えなさい。

■■■■■■■■■   ■■■■■■■■■   ■■■■■■■■■
■■■■■■■■■   ■■■■■■■■■   ■■■■■■■■■
■■■■■■■■■   ■■■■■■■■■   ■■■■■■■■■
■■■■a■■■■   ■■■■e■■■■   ■■■■i■■■■
■■■■■■□□□■■■□□□■■■□□□■■■□□□■■■■■■
■■■■■■□b□■■■□d□■■■□f□■■■□h□■■■■■■
■■■■■■□□□■■■□□□■■■□□□■■■□□□■■■■■■
      ■■■■■■■■■   ■■■■■■■■■
      ■■■■c■■■■   ■■■■g■■■■
      ■■■■■■■■■   ■■■■■■■■■
      ■■■■■■■■■   ■■■■■■■■■
                    
(93年度算数オリンピックトライヤル問題[1]より)


前回の方法は、途中で、パンクしました。

行数を分割で削りながら、9桁の表を作ろうとしましたが、駄目でした。

途中で、エラー表示が出て、ビジレスが止まりました。

そこで、考えたのは、五輪のマークの端、つまり、ai には、8と9(または、9と8)が来る、と。

とすれば、そのほかの真ん中の7桁には、それぞれ1〜7の数字が埋まることになる。

と、いうことで、7桁の、表を作ることにしました。

それ以上、理詰めで考えていけば、

ひょっとしたら、パソコンを使わなくても、解けるかもしれません。

私には、無理でしょうけれども・・・。


すると、7桁の表は、できました。
データ桁数は5,040です。
処理時間は、40秒ほどでした。

これが、5,040行の最初と最後のページの絵です。
この表の、
B〜J欄が、五輪のマーク内の a〜h に、対応しています。
K〜O欄は、J=A+B、K=B+C+D、L=D+E+F、M=D+E+F、M=F+G+H、
N=H+I+J、O=I+J を、入れることにしています。
このK〜O欄の、整数の等しいものを探そうというのです。
この絵の数値の内容ですが、a〜h のうち、b〜g の、可能性のある組み合わせの表です。
「一つの整数は1回しか使えません」を、実行して、それに、8と9は、除いています。
5-2-5.bmp
5-2-6.bmp

もとになるファイル"5-1"から、加工しながら"5 work 1"と"5 work 2"を作っています。
ファイルフォーマットの、変更があった場合、
1か所を直すと、全部に波及することができることになります。
"5 work 1"から、何かの処理を加えて、"5 work 2"に、書き込む。
その結果を、再び"5 work 1"に、戻します。
また、別の処理をしながら、"5 work 2"に、書き込みます。
ファイルフォーマットも、全部、統一したものを使っています。
よっぽどのことがない限り、この方式で行きたいと思います。
昔とちがって、メモリによる制約がなくなり、ゆったりフォーマットの設計が、可能となりました。
5-2-1.bmp

5-2-2.bmp








posted by ゆうやけこやけ at 16:28| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月14日

算数オリンピック・・・[5ー1]

パソコンで解く算数オリンピック・・・[5−1]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]
オリンピックの五輪のマークがあります。
aからiの位置に1から9までの整数を一つずつ書き入れて、
一つの円に囲まれた数の和が、5つのすべての円で等しくなるようにします。
ただし、一つの整数は1回しか使えません。
このとき、一つの円にかこまれた数の和はいくつになりますか。
もっとも大きい場合と、最も小さい場合を答えなさい。

■■■■■■■■■   ■■■■■■■■■   ■■■■■■■■■
■■■■■■■■■   ■■■■■■■■■   ■■■■■■■■■
■■■■■■■■■   ■■■■■■■■■   ■■■■■■■■■
■■■■a■■■■   ■■■■e■■■■   ■■■■i■■■■
■■■■■■□□□■■■□□□■■■□□□■■■□□□■■■■■■
■■■■■■□b□■■■□d□■■■□f□■■■□h□■■■■■■
■■■■■■□□□■■■□□□■■■□□□■■■□□□■■■■■■
      ■■■■■■■■■   ■■■■■■■■■
      ■■■■c■■■■   ■■■■g■■■■
      ■■■■■■■■■   ■■■■■■■■■
      ■■■■■■■■■   ■■■■■■■■■
                    
(93年度算数オリンピックトライヤル問題[1]より)


私の性格には、心配性が、大いに、幅をきかせています。

それで、最初に、そこを考えてしまうのでしょうか。

もう、皆様、お気づきと思います。

私が、最初に考えるのが、表の行数が、間に合うかどうかということです。
[3-1]にも、ありましたけど、

ビジレスの最大処理行数は、99,999行です

今回も、9桁の、1〜999,999,999までの表を作れば、

ここの表現も簡単になるし、頭でイメージもしやすいし・・・、なのですが、

99,999行まで、という制限が、厳然としてあります。

確かに、普段なら、9万件代のデータなんて、扱わないから、

ここでは、よっぽど特殊なことをしているには違いないと思います・・・。


そこで、考えたのが、第1桁目は、1〜9迄の数を使います。これを、基本の表にします。

第2桁目の処理です。
基本の表の2桁目に、まず、すべてを入れます。
そして、1桁目の数字に、があれば、そのを、除外します。
そして、それを、別の名前にして、取っておきます。
次に、同じく基本の表に、を入れて、1桁目のがあれば、そのを除外します。
そして、取っておいた表に統合します。
これを、まで、続けます。

この結果の取っておいた表が、こんどは、新しく基本の表になります。

そして、第3桁目に、1〜9を、同じように、数字を埋めて、
今度は、第1、第2桁目に、第3桁目と同じ数字があったら、
そのを除外していきます。

こうやって、第9列目まで、行っていきたのです。
この数字の最低の数字は、123,456,789であることはわかります。
そして、最大の数字は、987,654,321です。
かなりのボリュームの桁が、除外されるはずですが、
では、このようにしてできた表は、何行になるの ?
99,999より、少ないの ?

私は、算数だか、数学だかに、音痴?なものですから、そこら辺は、わかりません。

ま、この処理を、パソコンにやらせても、

パソコンが壊れることはありません(やや、開き直っています)。

ソフト上のエラーになるだけですから、怖いもの知らずです。

やってみましょう、やってみましょう。





posted by ゆうやけこやけ at 07:35| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月13日

算数オリンピック・・・[4ー3]

パソコンで解く算数オリンピック・・・[4−3]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]
A君、B君、C君、D君の4人が○×式のテストを受けました。
全10問の4人の解答とA君、B君、C君の点数は、下の表のようになりました。
このテストは1問10点で100点満点です。
さて、D君は何点だったでしょうか。

   第1問 2問 第3問 第4問 第5問 第6問 第7問 第8問 第9問 第10問 点数
 A君  ○   ×   ○   ×   ○   ○   ×   ×   ×   ○  70点
 B君  ○   ○   ×   ×   ×   ○   ○   ○   ×   ×  70点
 C君  ×   ×   ×   ○   ○   ×   ○   ×   ○   ×  60点
 D君  ○   ○   ×   ×   ○   ×   ○   ×   ×   ×   ?
(92年度算数オリンピックトライヤル問題[3]より)

前回の2つの表で、正解と回答を、並べることができるようになります。

最初に、採点を、考えてみます。

○をゼロ、×を1で表すことにしていました(前回に)。

  正解 回答  正解 回答  計算 
  ○  ○    0  0   (0+0)+1=1 2で割り、余り 1
  ×  ×    1  1   (1+1)+1=3 2で割り、余り 1
  ○  ×    0  1   (0+1)+1=2 2で割り、余り 0
  ×  ○    1  0   (1+0)+1=2 2で割り、余り 0

この、計算による余りが、点数になります。

パソコン内では、100点満点ではなくて、10点満点で、計算をしています。

計算内で、奇数と偶数を逆転させたくて、1を加算しました。


次に考えたのは、3人の回答が「正誤表が、これだったら、何点になるだろうという、
採点」をしました。
もちろん、1,024種類の正解の組み合わせ全部についてです。
そして、該当点数70・60点(内部では、7点、6点)だけの正誤表データを、
分類により、選び出します。
これを、A君、B君、C君ごとに、行いました。
それらは、4SUB01 というサブルーティンで行い、
結果は、4-A、4-B、4-Cというディスクファイルに書き込みます。
そのうえで、3人ともが、該当点数をとった正誤表データが、
どれなのかを割り出そうというのです。
それが、次の絵です。
なお、この絵の中に、& "4-A" V=a,A=Aというコマンドがあります。
これは、「指定したディスク中のファイル("4-A")のA列とメモリ上のA列が、同じなら、
ディスク中のV列のデータを、メモリ上のa列に取り込む」という仕事をしてくれる、
なんともすごいコマンドです。
私が、ビジレスに惚れ込んでいる理由の一つが、このコマンドなのです。
4-2-1.bmp

A君の回答で「正誤表データが、これだったら、何点になる・・・という、採点の絵です。
正誤表データごとに採点をした結果が、Z列です。これを、B君・C君にも、実施します。
4-3-9.bmp
4-3-10.bmp

これは、A君の採点結果のうち、70点(ここでは 7 点)だけを、選び出しました。
正しい正誤表データはどれか、を、割り出す資料です。
4-3-1.bmp
4-3-2.bmp

1,024種類のあらゆる種類の正誤表データのなかで、
A君、B君、C君の点数が正しく、採点されていたのは、どれなのか、それを、集約しました。
VWX欄が、A君、B君、C君と、対応しています。
1が、採点発表された点数と合致した正誤表データを、示します。
Y欄は、VWXを、加算したものです。
これが、3なら、3人ともが認める正誤表データということになります。
4-3-3.bmp
4-3-4.bmp

A君、B君、C君とも、正しく採点されていた正誤表データが、選び出されました。
4-3-5.bmp

何番と何番が○で、そして、×か、そういう正解が分かりましたので、
今度は、D君の採点をします。
3人に繰り返し使ったサブルーティン 4SUB01 を、ここでも、使います。
そして、採点結果を、10倍して、画面上に出して終了です。
4-2-2.bmp

ABC君は指定した点数だけを選び出すサブルーティンです。
それと、D君の場合は、指定点数を、ゼロにして、このサブルーティンに入って来ます。
この場合は、処理の途中で、別の出口から出て行きます。
「サブルーティンに、入り口や出口を、複数設けるのは厳禁」と、
称えるカスタマー・エンジニアのいたことを思い出します。
ルートが、よれてくるのは、デバッグのためにも、好ましくないことは、間違いがございません。
4-2-3.bmp
4-2-4.bmp

D君の、採点結果です。Z欄の 8 を、十倍して、画面左下に、表示しました。
80点が、求めるものでした。
正誤表データと、D君の回答を、一覧にできます。
4-3-8.bmp

                                        この項 終わり




posted by ゆうやけこやけ at 06:25| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月12日

算数オリンピック・・・[6]

パソコンで解く算数オリンピック・・・[6]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]
トランプのカードが3枚あります。カードの数字はどれも10以下です。
この3枚のカードをよくきって、清子さん、純一君、真美さんの3人に1枚ずつ配り、めいめいのカードの数字を記録しておきます。
このようにして、何回か配り、記録しておいた数字を合計すると、清子さんが13,純一君が15、真美さんが23となりました。
3枚のカードの数字を、すべて答えなさい。
               
(93年度算数オリンピックトライヤル問題[2]より)

とりあえず、設問だけ、ご紹介します。

この続きは、別途、掲載しました。

画面右上の、さくいんから入るのが、便利です。

よろしく、お願いをいたします。



posted by ゆうやけこやけ at 06:13| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

2008年04月11日

算数オリンピック・・・[4ー2]

パソコンで解く算数オリンピック・・・[4−2]

これを、パソコンで、ビジレスで、解いてみようと・・・。

[設問]
A君、B君、C君、D君の4人が○×式のテストを受けました。
全10問の4人の解答とA君、B君、C君の点数は、下の表のようになりました。
このテストは1問10点で100点満点です。
さて、D君は何点だったでしょうか。

   第1問 2問 第3問 第4問 第5問 第6問 第7問 第8問 第9問 第10問 点数
 A君  ○   ×   ○   ×   ○   ○   ×   ×   ×   ○  70点
 B君  ○   ○   ×   ×   ×   ○   ○   ○   ×   ×  70点
 C君  ×   ×   ×   ○   ○   ×   ○   ×   ○   ×  60点
 D君  ○   ○   ×   ×   ○   ×   ○   ×   ×   ×   ?
(92年度算数オリンピックトライヤル問題[3]より)

Eプログラムを3つに分けました。独立した働きなものですから。

これで、ABCD君の回答を、入力します。
入力済みの絵です。
回答記入の列は、CEGIKMOQSUと、1列おきです。
4-1-1.bmp

入力のEプログラムです。
入力開始のさいには、全部が、ゼロになっています。
つまり、○は、入力済みです。
そこで、×を、数字 1 で、訂正入力をすればいいのです。
1列おきの入力をするのですが、入力をしない列は、カーソルが、入っていきません。
それを、このEプログラムが、やらせてくれます。
4-1-2.bmp

2つ目の仕事は、正解の可能性のある表を作ることでした。
1,024行の表が、これです。
BDFHJLNPRT欄を使っています。
その第1ページ目です。
4-1-3.bmp

この表の最終の61ページ目が、これです。
この1,024種類のデータの中に、全問正解が、ひとつあります。
4-1-4.bmp

このEプログラムは、1,024という数字を、2で割って、
その余りの有無の、1と0を、順次、表に埋め込んでいくという、
作業をしています。
4-1-5.bmp

この処理の、ディスクの入出力回数は、少ないのですが、この仕事に、20分超かかっています。
昔、フォートランで数理計算をする仕事の人が、
1秒に何万円もかかる機械を、処理時間で借りていたのですが、
「割り算をすると、とたんに処理時間が増えるね〜」と、ネを上げていたのを思い出しました。
IBMカードでプログラムを作って入力をする、そんな時代のことですが・・・。

こちらは、それとは対照的に、なんとも、おおらかな、ことをやってます。
ただ、この、時間がかかることについて、独立をした処理にしたことを、
「ああ、ほかの処理とは、別にして良かった」ということくらいです。
私のは、4年前のノートパソコンです。今のパソコンなら、グ〜ンと、早いのでしょうね。
最近は、パソコンの製品の載っているサイトを眺める機会が増えています・・・。




posted by ゆうやけこやけ at 06:05| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする

広告


この広告は60日以上更新がないブログに表示がされております。

以下のいずれかの方法で非表示にすることが可能です。

・記事の投稿、編集をおこなう
・マイブログの【設定】 > 【広告設定】 より、「60日間更新が無い場合」 の 「広告を表示しない」にチェックを入れて保存する。