4.0 KiB
4.0 KiB
Question06 - 条件分岐と繰り返し処理
本資料の練習問題は、複数のプログラミング言語(Java / C# / PHP / Python)で共通して利用できるよう記述されています。静的型付け・動的型付けの違いや文字列の連結ルールなど、言語固有の文法仕様に基づき、問題文の表現をご使用の言語の仕様に適宜読み替えて進めてください。
この問題のねらい
- 繰り返し処理を使って、指定した範囲の値を順に処理できること
- 繰り返しの中で条件分岐を組み合わせ、条件を満たす場合だけ処理を行えること
- 繰り返しの中で、特定の条件のときだけその回の処理を打ち切れること
- 繰り返しを組み合わせて(繰り返しの中でさらに繰り返しを行って)、行と列からなる出力を作成できること
以下の設問はそれぞれ独立したプログラムとして実装してください。
設問1
繰り返し処理を使って、0から99までの整数を小さい順にすべて出力してください。
- 出力: 0から99までの整数を、小さい順に1つずつ出力する
設問2
以下の出力結果が得られるプログラムを作成してください。
■■■■■
- 出力:
■を5個並べた文字列を1行出力する
設問3
0から100までの整数を1つずつ順に確認し、2で割り切れる整数(偶数)のときだけ、その値をそのまま出力してください。
- 対象範囲: 0以上100以下(0と100を含む)
- 出力: 対象範囲の中で2で割り切れる整数を、小さい順にそのまま出力する(0, 2, 4, ... , 100)
設問4
1から49までの整数を1つずつ順に確認し、次の規則に従って出力してください。
- 3で割り切れる場合は
fizzと出力する - 5で割り切れる場合は
buzzと出力する - 3でも5でも割り切れる場合は
fizzbuzzと出力する(この場合、fizzやbuzzは出力しない) - 上記のいずれにも当てはまらない場合は、その整数の値をそのまま出力する
- 対象範囲: 1以上49以下
- 出力: 対象範囲の整数を小さい順に1つずつ確認し、それぞれについて上記の規則に従った結果を1つずつ出力する
設問5
0以上2以下の範囲のランダムな整数を1つ生成する、という試行を10回繰り返してください。生成した値が2の場合はその回では何も出力せず、2以外の場合はその値をそのまま出力してください。
- 期待される結果: 10回の試行のうち、生成された値が2以外だった回数分だけ、その値が出力される(値はランダムなため、実行するたびに出力される個数や内容は変わってよい)
- 補足: ランダムな整数の生成には、使用する言語の標準的な手段を用いてよい
設問6
以下の出力結果が得られるプログラムを作成してください。
■■■■■
■■■■■
■■■■■
■■■■■
■■■■■
- 出力:
■を5個並べた行を、5行分出力する
設問7
1から9までのかけ算九九の表と同じ内容が得られるプログラムを作成してください。
- 出力: 1から9までの整数を1つずつ順に取り上げ、それぞれについて1倍から9倍までの積を順に並べた行を、9行分出力する。具体的な期待結果は以下の通り(見やすさのために桁を揃えているが、桁揃えなどの見た目上の書式は問わない。各行に、その行に対応する9個の積が1倍から9倍の順で含まれていればよい)。
1 2 3 4 5 6 7 8 9
2 4 6 8 10 12 14 16 18
3 6 9 12 15 18 21 24 27
4 8 12 16 20 24 28 32 36
5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81