最小値と最大値の計算
30分プログラム、その243。昨日に続いて新しくプログラミング言語を覚えたいときに行うべき10の練習問題 | IDEA*IDEAより「最大値と最小値の計算」。
3. 複数の数値を入力させ、昇順に並び替え、最大値と最小値を出す(例:同僚の体重を入力して計算)。
初めてリストとソートを使った。やっぱりちゃんと考えてある問題ですね。
ところでTclの配列とリストは違うらしいんだけど、どう違うんだろう?
使い方
$ wish min_max.tcl
ソースコード
#!/usr/bin/wish button .btn -text "search" -command { # split set list [split [.text.input get 1.0 end]] # strip last set words [lrange $list 0 [expr [llength $list] - 2]] # sort set sorted [lsort -integer $words] set min [lindex $sorted 0] set max [lindex $sorted [expr [llength $sorted] -1]] } frame .text text .text.input -width 30 -height 10 -yscrollcommand ".text.scroll set" scrollbar .text.scroll -command ".text.input yview" pack .text.scroll .text.input -side right -fill y -expand yes frame .view label .view.min_label -text "min" label .view.min_area -text "<min>" -textvariable min label .view.max_label -text "max" label .view.max_area -text "<max>" -textvariable max pack .view.min_label .view.min_area .view.max_label .view.max_area -anchor w -side left -fill y pack .btn .text .view -anchor w -expand yes