اجعل رورو44 صفحتك الرئيسية | احفظ رورو44 في مفضلتك | ارسل رورو44 إلى صديقك | أعلن على رورو44 | English Interface

 

 

 

شات خدمات مسجات جوال بطاقات رسائل حب دليل مواقع شات خليجي  دردشة منتديات حسناء الفارس عالم الرومانسية

مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية

 
    دروس في الذكاء الاصطناعي  الليسب Lisp
 

 

دوال التعامل مع الرموز Characters في LISP



في هذا الدرس والدرس القادم سأتحدث بالتفصيل عن الرموز Characters في LISP ماهيتها وكيفية التعامل معها في LISP والدوال المعرفة مسبقا في اللغة للتعامل مع الرموز أو إجراء عمليات عليها.

مكونات هذا الدرس:

أولا: تعريف الرمز CHARACTER ؟

ثانيا: سلسلة الدوال المختصة بالتعامل مع الرموز وهي 14 دالة سيتم شرحها في هذا الدرس.

ثالثا: ثم سنختم الدرس بالتعرف على المتغير CHAR-CODE-LIMIT المعرف مسبقا Predefined Variable داخل اللغة، ماهيته وقيمته التي يأخذها.

وسندخل في درسنا مباشرة على بركة الله:)



أولا: ما هو الرمز Character ؟!

التعريف موجود في قاموس الموسوعة العربية على الوصلة التالية:

http://www.c4arab.com/qamoos/mean.php?word=Character

ولا يختلف هذا المفهوم للحرف أو تعميما الرمز Character بين جميع لغات البرمجة بما فيها لغتنا الجميلة LISP.

 

ثانيا: دوال التعامل مع الرموز Characters:

سنتناول في هذا الدرس معظم الدوال المعرفة داخل لغة LISP والمخصصة لغرض التعامل مع الرموز أو الأحرف..
وإليكم تعدادا ثم تفصيلا لجميع الدوال التي سنتناولها في هذا الدرس:


1- الدالة CHARACTER
2- الدالة CHARACTERP
3- الدالة ALPHA-CHAR-P
4- الدالة ALPHANUMERICP
5- الدالة GRAPHIC-CHAR-P
6- الدالة CHAR-UPCASE
7- الدالة CHAR-DOWNCASE
8- الدالة UPPER-CASE-P
9- الدالة LOWER-CASE-P
10- الدالة BOTH-CASE-P
11- الدالة CHAR-CODE
12- الدالة CHAR-INT
13- الدالة CODE-CHAR
14- الدالة NAME-CHAR

 

والآن سنفصل في الحديث عن وظيفة وماهية كل دالة وطريقة كتابتها مع التزويد بأمثلة وأكواد متعددة للتوضيح والترسيخ..

 

1- الدالة CHARACTER

الوظيفة:

تستقبل هذه الدالة رمز أو حرف وحيد، وتعود به مسبوقا بالعلامة # إذا لم يكن مسبوقا بها أو إذا كان مسبوقا فقط بـ .. والعلامة # تدل على أن ما وراءها هو Character.
غير ذلك فإن هذه الدالة تعود بخطأ ERROR وسنشاهد ذلك في الأمثلة.

الشكل:

(character character)

أمثلة:

عند إرسال رمزا حرفيا:

أما عندما نرسل رقما فإن رسالة الخطأ التالية ستظهر:

وكذلك عندما نرسل أكثر من حرف فإن رسالة الخطأ التالية ستظهر:

 

2- الدالة CHARACTERP

الوظيفة:

تعود هذه الدالة بالقيمة True (T) إذا كان الكائن المرسل لها عبارة عن رمز أو حرف وحيد ومسبوق بالعلامة #.
تعود بالقيمة False (Nil) خلاف ذلك.

الشكل:

(characterp character)

أمثلة:

فنلاحظ في الأمثلة السابقة أن LISP يتعرف على الرمز Character عندما يكون مسبوقا بالعلامة # وغير ذلك سيعود بالقيمة NIL كما رأينا.

في الأمثلة التالية ستظهر لنا رسالة خطأ لكوننا أرسلنا أكثر من رمزا في الوقت ذاته لهذه الدالة. هذه الدوال تُعنى فقط بالرمز أو الحرف فقط، أما السلسلة التي تتكون من أكثر من رمز أو حرف وقد يتخللها أرقام أيضا وهي ما تسمى بالـStrings فسيتم التعرف على دوالها في الدروس القادمة.

 

3- الدالة ALPHA-CHAR-P

الوظيفة:

تعود هذه الدالة بالقيمة True (T) إذا كان الكائن المرسل لها عبارة حرف Alphabetic وحيد ومسبوق بالعلامة #.
وتعود بالقيمة False (Nil) خلاف ذلك (فيما لو أرسلنا أحد الرموز أو الأرقام على سبيل المثال).

الشكل:

(alpha-char-p character)

أمثلة:

 

4- الدالة ALPHANUMERICP

الوظيفة:

تعود هذه الدالة بالقيمة True (T) إذا كان الكائن المرسل لها عبارة حرف Alphabetic أو عدد Numeric وحيد ومسبوق بالعلامة #.
وتعود بالقيمة False (Nil) خلاف ذلك (فيما لو أرسلنا أحد الرموز على سبيل المثال).

الشكل:

(alphanumericp character)

أمثلة:

 

5- الدالة GRAPHIC-CHAR-P

الوظيفة:

تعود هذه الدالة بالقيمة True (T) إذا كان الكائن المرسل لها عبارة رمز رسومي Graphic Character (أي رمز من الرموز الموجودة على لوحة المفاتيح من مثل ! @ $ % ^ & ~ وغيرها أو حرفا Alphabetic أو عددا numeric).
وتعود بالقيمة False (Nil) خلاف ذلك.

الشكل:

(graphic-char-p character)

أمثلة:

 

6- الدالة CHAR-UPCASE

الوظيفة:

تقوم هذه الدالة بتحويل الحرف إلى صيغة الحروف الكبيرة Capital Letters في اللغة الإنجليزية من مثل A, B, C وهكذا....

حالات خاصة:

  • عندما تستقبل هذه الدالة حرفا كبيرا Capital فإنها تعود به كما هو.

  • كذلك عندما تستقبل هذه الدالة رمزا ليس حرفيا، أو عندما تستقبل رقما فإنها تعود به كما هو ولاحظ ذلك خلال الأمثلة.


الشكل:

(char-upcase character)

أمثلة:

 

7- الدالة CHAR-DOWNCASE

الوظيفة:

هذه الدالة لها عكس وظيفة الدالة السابقة، حيث تقوم بتحويل الحرف إلى صيغة الحروف الصغيرة Small Letters في اللغة الإنجليزية من مثل a, b, c وهكذا....

حالات خاصة:

  • عندما تستقبل هذه الدالة حرفا صغيرا Small فإنها تعود به كما هو.

  • كذلك عندما تستقبل هذه الدالة رمزا ليس حرفيا، أو عندما تستقبل رقما فإنها تعود به كما هو، ولاحظ ذلك خلال الأمثلة.

الشكل:

(char-downcase character)

أمثلة:

 

8- الدالة UPPER-CASE-P

الوظيفة:

تعود هذه الدالة بالقيمة True (T) إذا كان الحرف المرسل لها حرف كبير Capital Letter.
وتعود بالقيمة False (Nil) خلاف ذلك، أي إذا أرسلنا حرفا صغيرا Small Letter أو رقما أو رمزا آخر.

الشكل:

(upper-case-p character)

أمثلة:

 

9- الدالة LOWER-CASE-P

الوظيفة:

تعود هذه الدالة بالقيمة True (T) إذا كان الحرف المرسل لها حرف صغير Small Letter.
وتعود بالقيمة False (Nil) خلاف ذلك، أي إذا أرسلنا حرفا كبيرا Capital Letter أو رقما أو رمزا آخر.

الشكل:

(lower-case-p character)

أمثلة:

 

10- الدالة BOTH-CASE-P

الوظيفة:

تعود هذه الدالة بالقيمة True (T) إذا أرسلنا لها حرفا Alphabetic حيث أن الحروف هي الرموز الوحيدة التي تأخذ حالتين: إما حرف صغير Small Letter أو حرف كبير Capital Letter.
وتعود بالقيمة False (Nil) خلاف ذلك، أي إذا أرسلنا أي رقم أو رمز آخر.

الشكل:

(both-case-p character)

أمثلة:

 

11- الدالة CHAR-CODE

الوظيفة:

تعود هذه الدالة بقيمة الكود الرقمي للرمز المرسل لها أيا كان نوعه (حرف – رقم –رمز).

الشكل:

(char-code character)

أمثلة:

 

12- الدالة CHAR-INT

الوظيفة:

تشبه هذه الدالة سابقتها وتعود بعدد صحيح غير سالب يمثل الشيفرة الخاصة بالرمز المرسل لها أيا كان نوعه (حرف – رقم –رمز).
تختلف هذه الدالة عن سابقتها في أن طريقة حساب الرقم الصحيح العائد من هذه الدالة يعتمد من نسخة LISP إلى أخرى.

الشكل:

(char-int character)

أمثلة:

في نسخة LISP التي لدي نجد أن:

بينما في نسخ أخرى سنجد أن الرقم العائد قد يكون:

 

13- الدالة CODE-CHAR

الوظيفة:

تقوم هذه الدالة بالوظيفة المعاكسة للدالة CHAR-CODE ، حيث تأخذ هذه الدالة قيمة الكود الرقمي وتعود بالرمز المقابل لهذا الرقم أيا كان نوعه (حرف – رقم –رمز).

وكما رأينا في الدالة السابقة الكود الرقمي للرموز يختلف من نسخة إلى أخرى أي أنه Implementation Dependent.


الشكل:

(code-char character)

أمثلة:

 

14- الدالة NAME-CHAR

الوظيفة:

هناك أسماء محجوز داخل لغة LISP تكون خاصة ببعض الرموز ، على سبيل المثال:
الاسم NewLine يكتب للدلالة على سطر جديد
والاسم Space يكتب للدلالة على المسافة البيضاء

تقوم الدالة NAME-CHAR بتحديد ما إذا كان الاسم المرسل لها محجوزا في اللغة لأحد الرموز أم لا.. فإذا كان الاسم المرسل لها محجوزا بالفعل فإنها تعود به أما إذا كان غير محجوز داخل اللغة فإنها تعود بالقيمة Nil.


الشكل:

(name-char name)

أمثلة:

 

وكما نلاحظ في الأمثلة السابقة فإن لغة LISP غير حساسة لحالة الأحرف فلا فرق مثلا بين أن نكتب الاسم Space أو space..

وهذا مثال متقدم نوعا ما للاستفادة من الدالة السابقة:

 

انتهينا من الدوال المتعلقة بالرموز.. وسنتعرف الآن على المتغير CHAR-CODE-LIMIT..


ثالثا: المتغير CHAR-CODE-LIMIT

يعتبر هذا المتغير من المتغيرات المحجوزة داخل لغة LISP (شأنه شأن المتغير PI الذي تعرفنا عليه مسبقا) وتختلف قيمته من نسخة لأخرى..

يعطي هذا المتغير أقصى قيمة للكود الرقمي الممثل للرموز وهي مختلفة من نسخة إلى أخرى، ولكن من الضروري ألاّ تقل هذه القيمة 96.



المزيد من المواضيع

مقدمة في العمليات على القوائم [(List Processing)]
بيئة LispWorks والأدوات المتوفرة في هذا البرنامج!
دوال التعامل مع الأرقام في LISP مع الأمثلة (3)
طباعة المخرجات !
الشروط والإجراءات التابعة لها في LISP
الدوال المنطقية في LISP
دوال المقارنة بين السلاسل الرمزية Strings في LISP
دوال التعامل مع سلاسل الرموز Strings في LISP
دوال المقارنة بين الرموز Characters في LISP
دوال التعامل مع الأرقام في LISP مع الأمثلة (4)
دوال التعامل مع الأرقام في LISP مع الأمثلة (2)
دوال التعامل مع الأرقام في LISP مع الأمثلة (1)
دوال إجراء العمليات الحسابية في لغة LISP
التعابير الرمزية، والقواعد اللغوية في لغة Common Lisp
دوال المقارنة في لغة LISP !
تعرف على أداة الـ Listener في برنامج LispWorks!
تعرف على أداة الـText Editor في برنامج LispWorks!
تنصيب LispWorks على جهاز يعمل بنظام التشغيل ويندوز
تحميل LispWorks لأي نظام تشغيل تعمل عليه (ويندوز / لينكس / يونكس)
مقدمة للغة Common Lisp

1

 

الاقسام الرئيسية

دروس للمبتدئين

--

دروس في أنظمة التشغيل

--

دروس في الانترنت

--

دروس في لغات البرمجة

--

دروس في برمجة المواقع

--

دروس في الأوفيس

--

دروس في الرسوم و التصميم

--

دروس في قواعد البيانات

--

دروس في الألعاب والبرامج

--

دروس في المكونات الصلبة

--

دروس في الشبكات

--

دروس في أمن المعلومات

--

دروس في الذكاء الاصطناعي

--

القائمة البريدية

  فضائح | ماسنجر | تداول | الحياة الزوجية | عجائب وغرائب| دروس تعليمية | عالم حواء | فضائح الفن | ستار اكاديمي | نكت | برامج | صور | | شات سعودي | شات عربي | ماسينجر | مسجات | دليل مواقع | دليلك | مواقع سعودية | مواقع كويتية | مواقع بحرينية | مواقع قطرية | مواقع عمانية | مواقع يمنية | مواقع عراقية | مواقع اماراتية | دردشة خليجية | دردشة سعودية | دردشة عربية | شات صوتي | دردشة صوتية | دردشة كويتية | دردشة اماراتية | دردشة عمانية | دردشة قطرية | دردشة بحرينية | دردشة عراقية | دردشة يمنية | سكس | طريق الاسلام, انا مسلم , طريق الهدايه , مسلمون , منوعات اسلاميه | اسلاميات , برامج اسلامية , منوعات اسلامية | جنس | الاسرة المسلمة , الاسرة العربية , اسرتي , عائلتي | برامج الاسره , نصائح معلومات , اسرة عربية سعودية خليجية | دروس تعليمية , مكتبة الدروس التعليمية | شروح برامج , شرح برامج , دورات تعليميه | طب وصحه - المركز الطبي | طبيبك على الانترنت , معلومات طبية , معلومات صحيه

Roro44.com xml :                            

شات سعودي | شات عربي | شات خليجي | العاب | دردشات | العاب بنات

 |  اشهر موقعك | احصائيات الموقع | اسعار الاعلانات |  لمراسلة الإدارة  |

:: ©2007-2003 www.roro44.com All rights reserved ::