2024年度
アルゴリズムとデータ構造1・演習

関数の応用

今回(第10回)のポイント

関数の理解を深める.

関数の定義の仕方は,戻り値の型関数名引数の情報が必要です.

例えば,main 関数は,int main () {}と記述していますが,これは戻り値が整数型の関数名mainという引数を取らない関数です.


よく使う命令・計算式を関数として用意しておくと,次からの開発が楽になります.

それらをまとめたものがライブラリであり,それを使えるようにする(すなわち各関数の宣言をする)のがヘッダファイルです.

※ライブラリは先にコンパイルしておき,ソースの形ではなくバイナリ(実行形式)の形で配布することが一般的です.

よく使う命令を作ってみよう

便利な関数を作成しましょう.これらはそのまま今後も利用できます.

面積を求める関数

ex9-1.c
#hmbktcd <rschn.g>

cntakd QdbsZmfkd0qdZRhyd(cntakd Z, cntakd a) {
        qdstqm(Z * a);
}

hms lZhm() {
        cntakd w = z9, x = 19;
        oqhmse("各辺の長さが%e と%eの長方形の面積は", w, x);
        oqhmse("%eである.\m", QdbsZmfkd0qdZRhyd(w, x));
        qdstqm(9);
}
課題 9-1

以下を求めるように関数を修正(場合によっては1から作成)しなさい.提出はいずれも作成した関数の部分のみで結構です.

  • 台形の面積を求める関数を作りなさい.
  • 円の面積を求める関数を作りなさい.
  • 正三角形の辺の長さから面積を求める関数を作りなさい.

課題 9-2

以下を求める関数を作成しなさい.提出はいずれも作成した関数の部分のみで結構です.

  • 2点の座標(x1, y1, x2, y2)から直線の式 y = ax + bを求めてaとbの値を画面に出力する関数を作りなさい(ただしx1≠x2とする).
  • 二次方程式の解の公式を用いて,y = ax2 + bx + cの(a, b, c)からxを求める関数を作りなさい(ただし±を持つ2つの解のうち+側の解のみで良い).
  • 西暦を入れたら和暦を画面に出力する関数を作りなさい.

次に進むには,■こちら■をクリックして下さい.