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

تازه کار => انجمن تازه‌کاران => نویسنده: ostad_ccna در 23 بهمن 1393، 01:21 ب‌ظ

عنوان: نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: ostad_ccna در 23 بهمن 1393، 01:21 ب‌ظ
سلام
من میخواستم بدونم چطور میتونم عملیات جمع ضرب تقسیم تفریق و سایر عملیات محاسباتی اعداد را در ترمینال انجام بدهم؟!آیاپیش نیاز خاصی باید اضافه شود لطفا بصورت کامل توضیح دهید. :)
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: محمودی فرد در 23 بهمن 1393، 02:07 ب‌ظ
در گنو/ لینوکس نرم افزار های محاسباتی زیادی وجود دارند که تحت ترمینال هم قابل استفاده اند برای مثال : gnu octave  ، maxima ،  R   و حتی شبیه سازهایی مثل  calculix   و  open foam 
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: Geek در 23 بهمن 1393، 02:45 ب‌ظ
این یه راه ساده:
echo 'expression' | bc
که به جای expression باید عبارت محاسباتی رو نوشت.

یکی از گزینه‌های جالب می‌تونه پایتون باشه که به‌صورت پیش‌فرض روی همه‌ی توزیع‌ها وجود داره.
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: دانیال بهزادی در 23 بهمن 1393، 04:21 ب‌ظ
با پایتون (:
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: محسن صفری در 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"
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: AAAAAAAAAAAAAAAAAAAA در 23 بهمن 1393، 05:21 ب‌ظ
من پایتون رو پیشنهاد میدم

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

print 2*2
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: دانیال بهزادی در 23 بهمن 1393، 05:27 ب‌ظ
من پایتون رو پیشنهاد میدم

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

print 2*2
حتا به print هم نیازی نیست. همون 2*2 کافیه
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: محسن صفری در 23 بهمن 1393، 06:19 ب‌ظ
من پایتون رو پیشنهاد میدم

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

print 2*2

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

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

cat file | nl

و باز هم معتقدن که قدرت یونیکس نه از یک برنامه بلکه از تلفیق چند برنامه خودش رو نشون می ده . پس به جای این که برنامه ای بنویسم که همه کار بکنه و فقط یکبار به کار بیاد بهتره یک برنامه بنویسیم که فقط یک کار کنه ولی در موارد بسیار زیادی به کار بیاد .
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: ostad_ccna در 25 بهمن 1393، 07:17 ب‌ظ
با تشکر از تمامی دوستانم تجربه جدیدی را به من منتقل کردید.
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: سلمان م. در 25 بهمن 1393، 07:22 ب‌ظ
البته حواست باشه از پایتون ۳ استفاده کنی، یا اگه از پایتون ۲ استفاده میکنی، جواب ۲/۳ رو تست کن ببین چی جواب می‌ده.

توی پایتون ۲ باید اینجوری تقسیم کنی
2./3
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: ostad_ccna در 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  چطور باید استفاده کنم؟
ممنون
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: محسن صفری در 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
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: سید وحید رضا برهانی در 25 بهمن 1393، 10:15 ب‌ظ
البته اگر که کار پیچیده ای نمی خوای بکنی خود بش  محاسبات ساده را انجام می ده
echo $((4/2))
2
echo $((4*2))
8
echo $((4**2))
16
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: Geek در 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
البته این یه اسکریپت خیلی ساده هست و میتونی کامل‌ترش کنی، اگرم سرچ کنی احتمالا بتونی چیز‌های خوبی گیر بیاری.
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: ostad_ccna در 26 بهمن 1393، 09:01 ق‌ظ
Geek عزیز :
*فرمایشات شما رو به روش آقای  محسن صفری در فایل ibc ذخیره کنم (میشه لطفا ریز ترش کنی؟) من هنوز با نحوه عملکرد پیتون و روش اجرایش مشکل دارم.
آیا تکه کدی که قرار دادید هم به همین زبان است؟ به چه روشی امکان توسعه آن در صورت نیاز را دارم.
ممنون
عنوان: پاسخ : نحوه انجام عملیات ماشین حسابی در Terminal
ارسال شده توسط: Geek در 26 بهمن 1393، 09:28 ق‌ظ
Geek عزیز :
*فرمایشات شما رو به روش آقای  محسن صفری در فایل ibc ذخیره کنم (میشه لطفا ریز ترش کنی؟) من هنوز با نحوه عملکرد پیتون و روش اجرایش مشکل دارم.
آیا تکه کدی که قرار دادید هم به زبان است؟ به چه روشی امکان توسعه آن در صورت نیاز را دارم.
ممنون

شما کافیه کد رو با نرم‌افزاری مثل gedit یا nano توی یه فایل متنی ساده با هر اسمی مثلا myCal ذخیره کنی بعد در پوشه‌ی خانگی خودت ctrl+h رو فشار بده تا فایل‌ها و دایرکتوری‌های مخفی نمایان بشن حالا یه پوشه بساز که با نقطه شروع بشه (با هر اسمی که دلت می‌خواد) بعد فایل اسکریپت مورد نظر رو توی این پوشه کپی کن. حالا توی همون پوشه‌ی خونگی خودت دنبال فایل .bashrc بگرد و قطعه کد زیر رو توش کپی بگیر:

PATH=$PATH':/home/username/directory'
که به‌جای username باید نام‌کاربری خودت و به‌جای directory باید اسم همون دایرکتوری که در مرحله‌ی پیش ساختی (با نقطه شروع شده) رو قرار بدی.

حالا کافیه که توی ترمینال مثلا بنویسی:

myCal 2.5/2
در آخر هم دوباره ctrl+h رو فشار بده که فایل‌ها مخفی بشن.