関数 電卓 プログラミング 方法
プログラミングで関数を使った電卓を作る実装方法|初心者向け
関数を使った電卓実装が初心者にぴったりな理由
プログラミングで関数の概念を学ぶとき、実践的な例があると理解が深まります。電卓は日常的で分かりやすく、加算・減算・乗算・除算の基本的な関数を組み合わせる典型的なプロジェクトです。3〜4個の関数で実装でき、関数の定義、呼び出し、戻り値、引数といった要素が全て学べます。
広告
電卓実装に必要な関数の基本
関数の3つの構成要素
関数を作る前に、最低限押さえるべき要素があります。
- 関数名:何をする関数かを示す名前(例:
add,subtract) - 引数(パラメータ):関数に渡す入力値(例:数値2つ)
- 戻り値(リターン):関数が計算結果として返す値
例えばPythonでは:
def add(a, b):
result = a + b
return result
このコードはaddという関数を定義し、2つの数値aとbを受け取り、その合計を戻り値として返します。
4種類の計算関数を実装する
1.加算関数(add)
def add(x, y):
return x + y
最もシンプルな関数です。2つの数値を受け取り、合計を返すだけです。
2.減算関数(subtract)
def subtract(x, y):
return x - y
注意点として、順序が重要です。subtract(10, 3)なら7ですが、subtract(3, 10)なら-7になります。
3.乗算関数(multiply)
def multiply(x, y):
return x * y
大きな数値同士の乗算では、結果が予想以上に大きくなることを意識しておくと、後々のデバッグが楽になります。
4.除算関数(divide)
def divide(x, y):
if y == 0:
return "ゼロで割ることはできません"
return x / y
ゼロ除算エラーを防ぐことが重須要です。if y == 0:で事前にチェックします。これがないと、プログラムが強制終了してしまいます。
広告
電卓プログラムの完全実装例(Python)
以下が、上記4つの関数を使った実際の電卓プログラムです。
def add(x, y):
return x + y
def subtract(x, y):
return x - y
def multiply(x, y):
return x * y
def divide(x, y):
if y == 0:
return "エラー:ゼロで割ることはできません"
return x / y
def calculator():
print("=== シンプル電卓 ===")
num1 = float(input("最初の数値を入力: "))
operation = input("演算子を入力(+, -, *, /): ")
num2 = float(input("次の数値を入力: "))
if operation == "+":
result = add(num1, num2)
elif operation == "-":
result = subtract(num1, num2)
elif operation == "*":
result = multiply(num1, num2)
elif operation == "/":
result = divide(num1, num2)
else:
result = "無効な演算子です"
print(f"結果: {result}")
calculator()
実行例
=== シンプル電卓 ===
最初の数値を入力: 25
演算子を入力(+, -, *, /): +
次の数値を入力: 15
結果: 40.0
JavaScriptでの実装方法
JavaScriptでも同じ考え方で実装できます。
function add(a, b) {
return a + b;
}
function subtract(a, b) {
return a - b;
}
function multiply(a, b) {
return a * b;
}
function divide(a, b) {
if (b === 0) {
return "ゼロで割ることはできません";
}
return a / b;
}
function calculator(num1, operation, num2) {
let result;
switch(operation) {
case "+":
result = add(num1, num2);
break;
case "-":
result = subtract(num1, num2);
break;
case "*":
result = multiply(num1, num2);
break;
case "/":
result = divide(num1, num2);
break;
default:
result = "無効な演算子です";
}
return result;
}
console.log(calculator(50, "/", 5)); // 10
console.log(calculator(12, "*", 3)); // 36
広告
初心者がつまずきやすいポイント
ゼロ除算エラー
除算関数で分母が0になるチェックを忘れると、Infinityや実行時エラーが発生します。必ず事前にチェックしましょう。
戻り値の忘れ
def add(x, y):
result = x + y
# returnを書き忘れると、関数は None を返す
returnを書かないと、関数は何も返さない(技術的にはNoneやundefinedを返す)ため、結果を使用できなくなります。
型の不一致
Pythonで"5" + 3と書くと、文字列と数値を足そうとするためエラーになります。入力値は必ず適切な型に変換してから関数に渡しましょう。
num1 = float(input("数値を入力: ")) # 文字列を数値に変換
演算子の判定ロジック
複数の選択肢がある場合、if-elif-elseやswitch文で正確に分岐を書く必要があります。間違えると思わぬ計算結果が出ます。
より実践的な拡張方法
べき乗や平方根を追加
def power(x, y):
return x ** y
def square_root(x):
if x < 0:
return "エラー:負の数の平方根は計算できません"
return x ** 0.5
履歴機能の追加
calculation_history = []
def record_calculation(num1, operation, num2, result):
calculation_history.append(f"{num1} {operation} {num2} = {result}")
# 使用例
result = add(10, 5)
record_calculation(10, "+", 5, result)
広告
よくある質問(Q&A)
Q1:関数の名前は何でもいいのか?
A: プログラムは動作しますが、関数名は処理内容を反映させることが推奨されます。addなら加算、calculate_taxなら税金計算といった具合です。後で自分やチームが読んだとき、すぐに理解できます。
Q2:複数の演算を連続でしたい場合は?
A: ループを使用します。Pythonの例:
while True:
# 電卓処理
if input("続ける?(y/n): ") == "n":
break
Q3:小数点以下の桁数を制限したい場合は?
A: Pythonではround()関数を使います:
result = divide(10, 3) # 3.3333...
result = round(result, 2) # 3.33
Q4:エラーメッセージをもっと詳しく出したい場合は?
A: 例外処理(try-except)を使用できます:
try:
result = divide(num1, num2)
except Exception as e:
print(f"エラーが発生しました: {e}")
Q5:GUIを使った電卓にしたい場合は?
A: Tkinterライブラリを使うと、ボタンと画面付きの電卓が作れます。ただし本記事の範囲を超えるため、別途学習をお勧めします。
まとめ:次は検証とリファクタリング
プログラミング初心者にとって、関数で電卓を実装することは、プログラミングの基礎が実践的に学べる最適な課題です。上記のコードをそのまま実行してから、以下のステップで進めるとよいでしょう:
- 自分で異なる値を入力して、正確に計算できるか確認する
- ゼロ除算やエラー入力など、意図的に問題を起こして対処法を学ぶ
- 複雑な計算(連続した複数演算など)に対応させる
- 上記の拡張例を実装して、関数の応用をマスターする
この流れで進めば、関数の本質(入力→処理→出力)が身に付き、より複雑なプログラムへの土台が築けます。
関連する悩み
イヤホン選びで失敗しない|種類別おすすめモデルと選び方ガイド
イヤホンは音質・快適性・予算によって選ぶべき種類が異なります。接続方式・装着方式・価格帯ごとの特徴を理解することで、自分に合った1台が見つかります。
コスパ最強イヤホン2024年版|5000円以下で音質・機能を妥協しない選び方
予算5000円以下でも、音質・ノイズキャンセリング・バッテリー性能は十分選べます。選び方のコツと具体的な製品を実例付きで紹介。
家計簿アプリおすすめ7選│機能・料金を徹底比較して選ぶ
家計簿アプリ選びで失敗しないポイントは「自動連携の対応銀行」「無料プランの制限」「使い続けられるUI」の3点。主流アプリ7つを機能・料金・使いやすさで比較し、ニーズ別のおすすめを紹介します。