2013年11月15日金曜日

開発環境

初めてのコンピュータサイエンス(Jennifer CampbellPaul GriesJason MontojoGreg Wilson(著)長尾 高弘(翻訳))の7章(反復)、7.7(練習問題)、7、8、9、10.をDartで解いてみる。

その他参考書籍

7.7(練習問題)、7、8、9、10.

コード

sample.dart

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

void main(){
  var run = querySelector('#run'),
      clear = querySelector('#clear'),
      pre0 = querySelector('#pre0'),
      random = new math.Random();
  run.onClick.listen((MouseEvent event){
    var result = window.navigator.userAgent + '\n';
    result += '7.\n';
    var i;
    for(i = 1; i <= 7; i += 1){
      result += '${replicate(i, 'T')}${replicate(7 - i, ' ')}\n';
    }
    result += '8.\n';
    for (i = 1; i <= 7; i += 1){
      result += '${replicate(7 - i, ' ')}${replicate(i, 'T')}\n';
    }
    result += '9.\n';
    i = 1;
    while (i <= 7){
      result += '${replicate(i, 'T')}${replicate(7 - i, ' ')}\n';
      i += 1;
    }
    i = 1;
    while (i <= 7){
      result += '${replicate(7 - i, ' ')}${replicate(i, 'T')}\n';
      i += 1;
    }
    result += '10.\n';
    result += 'a.\n';
    var rat_1_weight = random.nextInt(10) + 1;
    var weight = rat_1_weight * 1.25;
    var week = 0;
    while (rat_1_weight < weight){
      rat_1_weight *= 1.04;
      week += 1;
    }
    result += '$week週\n';
    result += 'b.\n';
    rat_1_weight = 10;
    var rat_2_weight = 10;
    week = 0;
    while (rat_1_weight < rat_2_weight * 1.1){
      rat_1_weight *= 1.07;
      rat_2_weight *= 1.04;
      week += 1;
    }
    result += '$week週\n';
    pre0.text = result;
  });
  clear.onClick.listen((MouseEvent event) => pre0.text = '');
}

String replicate(int n, String s){
  return new List.filled(n, s).join();
}














						

0 コメント:

コメントを投稿