108 lines
4.6 KiB
Markdown
108 lines
4.6 KiB
Markdown
# Question02 - 式と演算
|
||
|
||
本資料の練習問題は、複数のプログラミング言語(Java / C# / PHP / Python)で共通して利用できるよう記述されています。静的型付け・動的型付けの違いや文字列の連結ルールなど、言語固有の文法仕様に基づき、問題文の表現をご使用の言語の仕様に適宜読み替えて進めてください。
|
||
|
||
## この問題のねらい
|
||
|
||
- 四則演算(足し算・引き算・掛け算・割り算)や、割り算の余りを求める計算ができること
|
||
- 文字列同士、または文字列と値をつなげて出力できること
|
||
- 既存の変数の値を使って新しい値を計算し、同じ変数に代入し直すことができること
|
||
- 整数と小数など、扱う値の種類の違いを理解し、意図した計算結果になるように修正できること
|
||
|
||
以下の設問はそれぞれ独立したプログラムとして実装してください。
|
||
|
||
---
|
||
|
||
## 設問1
|
||
|
||
整数を保持できる5つの変数 `sum`, `diff`, `mulch`, `div`, `rem` を宣言すること。それぞれ次の計算を行い、対応する変数に結果を代入すること。
|
||
|
||
- `sum`: 6 と 2 を足した値
|
||
- `diff`: 6 から 2 を引いた値
|
||
- `mulch`: 6 と 2 を掛けた値
|
||
- `div`: 6 を 2 で割った値(商)
|
||
- `rem`: 17 を 5 で割った余り
|
||
|
||
代入後、各変数の値を次の形式で出力すること(ラベルと値の組み合わせが分かればよく、区切り記号や余白は厳密に一致しなくてよい)。
|
||
|
||
- 出力:
|
||
```
|
||
変数sum :8
|
||
変数diff :4
|
||
変数mulch:12
|
||
変数div :3
|
||
変数rem :2
|
||
```
|
||
|
||
---
|
||
|
||
## 設問2
|
||
|
||
姓を保持する文字列変数 `lastName`(値: `山田`)と、名を保持する文字列変数 `firstName`(値: `太郎`)を宣言すること。この2つの変数の値を「姓+名」の順につなげて、1つの文字列として出力すること。
|
||
|
||
- 出力: `山田太郎`
|
||
- 補足: 画面に文字を出す命令は1回だけ使うこと。
|
||
|
||
---
|
||
|
||
## 設問3
|
||
|
||
整数を保持できる変数 `num` が `10` で初期化されている。`num` の値に `5` を足した結果を、`num`自身に代入し直すこと。
|
||
|
||
- 出力: `15`
|
||
|
||
---
|
||
|
||
## 設問4
|
||
|
||
整数しか保持できない変数として `sum` を宣言し、そこに整数の `10` と小数の `3.14` を足した結果(小数を含む値)を代入しようとすると、値の種類が合わず実行(コンパイル)エラーになる。
|
||
|
||
`10` と `3.14` という数値そのものは変更せずに、`sum` を宣言する際の値の種類(保持できる値の種類)を、小数も保持できるものに直し、エラーが起きないように実装すること。
|
||
|
||
- 出力: `13.14`
|
||
|
||
---
|
||
|
||
## 設問5
|
||
|
||
変数 `age`(値: `20`)と変数 `diff`(値: `5`)を使って、次の2行を出力すること。
|
||
|
||
1. `山田さんは20歳です。`
|
||
2. `5年後には25歳になります。`(`age` と `diff` を数値として足し算した結果 `25` を使った内容にすること)
|
||
|
||
2行目を実装する際、`age` と `diff` をそのまま文字として連結すると、数値としての足し算にならず `5年後には205歳になります。` のような誤った内容になってしまうため、そうならないように注意すること。
|
||
|
||
- 出力:
|
||
```
|
||
山田さんは20歳です。
|
||
5年後には25歳になります。
|
||
```
|
||
|
||
---
|
||
|
||
## 設問6
|
||
|
||
`9` を `2` で割った結果を出力すること。整数同士の割り算として実装すると、小数点以下が切り捨てられて `4` と出力されてしまうため、小数点以下を切り捨てずに正しい商が出力されるように実装すること。
|
||
|
||
- 出力: `4.5`
|
||
|
||
---
|
||
|
||
## 設問7
|
||
|
||
整数しか保持できない変数として `num` を宣言し、そこに小数の値 `1.0` をそのまま代入しようとすると、値の種類が合わず実行(コンパイル)エラーになる。
|
||
|
||
`1.0` という数値そのものは変更せずに、小数の値を整数の値に変換する処理を加えるなどして、`num` にエラーなく代入できるように実装すること。
|
||
|
||
- 出力: `1`
|
||
|
||
---
|
||
|
||
## 設問8
|
||
|
||
所持金を保持する変数 `money`(値: `1000`)、税抜きの商品価格を保持する変数 `price`(値: `580`)、消費税率を保持する変数 `taxRate`(値: `0.08`)を宣言すること。
|
||
|
||
商品価格に消費税率を加味した税込み価格を計算し(端数は切り捨てる)、所持金からその税込み価格を引いた値を、新しい所持金として `money` に代入し直すこと。
|
||
|
||
- 出力: `残金は374円です。`
|