2006後期
情報グラフィックス論U
担当 鳥海有紀
授業資料 情報グラフィックス論U
戻る(線分を書く) 次へ(ループの色々な使い方)

プログラムを書く2 −太い線分を書く−


#include <stdio.h>                     

int  main(void)
{
    gopen(200,200);
    gline(10,10, 70, 70, 255, 255, 255);
    gline(11,10, 71, 70, 255, 255, 255);
    gline(12,10, 72, 70, 255, 255, 255);
    gclose();

    return 0;
}

太い線を描く場合は、同じ長さの線分を1ピクセルずつずらして描く。 太さ3ピクセルの線分は3回、太さ10ピクセルの線分は10回gline()関数を呼び出さなければならない。

引数の一部(あるいは、処理の一部)を規則的に変更して何回も繰り返す場合は、ループ文を使うと便利である。


プログラムを書く2 −太い線分を書く(ループ文の使い方)−


#include <stdio.h>

int  main(void)
{
    int    i;

    gopen(200,200);
    for (i = 0; i < 3; i++) {
        gline(10+i,10, 70+i, 70, 255, 255, 255);
    }
    gclose();

    return 0;
}

ループ文

ある処理を規則的に変更して何回も繰り返す場合にループ文を使う。 この演習では、forループを使う。forループは必ず次のような構文をとる。

    for ( 初期化;  条件式;  増分)   /*  回数など繰り返しを制御する部分  */
    {     
        文1;                                      
        文2;             /* 繰り返す処理を記述する  */
        文3;
     :
    }

変数と式

ループでは、ある処理を規則的に変更して何回も繰り返す。この処理を簡潔に表現して動作させるために、変数と式が使われている。

変数

変数は、数字(や文字列)を入れる名前の付いた箱である。 C言語ではプログラム内で使う変数の型と名前をプログラムの先頭で宣言する必要がある。 使用する変数の数に制限はない。 この演習では、ループのカウンタや座標位置を表すものとして変数を使っていく。


    int  main(void)
    {
        int    i;

ここでintが型、iは変数名である。 変数を2つ以上使う場合は続けて次の行に型、変数名を書けばよい。 変数名には英数字を使う。

代入文

変数には数値などの値が格納される。格納される値はその時々で変わることができる。 変数を使うと相対的な表現ができプログラムが幅の広いものになる。 変数に値を格納するには、代入文を使う。代入文は
変数名 = 式 ;
の形式を取る。例えば、次のように使う。

i = 10; val1
j = 20; val2
j = i + 5; val3
i = j; val4

代入文を使って変数に値が代入されると、それ以降、その変数は格納された値と同じものとして評価される。

算術演算子
名称記号使い方の例
加算演算子+i + j;
減算演算子-i - 5;
乗算演算子*x * y;
除算演算子/5 / j;
剰余演算子%i % 3;

i + 5 や i < 3 や i++ を式という。 式は、+ や < などの演算子と変数の組み合わせである。 10 や 20 などの決まった値は定数式という。
普段使うような計算を行なう演算子を算術演算子という。 算術演算子は結果を変数に代入して使うことが多い。

++をインクリメント演算子という。 インクリメント演算子は変数に1加える、つまりi++;は、 i = i + 1;と同じである。 同様に変数から1を引くデクリメント演算子--もある。 インクリメント演算子、デクリメント演算子はループのカウンタとしてよく使われる。

a < b aよりbが大きい
a > b aよりbが小さい
a == baとbが等しい
a <= baよりbが大きいか等しい
a >= baよりbが小さいか等しい
a != baとbが等しくない

<>は比較演算子といい2つの変数の大小を比較するときに使う。 比較演算子を使った式を条件式という。 条件式は結果が正しければ真(1)になり、正しくなければ偽(1以外)となる。 よく使う条件式には右のものがある。
条件式はループの条件式やif文の条件式に使う。

トップへ


授業資料 情報グラフィックス論U
戻る(線分を書く) 次へ(ループの色々な使い方)

Copyright 2002-2006 Yuki Toriumi