Goの初心者向け問題1-8:算術演算子を理解しよう
この問題を解くために必要な知識:
コメントの書き方、変数と定数、基本データ型、型のエイリアス、文字列操作、ポインタの基本、nilの概念、ビルトイン関数、算術演算子とビット演算子、標準入力と出力、import文の使用
<<前の問題 | 問題集Top |
次の問題>> |
Goの文法「算術演算子」とは
ここでは算術演算子の意味や使い方を復習します。必要ない方はここをクリックして練習問題へ飛びましょう。
Goの「算術演算子」の意味
算術演算子は基本的な数値計算を行うために使用される演算子です。
これらは数学的な操作を行うために必要不可欠なものであり、Goのプログラムで頻繁に使用されます。
Goの「算術演算子」の使用例
以下に、各演算子を使用した簡単なコード例を示します。
package main import "fmt" func main() { // 変数の定義 a := 10 b := 3 // 加算 sum := a + b fmt.Println("加算:", sum) // 結果: 13 // 減算 difference := a - b fmt.Println("減算:", difference) // 結果: 7 // 乗算 product := a * b fmt.Println("乗算:", product) // 結果: 30 // 除算 quotient := a / b fmt.Println("除算:", quotient) // 結果: 3 // 剰余 remainder := a % b fmt.Println("剰余:", remainder) // 結果: 1 }
上記のコードは、Go言語で基本的な算術演算子を使用する例を示しています。
それぞれの演算子は、対応する数学的な操作を行い、その結果を新しい変数に代入しています。例えば、sum := a + b
は変数 a
と b
の加算結果を sum
に代入します。
除算に関しては、整数同士の除算であるため、小数点以下の結果は切り捨てられます。
Go練習問題1-8:四則演算をしよう
2つの整数を入力し、それらの整数に対して四則演算(加算、減算、乗算、除算、剰余)を行うプログラムを作成してください。
入力された整数と計算結果を画面に表示することが目標です。
この問題の要件
以下の要件に従ってコードを完成させてください。
fmt.Scan
を使用して、2つの整数を入力すること。- 加算、減算、乗算、除算、剰余の計算を行うこと。
- 計算結果をそれぞれ画面に表示すること。
- ユーザーが入力する整数がゼロでないことを前提とする。
ただし、以下のような実行結果となるコードを書くこと。
*****↓↓正解コードの実行結果の例↓↓*****
整数aを入力してください: 12 整数bを入力してください: 5 足し算: a + b = 17 引き算: a - b = 7 掛け算: a * b = 60 割り算: a / b = 2 剰余: a % b = 2
この問題を解くヒント
1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。
正解のコードは上から順に以下のような構成となっています。
1.パッケージの宣言
2.fmtパッケージのインポート
3.main関数の定義
3-1. ユーザーからの入力を受け取るための変数の宣言
3-2. ユーザーに整数aの入力を促す
3-3. fmt.Scanを使用して、ユーザーからの入力を変数aに格納
3-4. ユーザーに整数bの入力を促す
3-5. fmt.Scanを使用して、ユーザーからの入力を変数bに格納
3-6. 算術演算の結果を格納するための変数の宣言と計算
3-6-1. 変数sumに加算結果を格納
3-6-2. 変数differenceに減算結果を格納
3-6-3. 変数productに乗算結果を格納
3-6-4. 変数quotientに除算結果を格納
3-6-5. 変数remainderに剰余結果を格納
3-7. 計算結果をfmt.Printlnを使用して出力
以下のコードをコピーし、コメントに従ってコードを完成させて下さい。
package main import "fmt" func main() { // ユーザーからの入力を受け取るための変数を宣言 var a, b int // ユーザーに入力を促す fmt.Print("整数aを入力してください: ") /* 【穴埋め問題1】 ここにfmt.Scanを使用して、ユーザーからの入力を変数aに格納するコードを書いてください。 */ fmt.Print("整数bを入力してください: ") /* 【穴埋め問題2】 ここにfmt.Scanを使用して、ユーザーからの入力を変数bに格納するコードを書いてください。 */ // 算術演算の結果をそれぞれの変数に格納 sum := a + b // 加算結果 /* 【穴埋め問題3】 ここにaとbの減算結果を格納するコードを書いてください。 */ /* 【穴埋め問題4】 ここにaとbの乗算結果を格納するコードを書いてください。 */ /* 【穴埋め問題5】 ここにaとbの除算結果を格納するコードを書いてください。 */ /* 【穴埋め問題6】 ここにaとbの剰余結果を格納するコードを書いてください。 */ // 計算結果を出力 fmt.Println("足し算: a + b =", sum) /* 【穴埋め問題7】 ここに減算結果を出力するコードを書いてください。 */ /* 【穴埋め問題8】 ここに乗算結果を出力するコードを書いてください。 */ /* 【穴埋め問題9】 ここに除算結果を出力するコードを書いてください。 */ /* 【穴埋め問題10】 ここに剰余結果を出力するコードを書いてください。 */ }
このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。
解答例
この問題の一つの正解例とそのコードの解説を以下に示します。
正解コードの例
例えば以下のようなプログラムが考えられます。
package main import "fmt" func main() { // ユーザーからの入力を受け取るための変数を宣言 var a, b int // ユーザーに入力を促す fmt.Print("整数aを入力してください: ") fmt.Scan(&a) // ユーザーからの入力を取得し、変数aに格納 fmt.Print("整数bを入力してください: ") fmt.Scan(&b) // ユーザーからの入力を取得し、変数bに格納 // 算術演算の結果をそれぞれの変数に格納 sum := a + b // 加算結果 difference := a - b // 減算結果 product := a * b // 乗算結果 quotient := a / b // 除算結果 remainder := a % b // 剰余結果 // 計算結果を出力 fmt.Println("足し算: a + b =", sum) fmt.Println("引き算: a - b =", difference) fmt.Println("掛け算: a * b =", product) fmt.Println("割り算: a / b =", quotient) fmt.Println("剰余: a % b =", remainder) }
正解コードの解説
このGoコードは、ユーザーから2つの整数を入力し、それらに対して基本的な算術演算を行うプログラムです。次に、コードをブロックごとに分解して説明します。
パッケージの宣言
package main
このコードは、Goプログラムが実行される際のエントリーポイントとなる「main」パッケージを指定しています。Goプログラムは必ず「main」パッケージを持つ必要があります。
インポート文
import "fmt"
「fmt」パッケージは、フォーマットされたI/O(入出力)を行うための標準ライブラリです。これにより、データを出力したり、ユーザーから入力を受け取ることができます。
main関数
func main() {
「main」関数は、Goプログラムが実行される際に最初に呼び出される関数です。この関数の中に、プログラムの処理が記述されています。
変数の宣言とユーザー入力の取得
var a, b int fmt.Print("整数aを入力してください: ") fmt.Scan(&a) fmt.Print("整数bを入力してください: ") fmt.Scan(&b)
ここでは、整数を格納するための変数「a」と「b」を宣言しています。「fmt.Scan」関数を使用して、ユーザーが入力した値をそれぞれの変数に格納します。
算術演算の実行
sum := a + b difference := a - b product := a * b quotient := a / b remainder := a % b
ここでは、2つの入力値に対して加算、減算、乗算、除算、および剰余の演算を行い、その結果をそれぞれの変数に格納します。
結果の出力
fmt.Println("足し算: a + b =", sum) fmt.Println("引き算: a - b =", difference) fmt.Println("掛け算: a * b =", product) fmt.Println("割り算: a / b =", quotient) fmt.Println("剰余: a % b =", remainder)
最後に、各演算の結果を「fmt.Println」関数を使って出力します。
<<前の問題 |
問題集Top |
次の問題>> |
この問題への質問・コメント
この問題を作成するにあたりAIを活用しています。
問題ないことは確認していますが、もし間違いや表現の違和感などありましたら、ご指摘頂けると大変助かります。