演習 02

問題 1

円の面積 a を引数として受け取り、円の円周の長さを返す関数 circumference を作成して以下のプログラムを完成させよ。

// ここに自作関数を作る

void setup() {
  noLoop();
}

void draw() {
  println(circumference(10));
  println(circumference(20));
  println(circumference(30));
}

実行結果

11.209983
15.85331
19.41626

問題 2

文字列 s を引数として受け取り、s の長さが偶数だったら true そうでなかったら false を返す関数 isEvenLength を作成して以下のプログラムを完成させよ。

// ここに自作関数を作る

void setup() {
  noLoop();
}

void draw() {
  String[] strings = {"odd", "even", "AAA", "long message"};
  for (int i = 0; i < strings.length; ++i) {
    if (isEvenLength(strings[i])) {
      println(strings[i] + " is even length");
    } else {
      println(strings[i] + " is odd length");
    }
  }
}

実行結果

odd is odd length
even is even length
AAA is odd length
long message is even length

問題 3

引数 n を引数として受け取り、n 番目の素数を返す関数 nthPrime を作成して以下のプログラムを完成させよ。

// ここに自作関数を作る

void setup() {
  noLoop();
}

void draw() {
  println(nthPrime(1));
  println(nthPrime(10));
  println(nthPrime(100));
}

実行結果

2
29
541

問題 4

数学,英語,プログラミングの試験を行った。教科ごとに合格点,受験者数が異なる。 合格者を数える関数を 1 つだけ作成し,draw 関数内で科目ごとにこの関数を用いて合格者数を求め,コンソールに表示せよ。

各教科の受験者の点数

  • 数学 (75 点以上で合格) : 45, 87, 84, 91, 74, 76
  • 英語 (80 点以上で合格) : 55, 81, 74, 71, 80
  • プログラミング (85 点以上で合格) : 65, 91, 63, 88, 88, 91, 100, 54

実行結果

math: 4
english: 2
programming: 5

問題 5

文字列配列型の messages を引数として受け取り、文字数が最短のものと最長のものを返す関数 shortestAndLongest を作成して以下のプログラムを完成させよ。 2 つの文字列を返すためには、要素数 2 の文字列配列を返せば良い。

// ここに自作関数を作る

void setup() {
  noLoop();
}

void draw() {
  String[] messages = {"Hello", "Hey", "How are you?", "What’s up?"};
  String[] result = shortestAndLongest(messages);
  println("shortest: ", result[0]);
  println("longest: ", result[1]);
}

実行結果

shortest:  Hey
longest:  How are you?

results matching ""

    No results matching ""