日本語プログラミング言語なでしこ | |
main( ) 関数のみ |
引数、戻り値のない関数 |
引数、戻り値のある関数 |
外部変数を使った関数 |
引数と戻り値のある関数 |
○ 引数と戻り値のある関数 |
例4-1 関数で円の面積を計算する 「半径を入力してください:」と表示し、入力された半径から円の面積を関数にて計算し、 「面積=‥」と表示する。なお、πは3.14159、出力書式は小数点6桁、関数の引数は1つ で半径、戻り値は面積とする。 |
|
なでしこ |
C言語 |
なでしこ関連 関数定義: ●関数の名前(引数の定義) 関数の内容 関数の内容はインデントして記述する 関数の最後で、変数『それ』に値を代入すると戻り値となる |
例4-2 関数でべき計算をする 2^3の、べき計算を関数により計算し、結果を表示する。関数の引数は2つ、戻り値はべき計算結果。 |
|
なでしこ |
C言語 |
なでしこ関連 関数の名前に注意、動詞的な名称を付ける。 「〜を○○する」、「〜と〜を○○する」など(○○が関数名、〜を、〜と〜を、が変数定義。 |
関数を再帰呼び出しする |
○ 関数の再帰呼び出し |
例4-3 整数の階乗計算 整数を入力して、その階乗を求める。 |
|
なでしこ |
C言語 |
なでしこ関連 なでしこは、再帰呼び出しができない。 |
ポインタ(参照渡し)を使った関数 |
値渡しの関数 |
参照渡しの関数 |
○ 参照渡しの関数 |
例4-4 参照渡しの関数 整数を2つ入力して、その大小関係を比較する。 |
|
なでしこ |
C言語 |
なでしこ関連 参照渡しする場合、変数の前に{参照渡し}を付ける |
main()関数とコマンドライン引数(C言語の復習) |
○ main( ) 関数とコマンドライン引数(C言語) |
main( ) 関数 |
コマンドライン引数のあるmain( ) 関数 |
なでしこ関連 プログラム起動時のコマンドライン引数を配列形式で得ることができる。 Vnako.exe ○○.nako (引数1) (引数2)…の様にオプションとして与えることができる。 なお、引数は変数「コマンドライン」に格納される。 ただし、コマンドプロンプトからコマンド入力する必要がある。 |
練習問題 4 |
台形の面積を計算する、ただし関数(引数として底辺、上辺、高さ、面積、戻り値として面積)をつかう 台形の底辺、上辺、高さをcmで入力して、その面積を計算するプログラムを作成する。 計算式は (底辺+上辺)×高さ×1/2 |
回答1 |
まとめのプログラム |
関数における変数の扱いについて 関数において、引数有り、引数なしでの関数における変数の扱い ○引数で渡された変数は、独立変数。 ○引数で渡されていない変数は、外部変数。 |
|
例示プログラム |
|
なでしこ関連 引数のある関数定義の秘訣 1.変数を関数に関連づける場合、格助詞(が・の・を・に・へ・と・より・から・で・や)を付ける。 2.関数名は <「名詞」する> と記述できるもの 3.関数の実行は、「変数・格助詞…(繰り返し)…・関数名・する。」と記述する。 4.関数は、「●関数名(変数・格助詞…(繰り返し)…)」と記述する。 なお、引数定義における変数名は関数独自の変数名として定義する方がわかりやすい。 例: 変数tと変数bと変数hで面積計算する。 : ●面積計算(上辺と底辺と高さで) : |
課題 4 |
πを求めるプログラムを考えなさい。 パイを、円に内接する多角形と、外接する多角形により近似的に計算するプログラムを考えなさい。 多角形の角数入力では、角数は3よりも大きく、角数の入力が無い時終了するものとします。 また、パイの計算部分を関数にしてください。 なお、パイは半径1の円に内接する多角形の周囲/2よりも大きく、外接する多角形の周囲/2よりも小さいです。 また、なでしこにはTAN()はないので、以下の公式を使ってください。 tanθ = sinθ / cosθ また、角度をラジアンに変更する関数がなでしこにあります。DEG2RAD(角度) を使用してください。 ヒント:プログラムの組み立て方、関数の作り方の例 1 角度入力して、外接・内接多角形の外周求める関数により、パイを計算 2 角度入力して、外接多角形外周、内接多角形外周、二等辺三角形底辺求める3つの関数により、パイを計算する |
|
回答 |
課題 4 おまけ |
Y=aX2+bX+c を積分するプログラムを考えなさい。 a、b、cと積分範囲を入力し、範囲内をn等分して、台形積分公式により数値積分する。 nを繰り返し入力して積分を繰り返し、0入力で終了しなさい。 ヒント:台形積分とは、たとえば、範囲x1〜x2の面積を、そのときのy1、y2もとめ、台形x1,x2,y2,y1として面積求め これを積分範囲について合計して求める。 |
|
回答 |
このホームページはLightiningHTMLで作成しました。
Copyrights(c) 2000 ザザ虫. All rights reserved.