- 追加された行はこの色です。
- 削除された行はこの色です。
* 第3回 関数 [#xef7c5f7]
** 課題 [#za0a799c]
** 基本課題 [#za0a799c]
*** 関数 [#nb3cde3e]
c1)★ 半径rを引数として,円の面積と円周を表示する関数を作成しなさい。その関数の動作を確認するプログラムを作成しなさい。以下にプロトタイプ宣言の例を示す。
''★c1)'' 半径rを引数として,円の面積と円周を表示する関数を作成しなさい。その関数の動作を確認するプログラムを作成しなさい。以下にプロトタイプ宣言の例を示す。
void print_circle(double r);
c2) 関数f(x)=x+1をC言語で表し、整数nをキーボードから読み込み、f(0)+f(1)+f(2)+...+f(n)の値を表示するプログラムを作成しなさい。
''c2)'' 関数f(x)=x+1をC言語で表し、整数nをキーボードから読み込み、f(0)+f(1)+f(2)+...+f(n)の値を表示するプログラムを作成しなさい。
c3)★ 2つの整数を引数として,値の小さい方を返す関数minを作成しなさい。これを利用して,10個の整数を読み込み,その最小値を求めるプログラムを作成しなさい。
''★c3)'' 2つの整数を引数として,値の小さい方を返す関数minを作成しなさい。これを利用して,10個の整数を読み込み,その最小値を求めるプログラムを作成しなさい。
*** ライブラリ関数 [#v9a91afe]
- 参考 http://www9.plala.or.jp/sgwr-t/c/sec07.html
c4)★ 座標平面上の点 (x, y) から原点までの距離を計算するC言語のプログラムを作成し,コンパイル・実行させたい.キーボードからdouble型の数値xおよびyを読み込み,距離を計算して画面に表示するプログラムを作成しなさい.平方根を計算するライブラリ関数sqrtのマニュアルには、以下のように記述されている。
''★c4)'' 座標平面上の点 (x, y) から原点までの距離を計算するC言語のプログラムを作成し,コンパイル・実行させたい.キーボードからdouble型の数値xおよびyを読み込み,距離を計算して画面に表示するプログラムを作成しなさい.平方根を計算するライブラリ関数sqrtのマニュアルには、以下のように記述されている。
#include <math.h>
double sqrt(double x);
>【ポイント】 数学関係の標準ライブラリを使ったプログラムをコンパイルするには、コンパイル時に数学ライブラリをリンクする必要があることがある。たとえば,gccのオプションでは-lmと指定する。
>【ポイント】 C言語の処理系によっては,数学関係の標準ライブラリを使ったプログラムをコンパイルするために数学ライブラリをリンクする必要がある。たとえば,gccではコンパイル時のオプションで-lmと指定する。
gcc -lm ファイル名.c
c5) 自分の名前(ローマ字)をキーボードから読み込み、標準ライブラリ関数toupperを用いて1文字ずつ大文字に変換した後、画面に表示するプログラムを作成しなさい。
''c5)'' 自分の名前(ローマ字)をキーボードから読み込み、標準ライブラリ関数toupperを用いて1文字ずつ大文字に変換した後、画面に表示するプログラムを作成しなさい。
** 応用課題 [#sfd957a4]
cx1) 1からnまでを順に表示する関数を作成しなさい。その関数を利用してキーボードから段数を読み込むと、例(入力が5の場合)のように表示するプログラムを作成しなさい。
''cx1)'' 1からnまでを順に表示する関数 print1ton を作成しなさい。その関数を利用してキーボードから段数を読み込むと、例(入力が5の場合)のように表示するプログラムを作成しなさい。
12345
1234
123
12
1
cx2) 西暦を引数とし,平成何年かを返す関数を作成しなさい。その関数の動作を確認するプログラムを作成しなさい。以下にプロトタイプ宣言の例を示す。
''cx2)'' 西暦を引数とし,平成何年かを返す関数 を作成しなさい。その関数の動作を確認するプログラムを作成しなさい。以下にプロトタイプ宣言の例を示す。
int heisei(int seireki);
cx3) double型の引数を取り、その絶対値を返す関数absoluteを定義し、さらにその関数を利用して関数 f(x) = |-x + 1|を定義しなさい。その関数の動作を確認するプログラムを作成しなさい。
''cx3)'' double型の引数を取り、その絶対値を返す関数absoluteを定義し、さらにその関数を利用して関数 f(x) = |-x + 1|を定義しなさい。その関数の動作を確認するプログラムを作成しなさい。
cx4) 半径を引数とし、円の面積を返す関数circleと、半径と高さを引数とし、circleを使って円柱の体積を求める関数cylinderを定義して,円柱の面積を計算するプログラムを作成しなさい。
''cx4)'' 半径を引数とし、円の面積を返す関数circleと、半径と高さを引数とし、circleを使って円柱の体積を求める関数cylinderを定義して,円柱の面積を計算するプログラムを作成しなさい。
cx5) 三角形の2辺とその挟む角を引数とし、面積を返す関数を作成しなさい。ただし、角度の単位は“度”とする。※関数sinを利用するが、度からラジアンへの変換が必要である。
''cx5)'' 三角形の2辺とその挟む角を引数とし、面積を返す関数を作成しなさい。ただし、角度の単位は“度”とする。※関数sinを利用するが、度からラジアンへの変換が必要である。
- 参考 http://shigihara.hp.infoseek.co.jp/sin53.htm
- 参考 http://www2.ocn.ne.jp/~atel.a/emath/sugakuc.html