_ProgII2007/1122
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[takataka]] | [[ProgII2007]]
*Prog2 2007 実習 11月22日(木) [#d8d77674]
#contents
*今日の課題 [#t8b47367]
-今日の課題については,チェックはしません.
-最後にチェックテストをします.範囲は,前回の課題C,Dから今回の課題Bまでです.
**課題A sortcheck.c [#j0b914e5]
11月15日の講義資料と宿題をもとにして,整数値を入力するとそれらが降順にならんでいるかどうかを判定するプログラムを作りなさい.
ただし,次のようにすること.
-ソースファイル名は sortcheck.c とし,prog2/ex1122 に保存すること.
**課題B リダイレクション [#p4c9bca5]
下記のリンク先に1000個の整数値から成るデータファイルがあります.
これをダウンロード(たいていのブラウザでは右クリックして…)して,次のことをやってみなさい.
[[sorted1000>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2007/prog2/sorted1000]]
-mvで,ダウンロードした場所から prog2/ex1122 へこのファイルを移動する
-less で内容を表示する.
-wc で値が1000個あることを確認する
--wcというコマンドは,ファイルの行数,単語数,バイト数数えてくれるもの.詳しくは
$ man wc
-sortcheck でチェックしてみる.課題Aのプログラムをコンパイルして作った実行形式が sortcheck という名前であり,sortcheck のあるディレクトリに sorted1000 が保存してある場合,
$ ./sortcheck < sorted1000
とすればよい.
-cp で別のファイルにコピーする
-コピーしたファイルを emacs で開いて適当な値を書き換え,ソートされていないデータにする
-それを sortcheck してみる
-同様に,自分の作ったソートプログラムに入力してみる(&color(#ff0000){ソートプログラム内で用意している配列のサイズに注意};)
**課題C 乱数データの生成 [#a2b90175]
-[[疑似乱数の解説>ProgII2007/1122/疑似乱数]] を読んでそこに書いてあることを試してみなさい.
-種と個数を入力したら,その個数分の疑似乱数を出力するプログラムを作りなさい.ただし,以下のことに注意すること.
--ソースファイルの名前は random.c とし,prog2/ex1122 に保存する
--種はunsigned int型の変数に入れる.scanf()で読み込むときは,int型なら"%d"やけど,unsigned int型のときは….手持ちの本やウェブなどで調べてみましょう.
--&color(#ff0000){疑似乱数は,0から(個数-1)までの値をとるものとする.};例えば100個なら,0から99まで.
--&color(#ff0000){以下の実行例に示すように,「種を入力してね」とか「個数は?」というような表示はせず,素っ気なく数字を入出力するだけにする};(以下に示すように,ソートプログラムにデータを渡せるようにするためです).
#pre{{
$ ./random
35 <== これは,プログラムの出力ではなく自分でキー入力した種の値
10 <== これは,プログラムの出力ではなく自分でキー入力したデータの個数
5
7
3
8
4
1
3
9
4
1
}}
-プログラムの動作確認ができたら,次のことを試してみなさい
--次のように実行し,種の値とデータ数を適当に入力すると,カレントディレクトリ(現在地)に hoge という名前のファイルが作られ,そこにプログラムの出力すなわち乱数データが格納される.
$ ./random > hoge
当然,lessで内容を確認できるし,
$ ./qsort < hoge
のように使うことができる.
--次のように実行し,種の値とデータ数を適当に入力すると,randomがそれに応じて出力する乱数データがqsortに渡され,qsortはそれらを入力として並べかえを行うことになる.
$ ./random | ./qsort
● '>','<','|' 等のはたらきについては次回講義で解説します.
**発展課題 数当てゲーム [#q5f5bd57]
以下の課題は,やらなくても減点にはなりません.やって高橋に見せてるとボーナス点を加点する場合があります.
次のような数当てゲームのプログラムを作ろう.
#pre{{
種を決めてね : 7
0 から 127 までの数をひとつ決めたで. いくつやと思う? (1回目): 64
もっと小さいで〜 いくつやと思う? (2回目): 32
もっと小さいで〜 いくつやと思う? (3回目): 16
もっと大きいで〜 いくつやと思う? (4回目): 24
もっと小さいで〜 いくつやと思う? (5回目): 20
もっと小さいで〜 いくつやと思う? (6回目): 18
もっと小さいで〜 いくつやと思う? (7回目): 17
あた〜り〜
}}
*チェックテスト [#p1abbe89]
//今日はチェックテストはありません
今日のチェックテストにはRLSを用います.
[[今日のチェックテスト>http://r-els.media.ryukoku.ac.jp/mod/quiz/view.php?id=2268]]
終了行:
[[takataka]] | [[ProgII2007]]
*Prog2 2007 実習 11月22日(木) [#d8d77674]
#contents
*今日の課題 [#t8b47367]
-今日の課題については,チェックはしません.
-最後にチェックテストをします.範囲は,前回の課題C,Dから今回の課題Bまでです.
**課題A sortcheck.c [#j0b914e5]
11月15日の講義資料と宿題をもとにして,整数値を入力するとそれらが降順にならんでいるかどうかを判定するプログラムを作りなさい.
ただし,次のようにすること.
-ソースファイル名は sortcheck.c とし,prog2/ex1122 に保存すること.
**課題B リダイレクション [#p4c9bca5]
下記のリンク先に1000個の整数値から成るデータファイルがあります.
これをダウンロード(たいていのブラウザでは右クリックして…)して,次のことをやってみなさい.
[[sorted1000>http://tortoise1.math.ryukoku.ac.jp/~takataka/course2007/prog2/sorted1000]]
-mvで,ダウンロードした場所から prog2/ex1122 へこのファイルを移動する
-less で内容を表示する.
-wc で値が1000個あることを確認する
--wcというコマンドは,ファイルの行数,単語数,バイト数数えてくれるもの.詳しくは
$ man wc
-sortcheck でチェックしてみる.課題Aのプログラムをコンパイルして作った実行形式が sortcheck という名前であり,sortcheck のあるディレクトリに sorted1000 が保存してある場合,
$ ./sortcheck < sorted1000
とすればよい.
-cp で別のファイルにコピーする
-コピーしたファイルを emacs で開いて適当な値を書き換え,ソートされていないデータにする
-それを sortcheck してみる
-同様に,自分の作ったソートプログラムに入力してみる(&color(#ff0000){ソートプログラム内で用意している配列のサイズに注意};)
**課題C 乱数データの生成 [#a2b90175]
-[[疑似乱数の解説>ProgII2007/1122/疑似乱数]] を読んでそこに書いてあることを試してみなさい.
-種と個数を入力したら,その個数分の疑似乱数を出力するプログラムを作りなさい.ただし,以下のことに注意すること.
--ソースファイルの名前は random.c とし,prog2/ex1122 に保存する
--種はunsigned int型の変数に入れる.scanf()で読み込むときは,int型なら"%d"やけど,unsigned int型のときは….手持ちの本やウェブなどで調べてみましょう.
--&color(#ff0000){疑似乱数は,0から(個数-1)までの値をとるものとする.};例えば100個なら,0から99まで.
--&color(#ff0000){以下の実行例に示すように,「種を入力してね」とか「個数は?」というような表示はせず,素っ気なく数字を入出力するだけにする};(以下に示すように,ソートプログラムにデータを渡せるようにするためです).
#pre{{
$ ./random
35 <== これは,プログラムの出力ではなく自分でキー入力した種の値
10 <== これは,プログラムの出力ではなく自分でキー入力したデータの個数
5
7
3
8
4
1
3
9
4
1
}}
-プログラムの動作確認ができたら,次のことを試してみなさい
--次のように実行し,種の値とデータ数を適当に入力すると,カレントディレクトリ(現在地)に hoge という名前のファイルが作られ,そこにプログラムの出力すなわち乱数データが格納される.
$ ./random > hoge
当然,lessで内容を確認できるし,
$ ./qsort < hoge
のように使うことができる.
--次のように実行し,種の値とデータ数を適当に入力すると,randomがそれに応じて出力する乱数データがqsortに渡され,qsortはそれらを入力として並べかえを行うことになる.
$ ./random | ./qsort
● '>','<','|' 等のはたらきについては次回講義で解説します.
**発展課題 数当てゲーム [#q5f5bd57]
以下の課題は,やらなくても減点にはなりません.やって高橋に見せてるとボーナス点を加点する場合があります.
次のような数当てゲームのプログラムを作ろう.
#pre{{
種を決めてね : 7
0 から 127 までの数をひとつ決めたで. いくつやと思う? (1回目): 64
もっと小さいで〜 いくつやと思う? (2回目): 32
もっと小さいで〜 いくつやと思う? (3回目): 16
もっと大きいで〜 いくつやと思う? (4回目): 24
もっと小さいで〜 いくつやと思う? (5回目): 20
もっと小さいで〜 いくつやと思う? (6回目): 18
もっと小さいで〜 いくつやと思う? (7回目): 17
あた〜り〜
}}
*チェックテスト [#p1abbe89]
//今日はチェックテストはありません
今日のチェックテストにはRLSを用います.
[[今日のチェックテスト>http://r-els.media.ryukoku.ac.jp/mod/quiz/view.php?id=2268]]
ページ名: