next up previous
Next: レポートに関するコメント(プログラムの書き方) Up: 計算機言語 I 第 10回 Previous: 配列を引数にする(例: 内積を用いた角度の計算)

練習問題

  1. 10-2.c のプログラムにおいて, 最小の int 型変数の値 -2147483648 を出力するには, どのような 16 進数を入力すればよいか? 理由もつけて 答よ.

  2. 10-2.c の様に, C 言語とライブラリの仕様を利用して 10 進法を 16 進法に変換するプログラムを書け.

  3. 10-3.c の様に C 言語での 16 進法の扱いを利用せずに, 16 進法を 10進法に変換するプログラムを書け.

  4. 10-3.c を改良して, 出力の先頭部分の 0 は出力しない様にせよ.

  5. 2 進法から 10 進法への変換プログラムを書け.

  6. 10 進法から 2 進法への変換プログラムを書け.

  7. 皆さんの学籍番号は, 次のルールで作られています.


    02 3 1 01 B
    入学年度 理学部は 3 数理科学科は 1 学科内の番号 チェックディジット


    ここで, チェックディジット(check digit)は次のルールで計算されます. $\alpha,\beta$ を 0 から 9 までの数とし, 学籍番号の数字部分が $0231\alpha\beta$であったとき,
    \( \begin{array}{cccccccccccc}
7~\times & 0 & +~6~\times &1 & +~5~\times & 3 & +...
...2nd column& &3rd column& &4th column& &5th column& &6th column\\
\end{array} \)


    の値を 11 で割った余りの下1桁を $\gamma$ とする. $\gamma$ の値によって チェックディジットは, 次の値になる.


    0 1 2 3 4 5 6 7 8 9
    B A K J H G F E D C


    2桁の入力に対して, その年度入学理学部数理科学科の学生全員(40人)の 学籍番号を出力するプログラムを 10-3.c を参考にして書け. (例えば, 2002年度の入学生だと, 02 を入力すると, 023101B, 023102K, $\cdots$ が出力されるようにする.)



Next: レポートに関するコメント(プログラムの書き方) Up: 計算機言語 I 第 10回 Previous: 配列を引数にする(例: 内積を用いた角度の計算)