担当授業のこととか,なんかそういった話題。

主に自分の身の回りのことと担当講義に関する話題。時々,寒いギャグ。

iPad で CASLII プログラミング。

2017-10-30 23:26:05 | 情報系
スマホを持ってないので同じ技が通用するかどうかはわからないが,ともかく,iPad でいつでもどこでも気軽に CASLII プログラミングごっこを楽しむ方法を見つけた。

DCasl2 という Windows 用の CASLII シミュレータ(シェアウェア)の作成者である Daytime 氏が,なんと太っ腹にもブラウザで動くシミュレータも公開して下さっている。

そのページを safari で開き,リーディングリストに追加すれば,オフラインでもシミュレータ機能を楽しむことができるのである!

基本情報技術者試験のために CASLII/COMETII について勉強したのは,かれこれ10年くらい前のことで,当時も100%マスターしたわけではなく,その後全く学び直す機会も設けず今に至るので,ごく初歩的なサンプルプログラムすらここに紹介するわけにはいかないのだが,レパートリーが増えてきたらぼちぼち公開していこうと思う。

ところで,Daytime 氏のシミュレータがオフラインでも動く理由は,それが JavaScript で書かれているからだろう。

ということは,ごく簡単な機能をもったアプリが欲しい場合,JavaScript で作成し,それを何らかの方法で safari のリーディングリストに加えればよいことになる。

手近なところでいうと,そこそこの機能を持った電卓が欲しいなぁ。

目下のところ,自分で作りたいのは

・整数係数の3元3立1次方程式の解法支援アプリ

・CASLII よりもっと単純なアセンブリ言語のシミュレータ

である。

そんなわけで,JavaScript にがぜん興味の湧いてきた今日このごろである。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

コンピュータの基礎。

2017-10-19 21:21:19 | 情報系
50年前に出版されたある本について調べようと検索したら,おまけで素敵なサイトを発見した。

東芝の e-learning のサイト

特にマイコンの歴史は面白そうだ。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

〇パンマン。

2017-10-14 21:42:05 | もじりあーの。
『ワンパンマン』という微妙なヒーローもののマンガがある。主人公がどんな強い敵でもパンチ一発で倒してしまうという設定で,タイトルそのものの内容である。

ところで,「ワン」は英語の one であるが,フランス語で同じく 1 を表す数詞は une で,「アン」と発音する。

というわけで,もしフランス版の単行本が発売されたら,やなせたかしさんが生み出した子供たちのヒーロー『あんぱんまん』と誤解されることが懸念される。

さて,パンチ一発でどんな怪人をも倒すというのは確かに最強クラスのヒーローであるが,実はそれよりもさらに強い,究極のヒーローがいる。

それは,パンチを一発も繰り出すこともなく,ひとにらみで相手を倒してしまう・・・,

その名も

『ノーパンマン』!
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

コンパ。

2017-10-14 21:37:25 | もじりあーの。
LO: 何人もの男女が食事を一緒に食べて知り合いになるイベントを,よくコンパっていうじゃん?

CC: そうね。

LO: で,そういうのをなんで「コンパ」っていうのかな~って,前々から疑問だったんだけど,この間やっとわかったんだよ!

CC: そう。それはおめでとう。

LO: 男女が出会いを求めて集う・・・,つまり,「婚活パーティー」の略だったんだね!

CC: ・・・。ちゃんと辞書かインターネットで調べることをお勧めするわ。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

順列の生成。

2017-10-12 00:14:39 | 情報系
まだ記事にできるほど考えがまとまっているわけではないが,順列の生成の仕方について一つ例を述べておく。

4つの異なる文字 a, b, c, d を並べた順列をすべて生成する際,樹形図などをうまく利用して列挙するのが普通だが,再帰的な手続きを意識した次のような手順を考えた。

基本となる操作として,

(文字列)の先頭の文字と i 番目の文字とを入れ替える

を考え,その結果を (文字列,i) と書くことにする。ただし,i=0 のときは何もしないこととする。

さて,i を 0 から 3 まで動かしながら,この操作を繰り返して最初の文字列 abcd を並べ替えていく。

(abcd,0)=abcd,

((abcd,0),1)=(abcd,1)=bacd,

(((abcd,0),1),2)=(bacd,2)=cabd,

((((abcd,0),1),2),3)=(cabd,3)=dabc.

これは,樹形図でいうと一番目の太い幹(見出し)を生成したことに相当する。

次に,(abcd,0) の後ろの3つの文字について同じ操作を行う。つまり,

a(bcd,0)=abcd,

a((bcd,0),1)=a(bcd,1)=acbd,

a(((bcd,0),1),2)=a(cbd,2)=acdb.

これを他の見出し語に対しても行う。

そしてさらに得られた文字列の各々について,今度は後ろの2文字について同じ操作を行う。つまり,

pq(st,0),

pq((st,0),1)

という操作を行う。

これですべての順列が生成されたことになるはずだが,もとの文字列がただ1文字だけの場合も含めて通用する統一的な形式を望むのであれば,最後の1文字と,その i 番だけ後ろにある文字との入れ替え(結局のところ何もしない空の操作)を実行しておしまい,というオチをつけてもよいだろう。

この再帰的な手続きを疑似的なプログラミング言語で表現したいのだが,実際にどう記述すればよいのかまだ考えが固まっていない。

よくよく考えてみれば,先頭の文字を一つずつ取り去って残りの文字だけで並べ替えを行うという方針は,本質的に樹形図を描くときと違いはない。

それはそれとして,せっかくなので上記の方法でどのように順列が生成されていくのか,その過程を記念に記して本稿のオチとしよう。

なお,最後の1文字に対して無駄な基本操作を行うことを省略した。


【第0段】

abcd

bacd

cabd

dabc

【第1段】

abcd
acbd
adbc

bacd
bcad
bdac

cabd
cbad
cdab

dabc
dbac
dcab

【第2段】

abcd
abdc

acbd
acbd

adbc
adcb


bacd
badc

bcad
bcda

bdac
bdca


cabd
cadb

cbad
cbda

cdab
cdba


dabc
dacb

dbac
dbca

dcab
dcba
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

セミファイナル。

2017-10-11 23:54:25 | Weblog
昨日は夏の陽気で,埼玉県の某所でアブラゼミとツクツクボウシの鳴き声を聞いた。

今日は埼玉県の別の地域に行ったが,そこではセミの鳴き声は聞かれなかった。昨日セミが鳴いていたところでは今日も鳴いていたかもしれないが,私にとっては昨日聞いたのが今年の聞き納めになりそうである。

そういうわけで,私にとっては今年の蝉ファイナルは10月10日である。先週の金曜日の東京は11月上旬並みの気温だったそうだから,もうセミの鳴き声を聞くことなどないと思っていた。

暑い日と肌寒い日が短いスパンで交互にやってくる。流行に疎い私はとてもついていけない。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

電気回路と構造解析。

2017-10-09 21:29:09 | mathematics
備忘録。

数年前,建築系で線形代数の知識としてどんなものがどの程度必要なのか,構造に関する教科書で様子を探ろうとしたことがあった。

そんな折,Livesley という人の "Matrix Methods of Structural Analysis" という著書の邦訳で,電気回路の理論と構造解析とを統一的に論じた,源泉と思える文献について知った。

それらは1944年の Kron の論文と,1951年の Synge の論文である。これらのうち,Synge の論文をネットで探したが,当時は見つからなかったように思う。

ところが,この間久々にそのことを思い出してもう一度検索したら,結構あっさりと見つかった。しかも無償で公開されていたのである。というわけで,元ネタの本の題名と Synge の論文のリンクを忘れないようにここに書き留めておこうと思う。

1951 Synge, The fundamental theorem of electrical networks

ちなみに,構造解析の本に電気回路の話が出てきて大いに驚いたのだが,振り返ってみれば,高校の物理や大学初年級の力学や微分方程式の授業で,バネの機械的な振動と,コンデンサーとコイルを組み合わせた電気回路の電気的な振動とを「単振動」という名の下に統一的に扱う視点はずいぶん前から慣れ親しんでいることであった。このような観点は特に工学者にとっては常識なようで,そっち方面には疎いのだが,例えば日本では高橋利衛氏の著作,海外では Mikusinski の演算子法のテキストでそうした取り扱いが見られる。

とりあえず,回路理論,ひいては線形システムにおける線形代数の特にネットワーク(回路網)への応用に興味があるので,最新の優しい教科書や基礎的な文献を眺めてそこら辺りを探索してみようと思っている。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

何と数えるのか。

2017-10-07 00:50:10 | Weblog
羽のある,空を飛ぶ生き物の数え方についてわからないことがある。

鳥は「一羽」「二羽」と数える。

蝶は,確か「一頭」「二頭」と数えるのだったと思う。

蝶と同じ昆虫ではあるが,トンボや蝉は「一匹」「二匹」である。

では,コウモリはどうなのだろうか。鳥によく似てはいるものの,ほ乳類であって鳥とは違う生き物だから,「一匹」「二匹」でいいのだろうか。それとも鳥と同じく「一羽」「二羽」と数えていくのだろうか。


そういえば,小学校低学年程度の子供の頃,コウモリといえばマンガや映画に出てくるだけで,洞窟に行かなければお目にかかれない動物だと思っていたところ,当時住んでいたビルのダストシュートに住み着いていることを知り,とても驚いたものである。その後移り住んだ,大きな公園のある団地で,日が沈むころに空を飛び回るコウモリを日常的に目にするようになり,コウモリは街中でもよく見かけるような身近な存在だと知った。とはいえ,現在住んでいる地域ではあまり見かけた記憶がない。単に覚えていないだけかもしれないので,夕方に近所の公園に,街灯のそばを通り過ぎるコウモリがいないか,観察しに行こうと思う。
コメント
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする