練習問題ヒント(5月16追記)

P8 練習問題

その1

  1. 試験点xを入力
  2. xは60点以上?
    • YES:“合格”を表示
    • NO:“不合格”を表示

その2

  1. x%2 == 0 ?
    • YES: “偶数”を表示
    • NO: “奇数”を表示

その3

  1. 西暦をxとする(xを代入か初期化)
  2. x % 100 == 0 ?
    • YES:
      1. x % 400 == 0 ?
        • YES: “うるう年”を表示
        • NO: “平年”を表示
    • NO:
      1. x % 4 == 0 ?
        • YES: “うるう年”を表示
        • NO: “平年”を表示

P10 練習問題

問題1.

  1. カウンタcntを用意
  2. cnt ← 0
  3. cnt < 3 の間以下を繰り返す
    1. “大事なことだから何回も言います” と表示
    2. cnt ← cnt + 1

問題2.

  1. sum←0 (sumを初期化)
  2. 以下を繰り返す(無限ループ)
    1. キーボードからaを入力
    2. a == 0 ?
      • YES:
        1. sum を出力
        2. プログラム終了
      • No :
        1. sum = sum + a

問題3.

  1. sum←0 (sumを初期化)
  2. 以下を繰り返す(無限ループ)
    1. キーボードからaを入力
    2. a == 0 ?
      • YES:
        1. sum を出力
        2. プログラム終了
      • No :
        1. a > 0 ?
          • YES: sum = sum + a
          • NO: 何もしない

P11問題

問題1.

  1. 整数xを入力
  2. cnt ← 1
  3. cnt ⇐ 9 の間以下を繰り返す
    1. ans ← cnt * x
    2. x “*” cnt “=” ans(改行) を表示
    3. cnt ← cnt + 1

問題2.

  1. cnt ← 1
  2. cnt ⇐ 10 の間以下を繰り返す
    1. cnt % 2 == 0 ?
      • YES: “偶数”を表示
      • NO: “奇数”を表示

問題3.

  1. cnt ← 0、sum ← 0
  2. cnt ⇐ 50の間以下を繰り返す
    1. cnt % 2 == 1 ?
      • YES: sum ← sum + cnt
      • NO: 何もしない
  3. sumを表示する

P13問題
問題1.
	横に8個(8列)、縦に6個(6行)表示しなきゃない。
	それプラス、1行目は黒白黒白黒。。。。2行目は白黒白黒。。。という順番
	さてどうしようか?
	方針として、まず、2重ループで箱を8列6行表示してみる

アルゴリズム

  1. cnt_retu ← 0, cnt_gyou ← 0
  2. cnt_gyou < 6の間、以下を繰り返す
    1. cnt_retu < 8 の間、以下を繰り返す
      1. “□”を表示
      2. cnt_retu ← cnt_retu + 1
    2. 改行文字を表示
    3. cnt_gyou ← cnt_gyou + 1
	このアルゴリズムが動くと
  	□□□□□□□□
	□□□□□□□□
	□□□□□□□□
	□□□□□□□□
	□□□□□□□□
	□□□□□□□□
	が、表示される。
	あとは白黒を何とかすればいいよね!

問題2.
	12ページの問題1で指定され段の九々を表示する処理は実現できているはず。
	指定された段の九々を表示する処理を
	九々(段)という命令で表す。
	たとえば
	九々(2)を実行すると
		__2 __4 __6 __8 _10 _12 _14 _16 _18 
	を出力する。
	これを使って、
	1.cnt_dan ← 1
	2.cnt_dan <= 9 の間、以下を繰り返す
		あ)九々(cnt_dan)
		い)改行を表示
		う)cnt_dan ← cnt_dan + 1

	あとは、九々のところを、12ページの問題2と同じように書く!

問題3.
	基本は、問題1と同じ
	7x7の繰り返しになっているだけなので繰り返しの回数をかえて、
	まずは、これを表示する
	□□□□□□□
	□□□□□□□
	□□□□□□□
	□□□□□□□
	□□□□□□□
	□□□□□□□
	□□□□□□□
	んで、これを表示するときに
	1行目 白6黒1
	2行目 白5黒2
	3行目 白4黒3
	4行目 白3黒4
	5行目 白2黒5
	6行目 白1黒6
	7行目 白0黒7
	で表示する。
	1行目の白と黒を分ける条件式を考えてみよう。
	(黒の数と、今考えている行数が一致していることを使っていくぅ)

問題1.(チェッカーフラッグのやつ)

問題1.もうちょいまとまったやつ(チェッカーフラッグのやつ)

問題2.(九々表のやつ)

問題3.(三角模様のやつ)