不定期戯言

戻る

« | 2024 | 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も変数のスコープは関数の外と中ということでしか制御していない。うーん,どうしたものか。

コメント(2)

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

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

おまんかすくりこ wrote at 2019-09-26 11:10:

参考になります。

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

2019.08.28 (Wed)

PyPENの改良

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

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

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

コメント(0)

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

2019.08.19 (Mon)

SSS2019

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

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

コメント(0)

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

2019.08.16 (Fri)

PyPENリリース

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

コメント(0)

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

2019.08.11 (Sun)

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

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

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

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

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

コメント(0)

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

2019.08.04 (Sun)

Microsoft Teachers Cafe @Nagoya

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

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

コメント(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のベクトルみたいな感じの計算ですよね。それはどうするか正直悩みました。今後考えてみます。

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

2019.07.28 (Sun)

WaPEN Toolsのインストーラ

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

コメント(0)

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

2019.07.16 (Tue)

MIEE Cafe

・MIEEというのをやってみている。マイクロソフト認定教育イノベータ(Microsoft Innovative Educator Experts)ということなのだが,私は普段使いの環境からしてWindowsじゃなかったりもするのでちょっとはずれてる気もする。でもMSは懐が広いからきっと大丈夫だろう。最近の開発はVS Code使ってるし,WaPENもIEでさえ動くように頑張ってるし。

8月4日(日)に愛知のメンバが中心になって「Micrpsoft Teachers Cafe @Nagoya」というイベントを実施する。詳細は申し込みページを参照いただきたい。私はPythonの話をちょこっとやる予定だけど,自分のやってないことをやってる人がいろいろやるのが楽しみではある。

コメント(2)

勝沼奈緒実 wrote at 2019-07-17 21:41:

「Micrpsoft Teachers Cafe @Nagoya」p→oではないですか?

わたやん wrote at 2019-07-17 21:59:

いかにも。その通りです。ありがとう。

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

2019.07.05 (Fri)

期末テスト

・期末テスト最終日に情報のテスト。語群から選ぶだけの問題でも,かなり出来が悪い。というか,いい人と悪い人の差が極端。

・情報で出てくる言葉って,聞いたことあるけど正確な意味を知らないとかそういうのが多いのは確か。それを知ってる言葉にするのがこの授業の役割だと思っていたところがあるのだけど,まだ力不足だなあ。

コメント(0)

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

古いページ 新しいページ