2013年12月17日火曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg Wilson(著)長尾 高弘(翻訳))の12章(各種ツール)、12.7(練習問題)、12-13.をDartで解いてみる。

その他参考書籍

12.7(練習問題)、12-13.

コード

sample.dart

import 'dart:html';
import 'dart:math' as math;

void main() {
  InputElement run = querySelector('#run_dart');
  InputElement clear = querySelector('#clear');
  Element pre = querySelector('#pre0');
  var random = new math.Random();
  run.onClick.listen((MouseEvent event){
    pre.text = '${window.navigator.userAgent}\n';
    try{
      var s = [];
      pre.text += '$s\n';
      findMinAndMax([]);
    } catch(e){
      pre.text += '$e\n';
    }
    List<num> nums = new List.generate(10,
        (int index) => random.nextInt(100));
    var e = findMinAndMax(nums);
    pre.text += '$nums\n最大値: ${e.last}\n最小値: ${e.first}';
  });
  clear.onClick.listen((MouseEvent event) => pre.text = '');
}

List<List<num>> findMinAndMax(Iterable<num> sequence){
  if(sequence.length == 0){
    throw "空っぽ";
  }
  num min = sequence.first;
  num max = sequence.first;
  for(num n in sequence){
    if(n < min){
      min = n;
    }
    if (n > max){
      max = n;
    }
  }
  return [min, max];
}















						

0 コメント:

コメントを投稿