不定期戯言

戻る

« | 2019 | Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec | »

古いページ

2019.09.01 (Sun)

WaPEN,PyPENのバグとり

・どうして今までこのバグに気が付かなかったかな。単項演算子である「でない」と「-」がうまく働いていなかった。それらを使わないでプログラムを書いていたせいだということなのだが…。

気がついたのは,配列が等しいかをイコール一発で比べられるようにした一方,ノットイコールにはそれを採用していなかった件。そのデバッグ中にやったテストの中で,「A=Bでない」が正しく働かなかったことに気がついたということだった。

・それはそれでいいのだが,変数のスコープについては奥村先生から難しい指摘をいただいている。たとえばPythonでは

for i in range(5):
    for i in range(3):
        print(i)

が二重ループになって15回の表示をして止まるのだが,PyPENで同じことをやろうとすると1行目と2行目のiの区別がつかなくて無限ループになるというのだ。WaPENもPyPENも変数のスコープは関数の外と中ということでしか制御していない。うーん,どうしたものか。

コメント(1)

watayan wrote at 2019-09-01 22:00:

for i in range(5): print(i)
のあとで
print(i)
が5にならず4になるというあたりになにかヒントがありそうな気がしなくもない。enumerateつけても最後の番号で止まるし。

コメント投稿

日本語の文字が入っていないものは受け付けません。URL欄は使わないでください。

Name:
URL (NEVER USE):
Comments:

トラックバック(0)

トラックバック用URL: https://watayan.net/blosxom.cgi/informatics/201909010001.trackback

2019.08.28 (Wed)

PyPENの改良

・PyPENを開発し始めてから約2週間,だいぶいい感じになってきたと思っている。最近の変更はこんな感じかな:

  • 行番号表示ライブラリをjQuery LinedTextAreaからbcralnit.jsに変更(Macでの表示が正常になるように)
  • プログラム入力エリアでtabやbackspaceによって空白を4つずつ操作するようにした。
  • エラーメッセージの日本語化&単純化
  • 整数,実数,文字列,真偽にキャストする関数の追加
  • 変数宣言不要モードをデフォルトにした。それに合わせて,変数が型に縛られないようにした。
  • 「改行する」命令の追加(今までは,「」を表示する,だった)
  • プログラム入力エリアに,空白4つに対応する印を置いてみた(まだうまくはいってない)

こうしてみると,いろいろ追加したいものもでてくる。たとえば配列へのpushとか,for i in 〜っぽい構文とかやりたいんだけど,どんな表現にすると自然なのかうまく思いつかない。

コメント(0)

コメント投稿

日本語の文字が入っていないものは受け付けません。URL欄は使わないでください。

Name:
URL (NEVER USE):
Comments:

トラックバック(0)

トラックバック用URL: https://watayan.net/blosxom.cgi/informatics/201908280001.trackback

2019.08.19 (Mon)

SSS2019

・今年は合宿形式ではないということが作用したのか,過去最大の人数とのこと。私はWaPENの改良について発表したが,やっぱりこうして発表してみるとありがたい意見をいただけるものだ。DNCLの考案者である竹内先生にまでコメントをいただけるとは…。そんなわけで,これからじっくりと実装していこうと思う。

・しかし,発表以外のタイミングではPyPENについてのいろんな提案をいただいた。まだ開発し始めて1週間程度なのだが…。

コメント(0)

コメントの受付は終了しました。

トラックバック(0)

トラックバックの受付は終了しました。

2019.08.16 (Fri)

PyPENリリース

・WaPENの文法をPythonっぽくしたPyPENのだいたいの形ができたのでリリースした。とりあえず私のサイトでサンプルとか見てもらうとわかるかと思う。

コメント(0)

コメントの受付は終了しました。

トラックバック(0)

トラックバックの受付は終了しました。

2019.08.11 (Sun)

全高情研全国大会(和歌山大会)

・前日入りして,準備の様子から見せてもらおうと思っていたのだが,Google mapの言うとおりに歩いていったら山の中に誘導されて,てっぺんまで行ったけど入り口はなかった…。そんなわけで到着した頃には袋詰めとか終わってしまっていた。

・私の発表は2日目なので,初日はLTだけ。2秒間隔でスライドを回し続け,それをバックにしゃべるという腹づもりだったのだが,やっぱり焦るものでうまくしゃべれなかった。

・教育懇談会では愛知のメンバが集まって,相談したり挨拶したり。

・自分の発表はなんとなく普通にできたように思う。発表資料はいつものところに置いておく。

コメント(0)

コメントの受付は終了しました。

トラックバック(0)

トラックバックの受付は終了しました。

2019.08.04 (Sun)

Microsoft Teachers Cafe @Nagoya

・ということでマイクロソフト中部へ。我々はPythonの紹介をするということで,それぞれのパートを担当。状況を見た結果,私の分もコードはコピペで実行してもらうことにした。詳しいコードを読んでもらうのは後日ということでいいだろうということで。

・かなりリハーサルはしたつもりなのだが,それでもトラブルは起きるものだ。「私がサーバやりますから,みなさんはクライアントの方のプログラムを実行してください」と言ったのに,サーバのプログラムを実行してしまう人が大量にいたりとか。

コメント(0)

コメントの受付は終了しました。

トラックバック(0)

トラックバックの受付は終了しました。

2019.07.29 (Mon)

WaPENの配列の比較

・WaPENで,配列の値が等しいかどうかを調べられるようにした。以前サイコロを60回振って各目の出た回数を表示するプログラムを作らせたとき,全部10になるまでループを回すように書いた生徒がいるのだが,それはこの配列の比較ができてなかったのでうまく動かなかったのだ。これでようやく彼の作ったプログラムが正当化できる。

コメント(3)

わたやん wrote at 2019-07-29 20:40:

こんなプログラムです…というのを作ってたらバグが1つ見つかったのでついでに直した。

整数 a[5],b,c,n
n←0
繰り返し,
|a←[0,0,0,0,0,0]
|n←n+1
|b を 1 から 60 まで 1 ずつ増やしながら,
||c←random(5)
||a[c]←a[c]+1
|を繰り返す
|nとaを表示する
を, a=[10,10,10,10,10,10] になるまで実行する

のぐー wrote at 2019-08-01 11:41:

比較だけ?
代入とか加減乗除とか全部(明示的ループ組まずに)書けると便利だと昔から思っているが。
もっとも二次元配列の掛け算は単純な要素どうしの掛け算と解釈すべきかそれとも線形代数的な行列の掛け算と解釈すべきかとかモンダイある気もするが。

わたやん wrote at 2019-08-01 11:48:

PythonのnumpyやRのベクトルみたいな感じの計算ですよね。それはどうするか正直悩みました。今後考えてみます。

コメントの受付は終了しました。

トラックバック(0)

トラックバックの受付は終了しました。

2019.07.28 (Sun)

WaPEN Toolsのインストーラ

・サンプルプログラムのファイルsample.jsを生成するMakeSampleと,自動採点用問題・解答ファイルanswer.jsを生成するMakeAnswerの公開作業。ソースはGitHubにあげてあるからいいとして,問題はWindows用のバイナリだ(Mac用はどうしよう…)。そんなわけで理音伊織氏の電子書籍「インストーラを作ろう!」を参考に作ってみる。更新のことを考えるとオンライン版にした方がよさげなので,かなり参考になった。本当はメンテナンスツールへのショートカットもほしいのだが,これは今後の課題。

コメント(0)

コメントの受付は終了しました。

トラックバック(0)

トラックバックの受付は終了しました。

2019.07.25 (Thu)

markdown

・githubに新しいレポジトリを登録してREADME.mdを書きつつ思う。生徒に教えるんだったら,htmlよりもmarkdownの方がいいなあ。

コメント(0)

コメントの受付は終了しました。

トラックバック(0)

トラックバックの受付は終了しました。

2019.07.24 (Wed)

たまにはWordで仕事する

・Windowsについてはずぶの素人である私とて,たまにはWordで文書を作ったりする。仕上げに文書のページを複製して宛名だけ変えようと思った。ページのテキストをまるっとコピペすればいいだけなのだが,いくらなんでもページの複製くらい探せばあるだろう(もちろん差し込み印刷が一番まっとうな筋であることには間違いない)。そう思ってぐぐってみた。Microsoft Officeのサポートページにちゃんと書いてあった。さすがである。

  • 1.コピーするページの先頭にカーソルを置きます。
  • 2.カーソルをクリックして、コピーするページの最後までドラッグします。
  • 3.キーボードの Ctrl キーと C キーを押します。

…ちょっと待て。

コメント(3)

のぐー wrote at 2019-08-01 11:44:

>…ちょっと待て。
ctrl+Aで全選択が書いてないとかそういう話?
それとももっと別の意味が?

わたやん wrote at 2019-08-01 11:50:

Ctrl+Aだと全ページになっちゃうかと。途中の1ページだけコピーしたいのでした。

わたやん wrote at 2019-08-01 11:57:

けっきょくページの上から下までを手動で指定するんかい,みたいなツッコミをしたかったのです。

コメントの受付は終了しました。

トラックバック(0)

トラックバックの受付は終了しました。

古いページ