انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۵٫۰۴ اوبونتو منتشر شد 🎉

نویسنده موضوع: نحوه انجام عملیات ماشین حسابی در Terminal  (دفعات بازدید: 2382 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین ostad_ccna

  • Newbie
  • *
  • ارسال: 9
  • جنسیت : پسر
سلام
من میخواستم بدونم چطور میتونم عملیات جمع ضرب تقسیم تفریق و سایر عملیات محاسباتی اعداد را در ترمینال انجام بدهم؟!آیاپیش نیاز خاصی باید اضافه شود لطفا بصورت کامل توضیح دهید. :)
« آخرین ویرایش: 26 بهمن 1393، 08:38 ق‌ظ توسط ostad_ccna »

آفلاین محمودی فرد

  • Sr. Member
  • *
  • ارسال: 253
  • جنسیت : پسر
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #1 : 23 بهمن 1393، 02:07 ب‌ظ »
در گنو/ لینوکس نرم افزار های محاسباتی زیادی وجود دارند که تحت ترمینال هم قابل استفاده اند برای مثال : gnu octave  ، maxima ،  R   و حتی شبیه سازهایی مثل  calculix   و  open foam 
دانا کسی است که قدر خود را بشناسد ، و در نادانی انسان این بس که ارزش خویش نداند .

آفلاین Geek

  • High Hero Member
  • *
  • ارسال: 1116
  • جنسیت : پسر
  • The answer to life the universe and everything: 42
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #2 : 23 بهمن 1393، 02:45 ب‌ظ »
این یه راه ساده:
echo 'expression' | bc
که به جای expression باید عبارت محاسباتی رو نوشت.

یکی از گزینه‌های جالب می‌تونه پایتون باشه که به‌صورت پیش‌فرض روی همه‌ی توزیع‌ها وجود داره.

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19811
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #3 : 23 بهمن 1393، 04:21 ب‌ظ »
با پایتون (:
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین محسن صفری

  • Jr. Member
  • *
  • ارسال: 47
  • جنسیت : پسر
    • صفری آنلاین
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #4 : 23 بهمن 1393، 05:12 ب‌ظ »
bc ماشین حساب دم دستی و خوبیه . در کد زیر خروجی bc را به sed انتقال دادم و sed ابتدای هر خط جواب کلمه Result رو اضافه می کنه . این جوری کد ما خوانا تر می شه . خط هایی که با Result شروع نمی شن دستورها یا عبارتهای محاسباتی شما هستند و باید خودتون وارد کنید . وقتی کار شما با bc تموم شد کلید CTRL+D را فشار دهید تا از محیط bc خارج بشید.

$ bc | sed 's/^/Result: /'
10-2
Result: 8
10+6
Result: 16
10*4
Result: 40
10^3
Result: 1000
10%3
Result: 1
10/4
Result: 2
scale=2
10/4
Result: 2.50

من با shell script زیر برای خودم ماشین حساب ساختم و توی فایلی به نام ibc ذخیره کرده ام و خیلی هم ازش راضیم !! :

#!/bin/bash
# open an xterm with bc inside it!

xterm -bg maroon -bd green -bw 10 -title "BC" -geometry 50x30+50+50 -e "bc -q"
« آخرین ویرایش: 23 بهمن 1393، 05:16 ب‌ظ توسط محسن صفری »

آفلاین AAAAAAAAAAAAAAAAAAAA

  • High Sr. Member
  • *
  • ارسال: 506
  • :(
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #5 : 23 بهمن 1393، 05:21 ب‌ظ »
من پایتون رو پیشنهاد میدم

شل پایتون رو باز میکنید و

print 2*2

آفلاین دانیال بهزادی

  • ناظر انجمن
  • *
  • ارسال: 19811
  • جنسیت : پسر
  • Urahara Kiesuke
    • وبلاگ
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #6 : 23 بهمن 1393، 05:27 ب‌ظ »
من پایتون رو پیشنهاد میدم

شل پایتون رو باز میکنید و

print 2*2
حتا به print هم نیازی نیست. همون 2*2 کافیه
اگه این ارسال بهت کمک کرد، دنبال دکمهٔ تشکر نگرد. به جاش تو هم به جامعهٔ آزادت کمک کن

آفلاین محسن صفری

  • Jr. Member
  • *
  • ارسال: 47
  • جنسیت : پسر
    • صفری آنلاین
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #7 : 23 بهمن 1393، 06:19 ب‌ظ »
من پایتون رو پیشنهاد میدم

شل پایتون رو باز میکنید و

print 2*2

شل پایتون کار رو راه می اندازه و همچنین شل ruby و شاید شل های دیگه ای که من اطلاع ندارم ، ولی اینها ابزارهایی نیستند که برای این کار درست شده باشن ( ولی این کار رو انجام می دن ) . bc واقعا ماشین حسابه .

================================
توضیح اضافه :
در فلسفه برنامه نویسی یونیکس هر برنامه باید فقط و فقط یک کار رو انجام بده . مثلا ریچی ، کرنیگان و تامسون پدران سیستم عامل یونیکس با cat -n مشکل دارن . این دستور که دستور cat با سوییچ n- هست هر خط  و شماره خط را  نمایش می دهد . اینها می گن که دستور cat فقط برای نمایشه نه شماره گذاری خطوط . کار شماره گذاری برای دستور nl است . یعنی می گن باید اینجوری بنویسیم :

cat file | nl

و باز هم معتقدن که قدرت یونیکس نه از یک برنامه بلکه از تلفیق چند برنامه خودش رو نشون می ده . پس به جای این که برنامه ای بنویسم که همه کار بکنه و فقط یکبار به کار بیاد بهتره یک برنامه بنویسیم که فقط یک کار کنه ولی در موارد بسیار زیادی به کار بیاد .
« آخرین ویرایش: 23 بهمن 1393، 06:31 ب‌ظ توسط محسن صفری »

آفلاین ostad_ccna

  • Newbie
  • *
  • ارسال: 9
  • جنسیت : پسر
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #8 : 25 بهمن 1393، 07:17 ب‌ظ »
با تشکر از تمامی دوستانم تجربه جدیدی را به من منتقل کردید.

آفلاین سلمان م.

  • ناظر انجمن
  • *
  • ارسال: 4107
  • جنسیت : پسر
  • GNU Operating System - سیستم عامل گنو
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #9 : 25 بهمن 1393، 07:22 ب‌ظ »
البته حواست باشه از پایتون ۳ استفاده کنی، یا اگه از پایتون ۲ استفاده میکنی، جواب ۲/۳ رو تست کن ببین چی جواب می‌ده.

توی پایتون ۲ باید اینجوری تقسیم کنی
2./3
« آخرین ویرایش: 25 بهمن 1393، 07:24 ب‌ظ توسط سلمان م. »

آفلاین ostad_ccna

  • Newbie
  • *
  • ارسال: 9
  • جنسیت : پسر
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #10 : 25 بهمن 1393، 08:52 ب‌ظ »
نقل‌قول از: محسن صفری
من با shell script زیر برای خودم ماشین حساب ساختم و توی فایلی به نام ibc ذخیره کرده ام و خیلی هم ازش راضیم !! :

#!/bin/bash
# open an xterm with bc inside it!

xterm -bg maroon -bd green -bw 10 -title "BC" -geometry 50x30+50+50 -e "bc -q"

چطوری انجامش بدم این Shell Script رو؟

bc واقعا عالی بود.

از Python  چطور باید استفاده کنم؟
ممنون
« آخرین ویرایش: 26 بهمن 1393، 08:54 ق‌ظ توسط ostad_ccna »

آفلاین محسن صفری

  • Jr. Member
  • *
  • ارسال: 47
  • جنسیت : پسر
    • صفری آنلاین
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #11 : 25 بهمن 1393، 09:43 ب‌ظ »
من با shell script زیر برای خودم ماشین حساب ساختم و توی فایلی به نام ibc ذخیره کرده ام و خیلی هم ازش راضیم !! :

#!/bin/bash
# open an xterm with bc inside it!

xterm -bg maroon -bd green -bw 10 -title "BC" -geometry 50x30+50+50 -e "bc -q"


چطوری انجامش بدم این Shell Script رو؟

bc واقعا عالی بود.

از Python  چطور باید استفاده کنم؟
ممنون

 محتوای باکس را در یک فایل مثلا به نام ibc ذخیره کنید و بعد توی ترمینال برید به دایرکتوری که فایل ibc را ذخیره کرده اید . توی خط فرمان بزنید :

$ chmod 755 ibc

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

$ ./ibc

آفلاین سید وحید رضا برهانی

  • High Hero Member
  • *
  • ارسال: 1668
  • جنسیت : پسر
  • یک مخالف نرم افزار اوپن سورس
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #12 : 25 بهمن 1393، 10:15 ب‌ظ »
البته اگر که کار پیچیده ای نمی خوای بکنی خود بش  محاسبات ساده را انجام می ده
echo $((4/2))
2
echo $((4*2))
8
echo $((4**2))
16
نرم افزاری که نشه سیخ انگولکش کرد (به هر دلیلی چه به‌خاطر قانون و چه پیچیدگی یا توسعه سریع)نرم افزار آزاد نیست حالا مهم نیست چه بنیادی یا چه افرادی اون رو نوشته باشند یا GPL باشه یانه!
نرم افزار آزاد یک جنبش هست نه یک تیکه کاغذ پاره(GPL)
حق فهمیدن از حق خوندن مهمتره

آفلاین Geek

  • High Hero Member
  • *
  • ارسال: 1116
  • جنسیت : پسر
  • The answer to life the universe and everything: 42
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #13 : 25 بهمن 1393، 11:59 ب‌ظ »
من با shell script زیر برای خودم ماشین حساب ساختم و توی فایلی به نام ibc ذخیره کرده ام و خیلی هم ازش راضیم !! :

#!/bin/bash
# open an xterm with bc inside it!

xterm -bg maroon -bd green -bw 10 -title "BC" -geometry 50x30+50+50 -e "bc -q"


چطوری انجامش بدم این Shell Script رو؟

bc واقعا عالی بود.

از Python  چطور باید استفاده کنم؟
ممنون

یه اسکریپت برای پایتون:
#!/usr/bin/python

import sys

argument = sys.argv
expression = argument[1]
whole = 'print ' + str(expression)
exec(whole)

کافیه به برنامه دسترسی اجرایی بدی و عبارت محاسباتی رو بعد از اسم برنامه وارد کنی مثلا:
myCal (12.5*3)**2
البته این یه اسکریپت خیلی ساده هست و میتونی کامل‌ترش کنی، اگرم سرچ کنی احتمالا بتونی چیز‌های خوبی گیر بیاری.

آفلاین ostad_ccna

  • Newbie
  • *
  • ارسال: 9
  • جنسیت : پسر
پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
« پاسخ #14 : 26 بهمن 1393، 09:01 ق‌ظ »
Geek عزیز :
*فرمایشات شما رو به روش آقای  محسن صفری در فایل ibc ذخیره کنم (میشه لطفا ریز ترش کنی؟) من هنوز با نحوه عملکرد پیتون و روش اجرایش مشکل دارم.
آیا تکه کدی که قرار دادید هم به همین زبان است؟ به چه روشی امکان توسعه آن در صورت نیاز را دارم.
ممنون
« آخرین ویرایش: 26 بهمن 1393، 03:01 ب‌ظ توسط ostad_ccna »