プログラミング講座 第1回

第1回の目標:javascriptの基本的な文法を確認する。

1.変数の宣言

これからこの変数を使うぞ!と約束することを変数の宣言といい、let 変数名と書く。;(セミコロン)は命令文の終わりを表す。なお例の行頭にある数字.は行の番号であり、入力の必要はない。

  let maisuu;
  

例題1 変数heightを宣言せよ

結果:

2.変数に値を代入する

数学の変数と同じように、変数には値を代入することができる。値には数値や文字列などがあり、この種別をを呼ぶことがある。変数が型を持つ言語とそうでない言語があり、javascriptは後者である。(つまり一つの変数にどんな値でも代入できる)

変数名 = 値というように書く。

  maisuu = 10;
  

例題2 変数maisuuに50を代入せよ(既に変数は宣言されているとする)

結果:

3.変数に値を代入する。その2

文字列はシングルクォーテーションか、ダブルクオーテーションで挟みこんで表現する。クオーテーションに挟まれた部分(文字列データ)でのみ全角が許され、他の命令はすべて半角で書く。クオーテーションも半角で書く。

  myname = "ひろし";
  

例題3 変数menuに"焼き魚定食"を代入せよ(既に変数は宣言されているとする)

結果:

4.条件分岐

条件によって処理する内容を変えたいときは条件分岐式(if文)を使う。下の例のように書くが、この例では x >= 18 が条件であり、これが真のときに、customerへ"成人"を代入し、条件が偽のとき、customerへ"未成年"を代入している。

  if (x >= 18) {
    customer = "成人";
  } else {
    customer = "未成年";
  }
  

1行目の行末や3行目の行頭、3行目の行末にあるのは中括弧や波括弧と言われる記号であり、{から}までをブロックという。if(条件)の後のブロックは、条件が真であるときに実行する処理の範囲を表す。elseの後のブロックは、条件が偽であるときに実行する処理の範囲を表す。ブロックは後述の繰り返し行う処理の範囲を示したり、関数の範囲を示したりするのにも使われる。

フローチャートで表すと以下である

graph TB A([開始]) --> B{xは18以上?} B -->|yes| C[customer=成人] B -->|no| D[customer=未成年] C --> E([終了]) D --> E

例題4 変数yenの値が1000以上であれば変数kakakuに"高い"を、そうでなければkakakuに"安い"を代入せよ

結果:

5.条件分岐2

if文においてelse節は無くてもよい。

  if (v > 60) {
    message = "スピード出しすぎだよ";
  }
  

また、複数の条件を設定することもできる。

  if (point > 80) {
    grade = "優";
  } else if (point > 60) {
    grade = "良";
  } else if (point > 40) {
    grade = "可";
  } else {
    grade = "不可";
  }
  

上の例をフローチャートで表すと以下である

graph TB A([開始]) --> B{80より大きい?} B -->|yes| C[gradeに優を設定] B -->|no| D{60より大きい?} D -->|yes| E[gradeに良を設定] D -->|no| F{40より大きい?} F -->|yes| G[gradeに可を設定] F -->|no| H[gradeに不可を設定] C --> J([終了]) E --> J([終了]) G --> J([終了]) H --> J([終了])

例題5 変数sizeの値が500以上であれば変数messageに"big"を、変数sizeの値が300以上500未満であれば変数messageに"normal"を、変数sizeの値が300未満ならmessageに"small"を設定せよ。

結果:

6.繰り返し

同じ手順を繰り返すことがコンピュータの得意技である。繰り返しの構文にはいくつかの種類があり、下の例はfor文である。 forに続く丸括弧の中は;(セミコロン)で区切られた3つの部分からなり、i = 0は繰り返しの始まる前に一度だけ実行される。i < 3 は繰り返しが続行されるための条件である。 これが真である間 x = x + i; が実行される。 x = x + i; が実行された後、i++が実行される。(i++ は i = i + 1 と同じ)

  x = 0;
  for (i = 0; i < 3; i++) {
    x = x + i;
  }
  

この例では以下の順に命令が実行される。

  1. x = 0 (for文の前の命令)
  2. i = 0
  3. i < 3 の判定(このときiは0であるから真であり、繰り返しは続行される)
  4. x = x + i (このとき i は 0。つまり x の値は変わらない。)
  5. i++ (これが実行されると i は 1 になる)
  6. i < 3 の判定(このときiは1であるから真であり、繰り返しは続行される)
  7. x = x + i (このとき i は1。これが実行されると x は1大きくなる)
  8. i++ (これが実行されるとiは2になる)
  9. i < 3 の判定(このときiは2であるから真であり、繰り返しは続行される)
  10. x = x + i (このとき i は2。これが実行されると x は2大きくなる)
  11. i++ (これが実行されるとiは3になる)
  12. i < 3 の判定(このときiは3であるから偽である。繰り返しは終わる)

フローチャートで表すと以下である

graph TB A([開始]) B[i=0] C{i<3} D[x=x+i] E[i++] F([終了]) A --> B B --> C C -->|yes| D D --> E E --> C C --->|no| F

例題6 変数xへ0を代入せよ。その後、for文を用いて変数 x へ 0 から 9 までの値を順に足せ。

結果:

例題7 変数yへ0を代入せよ。その後、for文を用いて変数 y へ 10 を 8回足せ。

結果:

第0回へ 目次へ 第1.5回へ