UNIXシステムコールプログラミングのページ(仮)
第1回
プログラム例
- コマンドライン引数
- コマンドライン引数を、一行に一つずつ、順序通りに標準出力に出力するプログラム。
- nara.c
argc
を使って個数を数える方法を使う。
- ikoma.c
argv[argc]
に NULL
が入っていることを利用する方法を使う。
- 正四面体数を順に出力するプログラム。
ただし、以下のオプションをとる。
-r
- 20カラム右揃えで出力する。
-N
整数
- 整数以下の正四面体数のみを出力する。指定しなければ無制限。
-n
整数
- 最初の整数個を出力する。デフォルト値は10。
-N
と同時に指定したときは、-N
の引数として与えられた限界を超えると途中でも打ち切る。
- 環境変数の使用例
- 環境変数の表示
- 環境変数の値により動作を変えるプログラムの例
課題
- Cの標準関数の使い方は、manコマンドで調べましょう。
- 嘘ページに騙されるのは自己責任です。
-
- コマンドライン引数を、一行に一つずつ、以下の順序で標準出力に出力するプログラムを書け。
- 最初に、アルファベットで始まる引数のみを出現順に出力する。
- 次に、数字で始まる引数のみを出現順に出力する。
- 最後に、残りの引数を出現順に出力する。
- ヒント1
isalpha()
とisdigit()
を使いましょう。文字コードの大小比較を使う方法は、環境依存で好ましくありません。
-
以下のオプションにも対応するよう、kyoto.cを改良せよ。
-O
- 奇数の正四面体数のみを出力する。
-R
整数
- 整数カラム右揃えで出力する。
- ヒント1
- オプション
-R
整数の実装方法
-
三角形の三頂点の座標を入力し、指定された心の座標を出力するプログラムを書け。
-
以下の条件で書け。
- 入力は標準入力で出力は標準出力とする。
- 座標を出力する心はコマンドラインオプション
-c
の引数または環境変数TCENTER
の値で指定する。両方指定されている場合はコマンドラインオプションを優先する。どちらも指定されていない時は、重心のみ出力する。
-
心を指定は、下記の表に従って一文字が一つの心に対応し、出現順が出力の順に対応するものとする。
- G
- 重心
- H
- 垂心
- I
- 内心
- K
- 類似重心
- N
- 九点円の中心
- O
- 外心
たとえば、コマンドラインオプションに -c GIO
があれば、重心、内心、外心の順に出力する。
- 参考
- 三角形の心
-
, ,
の場合
| |
座標 |
座標 |
頂点 | |
0.000000000000 |
0.000000000000 |
頂点 | |
1.000000000000 |
0.000000000000 |
頂点 | |
0.633136094674 |
0.280051113992 |
重心 | |
0.544378698225 |
0.093350371331 |
垂心 | |
0.633136094675 |
0.829401379566 |
内心 | |
0.615384615385 |
0.130023731497 |
類似重心 | |
0.657342657343 |
0.165484749178 |
九点円の中心 | |
0.566568047337 |
0.277363123390 |
外心 | |
0.500000000000 |
−0.274675132787 |
奈良女子大学生活環境学部情報衣環境学科生活情報通信科学コース
数学科出身だけどプログラミングを教えている人