過去の質問とその回答(桑田処理分)
2006年度 「基礎プログラミングおよび演習」質問とその回答
桑田 kuwada@edu.cc.uec.ac.jp
<<ガイダンス:2006.10.02>>
[Q01]: 環境設定の仕方がわかりません。
[A01]: sun にログインして /class/ee/bin/setup_ip を実行してください。
[Q02]: /class/ee/bin/setup_ip を実行したのですが、.emacs や .cshrc
などのファイルがコピーされません。
[A02]: setup_ip が間違っていましたので、修正しておきました(Oct 2 16:35 2006)。
<<第1回:2006.10.16>>
[Q03]: WebClass 関係ページにアクセスできません。
[A03]: 「[アクセス制限]」と記述してあるページを閲覧するには、授業の受講者に通知した、
「ユーザ名、パスワード」(教育系のアカウントとは別)の入力が必要です。
[Q04]: /class/ee/bin/setup-ip
を実行しても、
pad2ps
が見つかりません(実行できません)。
[A04]: シェルプロンプト「>」に対して、「source ~/.cshrc
」を実行すると、
(T)csh 用の設定(~/.cshrc
)が有効になります。
次回のログイン以降は、何もする必要はありません。
[Q05]: Cプログラムのコンパイルの方法がわかりません。
[A05]: コンパイル、実行の方法
を参照してください。
[Q06]: sun 上の acroread で PDF ファイルの閲覧ができません。
[A06]: sun の acroread には日本語フォントがインストールされていません。
日本語フォントがインストールをお願いしています。
[ 暫定的対処法 ]
sun のホームの ip ディレクトリにある file.pdf ファイルを閲覧する場合、
iMac 端末上のシェルから以下のように入力してください。
$ open ~/../ip/file.pdf
ここで、「$」はシェルのプロンプトです。
[ 2006.10.19 対処済み ]
sun 上の acroread でも日本語のPDF文書の閲覧が可能になりました。
<<2006.10.19>>
[Q07]: 課題レポートの提出方法がわかりません。
[A07]: 「授業関係の注意・連絡事項[緊急用]」を見るようにしてください。
-----------------------------------------------------------------
授業関係の注意・連絡事項 (2006.10.19)
課題レポートの作成手順
-----------------------------------------------------------------
<<第2回:2006.10.23>>
質問なし。
<<第3回:2006.10.30>>
[Q08]: pad2ps で作成した PDF を表示できません。
[A08]: pad2ps は PDF を直接には作成できません。
pad2pdf を使用してください。
また、pad2pdf で作成した PDF をうまく表示できない場合は、
「pad2pdf file.pad file.pdf」で直接 PDF を作成しないで、
次の方法で PS ファイルから PDF を作成してみてください。
% pad2ps file.pad file.ps ; ps2pdf file.ps file.pdf
<<第4回:2006.11.06>>
[Q09]: 第2回の課題レポートのコメントで「読めませんでした」とありますが、
どういうことでしょうか。
自分では読めます。
[A09]: 採点者の作業環境では、日本語のコードが Shift JIS 以外のファイルの
内容が読めないということですので、今後、提出ファイルの日本語コードは
Shift JIS に変換して送ってください。
参照: 日本語コードについて
[Q10]: 擬似コードって何ですか。
[A10]: 第04回 「4.2.1 段階的詳細化を用いたプログラムの作成」を参照してください。
<<第5回:2005.11.13>>
[Q11]: 円マークを入力できないのですが。
[A11]: 教育系のキーボードは英語キーボードなので円マークは
入力できません。逆スラント(逆スラッシュ)(\)を使用してください。
[Q12]: Cプログラムのコンパイルの方法がわかりません。
[A12]: A05 参照。
[Q13]: コンパイルしたプログラムの実行時に、Segmentation fault エラーが起こる。
[A13]: 確保されていないアドレスをアクセスしようとすると発生します。
・配列の添字が範囲外になっていないか
(a[100]と宣言した場合、Cではa[100]にアクセスできない。a[0]からa[99」までアクセス可)
・scanf で変数のアドレス(&x)ではなく、変数名(x)そのままを指定していないか
<<第6回:2005.11.27>>
[Q13]: サンプルプログラムの「#include」をつけなくても
コンパイルできました。このインクルードは必要なのでしょうか。
[A13]: /usr/include/stdio.h に定義されている関数や変数などを
使用するときには必要ですが、必要ないプログラムもあります。
よく使用するので記述忘れのないように習慣的に記述しています。
[Q14]: printf("%2d:%5d\n", i, x[i]);
[A14]: この printf 関数の数字 2 とか 5 は何を意味するのですか。
ダブルクォート内はフォーマット指定で、「%2d」は整数値を2桁で
出力することを意味します。
「%5d」は整数値を5桁で出力します。
実際の数値は3桁で表現可能ですが、見やすくするために余分な桁数を
設定しています。余分な部分は空白で埋められます。
浮動小数点数を表示するときは、「%6.2f」のように指定します。
小数点以下2桁で全体で(小数点を含むフィールドの桁数)6桁で表示する
ことを意味します。
[Q15]: WebClass のコンテンツをカットアンドペーストでEmacs に
コピーして、保存した C プログラムソースをコンパイルし、
実行すると文字化けします。
[A15]: Emacs のモードライン(下部の反転表示部)のファイルコードが
「u」になっている場合、ファイルのコードがユニコードとなっています。
sun 上では EUCでないと正常に動作しません。
「nkf -e file.c >file2.c」で日本語コードをEUC に変換して使用してください。
<<2006.11.29>>
Emacs のデフォルトの日本語コードを EUC に設定したので、
日本語を含む場合、EUC で保存しますので、nkf を使用しなくてもよいでしょう。
Emacs で保存したファイルの文字コードについて
<<復習1:2006.12.04>>
[Q16]: 文字型 char がよくわからないのですが。
[A16]: 文字型、数値型参照。
[Q17]: continue 文がよくわからないのですが。
[A17]: http://www.edu.cc.uec.ac.jp/ee/ip/c_lang/break.html 参照。
<<第7回:2006.12.11>>
[Q18]: ソースプログラムで #include を記述しても
コンパイルエラーになる。
[A18]: gcc -o file file.c -lm
のようにリンクオプション -lm を追加してコンパイルしてください。
[Q19]: 2進数を8進数へ変換するとき、上から3桁ずつ取った場合、
最後に3桁取れないのですが。
[A19]: 下から3桁ずつ取り、残った部分が3桁にならない場合は、
前に不足桁数の0を補ってください。
<<第8回:2006.12.18>>
質問なし。
<<第9回:2006.12.25>>
質問なし。
<<第10回:2007.01.15>>
質問なし。
<<第11回:2007.01.22>>
<<復習2:2007.01.29>>
[Q20]:
[A20]: