AProg/2017/ex04
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*応用プログラミング及び実習 2017年度 第4回 [#bebe2b15]
//&color(#ff0000){工事中};
#contents
**注意 [#o3f5d008]
- 実習のすすめ方について [[AProg/2017/ex00]]
- Linux環境での操作についてわからないことがあったら [[Doc...
- &color(red){締切に間に合わずチェックを受けられなかった...
**課題A(self) 締切:今回の実習終了時 [#kadaiA]
ソースを分割して作成/コンパイルする方法を理解するために...
+講義資料のmain01.cとhoge01.cを実際に作成し,コンパイル・...
+Q1,Q2をやってみる
+main02.cを作成し,Q3をやってみる
//+hoge01.cに次のような関数の定義を追加して,main02.cでho...
//--関数名は自分で決める
//--引数はint型のもの1つ
//--戻り値はint型,引数の値を用いた適当な計算結果を返す
**課題B(self) 締切:今回の実習終了時 [#kadaiB]
分割コンパイルのさらなる学習のため,下記のプログラムを分...
***step1 [#cf4d1c43]
- 下記のプログラムをそのままコンパイルして実行.
- &color(white,blue){check}; 分割コンパイルと関係ないです...
-- どこが間違いか,どんな入力だと間違いが発覚するか,を考...
-- 間違いを修正しなさい
***step2 [#r63bc926]
ソースを分割しよう.次の3つのファイルに分けること.
:ex04b.c|
--関数 main の定義を含むソースファイル
:ex04pimax.c|
--そのほかの関数の定義を含むソースファイル
--ダウンロードしてstep1で修正した ex04b.c をコピーして編...
:ex04pimax.h|
--ヘッダファイル.次のようにしよう
#pre{{
#ifndef EX04PIMAX_H // 複数回インクルードされたときのエ...
#define EX04PIMAX_H // #ifndef の相方は↓にあり.詳しくは...
ここに必要なものを書く
#endif // ifndef の終わり
}}
&color(white,blue){check}; 元のプログラムでは,関数 pipi ...
#include <math.h>
がありました.分割した時は,この文はどこに書くのがよいで...
&gist(178d35c2d95bc99e67c0);
**課題C(TA&takataka) 締切: 後述 [#kadaiC]
- TAチェック課題としての締め切り: 今回の実習終了20分前
- takatakaチェック課題としての締め切り: 来週月曜13時まで...
画像の画素値を格納した2次元配列を受け取り,その画像を上下...
- 関数名は flipV とすること
- 戻り値,引数などは自分で適切なものを考えること.引数の...
- 上下反転をどうやったらよいかについては,紙に具体的な1次...
**課題D(TA) 締切:次回実習開始直後 [#kadaiD]
これまでの成果を組み合わせて,「画像をファイルから読み込...
:ex04d.c|
-- 関数 main のみを含むソースファイル.
-- 適当な場所で,ex04image.c で定義された関数を呼び出す
-- [[AProg/2017/ex03#kadaiD]] のプログラムをコピーして修...
:ex04image.c| 次の関数たちの定義を含むソースファイル
//-- readPGMHeader ( [[AProg/2017/ex03#kadaiB]] )
//-- readPGMBody ( [[AProg/2017/ex03#kadaiC]] )
//-- writePGM ( [[AProg/2017/ex03#kadaiC]] )
-- readPGMHeader 等の画像の読み書きのための関数群 ( [[APr...
-- negate ( [[AProg/2017/ex02#kadaiC]] )
-- flipV ( [[AProg/2017/ex04#kadaiC]] )
-- こちらも [[AProg/2017/ex03#kadaiD]] のプログラムをコピ...
:ex04image.h| ex04image.c に書かれたものを使うために必要...
-- 関数のプロトタイプ宣言
-- &color(white,blue){check}; 画像の最大サイズを表す定数 ...
-- &color(white,blue){check}; readPGMHeader, readPGMBody,...
-- 以上のことから,ex04image.h は次のような内容になるでし...
&color(white,blue){check}; 関数 readPGMHeader で isspace ...
#include <ctype.h>
と同じものを &color(white){ ex04image};.c の中に書かない...
**課題S(おまけ) 締切: 次回実習終了まで [#kadaiS]
//&color(#ff0000){工事中};
&color(blue){簡単なアニメーション(もどき)を作ってみよう};
+ ex04image.c に,次のような関数を追加する(もちろんPPMの...
-- 関数名 shiftH
-- 引数で渡された画像を右に1画素ずらす.ただし,右からは...
+ 画像を読み込んだあと,shiftH を呼んではファイルに書き出...
-- ファイル名は,hoge000.pgm, hoge001.pgm, hoge002.pgm .....
+ display コマンドでお馴染みの ImageMagick という画像処理...
$ animate hoge*.pgm または hoge???.pgm
とすればおけ.画像のウィンドウをクリックしてメニューを選...
ここからは課題の要件ではありませんが,もっと遊びたい人向...
- shiftH を,「1画素右にずらす」ではなく,「引数で指定さ...
- shift という関数として,横縦それぞれの平行移動量を引数...
終了行:
*応用プログラミング及び実習 2017年度 第4回 [#bebe2b15]
//&color(#ff0000){工事中};
#contents
**注意 [#o3f5d008]
- 実習のすすめ方について [[AProg/2017/ex00]]
- Linux環境での操作についてわからないことがあったら [[Doc...
- &color(red){締切に間に合わずチェックを受けられなかった...
**課題A(self) 締切:今回の実習終了時 [#kadaiA]
ソースを分割して作成/コンパイルする方法を理解するために...
+講義資料のmain01.cとhoge01.cを実際に作成し,コンパイル・...
+Q1,Q2をやってみる
+main02.cを作成し,Q3をやってみる
//+hoge01.cに次のような関数の定義を追加して,main02.cでho...
//--関数名は自分で決める
//--引数はint型のもの1つ
//--戻り値はint型,引数の値を用いた適当な計算結果を返す
**課題B(self) 締切:今回の実習終了時 [#kadaiB]
分割コンパイルのさらなる学習のため,下記のプログラムを分...
***step1 [#cf4d1c43]
- 下記のプログラムをそのままコンパイルして実行.
- &color(white,blue){check}; 分割コンパイルと関係ないです...
-- どこが間違いか,どんな入力だと間違いが発覚するか,を考...
-- 間違いを修正しなさい
***step2 [#r63bc926]
ソースを分割しよう.次の3つのファイルに分けること.
:ex04b.c|
--関数 main の定義を含むソースファイル
:ex04pimax.c|
--そのほかの関数の定義を含むソースファイル
--ダウンロードしてstep1で修正した ex04b.c をコピーして編...
:ex04pimax.h|
--ヘッダファイル.次のようにしよう
#pre{{
#ifndef EX04PIMAX_H // 複数回インクルードされたときのエ...
#define EX04PIMAX_H // #ifndef の相方は↓にあり.詳しくは...
ここに必要なものを書く
#endif // ifndef の終わり
}}
&color(white,blue){check}; 元のプログラムでは,関数 pipi ...
#include <math.h>
がありました.分割した時は,この文はどこに書くのがよいで...
&gist(178d35c2d95bc99e67c0);
**課題C(TA&takataka) 締切: 後述 [#kadaiC]
- TAチェック課題としての締め切り: 今回の実習終了20分前
- takatakaチェック課題としての締め切り: 来週月曜13時まで...
画像の画素値を格納した2次元配列を受け取り,その画像を上下...
- 関数名は flipV とすること
- 戻り値,引数などは自分で適切なものを考えること.引数の...
- 上下反転をどうやったらよいかについては,紙に具体的な1次...
**課題D(TA) 締切:次回実習開始直後 [#kadaiD]
これまでの成果を組み合わせて,「画像をファイルから読み込...
:ex04d.c|
-- 関数 main のみを含むソースファイル.
-- 適当な場所で,ex04image.c で定義された関数を呼び出す
-- [[AProg/2017/ex03#kadaiD]] のプログラムをコピーして修...
:ex04image.c| 次の関数たちの定義を含むソースファイル
//-- readPGMHeader ( [[AProg/2017/ex03#kadaiB]] )
//-- readPGMBody ( [[AProg/2017/ex03#kadaiC]] )
//-- writePGM ( [[AProg/2017/ex03#kadaiC]] )
-- readPGMHeader 等の画像の読み書きのための関数群 ( [[APr...
-- negate ( [[AProg/2017/ex02#kadaiC]] )
-- flipV ( [[AProg/2017/ex04#kadaiC]] )
-- こちらも [[AProg/2017/ex03#kadaiD]] のプログラムをコピ...
:ex04image.h| ex04image.c に書かれたものを使うために必要...
-- 関数のプロトタイプ宣言
-- &color(white,blue){check}; 画像の最大サイズを表す定数 ...
-- &color(white,blue){check}; readPGMHeader, readPGMBody,...
-- 以上のことから,ex04image.h は次のような内容になるでし...
&color(white,blue){check}; 関数 readPGMHeader で isspace ...
#include <ctype.h>
と同じものを &color(white){ ex04image};.c の中に書かない...
**課題S(おまけ) 締切: 次回実習終了まで [#kadaiS]
//&color(#ff0000){工事中};
&color(blue){簡単なアニメーション(もどき)を作ってみよう};
+ ex04image.c に,次のような関数を追加する(もちろんPPMの...
-- 関数名 shiftH
-- 引数で渡された画像を右に1画素ずらす.ただし,右からは...
+ 画像を読み込んだあと,shiftH を呼んではファイルに書き出...
-- ファイル名は,hoge000.pgm, hoge001.pgm, hoge002.pgm .....
+ display コマンドでお馴染みの ImageMagick という画像処理...
$ animate hoge*.pgm または hoge???.pgm
とすればおけ.画像のウィンドウをクリックしてメニューを選...
ここからは課題の要件ではありませんが,もっと遊びたい人向...
- shiftH を,「1画素右にずらす」ではなく,「引数で指定さ...
- shift という関数として,横縦それぞれの平行移動量を引数...
ページ名: