2021.12.17

  1. Q. genpic3.c をクリックすると文字化けして表示されます.
    A. これはwebブラウザの自動文字コード判定がタコなだけです. (参考: 文字コードを手動設定する方法 . なお microsoft edge は手動設定の機能が削除されてるようです.)
    ダウンロードして emacs でファイルを開けば文字化けはないはずです. emacs の自動文字コード判定は優秀です. なお genpic3.c は UTF-8 文字コード系で書かれています.
  2. Q. mod.c, mod-char.c, genpic3.c の実行がうまくいかない.
    A. 実習の時間の私の説明の録画が ここ (youtube, 限定公開) にあります. これを注意ぶかくもう一度見てください. ポイントは以下のとおり.
    1. 仮想マシンの firefox でダウンロードしないと仮想マシンにファイルが保存されない.
    2. 保存先はダウンロードフォルダでなく user フォルダ(ホームフォルダ)へ.
    3. 端末(unix shell, 黒い画面)を起動すると現在位置(current folder)は user フォルダになります.
    4. 端末の ls -l コマンドで ファイルがあるか確認. 10/25 の講義およびasirドリル2章を復習.
  3. Q. 原因不明のエラー
    A. 全角の空白文字が入っていませんか? 点滅が大きくなる場所です.
  4. return 文を書かないと関数の最後の文の値が自動的に戻り値となりますが、 return で明示的に書くように.
  5.  return(print(X)); 
    print の値0が戻ります.
     return(X); 
    が正しい.
  6. Q. ctrl と + を同時に押しても拡大できない.
    A. + は shift キーを押して入力する記号なので, ctrl と shift を同時に押しながら + です.
  7. Q. genpic3.c で生成した画像が見えない.
    A. 2x2 ドットの画像なので拡大しないと見えません. あと, shutter を一回実行してしまったあとは, ファイルマネージャーからダブルクリックで見る必要があります.
  8. Q. ユーザーからの入力を変数に代入するには?
    A. asir のプログラミングスタイルとしては, 質問してデータを求める, という (おせっかい)形式ではプログラムを 書かず, ユーザーが関数呼び出しの引数でデータを入力してプログラムを実行する, という形式をとる必要があります. 質問してデータを求めるプログラムをどうしても書きたい時は,
    purge_stdin(); X=eval_str(get_line());
    
    でも想定どおりに動くとはかぎりません.
  9. Q. 有理数でない数を扱いたい.
    A. 代数的数については, マニュアルの代数的数に関する演算 を参照.
  10. Q. 16 進数の文字列を出力したい.
    A. 一桁だけなら
     def hex(X) { 
       if (X<10) return(rtostr(X));
       else return(asciitostr([0x61+X-10]));
     }
    
    これを参考に桁数の多い場合も考える.
    
 

より詳しく知るには?