第7章 関数を作って使おう

7.4 練習問題

本章で習った内容を元に練習問題を解いてください。

問1 次の設問①~⑤について○か×で答えなさい。

設問
① 関数はPHPが事前に用意しているものしか利用できない。
② 関数に渡す情報を引数、関数から返ってくる情報を戻り値という。
③ 関数の定義位置はどんな状況でも、関数呼び出しよりも上に記述しなければならない。
④ 関数内で利用(宣言)した変数は、呼び出し元でも利用することができる。
⑤ ファイルの取り込みが行える数には上限が決まっている。

問2 次の仕様を持つ関数をpractice0701.phpに定義しなさい。

関数仕様1

関数名:calcTriangle
引数:$base(底辺)、$height(高さ)
戻り値:$area(面積)
内容:引数に底辺と高さの数値を受け取り、三角形の面積を計算してその結果を戻り値で返します。
ヒント:三角形の面積は「底辺*高さ/2」で求められます。

関数仕様2

関数名:calcSum
引数:$numbers(数値が複数格納された配列)
戻り値:$sum(合計)
内容:引数で受け取った数値配列の値を全て合計した結果を戻り値で返します。
ヒント:引数の配列を順次取り出すにはforeach文を利用して行います。

関数仕様3

関数名:scoreCheck 引数:$score(点数) 戻り値:なし 内容: 引数で受け取った点数に応じた評価を画面に出力します。
0~59:出力メッセージ「かなり努力が必要です!」
60~69:出力メッセージ「もっと頑張りましょう!」
70~79:出力メッセージ「頑張りましょう!」
80~89:出力メッセージ「良くできました!」
90~100:出力メッセージ「大変良くできました!」
その他:出力メッセージ「0~100の数値で入力してください!」
ヒント:引数の値のチェックを条件分岐文を使って行い、echo文で該当のメッセージを出力します。

問3 次のソースコードpractice0702.phpを実行した場合、①~④の設問について答えなさい。

設問

① 呼び出し部分evalute関数に渡す引数の値はいくつか。
② evalute関数本体の引数$numに代入される値はいくつか。
③ evalute関数内の変数$resultに入る値はいくか。
④ 関数呼び出し後に変数$resultに代入される値はいくつか。

ソースコード

ソース・フォルダー: myproj_basic/ch07exercise
パッケージ: practice0702.php
アクセスURL:http://localhost/myproj_basic/ch07exercise/practice0702.php

practice0702.php

問4 次に示すソースコード①と②の部分の処理を関数化してpractice0703.phpを作成しなさい。

ソースコード:関数未使用

sample.php

ソースコード:関数使用

ソース・フォルダー: myproj_basic/ch07exercise
パッケージ: practice0703.php
アクセスURL:http://localhost/myproj_basic/ch07exercise/practice0703.php

practice0703.php

NEXT>> 7.5 練習問題 解答