2020年までにプログラムをマスターさせる計画を1から見直してみます。
<問題 中学3年級>
無限多重根号で答えが整数値になりそうなものと、その無限多重根号内で繰り返される数値(2から10000まで範囲)を表示してください。
(ただし根号の繰り返し計算は無限ではなく30回として、その答えが整数値との誤差が0.0001内ならその整数値を答えとみなします)
補足説明
根号(ルート) sqrt()=平方根 は中学3年で学習するルート
無限多重根号 sqrt(2 + sqrt(2 + sqrt(2 + sqrt(2 + sqrt(2 + ...) ) ) )) こんな感じで無限に続きます。
解答の一部 100までなら
答えは余談の後
<余談>
「2020年までにプログラムマスターさせる計画」
目的としては、
銀行のシステムを難なく作るとか、金融業の儲かる仕組みを作れる人材とかではない。
SEを何年もしてきて、外国のいいかげんなツールにはうんざりしているので、
ダメなツール、OSを全部作り変えるような人材の出発点にほんの少し寄与する です。
初心者向けと思われるプログラムの本を2冊読んでみました。
1冊目、「プログラミングとは?」といったタイトル(わからないように変えてます)
全体を5分割するとその最後の1でおそらくいちばん簡単な遊びのフロチャートを説明して終わり。
うんちくで終わっています。(とは?だからいいのか。)
2冊目、「さっくり プログラミング」としておきます。
最初の3分の1はコンピュータ(ハード)とプログラム言語の歴史で終わる
そしてようやく変数。コンピュータ内にどのように保存されるか?
2進数で画像データまでいきなりハードルが高い。3つの言語を駆使して
文字列の配列、ポインタなんかも説明している。
クラスの説明について全体の5分の1を費やしている。
(この本ここまで流し読みでそんなに悪くない。説明が何の言語なのか、わかりにくい)
最後全体の10分の1でリンクとソートのプログラムでした。
これを理解できていればSEになれそうです。
<答え>
Python3の例