関数とは、結果(数値、文字列など)を返すサブルーチンです
オンライン ストアで商品を注文したとします。プログラミングの観点からは、特定のサブルーチンを呼び出しました。プロシージャとは異なり、このサブルーチンは結果を返す必要があります。つまり、注文した製品を配達します。これらのサブルーチンは関数と呼ばれます。
関数はプロシージャとほぼ同じ方法でフォーマットされます。
<プレ>
function <関数名> (<変数名>:<その型> セミコロンで区切られたパラメータのリスト): <戻り値の型>;
始める
<関数本体>
終了;
関数とプロシージャの違いは、関数は値を返さなければならないことです。これを行うには、関数名を変数または特殊変数として使用する必要があります。 結果:
<プレ>
関数 Sum(a, b:integer): 整数;
始める
合計:= a + b;
終了;
また
<プレ>
関数 Sum(a, b:integer): 整数;
始める
結果:= a + b;
終了;
2 つの整数の算術平均を返す関数は次のようになります。
<プレ>
関数 Average(a, b: 整数): 実数;
始める
平均:= (a + b) / 2;
終わり;
プレ>
メインプログラムでこの関数を呼び出す方法を理解する必要があります:
プロシージャを呼び出すのと同じ方法で関数を呼び出さないでください:
<プレ>
平均 (10, 5); プレ>
関数によって返された値は失われます。オンラインストアの商品が誰にも渡されずに捨てられたようなものです。お客様に気に入ってもらえる可能性は低いです。
結果を変数に保存 (または 画面に出力) する方が正しいです:
<プレ>
a := 平均(10, 5);
プレ>
または
<プレ>
writeln(average(10, 5));