2013年11月5日火曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg Wilson(著)長尾 高弘(翻訳))の6章(条件分岐)、6.5(練習問題)、5をDartで解いてみる。

その他参考書籍

6.5(練習問題)、5。

コード

sample.dart

import 'dart:html';

void main(){
  var t_light = querySelector('#t_light'),
      t_temperature = querySelector('#t_temperature'),
      run_dart = querySelector('#run_dart'),
      clear = querySelector('#clear'),
      pre0 = querySelector('#pre0'),
      lightAndTemperatures = [[0.001, -1.0], [0.001, 1.0], [0.01, -1.0],
                              [0.01, 1.0]];
  run_dart.onClick.listen((MouseEvent event){
    var result = '野生動物を撮るための自動カメラのスイッチの状態\n',
        temp = lightAndTemperatures.sublist(0),
        light = double.parse(t_light.value),
        temperature = double.parse(t_temperature.value);
    temp.insert(0, [light, temperature]);
    temp.forEach((e){
     var light = e[0],
         temperature = e[1];
      result += '明るさのレベル: ${e[0]} 気温: ${temperature} ' +
          '${xor1(light, temperature)} ${xor2(light, temperature)}\n';
    });
    pre0.text = result;
  });
  clear.onClick.listen((MouseEvent){
    pre0.text = '';
  });
}

String xor1(double light, double temperature){
  if (light < 0.01 || temperature > 0.0){
    if (light < 0.01 && temperature > 0.0){
      return 'off';
    } else {
      return 'on';
    }
  }
  return 'off';
}

String xor2(double light, double temperature){
  if (light < 0.01 != temperature > 0.0){
    return 'on';
  }
  return 'off';
}













						

0 コメント:

コメントを投稿