授業や学生指導の中で,作成してきたアプリケーションを紹介します. 画像つきは,こちらです.
「◆」をクリックすると,アプリケーションを使うことができます.
Cglos(シー・グロス)は,C言語でよく使われる言葉とその読み方を知ることのできる,Webアプリケーションです.◆
フォームに英字,記号,または日本語を入力すると,瞬時に,その言葉から始まるキーワードが表になって現れます.
Ajaxの勉強として作ったソフトウェアです.静的なXMLファイルを参照するだけなので,1文字打てばすぐに結果が出ます.
もともとは,2006年度の授業(情報処理II)のために開発しました.今後も,データを増やしていくつもりです.
Euclid_js(ユークリッド・ジェイエス)は,ある整数解を求める問題を,拡張ユークリッド互除法を使って解いてくれます.◆
aとbに,正の整数値を入力し,ボタンを押せば,a*x+b*y=gcd(a,b) を満たす整数x,yを求めます.右辺の「gcd(a,b)」は,aとbの最大公約数です.
情報セキュリティの授業では,RSAの鍵生成アルゴリズムに合わせて,拡張ユークリッド互除法を取り上げています.整数のみの加減乗除で求められるのですが,手で解くと,よく計算ミスや,変数の取り違いをしてしまいます.
そこで,JavaScriptプログラムを書き,ブラウザの上で解かせることにしました.
検算用にどうぞ.なお,試験では使用できません.
zjs(ズィー・ジェイ・エス)は,時間に厳格な,学会発表や,大学の卒業研究発表会などで,秒単位で時間を管理するためのアプリケーションです.◆
このタイマーを動かすのに必要なものは,HTMLファイル一つと,ブラウザだけです.wavファイルを用意すれば,音を鳴らすこともできます。
時間の設定や,時間を進めるなどの操作は,いろいろな方法で行えます.発表だけでなく,発表練習にも使えるようになっており,例えば,スライドごとに何分何秒が経過したかを記録することができます.
最新版は github よりダウンロードできます.また,開発記録を日記で公開しています.
nlmate(エヌエルメイト)は,「2重ループを自由自在に書けるようになりたい」という人を支援する,小さなソフトウェアです.
Linuxなどの端末で,実行します.すると,英語の説明文のあとに,「Goal: (0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)」と出てきます.この出力になるように,i(第1成分の変数)とj(第2成分の変数)を変化させるfor文を考えて打ち込みます.ちなみに1問目は,英文をよく読めば答えが書かれています.2問目からはノーヒントです.
1回で解くのは3問までです(オプション指定により最大9問まで).間違えると,同じ問題をやり直します.問題は100通り以上ありますが,すべてすらすら解けるようになれば,2重ループのプログラミングは卒業と言っていいでしょう.私が9問解くと,3〜4分かかっていますので,まずはこの時間を目指してみてください.
プログラム自体は,単一のRubyスクリプトで構成しています.動かすには,rubyコマンドと,コンパイルのためのgccコマンドが必要ですが,いずれも学習用Linux環境であればすでにインストールされているでしょう.また,本学の演習室で使用してみたい人は,Linuxでログインし,端末を起動してから,~takehiko/bin/nlmate を実行すれば動きます.
最新版は github よりダウンロードできます.また,開発記録を日記で公開しています.