読者です 読者をやめる 読者になる 読者になる

thagwen’s blog

現役高校2年生のthagwenの趣味・勉強日記

2017.04.15 JSで数独プログラムを作りたい part1

  • 数独プログラムを作りたい―授業のプログラム―
    • 紹介・企画
    • 環境等
    • 数独とは?定義等
    • 数独の解法の設計
  • 今日の学習
  • シリーズ

数独プログラムを作りたい―授業のプログラム―

紹介・企画

皆さん、突然ですが、高校時代、必修情報科科目の「社会と情報」「情報の科学」の2科目のうち、どちらの授業を受けましたか?

僕の通う学校では「情報の化学」です。だから僕の手元には「情報の化学」という教科書があります。その教科書には予想通りVBのプログラムが載っています。


そう…

4*4マスのナンプレ(数独)解決プログラムが!

そして思ったのです。

「9*9マスに拡張して高速化したい。」

と。



教科書のプログラムは4*4マス。これは1~4の数字を適当に並べただけで成立します。ナンプレの面白みがないのです。3*3も同じです。

それからプログラムがクールじゃないです。例えば、関数名が日本語()。プログラムとしては動かないこともないですが、かっこよくはないですよね。それから使える数字を調べるために、いちいち実行を止めて、変数を自ら書き換える必要があります。


学校の授業レベルなんだから、と言われればそれまでです。

しかし、すこしプログラムをかじったことのある身からするとじれったい!是非とも直したい。いや、いっそのこと作っちゃえ!


それがこの企画です。

続きを読む

2017.04.14 遠足!

今日の学習

言い訳:「遠足」のためなし。


遠足!

今日はですね、クラス親睦()ということで、とある県*1にお邪魔してきました。とある県のとある施設にお邪魔しました。もう何言ってるかわからないですね(笑)

とにかく、社会見学をしてきたわけです。「遠足」という表記にしたのは、学校の行事予定表に「遠足」と書いてあったからです。


クラスの親睦が深まったかというと、たぶんそうではないです。なぜなら自由行動だったからです

自由行動、そして僕はボッチ。あっ(察し)


ぼっちな僕は、時間を持て余していたので従業員の人にどんな仕事をしているのか聞いて回りました。

ここにきてボッチの利点を見出してしまった…!自分の好きなところに自分の好きなときに行けるし、バスで行ったのですが、隣の席が空席になるので快適にお休みできます。

他人に気を配らなくて済む。気楽です。

欠点は昼食ですね。周りがにぎやかに弁当をつついているのに僕は一人黙々とお茶で流し込むんです。悲しい。


いや~収穫は大きいです。やっぱり実際に働いている人に話を聞く、というのは本当に利益があります。

生々しい、現実的な状況を知ることができますし、たまーに社外秘を教えてもらえるので、周りの人よりちょっとだけ優っているという感覚を持つこともできますよね。


学びは大きかったです。悲しさと虚しさはひどいことになりましたが。

今日はよく歩いたものです。軽く2万歩超えてるんじゃないかな。もう足がパンパンですよ。インドア派には辛すぎる試練です。

今日はまさかの雲一つない晴れ。強い日差しのもと、遅刻者がいたために外で20分またされ、首が思いっきり日焼けしてヒリヒリしています。

そして今日はもうすでに眠たくて…。記事の執筆中にかっくんかっくんしてます(笑)

明日は土曜日。学校はない!明日は早く起きて勉強して、今日の分を取り戻さないといけないですね。


追記

ミュージックステーションダーウィンは録画して明日見ます。「うーがおー!」してきます。

ダーウィンのサーバルはこれで2度目ですね。毎週ダーウィンを見ているのですでに見たことがあったりします(笑)たしか2007年くらいだったかな、あんまり印象には残ってないんですけどね。

*1:身バレ防止のため「とある」としています

2017.04.13 宿題が多い

  • 今日の学習
  • 宿題が多い

今日の学習

教科 参考書名 やったこと
数学 青チャートII・B 第4章 三角関数
[20]~[24] (125~146)
英語 DataBase4500 409-527 水曜日モード


高校数学では、π(円周率)を使ってn°を表現しますよね。度数法ではなく弧度法で表現するということです。

ふと思ったことなんですがね、π/2 って90度を表すじゃないですか、普通にπ/2すると、π/2 = 1.73... でまったく90じゃないじゃないですか。

なぜこれで数値を表現できるんですかね?ふと気になったことです。

続きを読む

2017.04.12 開けテスト物理返却。計算ミスがひどい件

  • 今日の学習
  • 計算ミスがひどい件

今日の学習

教科 参考書名 やったこと
英語 DataBase4500 409-527 水曜日モード

本日はホームルームの宿題があるため勉強ができませんでした。結構時間がかかるんです。終えるのに3時間ぐらい?かかりました。

続きを読む

2017.04.11

学習記録

教科 参考書名 やったこと
英語 DataBase4500 409-527 火曜日モード
化学 セミナー化学基礎 1-2


表に加えるか迷いまして結局書き加えなかったのですが、自作の数学計算力向上アプリが1時間分くらいと、同じく英単語編を1時間分ほどやりました。

問題を個数ごとに区切る機能を付けていないことがあだとなって、ノルマ学習ができません…汗



それから蛍光灯取り替えたー!今回は自費でなかったのでよかった!うれしい。


プログラミングの話ですが、Pythonのfor文を書くことになれると、JavaScriptのfor文を書きたくなくなるのは僕だけじゃないはず…。

やっぱ文字数の問題ですかねー。キーの打数が大違いですし。特に何もしない、for文のコードの比較です。

☆Python3☆

for i in range(100):
    print(i) 


JavaScript

for ( var i = 0; i < 100; i=(i+1)|0 ) {
  console.log(i)
}

もちろんJavaScriptでも、わざわざ型を認識させるように"i=(i+1)|0"なんて書かなければもっと文字数が少なくなりますが、やっぱ多重ループになって処理速度が必要になると、型を明示的にすることで速度を上げるこの技は必須になるんですよ。

ちなみに僕のGoogle Chromeだと型認識をさせたほうが、そうでないほうに比べて4倍速く処理が完了します。

FireFoxでは2倍、Safari(更新終了前のバージョン)では4倍、Operaだと4倍早く処理が終わります。使わない手はありません。