سنتابع في هذا الدرس الدوال الخاصة بالتعامل مع الأرقام.. وإليكم تعدادا ثم تفصيلا للدوال التي سنتناولها في هذا الدرس:
20- الدالة SIGNUM
21- الدالة NUMBERP
22- الدالة RANDOM
23- الدالة SQRT
24- الدالة ISQRT
25- الدالة CIS
26- الدالة MOD
27- الدالة COMPLEX
28- الدالة COMPLEXP
29- الدالتان REALPART, IMAGPART
والآن سنفصل في الحديث عن وظيفة وماهية كل دالة وطريقة كتابتها مع التزويد بأمثلة وأكواد متعددة للتوضيح والترسيخ..
20- الدالة SIGNUM
الوظيفة:
هذه الدالة تستقبل عدد واحد، وتقوم بإعادة رقم ذي دلالة على نوعية الرقم المعطى لها، هل هو موجب أم سالب أم صفرا.
-
إذا كان الرقم المرسل موجب فإن الدالة تعود بالقيمة 1
-
إذا كان الرقم المرسل سالب فإن الدالة تعود بالقيمة -1
-
إذا كان الرقم المرسل صفرا فإن الدالة تعود بالقيمة 0
الشكل:
(signum number)
أمثلة:

21- الدالة NUMBERP
الوظيفة:
هذه الدالة تعود بالقيمة True (T) إذا كان الكائن المعطى لها يمثل رقما، وتعود بالقيمة False (Nil) إذا كانت قيمة الكائن المعطى لها ليست رقمية.
الشكل:
(numberp object)
أمثلة:


وبفرض أننا احتفظنا في متغير ما وليكن var بأي قيمة غير عددية ولتكن الجملة "c4arab" فبالتأكيد ستعود الدالة numperp بالقيمة NIL عند إرسال المتغير var لها.

22- الدالة RANDOM
الوظيفة:
دالة هامة جدا!.. تعود هذه الدالة بأي رقم عشوائي غير سالب أقل من الرقم (limit) المرسل لها ومن نفس نوعه.
مع ملاحظة أن الرقم المعطى لها يجب أن يكون غير سالب أو صفري.
الشكل:
(random limit_number)
أمثلة:




اذا قمنا بإرسال قيمة سالبة لهذه الدالة فإن رسالة خطأ ستظهر لك مبينة أنه لا يمكن تطبيق هذه الدالة على الأعداد السالبة:
كذلك إذا قمنا بإرسال صفر لهذه الدالة فإن رسالة خطأ ستظهر أيضا، فلا يمكن تطبيق دالة توليد الأرقام العشوائية على قيمة صفرية:

23- الدالة SQRT
الوظيفة:
تعود هذه الدالة بالجذر التربيعي للعدد المرسل لها من أي نوع.. يمكن إرسال عدد سالب لها ليتم حساب وإعادة الجذر التخيلي Imaginary root أو ما يسمى بالـ Complex Number في لغة LISP.
ملاحظة:
يتم كتابة الأعداد أو الجذور التخيلية في لغة LISP باستخدام العلامة c# قبلها مما يدل على أن العدد التابع لها تخيلي أو غير حقيقي.
الشكل:
(sqrt number)
أمثلة:

24- الدالة ISQRT
الوظيفة:
تعود هذه الدالة بالجذر التربيعي لأي عدد طبيعي أي أنه يشترط أن يكون العدد موجب.. إذن هذه الدالة لا تقبل الأعداد السالبة لأنها لا تستطيع حساب الجذور التخيلية بعكس الدالة السابقة.
عندما نرسل لهذه الدالة عدد حقيقي موجب محتوي على علامة عشرية فإن هذه الدالة تعود بأكبر عدد صحيح موجب أقل من أو يساوي الجذر الطبيعي، شاهد الأمثلة لترى بنفسك.
الشكل:
(isqrt natural_number)
أمثلة:



أما إذا أدخلنا عدد سالب فسيظهر الخطأ:

25- الدالة CIS
الوظيفة:
تستقبل هذه الدالة الزاوية مقدرة بالراديان (يسمى أيضا التقدير الدائري) وتعود بالقيمة e^i* radians وهو عدد مركب الجزء الحقيقي فيه يمثل قيمة الجتا Cosine للزاوية والجزء التخيلي يمثل قيمة الجا Sine للزاوية.
الشكل:
(cis radians)
أمثلة:

26- الدالة MOD
الوظيفة:
تعود هذه الدالة بقيمة الـModulus للرقم المرسل لها.
الشكل:
(mod number divisor)
أمثلة:

27- الدالة COMPLEX
الوظيفة:
تقوم هذه الدالة بتوليد عدد مركب الجزء الحقيقي له هو الـargument الأول والجزء التخيلي هو الـargument الثاني (فيما لو تم إرساله)
الشكل:
(complex realpart [imagpart])
أمثلة:



28- الدالة COMPLEXP
الوظيفة:
تعود هذه الدالة بالقيمة True (T) إذا كان الكائن المرسل لها عدد مركب وتعود بالقيمة False (Nil) خلاف ذلك.
الشكل:
(complexp object)
أمثلة:

29- الدالتان REALPART, IMAGPART
الوظيفة:
تعود الدالة REALPART بالجزء الحقيقي في العدد المركب المرسل لها.
بينما تعود الدالة IMAGPART بالجزء التخيلي للعدد المركب المرسل لها، وإذا تم إرسال عدد حقيقي غير مركب لها فان هذه الدالة ستعتبر الجزء التخيلي صفرا.
الشكل:
(realpart number)
(imagpart number)
أمثلة:

