==== 練習問題ヒント(5月16追記) ====
P8 練習問題\\
その1\\
- 試験点xを入力
- xは60点以上?
* YES:"合格"を表示
* NO:"不合格"を表示
{{url>https://replit.com/@youetsusato/P8-Wen-Ti-1?v=1&embed=true#main.cpp 600,700}}
その2\\
- x%2 == 0 ?
* YES: "偶数"を表示
* NO: "奇数"を表示
{{url>https://replit.com/@youetsusato/P8-Wen-Ti-2?v=1&embed=true#main.cpp 600,700}}
その3\\
- 西暦をxとする(xを代入か初期化)
- x % 100 == 0 ?
* YES:
- x % 400 == 0 ?
* YES: "うるう年"を表示
* NO: "平年"を表示
* NO:
- x % 4 == 0 ?
* YES: "うるう年"を表示
* NO: "平年"を表示
{{url>https://replit.com/@youetsusato/P8-Wen-Ti-3uruuNian-Pan-Ding?v=1&embed=true#main.cpp 600,700}}
P10 練習問題\\
問題1.\\
- カウンタcntを用意
- cnt ← 0
- cnt < 3 の間以下を繰り返す
- "大事なことだから何回も言います" と表示
- cnt ← cnt + 1
{{url>https://replit.com/@youetsusato/P10-Wen-Ti-1?v=1&embed=true#main.cpp 600,700}}
問題2.
- sum←0 (sumを初期化)
- 以下を繰り返す(無限ループ)
- キーボードからaを入力
- a == 0 ?
* YES:
- sum を出力
- プログラム終了
* No :
- sum = sum + a
{{url>https://replit.com/@youetsusato/P10-Wen-Ti-2?v=1&embed=true#main.cpp 600,700}}
問題3.\\
- sum←0 (sumを初期化)
- 以下を繰り返す(無限ループ)
- キーボードからaを入力
- a == 0 ?
* YES:
- sum を出力
- プログラム終了
* No :
- a > 0 ?
* YES: sum = sum + a
* NO: 何もしない
{{url>https://replit.com/@youetsusato/P10-Wen-Ti-3?v=1&embed=true#main.cpp 600,700}}
P11問題\\
問題1.\\
- 整数xを入力
- cnt ← 1
- cnt <= 9 の間以下を繰り返す
- ans ← cnt * x
- x "*" cnt "=" ans(改行) を表示
- cnt ← cnt + 1
{{url>https://replit.com/@youetsusato/P11-Wen-Ti-1?v=1&embed=true#main.cpp 600,700}}
問題2.\\
- cnt ← 1
- cnt <= 10 の間以下を繰り返す
- cnt % 2 == 0 ?
* YES: "偶数"を表示
* NO: "奇数"を表示
{{url>https://replit.com/@youetsusato/P10-Wen-Ti-2-1?v=1&embed=true#main.cpp 600,700}}
問題3.\\
- cnt ← 0、sum ← 0
- cnt <= 50の間以下を繰り返す
- cnt % 2 == 1 ?
* YES: sum ← sum + cnt
* NO: 何もしない
- sumを表示する
{{url>https://replit.com/@youetsusato/P11-Wen-Ti-3?v=1&embed=true#main.cpp 600,700}}
P13問題
問題1.
横に8個(8列)、縦に6個(6行)表示しなきゃない。
それプラス、1行目は黒白黒白黒。。。。2行目は白黒白黒。。。という順番
さてどうしようか?
方針として、まず、2重ループで箱を8列6行表示してみる
アルゴリズム\\
- cnt%%_%%retu ← 0, cnt%%_%%gyou ← 0
- cnt%%_%%gyou < 6の間、以下を繰り返す
- cnt%%_%%retu < 8 の間、以下を繰り返す
- "□"を表示
- cnt%%_%%retu ← cnt%%_%%retu + 1
- 改行文字を表示
- 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.(チェッカーフラッグのやつ) ===
{{url>https://replit.com/@youetsusato/P12-Wen-Ti-1?v=1&embed=true#main.cpp 600,700}}
=== 問題1.もうちょいまとまったやつ(チェッカーフラッグのやつ) ===
{{url>https://replit.com/@youetsusato/tietukahuratuguwotukuruyo?v=1&embed=true#main.cpp 600,700}}
=== 問題2.(九々表のやつ) ===
{{url>https://replit.com/@youetsusato/Jiu-Jiu-Biao?v=1&embed=true#main.cpp 600,700}}
=== 問題3.(三角模様のやつ) ===
{{url>https://replit.com/@youetsusato/P13-Wen-Ti-3-Mo-Yang-sono2?v=1&embed=true#main.cpp 600,700}}