最強のプログラミング勉強法【電脳少女プログラミング2088 ─壊レタ君を再構築─】

## まえがき

皆さん、勉強って続きませんよね。やらなければならないことは分かっているけれど、どうしても面倒に感じてしまいます。

一方、ゲームはどうでしょうか。気づいたら毎日たくさんの時間を使っていた、そんな経験がよくありますよね。

それでは、ゲームと勉強を一緒にしてみたらどうでしょうか。

もちろん、両方をやろうとしてもなかｎうまくいかないことは理解しています。

その理由は何でしょうか。勉強も中途半端だし、ゲームもあまり面白くない。まさに**二兎を追う者は一兎をも得ず**という状態です。

しかし、勉強もしっかりできて、なおかつゲームとしても楽しめる、いわゆる【神ゲー】があるとしたら？

ご安心ください。【完全無料】のとっておきがあります。

ということで、今回はpaiza様のゲーム「[電脳少女プログラミング2088 ─壊レタ君を再構築─](https://ppg.paiza.jp/denno2088))」をご紹介します！

プログラミングなんて難しいと思っている方も安心してください。すべてお手伝いします。

## 問題解説

考えて分からなければ読んでください。正解しても読んでください。どちらにしろ必ず、あなたの糧になります。

### E - 街外れの戦場跡 (必要知識:なし)

**問題概要**：

以下の Python のコードを実行した時に出力される値を選択してください。

```python
a = "RE"
b = "IMI"
print(a+b)
```
1. REIMI
2. IMIRE
3. IMIIMI
4. RERE
  

<details><summary>解説</summary>

プログラムの動きをシミュレートする作業は「机上デバッグ」と呼ばれ、プログラムを書く際に理解が難しくなったときに役立ちます。

まず、1行目と2行目では「代入」という操作を行います。これは、名前の付いた箱に情報を入れる作業です。具体的には、1行目では「a」という箱に「RE」と書かれた紙を入れ、2行目では「b」という箱に「IMI」と書かれた紙を入れます。

3行目では、「カッコの中の内容を表示する」という操作を行います。これは、「a」と「b」という箱の中身を確認することに相当します。ここで、カッコの中には`a+b`と書かれており、実際に箱の中身を出すと、`"RE"+"IMI"`となります。

「+」は、見た目の通り、二つの文字列を結合する役割を持っています。実際に結合すると、カッコの中は`"REIMI"`になります。したがって、3行目は次のようになります。

```javascript
print("REIMI")
```

これにより、「REIMI」と表示されることがわかります。結論として、プログラムの出力は **"REIMI"** となります。
</details>

  

### D - ネオン街の裏路地 (必要知識:なし)
ちなみに、この問題はとても難しいです。でも、理解したら、あなたのプログラミングのレベルは**一気に**上がります。だから、頑張ってください！

問題概要（要約）：
```
<個数>
<数字1>
<数字2>
...
<最後の数字>
```
が与えられるので、一番大きい数字を出力してください。

<details><summary>解説</summary>

**事前知識**
pythonで◯回繰り返しを行うには、以下のコードを使います。

```python
for i in range(回数):
	(やりたい処理)
```
また、もし〇〇なら、という処理は以下のように書きます。
```python
if (もし〇〇なら):
    〇〇をする
```
:::note info
処理の左には4つのスペースが必要です。
:::

また、1行だけ数字を受け取るには、以下のコードを使います。
```python
受け取りたい箱 = int(input())
```

これを組み合わせてコードを作ります。

まず、繰り返して受け取るには個数を受け取らなければいけません。なので、1行目では個数を箱に入れます。
```python
kosuu = int(input())
```
次に、一番大きい数字を記録する箱を作ります。この箱の中の数字を毎回、入力とそこまでの最大値との大きい方に更新します。
```python
itiban = 0
```
そして、繰り返しを行います。
```python
for i in range(kosuu):
```
この中身は、今の数字を受け取って、それがそこまでの最大値より大きければそれを今の数字で更新するということを書けばよいです。なので、

```python
    ima = int(input()) # 入力する
    if (itiban < ima): # itibanよりimaが大きいなら
        itiban = ima # itibanの中身をimaと同じにする
```

と書けます。

最後に、そこまでの最大値を出力します。

```python
print(itiban)

```
</details>
<details><summary>コード例</summary>

```python
kosuu = int(input())
itiban = 0
for i in range(kosuu):
	ima = int(input())
	if (itiban < ima):
		itiban = ima

print(biggest)
```

</details>

### D - カジノ (必要知識:1つ前の問題の解説)
問題概要（要約）：
```
<数字1>
<数字2>
<数字3>
```
として数字が入力されるので、`<数字1>＋<数字2>×５＋<数字3>×10`を出力してください。

<details><summary>解説</summary>

pythonでは、足し算に 「+」 、掛け算に 「*」という記号を使います。

これがわかれば、あなたならもう書けるのではないでしょうか。ちょっとやってみてください。もしわからなければ、コード例を見てみてください。

</details>
<details><summary>コード例</summary>

```python
suuji1 = int(input()) # 受け取る
suuji2 = int(input()) # 受け取る
suuji3 = int(input()) # 受け取る
print(suuji1 + suuji2 * 5 + suuji3 * 10) # 表示する
```

</details>

### D - 郊外のスラム街
問題概要（要約）：
```
<数字>
```
が与えられるので、`<数字>÷2＋100`を出力してください。

<details><summary>解説</summary>

1つ前の問題の演習問題です。頑張ってやってみてください。ちなみに、pythonでは「÷」の記号に「/」を使います。

</details>
<details><summary>コード例</summary>

```python
suuji = int(input()) # 受け取る
print(suuji / 2 + 100) # 表示する
```

</details>

## さいごに
お疲れ様でした！これであなたは一人前のプログラマーです！
ここから先にはとても難しい問題がたくさんあります。
でも、それらはこれらの問題みたいに、ひとつひとつ分解していけば必ず解けるようになっています。
その時点で解けなくても、あとから見たら絶対に解けるようになっています。
これから色々なことがあります。でも、それらを乗り越えれば、なれるでしょう。頑張ってください！
ちなみに、このゲームはもっと続いていきます。いっぱい問題を解いてみてください！

このゲームでわからない所があれば、ぜひこの記事のコメントで聞いて下さい！