関数について徹底解説 vol.2


概要

 今回は関数について解説していきます(前回の記事)。
 変数との相違点2つ目の返り値がない場合についてやっていきましょう!!
 まず返り値とは何か・・・返ってくる値です(そのままww)。戻り値とも言います。つまり戻ってくる値ですww 全然分かりませんよね。返り値の正体は次回の記事で解説するとして、返り値がない関数を実際のコードで書いてみたいと思います。例題は前回と同じ缶コーヒーを帰りの電車賃を残して買えるだけ買うプログラムを使いますが、ちょっとアレンジして最終的に何本変えたか数字を出力します。
まずは例題を頭の中のイメージで解説します。

 main関数内に「自作関数を読め」と書いた手順書を入れます。自作関数内に例題をかいた手順書を入れます。コンピューターはメイン関数の箱を開け、手順書を読みます。「自作関数を読め」とい空いてあるので自作関数の手順書を読みます。
以下がCとVBAのコードです。

コード

void buyCoffee()  //自作関数
{
    int coffee=120;  //コーヒーの値段
    int val=1000;  //持ち金
    int fare=200;  //電車賃
    int cnt=0;  //カウンター
    if(val>=coffee+fare)
    {
        for(int i=1;i<=(val-fare)/coffee;i++)
            cnt++;
        printf("%d\n",cnt);
    }
    else
        puts("諦めた");
}

int main()
{
    buyCoffee();  //自作関数を読む
    return 0;
}
Sub main()
    Call buyCoffee()  '自作関数を読む
End Sub

Sub buyCoffee()  '自作関数
    Dim coffee As Integer
    Dim val As Integer
    Dim fare As Integer
    Dim cnt As Integer
    Dim i As Integer
    coffee = 120  'コーヒーの値段
    val = 1000  '持ち金
    fare = 200  '電車賃
    cnt = 0  'カウンター
    If (val >= coffee + fare) Then
        For i = 1 To Int((val - fare) / coffee)
            cnt=cnt+1
        Next i
        MsgBox cnt 
    Else
        MsgBox "諦めた"
    End If
End Sub

 上記プログラムを実行すると「6」と表示されます。6本缶コーヒーを買えました。
 プログラムは基本的に上から読んでいきますが。関数を使用すると、上から読んでいき途中で関数がある場合はそこに飛びます。あっちに行ったりこっちに行ったりでたらい回しになってしまいますが、メイン関数の中はスッキリしています。こうすることでバグがある場合、変な動きをした関数を探せばバグを見つけやすくなります。冒頭でも言いましたが膨大な量のプログラムを作る時に便利です。
 プログラムのまとまりを関数化するメリットは他にもありますが今後少しずつ解説していきたいと思います。
 いかがでしたか??前回より一気に複雑になりましたね・・・
 関数は難しいです。ですが簡単に考えることが理解するためのコツです。落ち着いて出来るだけシンプルに考えましょう!!
次回は返り値がある場合について解説します。


コメントを残す