【発展編】21-b 変な数?(2)

Q1. ☆問題☆

Swiftの「配列」について書いた次の文のうち、正しいものはどれかな。ひとつ選んでね。

  • 配列の作り方は、変数の作り方と全く同じである
  • 配列の要素が3つあるとき、最後の要素の番号は3である
  • 配列の要素の番号は0番目からスタートするから、最後の番号は要素の数より1少ない
  • 配列の要素の番号は0番目からスタートするから、最後の番号は要素の数より1多い
  • 配列のデータを使うときには、「配列の名前(番号)」とする

正解

  • 配列の作り方は、変数の作り方と全く同じである
  • 配列の要素が3つあるとき、最後の要素の番号は3である
  • 配列の要素の番号は0番目からスタートするから、最後の番号は要素の数より1少ない
  • 配列の要素の番号は0番目からスタートするから、最後の番号は要素の数より1多い
  • 配列のデータを使うときには、「配列の名前(番号)」とする

解説

配列は、変数と作り方がにているけど、「全く同じ」ではないよね。

変数の場合: var hensuu:Float = 0
配列の場合: var hairetsu:[Float] = []

というように、配列は[ ]を使うんだったよね。

配列の要素は、0番目からスタートする。だから、例えば3つ要素がある配列の場合、
0番目 1番目 2番目
というように、最後の番号は2番目となる。要素の数より1少ないね。

そして、配列のデータを使うときは、 hairetsu[1]のように、[ ]の中に番号を書くんだよ。( )ではないから注意してね。

Q2. ☆問題☆

「+=」という書き方を覚えているかな。例えば、bangoという変数があるとして
bango += 1
とすると、bangoに入っている数を1増やす、という意味だったよね。

それでは、次のうち、正しくないものはどれかな。予想して1つ選ぼう。

  • bango += 3 とすると、bangoの数を3増やすことになる
  • bango -= 1 とすると、bangoの数を1減らすことになる
  • bango ++= 3 とすると、bangoの数に3をかけることになる
  • bango = 3 とすると、bangoの数を3にすることになる

正解

  • bango += 3 とすると、bangoの数を3増やすことになる
  • bango -= 1 とすると、bangoの数を1減らすことになる
  • bango ++= 3 とすると、bangoの数に3をかけることになる
  • bango = 3 とすると、bangoの数を3にすることになる

解説

「++=」という記号はないよ。「3をかける」という記号は「*=」なんだ。

マインドストームのプログラミングでは -= や *= を使うことはないかもしれないけれど、もし、Swiftをもっと勉強してみたいと思ったら、どこかで出会う記号だよ。
「こんな記号もあるんだな」と思っておいてね。

Q3. ☆問題☆

var hairetsu:[Float] = [] として「hairetsu」という名前の配列を作ったよ。
次のうち、エラーになるのはどれかな。ひとつ選んでね。

  • hairetsu.append(24)
  • hairetsu.append(3.24)
  • hairetsu.append(いち)
  • hairetsu.append(1) としたあとに hairetsu[0]
  • hairetsu.append(1.4) としたあとに hairetsu[0]

正解

  • hairetsu.append(24)
  • hairetsu.append(3.24)
  • hairetsu.append(いち)
  • hairetsu.append(1) としたあとに hairetsu[0]
  • hairetsu.append(1.4) としたあとに hairetsu[0]

解説

「hairetsu」は[Flaot]型だから、「小数が使える」んだったよね。だから、24や3.24を加えることはできるよ。
でも、「いち」は単語だよね。だから、このような使い方はできない。

なお、hairetsu.append(1)やhairetsu.append(1.4)も問題ない。
この場合、配列の要素は1つ以上あるはずだから、hairetsu[0]とすれば、最初に入れた数値を使えるよね。