のた犬のうまい猫めし

どら猫が作る、のた犬のための飯、略称、どら飯について語りつつ、各種技術、経済系セミナーに参加した報告、OSSいじってみた等のネタを入れていきます。更新情報はtwitterの@nota_inuにて。

Java女子部 「JavaScriptを書きながらアルゴリズムを学ぼう!」勉強会

Doorkeeper、Facebookグループで告知されていたJava女子部のアルゴリズム勉強会「JavaScriptを書きながらアルゴリズムを学ぼう!」に参加してきた。講師は(株)ティージー情報ネットワーク、品質向上推進部品質向上推進G、古屋 宣岳氏。
手を動かしてフローチャートアルゴリズムを書き、そのアルゴリズムを実際に手を動かしてコーディングすることでプログラミング力がUPし、楽しくなる、と。(プログラムはアルゴリズムとデータ構造とでできている。)
 事前公開としてプレゼン資料あり。当日はメイン部分だけJavaScriptでコーディングすればよいだけになっているhtmlファイルあり。テキストエディタでそのままコーディングしてすぐブラウザで実行できるので、事前準備がなくて便利でいいですね。ただ、少しでも文法とか変数名間違えると全く動かなくなるので、EclipseJavaは便利だなぁ、と改めて思ったり。


<頭の体操>

一巻き40分の渦巻き状の蚊取り線香がある。2本で30分、3個で50分を測るにはどうするか。
……蚊取り線香の真ん中の部分が金具で止められている写真を見せられると、両端から火をつける、ってアイディアに行きつきにくいよなぁ……。

 

Fizz、Buzz>

3の倍数でFizz、5の倍数でBuzz、3と5の倍数でFizz Buzzと書くのを1から100まで。
ネタはまぁ簡単でいいのだが、周りでフローチャートの六角形のRoop文を知っている人があまり居なかったのにはびっくり。自分の常識がいつの間にか非常識になっているのね。

 

小町算

1から9までの数字を順番に並べ、間に+、-、×、÷を入れて100にする。演算子の優先順位なし。
123+45-……のように数字がつながってしまうところが難しい。符号が来ていないときには数字を10倍し、符号が来たらこれまでのをバッファに入れておくアルゴリズムに気付けるかがキー。
プログラムを作るとき、つい頭から計算してしまっているのがダメなところだなぁ。符号が来るまでの数字を配列に入れておき後でまとめて計算することで、あとあと演算子の優先順位をつける修正が入った時の修正効率が段違い、と。むー。
 周りを見ていると、JavaScript(多分Javaも)初めての人だと、for文で回してnum[i]を……ってところにまず引っかかっちゃうんだなぁ。確かに昔は配列の取り扱いに苦労したもんだ。