Size: 3175
Comment:
|
← Revision 16 as of 2018-10-25 12:45:58 ⇥
Size: 424
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 11: | Line 11: |
[ <<Action(edit)>> ] <<TableOfContents>> [[../Ex_003a/Contents|*]] |
|
Line 12: | Line 15: |
* この例題のポイント: 関数定義: 引数(ひきすう)と返戻値(へんれいち) ||<|3>例題(3)||<|3>【組込関数】||<|1> [[https://ja.wikipedia.org/wiki/三角数|三角数]],もしくは, 1からnまでの総和 || ||<|1> n(n-1)/2 || ||<|1> [[Python/Prog/Example/02/Ex_003a|Ex_02_003a_triangle_number.py]]|| * プログラムの本質的な部分は,下記の 2 行 / 5 行です. * [[https://ja.wikipedia.org/wiki/三角数|三角数]]: {{{n × (n + 1) /2}}} {{{#!highlight python def triangle_number( n ): return( int( n * (n + 1) / 2 ) ) }}} * 1からnまでの総和 {{{#!highlight python def sum_of_one_to_n( n ): sum = 0 for i in range( 1, n+1 ): sum += i return( sum ) }}} * 例題ファイルとしては,コメントを付け加えた,下記を配布します. * コメントはもう少し増えるかもしれません. {{{#!highlight python #!/usr/bin/env python # -*- coding: utf-8 -*- # ============================================================================== # * Copyright (c) 2018 IIJIMA, Tadashi # * (IIJIMA Laboratory, Dept. of Science and Technology, Keio University). # ============================================================================== # ソフトウェア工学[02] 例題[02]-(003a) Ex_02_003a_triangle_number.py # Ex(Example) 02-003a: 【関数定義】 n番目の三角数を求める関数を定義する. # n番目の三角数は,1からnまでの総和と等しい. # 2018-10-03 飯島 正 (iijima@ae.keio.ac.jp) # ============================================================================== # ===== 【関数定義】 n番目の三角数 ===== def triangle_number( n ): return( int( n * (n + 1) / 2 ) ) # ============================================================================== # ===== 【関数定義】 1からnまでの総和 ===== def sum_of_one_to_n( n ): sum = 0 for i in range( 1, n+1 ): sum += i return( sum ) # ============================================================================== # ===== 【メイン・プログラム】 ===== # ----- オープニングメッセージ ----- print( "n番目の三角数を求めます(1~nの総和と比較します): " ) # ----- パラメータの入力 ----- n = int( input( "正の整数を入力してください>>> " ) ); # ----- 結果の表示 ---- print( " ", n, "番目の三角数は ", triangle_number( n ) ) print( " 1 ~", n, "までの総和は ", sum_of_one_to_n( n ) ) # ============================================================================== }}} * [[attachment:Python/Prog/Example/02/xxxx|xxxx]] |
<<Include(../Ex_003a/Contents)>> [[../Ex_003a/Contents|*]] |
例題(3)
[ edit ]
Contents
概要
*
ポイント
この課題で使うPythonの機能 (学習のヒント)
[ edit ]
- この例題のポイント ...
この例題における解法 (問題解決のヒント)
[ edit ]
- この例題における解法 (問題解決のヒント) ....
三角数は, n * (n-1) /2
(MathJax対応のブラウザでしたら,下記,数式がきれいに表示されます) $$ \frac{n \times (n-1)}{2} $$
実行例
*
本質的な部分 (授業中に順次公開します)
[ edit ]
def triangle_number( n ):
return( int( n * (n + 1) / 2 ) )
1からnまでの総和
def sum_of_one_to_n( n ):
sum = 0
for i in range( 1, n+1 ):
sum += i
return( sum )
高度な話題 (授業中,もしくは授業後に順次公開します)
[ edit ]
⇒ 高度な話題へのリンク: 授業の流れを阻害しないように別ページにします
- (後日の回の授業内容にはなる可能性がありますが,この回の授業内容には含めません).
- λ式(ラムダ式)と高階関数reduce()に関するものです.
- (後日の回の授業内容にはなる可能性がありますが,この回の授業内容には含めません).
配布コード (授業中に順次公開します)
[ edit ]
- 例題ファイルとしては,コメントを付け加えた,下記を配布します.
- コメントはもう少し増えるかもしれません.
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ==============================================================================
# * Copyright (c) 2018 IIJIMA, Tadashi
# * (IIJIMA Laboratory, Dept. of Science and Technology, Keio University).
# ==============================================================================
# ソフトウェア工学[02] 例題[02]-(003a) Ex_02_003a_triangle_number.py
# Ex(Example) 02-003a: 【関数定義】 n番目の三角数を求める関数を定義する.
# n番目の三角数は,1からnまでの総和と等しい.
# 2018-10-03 飯島 正 (iijima@ae.keio.ac.jp)
# ==============================================================================
# ===== 【関数定義】 n番目の三角数 =====
def triangle_number( n ):
return( int( n * (n + 1) / 2 ) )
# ==============================================================================
# ===== 【関数定義】 1からnまでの総和 =====
def sum_of_one_to_n( n ):
sum = 0
for i in range( 1, n+1 ):
sum += i
return( sum )
# ==============================================================================
# ===== 【メイン・プログラム】 =====
# ----- オープニングメッセージ -----
print( "n番目の三角数を求めます(1~nの総和と比較します): " )
# ----- パラメータの入力 -----
n = int( input( "正の整数を入力してください>>> " ) );
# ----- 結果の表示 ----
print( " ", n, "番目の三角数は ", triangle_number( n ) )
print( " 1 ~", n, "までの総和は ", sum_of_one_to_n( n ) )
# ==============================================================================