رسانه آموزشی پرونش
جستجو برای:
سبد خرید 0
  • خانه
  • بسته‌های آموزش‌ها
  • مقالات آموزشی
  • رویدادها
  • محصولات
  • تماس با ما
    • مشهد - شهرک غرب - ساختمان اکسین
      051-36000050
      info@pronesh.ir
      اینستاگرام
      کانال تلگرام
ورود
[suncode_otp_login_form]
گذرواژه خود را فراموش کرده اید؟
عضویت
[suncode_otp_registration_form]

داده های شخصی شما برای پشتیبانی از تجربه شما در این وب سایت، برای مدیریت دسترسی به حساب کاربری شما و برای اهداف دیگری که در privacy policy ما شرح داده می شود مورد استفاده قرار می گیرد.

رسانه آموزشی پرونش
  • خانه
  • بسته‌های آموزش‌ها
  • مقالات آموزشی
  • رویدادها
  • محصولات
  • تماس با ما
    • مشهد - شهرک غرب - ساختمان اکسین
      051-36000050
      info@pronesh.ir
      اینستاگرام
      کانال تلگرام
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

پیاده‌سازی یک ماشین حساب ساده با قابلیت‌های پیشرفته

برنامه نویسی

مقدمه

در این مقاله، به پیاده‌سازی یک ماشین حساب ساده می‌پردازیم که عملیات پایه‌ای مانند جمع، تفریق، ضرب و تقسیم را انجام می‌دهد. همچنین، قابلیت‌های پیشرفته‌تری مانند محاسبه توان، جذر و درصد نیز به آن اضافه می‌شود. این پروژه برای دانشجویانی که تازه با مفاهیم برنامه‌نویسی آشنا شده‌اند، مناسب است و به آن‌ها کمک می‌کند تا با ساختارهای پایه‌ای برنامه‌نویسی، توابع و الگوریتم‌ها آشنا شوند.


توضیح پروژه

هدف این پروژه، ایجاد یک برنامه ماشین حساب است که بتواند عملیات‌های ریاضی پایه و پیشرفته را انجام دهد. کاربر می‌تواند دو عدد وارد کند و عملیات مورد نظر خود را انتخاب نماید. برنامه پس از انجام محاسبات، نتیجه را نمایش می‌دهد.

قابلیت‌های پروژه:

  1. انجام عملیات‌های پایه: جمع (+)، تفریق (-)، ضرب (*) و تقسیم (/).

  2. انجام عملیات‌های پیشرفته: محاسبه توان (^)، جذر (√) و درصد (%).

  3. نمایش خطا در صورت وارد کردن عملیات نامعتبر یا تقسیم بر صفر.

  4. امکان تکرار عملیات‌ها تا زمانی که کاربر برنامه را ببندد.


ساختارها و ساختمان داده‌های مورد نیاز

برای پیاده‌سازی این پروژه، به ساختارها و مفاهیم زیر نیاز داریم:

  1. متغیرها: برای ذخیره‌سازی اعداد و نتایج عملیات.

  2. توابع: برای سازماندهی کد و انجام هر عملیات به صورت جداگانه.

  3. ساختارهای کنترلی: مانند if-else و switch-case برای بررسی عملیات انتخاب شده توسط کاربر.

  4. حلقه‌ها: مانند while برای تکرار برنامه تا زمانی که کاربر تصمیم به خروج بگیرد.

  5. ورودی و خروجی: برای دریافت اعداد و عملیات از کاربر و نمایش نتیجه.


روش حل مسئله و الگوریتم

  1. شروع برنامه: نمایش منوی عملیات به کاربر.

  2. دریافت ورودی: دریافت دو عدد و عملیات مورد نظر از کاربر.

  3. انجام عملیات: با استفاده از ساختار if-else یا switch-case، عملیات انتخاب شده را انجام دهید.

  4. بررسی خطا: در صورت تقسیم بر صفر یا انتخاب عملیات نامعتبر، خطا نمایش داده شود.

  5. نمایش نتیجه: نتیجه عملیات به کاربر نشان داده شود.

  6. تکرار برنامه: از کاربر بپرسید آیا می‌خواهد عملیات دیگری انجام دهد یا خیر

پیاده سازی پروژه :

در ادامه به پیاده سازی این پروژه در سه زبان برنامه نویسی پر کاربرد python, java, Cpp خواهیم پرداخت و این پروژه را در هر سه این زبان ها برای شما پیاده سازی خواهیم کرد:

پیاده سازی در python:

				
					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 power(x, y):
    return x ** y

def square_root(x):
    if x < 0:
        return "خطا: جذر اعداد منفی مجاز نیست!"
    return x ** 0.5

def percentage(x, y):
    return (x * y) / 100

def calculator():
    while True:
        print("\nعملیات‌های موجود:")
        print("1: جمع (+)")
        print("2: تفریق (-)")
        print("3: ضرب (*)")
        print("4: تقسیم (/)")
        print("5: توان (^)")
        print("6: جذر (√)")
        print("7: درصد (%)")
        print("8: خروج")

        choice = input("عملیات مورد نظر خود را انتخاب کنید (1-8): ")

        if choice == '8':
            print("خروج از برنامه...")
            break

        if choice in ['1', '2', '3', '4', '5', '7']:
            num1 = float(input("عدد اول را وارد کنید: "))
            num2 = float(input("عدد دوم را وارد کنید: "))
        elif choice == '6':
            num1 = float(input("عدد را وارد کنید: "))
        else:
            print("عملیات نامعتبر!")
            continue

        if choice == '1':
            print(f"نتیجه: {add(num1, num2)}")
        elif choice == '2':
            print(f"نتیجه: {subtract(num1, num2)}")
        elif choice == '3':
            print(f"نتیجه: {multiply(num1, num2)}")
        elif choice == '4':
            print(f"نتیجه: {divide(num1, num2)}")
        elif choice == '5':
            print(f"نتیجه: {power(num1, num2)}")
        elif choice == '6':
            print(f"نتیجه: {square_root(num1)}")
        elif choice == '7':
            print(f"نتیجه: {percentage(num1, num2)}")
        else:
            print("عملیات نامعتبر!")

if __name__ == "__main__":
    calculator()
				
			

در قطعه کد بالا با کمک یک حلقه while از کاربر عملیات مورد نظرش را سوال می‌کنیم و با کمک توابع پیاده سازی شده برای هر عملیات ریاضی محاسبات مورد نیاز را انجام داده و حاصل را در خروجی به نمایش در خواهیم آورد در ادامه بررسی توابع نوشته شده در قطعه کد بالا خواهیم پرداخت :

  1. add(x, y): جمع دو عدد.

  2. subtract(x, y): تفریق دو عدد.

  3. multiply(x, y): ضرب دو عدد.

  4. divide(x, y): تقسیم دو عدد با بررسی تقسیم بر صفر.

  5. power(x, y): محاسبه توان.

  6. square_root(x): محاسبه جذر با بررسی اعداد منفی.

  7. percentage(x, y): محاسبه درصد.

  8. ()calculator: تابع اصلی که منو را نمایش می‌دهد و عملیات را مدیریت می‌کند.

پیاده سازی در ++C:

				
					#include <iostream>
#include <cmath>
using namespace std;

double add(double x, double y) {
    return x + y;
}

double subtract(double x, double y) {
    return x - y;
}

double multiply(double x, double y) {
    return x * y;
}

double divide(double x, double y) {
    if (y == 0) {
        cout << "خطا: تقسیم بر صفر مجاز نیست!" << endl;
        return 0;
    }
    return x / y;
}

double power(double x, double y) {
    return pow(x, y);
}

double square_root(double x) {
    if (x < 0) {
        cout << "خطا: جذر اعداد منفی مجاز نیست!" << endl;
        return 0;
    }
    return sqrt(x);
}

double percentage(double x, double y) {
    return (x * y) / 100;
}

void calculator() {
    while (true) {
        cout << "\nعملیات‌های موجود:" << endl;
        cout << "1: جمع (+)" << endl;
        cout << "2: تفریق (-)" << endl;
        cout << "3: ضرب (*)" << endl;
        cout << "4: تقسیم (/)" << endl;
        cout << "5: توان (^)" << endl;
        cout << "6: جذر (√)" << endl;
        cout << "7: درصد (%)" << endl;
        cout << "8: خروج" << endl;

        int choice;
        cout << "عملیات مورد نظر خود را انتخاب کنید (1-8): ";
        cin >> choice;

        if (choice == 8) {
            cout << "خروج از برنامه..." << endl;
            break;
        }

        double num1, num2;
        if (choice >= 1 && choice <= 7) {
            cout << "عدد اول را وارد کنید: ";
            cin >> num1;
            if (choice != 6) {
                cout << "عدد دوم را وارد کنید: ";
                cin >> num2;
            }
        } else {
            cout << "عملیات نامعتبر!" << endl;
            continue;
        }

        switch (choice) {
            case 1:
                cout << "نتیجه: " << add(num1, num2) << endl;
                break;
            case 2:
                cout << "نتیجه: " << subtract(num1, num2) << endl;
                break;
            case 3:
                cout << "نتیجه: " << multiply(num1, num2) << endl;
                break;
            case 4:
                cout << "نتیجه: " << divide(num1, num2) << endl;
                break;
            case 5:
                cout << "نتیجه: " << power(num1, num2) << endl;
                break;
            case 6:
                cout << "نتیجه: " << square_root(num1) << endl;
                break;
            case 7:
                cout << "نتیجه: " << percentage(num1, num2) << endl;
                break;
            default:
                cout << "عملیات نامعتبر!" << endl;
        }
    }
}

int main() {
    calculator();
    return 0;
}
				
			

در قطعه کد بالا که در زبان ++C پیاده سازی شده است در تابع calculator با کمک یک حلقه while از کاربر عملیات مورد نظرش را سوال می‌کنیم و با کمک توابع پیاده سازی شده برای هر عملیات ریاضی محاسبات مورد نیاز را انجام داده و حاصل را در خروجی به نمایش در خواهیم آورد در ادامه بررسی توابع نوشته شده در قطعه کد بالا خواهیم پرداخت :

 

  1. add(x, y): جمع دو عدد.

  2. subtract(x, y): تفریق دو عدد.

  3. multiply(x, y): ضرب دو عدد.

  4. divide(x, y): تقسیم دو عدد با بررسی تقسیم بر صفر.

  5. power(x, y): محاسبه توان با استفاده از تابع pow از کتابخانه cmath.

  6. square_root(x): محاسبه جذر با استفاده از تابع sqrt از کتابخانه cmath.

  7. percentage(x, y): محاسبه درصد.

  8. ()calculator: تابع اصلی که منو را نمایش می‌دهد و عملیات را مدیریت می‌کند.

پیاده سازی در Java:

				
					import java.util.Scanner;

public class Calculator {
    public static double add(double x, double y) {
        return x + y;
    }

    public static double subtract(double x, double y) {
        return x - y;
    }

    public static double multiply(double x, double y) {
        return x * y;
    }

    public static double divide(double x, double y) {
        if (y == 0) {
            System.out.println("خطا: تقسیم بر صفر مجاز نیست!");
            return 0;
        }
        return x / y;
    }

    public static double power(double x, double y) {
        return Math.pow(x, y);
    }

    public static double squareRoot(double x) {
        if (x < 0) {
            System.out.println("خطا: جذر اعداد منفی مجاز نیست!");
            return 0;
        }
        return Math.sqrt(x);
    }

    public static double percentage(double x, double y) {
        return (x * y) / 100;
    }

    public static void calculator() {
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.println("\nعملیات‌های موجود:");
            System.out.println("1: جمع (+)");
            System.out.println("2: تفریق (-)");
            System.out.println("3: ضرب (*)");
            System.out.println("4: تقسیم (/)");
            System.out.println("5: توان (^)");
            System.out.println("6: جذر (√)");
            System.out.println("7: درصد (%)");
            System.out.println("8: خروج");

            System.out.print("عملیات مورد نظر خود را انتخاب کنید (1-8): ");
            int choice = scanner.nextInt();

            if (choice == 8) {
                System.out.println("خروج از برنامه...");
                break;
            }

            double num1, num2 = 0;
            if (choice >= 1 && choice <= 7) {
                System.out.print("عدد اول را وارد کنید: ");
                num1 = scanner.nextDouble();
                if (choice != 6) {
                    System.out.print("عدد دوم را وارد کنید: ");
                    num2 = scanner.nextDouble();
                }
            } else {
                System.out.println("عملیات نامعتبر!");
                continue;
            }

            switch (choice) {
                case 1:
                    System.out.println("نتیجه: " + add(num1, num2));
                    break;
                case 2:
                    System.out.println("نتیجه: " + subtract(num1, num2));
                    break;
                case 3:
                    System.out.println("نتیجه: " + multiply(num1, num2));
                    break;
                case 4:
                    System.out.println("نتیجه: " + divide(num1, num2));
                    break;
                case 5:
                    System.out.println("نتیجه: " + power(num1, num2));
                    break;
                case 6:
                    System.out.println("نتیجه: " + squareRoot(num1));
                    break;
                case 7:
                    System.out.println("نتیجه: " + percentage(num1, num2));
                    break;
                default:
                    System.out.println("عملیات نامعتبر!");
            }
        }
        scanner.close();
    }

    public static void main(String[] args) {
        calculator();
    }
}
				
			

در قطعه کد بالا که در زبان java پیاده سازی شده است در تابع calculator با کمک یک حلقه while و ساختار switch از کاربر عملیات مورد نظرش را سوال می‌کنیم و با کمک توابع پیاده سازی شده برای هر عملیات ریاضی محاسبات مورد نیاز را انجام داده و حاصل را در خروجی به نمایش در خواهیم آورد در ادامه بررسی توابع نوشته شده در قطعه کد بالا خواهیم پرداخت :

    1. add(x, y): جمع دو عدد.

    2. subtract(x, y): تفریق دو عدد.

    3. multiply(x, y): ضرب دو عدد.

    4. divide(x, y): تقسیم دو عدد با بررسی تقسیم بر صفر.

    5. power(x, y): محاسبه توان با استفاده از تابع Math.pow.

    6. squareRoot(x): محاسبه جذر با استفاده از تابع Math.sqrt.

    7. percentage(x, y): محاسبه درصد.

    8. ()calculator: تابع اصلی که منو را نمایش می‌دهد و عملیات را مدیریت می‌کند.

 

برچسب ها: پروژهپروژه c++پروژه javaپروژه pythonپروژه پایتونپروژه جاواپروژه ماشین حسابسورس کد
قبلی 10 مورد از برترین هوش مصنوعی‌های 2025
بعدی معرفی هوش مصنوعی Qwen

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
پشتیبانی
دسته‌ها
  • برنامه نویسی
  • عمومی
  • هوش مصنوعی
برچسب‌ها
ai ChatGPT copilot json python spyder xml آموزش ChatGPT آموزش برنامه نویسی چند نخی اسپایدر بازی دوز دستیار هوشمند سورس کد مدیریت فایل نصب هوش مصنوعی ٍExcel درپایتون پایتون پردازش تصویر پروژه پروژه c++ پروژه java پروژه python پروژه با سورس کد پروژه جاوا پروژه دفترچه تلفن پروژه سی پروژه ماشین حساب پروژه پایتون چت جی پی تی
رسانه آموزش آنلاین پرونش قصد دارد با همکاری انشارات هوش‌آموز یکی از بهترین و کاراترین مراکز آموزشی در ضمینه علوم کامپیوتر را با استفاده از منابع معتبر، به صورت کامل کاربردی و پروژه محور، با هدف آموزش جهت ورودی به بازار کار در اختیار علاقمندان قرار دهد. از شما درخواست می‌کنیم با استفاده قانونی از محصولات این سایت ما را در راستای رسیدن به این منظور یاری کنید.
دسترسی سریع
  • خانه
  • دوره ها
  • اخبار
  • تماس با ما
خبرنامه

چیزی را از دست ندهید، ثبت نام کنید و در مورد شرکت ما مطلع باشید.

نمادها
© 1404. رسانه آموزشی پرونش Pronesh

هوش مصنوعی

  • 11 دوره

حل تمرین

  • 2 دوره

متلب

  • 12 دوره

++C/C

  • 1 دوره

پایتون

  • 2 دوره

برنامه نویسی

  • 10 نوشته

عمومی

  • 1 نوشته

هوش مصنوعی

  • 6 نوشته
برای مشاهده خریدهای خود باید وارد حساب کاربری خود شوید
Facebook Twitter Youtube Instagram Whatsapp