المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : لينكس الآلة الحاسبة bc



Mohammed_Yousif
24-08-2001, 05:25 PM
كم مللنا من الآلات الحاسبة التقليدية
كم مرة وددت استخدام لغة برمجة كالبيرل لحساب معادلة بسيطة
جيد ، هذا هو الحل bc
إنها آلة حاسبة متفوقة لأنظمة اليونيكس ومنها اللينكس
يمكنها الجمع والطرح والضرب والقسمة وحساب الأس وأيضاً جيب الزاوية وجيب تمام الزاوبة واللوغاريتمات والمزيد
والمهم بالفعل أنها تحتوي على لغة برمجة بسيطة تمكنك من إنشاء Loops و Conditions وحتى الدوال Functions والمتغيرات
لتشغيلها اكتب bc ثم اضغط مفتاح Return وذلك من الكونسول
الآن جرب بعض العمليات البسيطة :
1+5 ثم اضغط مفتاح Return
6 فتظهر النتيجة فوراً

9-6
3

2*4
8

9/3
3

جيد ولكن كيف يمكن حساب الأس ؟

2^4
16

وماذا عن الجذر التربيعي ؟
استخدم الدالة

sqrt(16)
4

sqrt(15)
3

معقول ، الجذر التربيعي لـ15 هو 3 ؟ماذا يحدث؟
آهه ، إنه التدرج العشري ، فلنجرب :

scale=1

sqrt(15)
3.9

scale=2

sqrt(15)
3.87

scale=5

sqrt(15)
3.87298


فهمت اللعبة ؟ ;)

حسناً جداً لقد أصابني الملل من النظام العشري Decimal أود استخدام أنظمة أخرى ؟ لا مشكلة :

النظام الثنائي Binary :
ibase=2

10+11
101

النظام الثماني Octal :
ibase=8

7+2
11

النظام السدسي عشر Hexadecimal :
ibase=16

B1+D2
183

كيف أعود للنظام العشري Decimal ؟
ibase=10

وماذا عن المتغيرات ؟

d=500
g=150
d-g
350
d/100
5

ولكن يجب أن يكون اسم المتغير حرف أبجدي واحد


والدوال ؟

هاتان دالتان لحساب انتقال الإحداثيات x و y للنقطة (x1,y1)
define h(x,x1){
return(x+x1)
}
define v(y,y1){
return(y+y1)
}
ويمكنك تجربتها بإمرار القيم إليها هكذا :

f(4,6)
10

v(2,7)
9

الإحداثيات الجديدة (9.10)


يتبقى Loops, Condtions والدوال المبنية داخل الآلة الحاسبة
هذا يكفي الآن والبقية تأتي تباعاً ------>

isam
24-08-2001, 10:53 PM
موضوع جميل ! لم أجرب ال bc من قبل ! و تبدو لي أداة جميلة !
قل لي .. ممكن ارسل المعادلة للبرنامج bc و أتوقع منه الجواب ؟
مثلا :
bc 23*23-21/2
هل هذا الأمر يرجع لي الإجابة دون الدخول لبيئة البرنامج ؟ لا أعرف .. سأذهب لأجرب الآن ..
مشكور أخ محمد مرة أخرى

Mohammed_Yousif
02-09-2001, 06:09 PM
قل لي .. ممكن ارسل المعادلة للبرنامج bc و أتوقع منه الجواب ؟
ليس بصورة مباشرة فهو يتوقع اسم ملف يحتوي على دوال في الغالب ولكن يمكنك فعل ذلك بصورة غير مباشرة باستخدام الأمر echo مع piping لمخرجاته (التي هي تكرار لما تم كتابته في سطر الأوامر) إلى bc
مثال :
echo 1+1 | bc
سيخرج لك
2
أيضاً يمكنك استخدام expr للعمليات البسيطة
expr 1+1
2

لاستخدام الدوال المبنية في bc
شغل bc بالمعامل -l أي :
bc -l
الآن يمكنك استخدام الدوال التالية :
a(x)................arc tangent of x
c(x)...........cosine of x جيب تمام الزاوية x
e(x)............e power x العدد الطبيعي e مرفوع لأس x
s(x)..............sine of x جيب الزاوية x
l(x)......natural logarithm of x اللوغاريتم الطبيعي للعدد x
j(x,y).....Bessel function of x and y حيث x هو عدد صحيح و y عدد حقيقي

مثال :
bc -l
w=30
s(w)
0.5
scale=3
c(w)
0.866

للخروج من bc استخدم
Ctrl+D

يتبقى loops و conditions
يتبع---------->