AProg/2017/ex06
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*応用プログラミング及び実習 2017年度 第6回 [#bebe2b15]
//&color(#ff0000){工事中};
#contents
**注意 [#o3f5d008]
- 実習のすすめ方について [[AProg/2017/ex00]]
- Linux環境での操作についてわからないことがあったら [[Doc...
- &color(red){締切に間に合わずチェックを受けられなかった...
**課題A(self) 締切:今回の実習終了時 [#kadaiA]
&color(blue){構造体の学習(1)};
講義資料の kcard.h, kcard.c, kenshin3.c を作ってコンパイ...
kenshin3.c は以下のリンク先から入手すればよい.
[[kenshin3.c>https://gist.github.com/takatakamanbou/64dc9...
&color(white,blue){check}; 他の2つは,&color(blue){理解を...
**課題B(self) 締切:今回の実習終了時 [#kadaiB]
&color(blue){構造体の学習(2) & 郵便番号簿探索プログラム作...
[[第5回課題C>AProg/2017/ex05#kadaiC]] のプログラムと同じ...
:ex06zip.h| 次のものを含むヘッダファイル
-- ex05zip.c と同様の定数 NCHAR の定義(構造体の定義で使...
--郵便番号簿データ(郵便番号と住所)を格納するための構造...
:ex06b.c| main関数を定義したソースファイル.次のようなも...
-- 上記ヘッダファイルで定義された構造体の配列を宣言する....
-- ファイル zipdataS を読んで,上記の配列の要素に代入する...
-- ex05zip.c と同様に,データ件数,最初のデータ,最後のデ...
構造体の定義は次のようにすること.
- typedef を用いて,ZIP という型名にする
- ZIP の変数1つは''1件分''の郵便番号簿データを格納するも...
- 何をメンバとすべきかはよく考えよう.メンバ名は自分で決...
**課題C(TA&takataka) 締切: 後述 [#kadaiC]
&color(blue){郵便番号簿探索プログラム作成の準備(2)};
- TAチェック課題としての締め切り: 今回の実習終了15分前
- takatakaチェック課題としての締め切り: 月曜13時(提出法...
↓の[[課題E>#kadaiE]] で,郵便番号データを読み込んで郵便番...
+ [[課題B>#kadaiB]] で書いた構造体 ZIP の定義
+ 線形探索の関数の定義
線形探索の関数は次の仕様を満たすようにすること
- 関数名は LSearch とする
- 引数は,ZIP の配列,その要素数,探索キーの値(郵便番号...
- 戻り値は次のように定める
-- 配列中にキーの値と一致するものが見つかった場合はその要...
-- 見つからなければ -1
- 探索アルゴリズムは線形探索とする.配列中に同じキー値を...
- この関数中ではscanfもprintfも使わない(デバグ中は別です...
**課題D(TA) 締切:次回実習開始直後 [#kadaiD]
//&color(#ff0000){工事中};
&color(blue){他人の作ったプログラムを利用してみる};
[[前回の課題A>AProg/2017/ex05#kadaiA]] のソースファイル入...
$ cp /roes/sample/takataka/aprog20XY/prime* . ← 最...
この3つのファイルは,次のようなものである.
- prime.o: 3つの関数を定義したC言語ソースファイルを龍大計...
- prime.h: 上記3つの関数のプロトタイプ宣言を書いたヘッダ...
- primedata.txt: いくつかの整数がならんだテキストファイ...
これらのファイルを利用するプログラムを書こう.ただし,↓の...
[[ex06prime.c>https://gist.github.com/takatakamanbou/6515...
- &color(white,blue){check}; prime.o はオブジェクトファイ...
- &color(white,blue){check}; 授業で説明したように,オブジ...
- &color(white,blue){check}; 完成して動作確認できたら,...
-- なぜ 4649 と 5963 は出てこない?
-- NDATA を 10 に変更したらどうなる?
**課題E(TA) 締切:次回実習終了20分前 [#kadaiE]
&color(blue){郵便番号簿探索プログラムの作成(1)};
[[課題B>#kadaiB]] と [[課題C>#kadaiC]] の結果を組み合わせ...
ファイルの構成は次のようにすること.
:ex06zip.h| 課題Bと同じヘッダファイル.必要なものを追加
:ex06zip.c| 課題Cで書いた線形探索の関数を定義.
:ex06search.c| main関数を定義
実行すると次のような動作をするように作ること.
+ 郵便番号データのファイル zipdataS を読み込む
+ キーの値(検索したい郵便番号)を入力してもらう.それが...
+ LSearch を呼ぶ
+ 戻り値に応じた結果を出力
-- 見つからないときはそのことを知らせる
-- 見つかったときはその郵便番号と住所を出力(0からはじま...
+ 2. に戻る
-&color(white,blue){check}; zipdataS はデータ件数が少ない...
-&color(white,blue){check}; ファイル zipdataS を使って十...
"/roes/sample/takataka/aprog20XY/zipdata"
にして実行してみなさい.このように fopen の第1引数にディ...
-- &color(blue){ファイル zipdata にはたくさんの郵便番号デ...
-- また,&color(#c00000){NDATAが小さかった時には正常に動...
static ZIP hoge[NDATA];
のように static をつけて宣言すると解決するだろう.なぜこ...
**課題S(おまけ) 締切: 次回実習開始直後 [#kadaiS]
//&color(#ff0000){工事中};
&color(blue){郵便番号データのソート};
[[課題B>#kadaiB]] のプログラムをもとにして,郵便番号デー...
終了行:
*応用プログラミング及び実習 2017年度 第6回 [#bebe2b15]
//&color(#ff0000){工事中};
#contents
**注意 [#o3f5d008]
- 実習のすすめ方について [[AProg/2017/ex00]]
- Linux環境での操作についてわからないことがあったら [[Doc...
- &color(red){締切に間に合わずチェックを受けられなかった...
**課題A(self) 締切:今回の実習終了時 [#kadaiA]
&color(blue){構造体の学習(1)};
講義資料の kcard.h, kcard.c, kenshin3.c を作ってコンパイ...
kenshin3.c は以下のリンク先から入手すればよい.
[[kenshin3.c>https://gist.github.com/takatakamanbou/64dc9...
&color(white,blue){check}; 他の2つは,&color(blue){理解を...
**課題B(self) 締切:今回の実習終了時 [#kadaiB]
&color(blue){構造体の学習(2) & 郵便番号簿探索プログラム作...
[[第5回課題C>AProg/2017/ex05#kadaiC]] のプログラムと同じ...
:ex06zip.h| 次のものを含むヘッダファイル
-- ex05zip.c と同様の定数 NCHAR の定義(構造体の定義で使...
--郵便番号簿データ(郵便番号と住所)を格納するための構造...
:ex06b.c| main関数を定義したソースファイル.次のようなも...
-- 上記ヘッダファイルで定義された構造体の配列を宣言する....
-- ファイル zipdataS を読んで,上記の配列の要素に代入する...
-- ex05zip.c と同様に,データ件数,最初のデータ,最後のデ...
構造体の定義は次のようにすること.
- typedef を用いて,ZIP という型名にする
- ZIP の変数1つは''1件分''の郵便番号簿データを格納するも...
- 何をメンバとすべきかはよく考えよう.メンバ名は自分で決...
**課題C(TA&takataka) 締切: 後述 [#kadaiC]
&color(blue){郵便番号簿探索プログラム作成の準備(2)};
- TAチェック課題としての締め切り: 今回の実習終了15分前
- takatakaチェック課題としての締め切り: 月曜13時(提出法...
↓の[[課題E>#kadaiE]] で,郵便番号データを読み込んで郵便番...
+ [[課題B>#kadaiB]] で書いた構造体 ZIP の定義
+ 線形探索の関数の定義
線形探索の関数は次の仕様を満たすようにすること
- 関数名は LSearch とする
- 引数は,ZIP の配列,その要素数,探索キーの値(郵便番号...
- 戻り値は次のように定める
-- 配列中にキーの値と一致するものが見つかった場合はその要...
-- 見つからなければ -1
- 探索アルゴリズムは線形探索とする.配列中に同じキー値を...
- この関数中ではscanfもprintfも使わない(デバグ中は別です...
**課題D(TA) 締切:次回実習開始直後 [#kadaiD]
//&color(#ff0000){工事中};
&color(blue){他人の作ったプログラムを利用してみる};
[[前回の課題A>AProg/2017/ex05#kadaiA]] のソースファイル入...
$ cp /roes/sample/takataka/aprog20XY/prime* . ← 最...
この3つのファイルは,次のようなものである.
- prime.o: 3つの関数を定義したC言語ソースファイルを龍大計...
- prime.h: 上記3つの関数のプロトタイプ宣言を書いたヘッダ...
- primedata.txt: いくつかの整数がならんだテキストファイ...
これらのファイルを利用するプログラムを書こう.ただし,↓の...
[[ex06prime.c>https://gist.github.com/takatakamanbou/6515...
- &color(white,blue){check}; prime.o はオブジェクトファイ...
- &color(white,blue){check}; 授業で説明したように,オブジ...
- &color(white,blue){check}; 完成して動作確認できたら,...
-- なぜ 4649 と 5963 は出てこない?
-- NDATA を 10 に変更したらどうなる?
**課題E(TA) 締切:次回実習終了20分前 [#kadaiE]
&color(blue){郵便番号簿探索プログラムの作成(1)};
[[課題B>#kadaiB]] と [[課題C>#kadaiC]] の結果を組み合わせ...
ファイルの構成は次のようにすること.
:ex06zip.h| 課題Bと同じヘッダファイル.必要なものを追加
:ex06zip.c| 課題Cで書いた線形探索の関数を定義.
:ex06search.c| main関数を定義
実行すると次のような動作をするように作ること.
+ 郵便番号データのファイル zipdataS を読み込む
+ キーの値(検索したい郵便番号)を入力してもらう.それが...
+ LSearch を呼ぶ
+ 戻り値に応じた結果を出力
-- 見つからないときはそのことを知らせる
-- 見つかったときはその郵便番号と住所を出力(0からはじま...
+ 2. に戻る
-&color(white,blue){check}; zipdataS はデータ件数が少ない...
-&color(white,blue){check}; ファイル zipdataS を使って十...
"/roes/sample/takataka/aprog20XY/zipdata"
にして実行してみなさい.このように fopen の第1引数にディ...
-- &color(blue){ファイル zipdata にはたくさんの郵便番号デ...
-- また,&color(#c00000){NDATAが小さかった時には正常に動...
static ZIP hoge[NDATA];
のように static をつけて宣言すると解決するだろう.なぜこ...
**課題S(おまけ) 締切: 次回実習開始直後 [#kadaiS]
//&color(#ff0000){工事中};
&color(blue){郵便番号データのソート};
[[課題B>#kadaiB]] のプログラムをもとにして,郵便番号デー...
ページ名: