دروس كمبيوتر وصيانة دروس حاسب دروس مجلة  درس نيوك phpnuke الدروس دروس مسنجر MSN - yahoo - Gmail دروس منتديات vBulletin دروس الجوالات والهواتف دروس السي بنل cpanel دروس اكسس access دروس بيونت شوب برو - point shop pro دروس برمجة php - mysql دروس برامج منوعة software دروس ثري دي ماكس 3D max دروس جافا سكريبت JavaScript دروس دريم ويفر DreamWeaver دروس شبكات Networks دروس سويش - swish دروس فلاش - flash دروس فيجوال بيسك Visual Basic دروس فرونت بيج - frontpage دروس فوتوشوب photoshop دروس هكر hacker crack virus
توبيكات رمضان | رسايل رمضان | ثيمات رمضان | طبخات رمضانية | توبيكات رمضانية | صور عن رمضان | دعاء رمضان
احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (6,375 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (4,138 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (3,091 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (2,402 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (2,298 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (2,192 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (2,156 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (1,928 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل (1,755 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (1,725 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (1,576 مشاهده)
دروس في الأوفيس الأكسس - Access0- (1,527 مشاهده)
كيفية حل مشاكل الانترنت اكسبلور Internet Explorer (1,489 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس . (1,468 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (1,357 مشاهده)
شرح طريقة التجميع Grouping في برنامج الاكسل (1,322 مشاهده)
التعرف على مكونات الكمبيوتر (1,286 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,275 مشاهده)
برنامج Windows Movie Maker لتكوين أفلام (1,265 مشاهده)
درس تعريب المجلة (1,247 مشاهده)
مقدمة في ربط قواعد البيانات داخل بيئة الـ .NET باستخدام الـ VB.NET (1,218 مشاهده)
كيف تجعل برنامجك أكثر تألقا وجمالا باستخدام أداة Active Skin (1,215 مشاهده)
ما هو المات لاب MATLAB؟ (1,171 مشاهده)
مقدمة عن لغة البيسك (1,129 مشاهده)
الفيجوال بيسك - مقدمة (1,089 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (791 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (491 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (551 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (719 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (790 مشاهده)
دمج المراسلات0-- (438 مشاهده)
وضع صورة كخلفية للنص0-- (567 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (385 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (636 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (401 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (1,275 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (667 مشاهده)
أساسيات في Access0--0 (457 مشاهده)
تصميم تقرير لطباعة البيانات0---- (496 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (481 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (573 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (443 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (376 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (330 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (466 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (421 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (217 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (301 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (329 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (434 مشاهده)
اعلانات في الموقع على جميع الصفحات

لشروط والإجراءات التابعة لها في LISP

لشروط والإجراءات التابعة لها في LISP




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

سنتعرف في هذا الدرس على دالتان شرطيتان هما:


1- الدالة COND
2- الدالة IF


وهي كفيلة بتحقيق جميع مطالبنا في الدروس المتقدمة من سلسلة LISP ولا تقلق فستكون هناك مشاريع برمجية وأمثلة أكثر متعة، ولكن عندما يكون لدينا أساس في كل شيء :)


على بركة الله :)


 


1- الدالة COND


الوظيفة:


تقوم هذه الدالة بتنفيذ نموذج Form أو أكثر اعتمادا على نتيجة اختبار نموذج Form معين، سنسميه عادة بـ test-form أو للتبسيط Condition. قد نحتاج إلى اختبار نموذج واحد أو أكثر في الوقت نفسه (أي قد يوجد أكثر من test-form واحد) وعندئذ سنحتاج لنربط بينهم بإحدى العلامات المنطقية AND أو OR.


إذا لم يتم كتابة أي نماذج Forms لتنفيذها عند تحقق شرط الدالة COND فان الدالة COND ستعود بالقيمة العائدة من الـtest-form.


وعندما لا يتحقق الـtest-forms فإن الدالة COND سوف تعود بالقيمة False NIL.


والآن بعد هذا التوضيح البسيط للدالة COND سوف نتعرف على شكل هذه الدالة وأمثلة تطبيقية عليها.


الشكل:


(cond ((condition) (form[s])…)


أمثلة:


مثال1:
المثال التالي يحتوي على Condition واحد وForms واحد يتم تنفيذه عند تحقق هذا الشرط:






ماذا لو كان الشرط غير متحقق؟!
سنعيد إسناد قيمة أقل من الصفر للمتغير X ثم سنجرب تطبيق الدالة COND مرة أخرى






كما رأينا فالدالة COND عادت بالقيمة NIL لعدم تحقق الشرط Condition وهو أن تكون قيمة المتغير X أكبر من الصفر.




مثال2:
سنقوم في هذا المثال بوضع أكثر من Condition ونربط بينهم مرة بالعلامة المنطقية AND ومرة بالعلامة المنطقية OR وسيكون هناك Form واحد للطباعة.

آه تذكرت! بخصوص دالة الطباعة لا تقلق فسوف أشرحها أيضا في الدرس القادم إن شاء الله.






مثال3:







مثال4:








مثال5:
سنقوم في هذا المثال بتنفيذ أكثر من form عند تحقق الـtest-form أو الـCondition.






إذن ماذا تلاحظ في المثال السابق؟





  1. الدالة COND تقبل بوجود أكثر من Form بمساعدة دالة أخرى هي الدالة PROGN



  2. لكتابة أكثر من Form واحد بحيث يتم تنفيذها جميعا عند تحقق شرط الدالة COND نكتب PROGN ثم نفتح قوسين دائريين ( ) ونكتب بداخلها كل الـForms التي نرغب بتنفيذها مع وضع أقواس دائرية ( ) في بداية ونهاية كل form كما لاحظنا..



  3. لا تنس ترتيب برنامجك وجعل الـStructure-Style له جيد أي أن تكتب الدالة على عدة سطور وفي عدة مستويات حتى يكون الكود أكثر وضوحا More Readable and clearable.



مثال6:


سنتعرف في أول درس من دروس القسم المتقدم من سلسلة LISP على كيفية تعريف الدوال من قبل المبرمج.. وسأعرف لكم العديد جدا من الدوال وسنبني العديد من التطبيقات الذكية والصغيرة، لكني أحببت وضع المثال هذا هنا حتى يكون في مكانه:)


في البداية، سنقوم بتعريف دالة بسيطة جدا اسمها select-options وتقوم باستخدام الدالة COND في عملها..






وبعد تعريف الدالة بفرض أننا أسندنا القيمة واحد للمتغير a:





سنقوم باستدعاء الدالة عدة مرات وبناء على طبيعة تحقق شرط الـدالة COND راقب النواتج العائدة من الدالة select-options في كل مرة:





والآن بفرض أننا وضعنا القيمة 5 للمتغير a ثم استدعينا الدالة مرة أخرى:











وبعد أن تعرفنا على الدالة COND بقي لنا أن نتعرف على دالة أخرى هي الدالة If



2- الدالة IF


الوظيفة:


تسمح هذه الدالة بتنفيذ إجراء معين اعتمادا على تحقق test-form أو Condition وحيد..
ولذا عند وجود أكثر من Condition فإنه لابد أن نربطهم بالعلامة المنطقية AND أو OR حسب حالة وشكل الشرط الذي نريده.

وكما سنلاحظ في شكل الدالة فإن كتابة جزء خاص بالـ else يعد اختياريا يمكن كتابته أو تركه ولذا وضعنا هذا الجزء داخل أقواس مربعة [ ] للدلالة على أن ما بينهما اختياري.

وآلية عمل هذه الدالة والنتائج المحتملة هي كالتالي:




  • عند تحقق الـشرط Condition أو الـtest-form فان الجزء then-part يتم تنفيذه..



  • أما عند عدم تحقق الشرط فان الجزء else-part يتم تنفيذه اذا كان موجودا.. أما في حال عدم وجوده فان الدالة if ستعود بالقيمة NIL.


الشكل:


(if (condition) (then-part) [(else-part)])


أمثلة:


مثال1:
افترض أننا أسندنا قيمة معينة للمتغير x ولتكن القيمة العددية 3 ثم قمنا باستخدام الدالة if للتحقق من أن قيمة x أكبر من الصفر فإذا ماكان الأمر كذلك فإنه سيتم طباعة العبارة


“X is greater than 0”








مثال2:
في هذا المثال نشترط أن يكون X عدد صحيح وأكبر من أو يساوي 5
فاذا ما وضعنا لـX قيمة أقل من 5، أو قيمة أكبر من 5 ولكنها عشرية مثلا 5.5 فإن الدال IF ستعود بالقيمة NIL.






مثال3:










مثال4:

حالات خاصة:
هذا المثال يبين أن المعرفة مسبقا في اللغة أو التي نقوم بتعريفها تأخذ القيمة T.. ماعدا المتغير NIL المعرف في اللغة فإنه يأخذ القيمة NIL..

لذا لاحظ المثال التالي:






مثال4:

الدالة test المعرفة في هذا المثال تقوم بعمل حلقة تكرارية داخل عناصر القائمة (t nil 1 (a b c)) –لاحظ أن القائمة يمكن أن تحتوي على قوائم أخرى– فيتم تناول عناصر هذه القائمة واحدا تلو الآخر عن طريق الدالة dolist وفي كل مرة نتناول في أحد هذه العناصر سنسميه بالاسم truth-value..
وخلال الحلقة dolist سيتم تنفيذ two forms:

الأول: IF

سيتم فيه اختبار truth-value:
فإذا كانت قيمته T فسيتم طباعة True
أما إذا كانت قيمته NIL فسيتم طباعة False

الثاني: PRINT
وسيتم فيه طباعة قيمة truth-value أيا كانت.






وعند استدعاء الدالة test فإنها ستعود بطباعة عبارة TRUE أو FALSE حسب حالة العنصر ثم طباعة العنصر نفسه لجميع عناصر القائمة..




 


نتيـــجة:


هل اكتشفت وجه الشبه والاختلاف بين الدالتين COND و IF ؟! :)


(if test-form then-form else-form) == (cond (test-form then-form) (t else-form))

درس لشروط والإجراءات التابعة لها في LISP

أضف هذه المادة في موقعك:
مواد مشابهة:
- كيبل لنقل الملفات - كيبل لنقل الملفات
- كيبل لنقل الملفات
(مرات المشاهدة: 62 مرات)
مكونات الحاسب الآلي مكونات الحاسب الآلي
مكونات الحاسب الآلي
(مرات المشاهدة: 240 مرات)
مقدمة لعتاد الحاسب Hardware مقدمة لعتاد الحاسب Hardware
مقدمة لعتاد الحاسب Hardware
(مرات المشاهدة: 75 مرات)
بطاقة الفيديو بطاقة الفيديو
بطاقة الفيديو
(مرات المشاهدة: 71 مرات)
مقدمة في تمييز الأنماط ومعالجة الصورPattern Recognition and Image Processing مقدمة في تمييز الأنماط ومعالجة الصورPattern Recognition and Image Processing
مقدمة في تمييز الأنماط ومعالجة الصورPattern Recognition and Image Processing
(مرات المشاهدة: 93 مرات)
قبل البدء في التجميع قبل البدء في التجميع
قبل البدء في التجميع
(مرات المشاهدة: 84 مرات)
Variable Variable
Variable
(مرات المشاهدة: 21 مرات)
ماهو الــ Cookies كوكيز ماهو الــ Cookies كوكيز
ماهو الــ Cookies كوكيز
(مرات المشاهدة: 232 مرات)
فوتوشوب (قائمة windows) 1 فوتوشوب (قائمة windows) 1
فوتوشوب (قائمة windows) 1
(مرات المشاهدة: 44 مرات)
ماهي الأصوات ماهي الأصوات
ماهي الأصوات
(مرات المشاهدة: 32 مرات)
fot
جميع الحقوق محفوظة :Copyright © All rights reserved