بنائيات البيانات
/7المصفوفات والسجلت
السجلت : التي تشترك في وصف شيء واحد ،وكل حقل يمثل وحدة بيانية مفردة .بهذا التعريف يمكن أن يكون السجل صفا في مصفوفة ذات بعدين
بنائيات البيانات
/7المصفوفات والسجلت
السجلت : فقط الفرق بين السجل وصف المصفوفة أو بين السجلت والمصفوفة عموما – أنه ل يشترط في السجل أن تكون كل بياناته من نوع واحد بينما يشترط ذل ك ف ي المص فوفة ؛ فالس جل يمك ن أن يكون بع ض حقول ه حرفي ة ،وبعضه ا رقمية، وبعضها عددية ،وبعضها منطقية .
بنائيات البيانات
/7المصفوفات والسجلت
السجلت : فمثل ف ي المص فوفة الثاني ة الت ي بها درجات الطلب إذا أضفن ا عمودا ب ه أسماء الطلب وعمودا آخر به هل الطالب ناجح أو راسب – تكون المص فوفة ق د تحول ت إل ي سجلت تحتوي على أسماء وأرقام وبيانات منطقية وبهذا التحول ل تصلح كمصفوفة .
بنائيات البيانات
/7المصفوفات والسجلت
السجلت : يت م تخزي ن الس جلت بنف س طريق ة المصفوفات، أي أن الحقول تخزن بمواقع متجاورة في الذاكرة إل أنه ليس لحقوله ا مؤشرات مباشرة يتم على ضوئه ا حس اب موق ع العنص ر ،وإنما هناك معرفات أ و أس ماء للحقول تمث ل عناوين للحقول مثلها مثل الوحدات البيانية البسيطة .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
يتألف برنامج باسكال من ثلث أجزاء هي : أ .رأ س ال برنامج :هو جزء اختياري ل يؤثر عل ى ال برنامج ويبدأ بكلم ة programيعقبها اسم يدل على طبيعة البرنامج .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
يتألف برنامج باسكال من ثلث أجزاء هي : ب .جزء التعريفات أ و العلنات :هو الجزء الذي يتم فيه العلن عن الجمل المستخدمة في البرنامج ويتم العلن عن :
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
أجزاء هي برنامج يتألف العلن :عنها ثلثخلل من من باسكالالتي الوحدات أسماء ب. نتمكن من استخدام بعض الدوال المتاحة في لغة باس كال ويتم العلن ع ن هذه الوحدات بواسطة عبارة Usesويعقبه ا اسم الوحدة المراد العلن عنها فمثل : ; Uses Dos
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
فيتم من خلل هذا العلن التعامل مع كافة الدوال والعبارات التي تحتوي عليها الوحدة Dos
• الثوابت .Const • التعريفات الجديدة المستخدمة بواسطة كلمة . Type • اللفتات . Label • المتغيرات . • الجراءات المستخدمة بواسطة كلمة . Procedure • الدوال المستخدمة بواسطة كلمة . Function
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
ليس من الضروري إستخدام جزء العلنات في البرنامج كله او جزء منه ولكن حسب إحتياجات البرنامج .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
الجزءهي : هوأجزاء من :ثلث باسكال يتألف الساسي برنامج برنامج م ال جزء جس ج. وه و ضروري لكتاب ة أ ي برنام ج يبدأ بكلمة Beginوينتهي بكلمة Endوبينهما مجموعة من العبارات التي تشكل البرنامج .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
يت م ف ي لغ ة باس كال أولً تعري ف ال برنامج ،ثم تعري ف الثواب ت ،وتعري ف المتغيرات البسيطة بأنواعها المختلفة،وتعريف المصفوفات ،وتعريف السجلت .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
يمك ن توضي ح ذلك بالمثال أدناه :هذه التعريفات تبدأ أولً بتعري ف ال برنامج بع د كلمة ( ،)Programويعرف ال برنامج باسمه الذي يختاره (المبرمج) ،ثم تضع بين قوسين إن كان هناك مخرجات أ و مدخلت ف ي ال برنامج أو مخرجات فقط .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
بع د ذل ك تعرف الثواب ت بع د كلم ة( ) Constإذ أن الثوابت هي العناوين التي ل تقبل تغير قيمها في الذاكرة ،ولذا لبد من تعريفها للحاسوب منذ البداية .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
بع د الثواب ت يبدأ تعري ف المتغيرات ،وه ي إما أعداد حقيقي ة ،أ و أعداد رقمي ة أ و منطقي ة أو حرفي ة ويت م ذل ك بع د كلمة ( ) varويحدد نوع المتغيرات بع د كتاب ة أس ماء المتغيرات وفصلها عن بعضها بشولة وختمها بعلمة ():
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
أم ا المص فوفات فتعرف بع د كتاب ة أسماء المتغيرات وعم ل علم ة ( ):كم ا ف ي حالة المتغيرات السابقة بإضافة كلمة ( ، )arrayأي مصفوفة تتبعها بين قوسين بُع د المصفوفة وإن كان ت هناك ابعاد مركب ة للمص فوفة يفص ل بين البعد والخر بعلمة شولة ،
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
وعادة يوصف البُع د من 1إلي حد البعد ثم يلي ذلك كما في حالة المتغيرات البسيطة تعرف نوع البيانات هل رقمية أم عددية أم حرفية أم منطقية.
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
أم ا تعري ف الس جل فأكث ر تعقيدا فنبدأ أول بكلمة ( ، )typeيتبعها اسم السجل ثم تساوي سجل ثم يلي ذلك تعريف الحقول ،وبعد ذلك مثلما تم مع المتغيرات البس يطة ،ولن الس جلت ه ي كما ذكرنا تمثل صفوفا في المصفوفات كان لبد من تعريف مصفوفة تكون بياناتها من السجلت،
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
وبهذا تكون لغ ة باس كال ق د تحايل ت على المص فوفة بجع ل وحدته ا البياني ة م ن نوع بياني واحد هو السجل ولكن في الواقع يتكون السجل من أنواع شت ي م ن ال بيانات وهذه تعت بر من ميزات لغة باسكال ولغة سي .
Program;) Example )input, output Uses Graph, Dos, Crt; Const No_stud = 50; low_marks = 5; high_marks =100;
;subj = 9 qu = 5; Label Stop, L1 ; Type Student_record = record Total : integer; Order : integer; End
Var root1, root2 : real ; count, I : integer ; Found : Boolean; Filler : char ; S_names :array [ 1..No_stud] of char ; S_marks : array[ 1..No_stud,1..subj] of Byte;
S_d :array [1..No_stud,1..subj,1..qu] of Word; Stud_pass :array [1..no_stud] of Boolean; students :array [1..50] of Student_record ; Rec : Student_record; Procedure proc_name Begin
End;
Function f_name)p_var : var_type( : return_type ; Begin . func_name := value; End; Begin
End.
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
يمكن كتابة ذلك باللغة العربية بشكل يماثل لغة باسكال علي النحو التالي :
برنامجمثال(ادخال واخراج) وحداتدوس ،رسم ; ثوابتعدد الطلب =; 50 اقل درجة = ; 50 اعلي درجة ; المواد =; 9 السئلة = ; 5 عنوانتوقف ،ل; 1
أنواع سجل طلب = سجل
نهاية
المتغيراتالجزر ، 1الجزر : 2عدد حقيقي ;
إجراءاتاسم الجراء ; بداية
نهاية ;
دالةاسم الدالة (المتغير المرسل :نوعه) نوع القيمة الراجعة ; بداية
نهاية ; بداية نهاية.
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
مثال (:)4 اكتب شفرة توضح كيفية العلن عن سجل يسمي عناوين ويحتوي على البيانات التالية: السم 30حرف ،الشارع 30حرف ،المدينة 30حرف ،الولية 30حرف ،الرمز رقمي
النوع العنوان = سجل السم :مصفوفة[ ] 30 ..1حرفية ;
address = record ; name :array [1.. 30] of char
الشارع :مصفوفة[ ] 30 ..1حرفية ; ; street :array [1.. 30] of char المدينة :مصفوفة[ ] 30 ..1حرفية ;
; city :array [1.. 30] of char
الولية :مصفوفة[ ] 30 ..1حرفية ;
; state :array [1.. 30] of char
الرمز :رقمي ; نهاية ;
; code : integer ;End
Type
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
هذا الس جل يتكون م ن خمس ة حقول ك ل حقل عبارة عن مصفوفة حرفية .حقل الول هو السم الذي يتكون كحد أقصي من ثلثين حرفا وقد أعطي كل حرف مكانا خاص ا ب ه ف ي المص فوفة ليمك ن م ن عمليات ترتيب السماء أبجديا أو غير ذلك .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
ونف س الش ي ت م بالنس بة للشارع والمدين ة والولية . أم ا رق م أ و رم ز الولي ة فه و رق م واح د .وحت ى يتم التعام ل م ع هذا الس جل ف ي خزن ال بيانات نحتاج إلي تعريف متغير على النحو التالي :
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
Var ;Students : array [ 1..50 ] of address ;Line : address متغيرات
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
هنال ك مص فوفة متغيرة أ ي أ ن بياناتها متغيرة ونوع بياناته ا س جلت م ن نوع س جل العناوين تس مي الطلب أ و ( ) studentsوكذلك هناك متغير واحد بسيط اسمه عنوان ،ولكنه من نوع سجل العناوين
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
فمثل ف ي مص فوفة الطلب عندما تقرأ "الطلب ( . )24السم ( " )1نعنى الحرف الول من اسم الطلب رقم 24في سجلت الطلب .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
أم ا عندم ا تقول " عنوان .رم ز " نعن ي قيمة الحقل رمز في السجل عنوان .أما عندما تقول " عنوان " نعني كل بيانات السجل عنوان ومثلها عندم ا تقول طلب ( )5نعن ى ك ل بيانات سجل الطالب رقم 5في المصفوفة ،
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
وم ا دام الس جل ف ي المص فوفة يت م التعام ل معه كامل كعنصر من عناصر المصفوفة فإن تخزين الس جلت داخ ل المص فوفة يت م بنف س طريقة تخزين العناصر البسيطة في المصفوفة مثل :
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
عندما تقول الطلب ( )50نعني كل سجل الطالب الخي ر ف ي قائم ة الطلب وعندما نقول الطلب ( )1نعني كل سجل الطالب الول ،وعندما نقول الطلب ( )2نعني كل سجل الطالب الثاني .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
بهذا يكون المجاور لس م الطال ب الول ه م اسم الشارع ف ي عنوان الطال ب الول ولي س إسم الطال ب الثاني.أم ا الطال ب الثان ي فيجاور رمز الولية في عنوان الطالب الول ،وهكذا .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
أم ا عدد مواق ع التخزي ن ف ي مصفوفة الطلب فتساوي عدد الطلب مضروبا في عدد العناوين أو المواقع في سجل العناوين أي تساوي × 50 6050 = 121موق ع .يمك ن وص ف وضعها على النحو التالي :نفترض أن الموقع 500هو الموقع الساسي بالذاكرة .
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
هذا الموق ع س يكون الحرف الول م ن السم الول ،ثم تنتهي حروف السم الول في الحرف رق م 30وهذه تأخ ذ عنوان مص فوفة تسمي الس م ،تليه ا مص فوفة الشارع الت ي تتكون كذلك من 30حرفا بمعدل موقع لكل حرف
بنائيات البيانات
/8الشكل العام للبرنامج في لغة باسكال
ثم مصفوفة المدينة التي تتكون من 30حرفا ثم مصفوفة الولية التي تتكون من 30حرفا ثم رمز الولية الذي يأخذ موقعا واحدا فقط فيكون مجموع المواقع لكل سجل 121موقعا للعنصر الول في المصفوفة ( الطلب ) التي تتكون من 50سجل .
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
تس تخدم لغ ة باسكال العبارتينWriteln,Write لكتاب ة المعلومات عل ى الشاش ة أ و عل ى ملف محدد ،والفرق الوحيد بينهما أن عبارة Writeln تنقل المؤشر إلى سطر جديد بعد إظهار أو كتابة المعلومات (عبارات التحكم في ملحق (أ)).
بنائيات البيانات
عبارتي الخراج والدخال في/9 لغة باسكال
Year := 2002; Writeln )‘ Sudan ‘(; Write )‘ Tabat ‘(; Writeln )2000(; Writeln; Writeln )‘ Exam ‘ , year(;
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
عن د تنفي ذ الشفرة (جزء م ن البرنامج) يكون الخراج على النحو التالي : Sudan
Tabat 2000
Exam 2002
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
/1يمكن تكون عبارتي الخراج ( )Writeln,Writeالشياء التالية : • ثابت عددي أو سلسي ( محصور بين فاصلتين علويتين) فيكون الخراج نفس الثابت . • متغير فيكون الخراج قيمة المتغير .
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
• تعبير جبري فيكون الخراج قيمة التعبير الجبري . • لشيء فيكون الخراج سطرا فارغا إذا استخدمنا عبارة Writeln
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
/2إذا كان أول متغير بعد عبارتي الخراج ( )Writeln ,Writeاسما لملف فتتم الكتابة على الملف وإل سوف تتم الكتابة على جهاز الخرج الساسي .
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
تستخدم لغة باسكال العبارتين Readln,Readلقراءة المعلومات من لوحة المفاتيح أو من ملف حسب المتغير الول كما ذكرنا في عبارتي الخراج .
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
مثال (:)6 المثال التالي يوضح الفرق بين عبارتي ، Readln,Readافترض أن هناك ملف يشار إليه بالمتغير FileNameيحتوي على المعلومات التالية :
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
مثال (:)6 10 20 30 40 50 المطلوب ما هي قيمة المتغير Dعند تنفيذ العبارتين التاليتين :
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
مثال (:)6 ; (ReadLn )Filename ,A,B,C ; (ReadLn )Filename, D
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
يتم إسناد القيم 30 , 20 , 10للمتغيرات A,B,Cعلى الترتيب بواسطة الستدعاء الول للعبارة Readlnوينتقل بعدها المؤشر إلي سطر جديد بالملف وعليه فأن القيمة 50تقرأ بواسطة الستدعاء الثاني للعبارة Readln وتسند للمتغير Dويتم تجاهل القيمة . 40
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
وعند إستبدال عبارتي Readlnب Read ; (Read )Filename ,A,B,C ; (Read )Filename , D
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
فيتم اسناد القيم 30 , 20 , 10للمتغيرات A,B,Cعلى الترتيب بواسطة الستدعاء الول للعبارة Readويبقي المؤشر في نفس السطر بالملف وعليه فأن القيمة 40تقرأ بواسطة الستدعاء الثاني للعبارة Readوتسند للمتغير .D
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
مثال (:)7 اكتب برنامجا بلغة باسكال يقوم بحساب مساحة الدائرة التي نصف قطرها rعلما بأن مساحتها تحسب وفقا للمعادلة area = πr2
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
;Const pi=3.14 الثوابت باي = ; 3.14 Var متغيرات ; Area , r : real مساحة ،نق :حقيقي ; Begin البداية اكتب (" ادخل قيمة نصف القطر"); ;(’ أدخل قيمة نصف القطر‘) Write ; (Readln )r أقرأ (نق) ; ; Area:=pi *r*r المساحة = باي × نق × نق ; ;(‘ , areaمساحة الدائرة‘)Writln اكتب (”مساحة الدائرة;) ”area ;End النهاية ;
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
مثال (:)8 اكتب برنامجا بلغة باسكال يقوم بحساب مساحة أي مثلث قائم الزاوية ارتفاعه aوقاعدته bعلما بأن مساحة المثلث تحسب وفقا للمعادلة التالية 1/2 ab
=
Area
بنائيات البيانات
/9عبارتي الخراج والدخال في لغة باسكال
المتغيرات المساحة ،أ ،ب :حقيقي ; البداية اكتب (” أدخل قيمة طول الرتفاع”) ; أقرأ (أ) ; اكتب (”أدخل قيمة طول القاعدة ”) ; أقرأ (ب) ; المساحة = أ×ب\; 2 اكتب (”مساحة المثلث =”،المساحة); النهاية ;
Var ; Area , a ,b : real Begin ;( ‘أدخل قيمة طول الرتفاع‘) Write ; (Readln )a ;(’ أدخل قيمة طول القاعدة‘) Write ; (Readln )b ; Area:=a *b/2 ;( = ’, Areaالمساحة‘)Writln ;End
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
هناك معالجات تتفق فيها كل لغات البرمجة في التعامل مع أنواع البيانات المختلفة .نذكر منها على سبيل المثال :
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
أ /معالجات العداد الحقيقية : الضرب "*" :عدد حقيقي في عدد حقيقي أو في رقم يكون الناتج عددا حقيقيا . القسمة " : "/عدد حقيقي علي عدد حقيقي أو رقم علي رقم يكون الناتج عددا حقيقيا .
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
أ /معالجات العداد الحقيقية : الجمع " : "+عدد حقيقي مع عدد حقيقي أو مع رقم تنتج عددا حقيقيا . الطرح " – " :عدد حقيقي مع عدد حقيقي أو مع رقم تنتج عددا حقيقيا .
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
أ /معالجات العداد الحقيقية : : )abs)xالقيمة المطلقة للعدد ( )xوبالطبع القيمة المطلقة ل تتغير من نوع العدد. : )Sqr)xالمربع لي عدد ينتج عددا حقيقيا .
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
أ /معالجات العداد الحقيقية : جا ( ))sin )xوجتا )))cos )xومعكوس الظل ( ))arctan)xواللوغريثم الطبيعي ((Lnx والقوى )exp)xالجذر التربيعي )sqrt)xكلها دوال تنتج عددا حقيقيا سواء أكانت قيمة xرقما أم عددا .
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
ب /معالجات العداد الرقمية : الضرب "*" :ضرب الرقام ( عدد صحيح ) ينتج أرقاما . القسمة " : "/قسمة الرقام ل تنتج أرقاما بل تنتج أعداد حقيقية .
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
ب /معالجات العداد الرقمية : الجمع " : "+الجمع للرقام ينتج أرقاما . الطرح " – " :الطرح للرقام ينتج أرقاما .
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
ب /معالجات العداد الرقمية : :)Y DIV)xهذه قسمة تنتج رقما بكشط الكسر الناتج بعد قسمة yعلى .x :)Y mod)xهذه تنتج رقما باقي قسمة yعلى .x
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
ب /معالجات العداد الرقمية : : )Sqr)xهذه دالة المربع وبالطبع تنتج رقما إذا كان xرقماً . :)Trunk )xهذه تنتج من العدد الحقيقي xرقما بكشط الكسر .
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
ب /معالجات العداد الرقمية : :)Round )xهذه تنتج من العدد الحقيقي x رقما بتقريب الكسر.
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
ج /معالجات الحروف : ،والرقام ،وحرف الفراغ .هناك دالتان في لغة باس كال وف ي غال ب لغات البرمج ة تتعام ل مع ال بيانات الحرفي ة وه ي الدال ة )ord)cوالدالة . )chr)i
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
ج /معالجات الحروف : الحروف ( )Cمن جدول ترميز الحروف ،بينما الدال ة الثاني ة )chr)iتعني الحرف الذي رمزه يساوي (.)i
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
ج /معالجات الحروف : وبما أن الدالة )ord)cناتجها رقم فإنه بإلمكان إجراء أو تطبيق كل العمليات التي تتم على الرقام عليها ،مثل عملية أكبر من ،و أصغر من ويساوي وك ل تركيباته ا لن ف ي ذل ك أهميت ه ف ي التساول والستفسار عن ترتيب السماء مثل :
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
ج /معالجات الحروف : الدالة )ord)cوالدالة )chr)iمتعاكستان أي أن: . Ord )Chr )i( ( =i ,Chr )ord )c( ( =c
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
د /معالجات البيانات المنطقية : )ANDتحقق كل الشروط) ينتج عنها قيمة منطقية. ( ORتحقق أي شرط) ينتج منها قيمة منطقية. (NOTنفي الشرط) ينتج منها قيمة منطقية.
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
د /معالجات البيانات المنطقية : أقل من أو يساوي <= ينتج منه قيمة منطقية . يساوي = تنتج منه قيمة منطقية . ل يساوي <> ينتج منه قيمة منطقية .
البيانات بنائيات /10معالجات الحاسوب البيانات لنواع في لغة باسكال
د /معالجات البيانات المنطقية : )Odd)Xينتج منه قيمة منطقية وهي تحقق فردية .X )Eol )fينتج منه قيمة منطقية وهي تحقق انتهاء السطر . )Eof)fينتج منه قيمة منطقية وهي انتهاء الملف.
بنائيات البيانات
/11البنائيات المتجردة
تحتوي على بعض البنائيات البيانية البسيطة ،أو المتغيرات البس يطة ،والبنائيات المركب ة مثل المص فوفات ومص فوفات الس جلت ولك ن هنالك بنائيات أكثر تعقيدا وتستطيع أن تتعامل مع بعض التطبيقات بكفاءة عالية
بنائيات البيانات
/11البنائيات المتجردة
ولكنه ا غي ر موجودة ف ي لغات البرمج ة ؛ لنها تحتاج إل ي برمجيات خاص ة تمك ن م ن التعامل معها .هذه البنائيات تعرف بالبنائيات المتجردة . إذن البنائية المتجردة هي عبارة عن بنائية بيانية زائدا البرمجيات التي تمكن من التعامل معها .
بنائيات البيانات
/11البنائيات المتجردة
ولما كانت العمليات التي تتم على البنائية البيانية هي في الغالب إضافة وحدة بيانية أو حذفها ،لذا تص مم البنائي ة المتجردة عادة لتكون مناسبة للطريق ة الت ي يت م به ا الضافة والحذف مثل البنائية التي تعرف بالمكدسات ( ) stacksيتم فيها الحذف والضافة من اتجاه واحد
بنائيات البيانات
/11البنائيات المتجردة
مث ل طريق ة التخزي ن عموم ا حي ث يت م سحب الشياء الت ي وص لت أخيرا قب ل الس ابقة ،وهنا يعرف بنظام ليفو ( ) lifoلتكدس الشياء بعضها فوق بع ض ولي س بالمكان س حب الس فلي قبل العلي ا ،إذن بنائي ة المكدس تناس ب تطبيقات المخازن عموما .
بنائيات البيانات
/11البنائيات المتجردة
أما المثال الثاني للبنائيات المتجردة فهو البنائية الت ي تعرف بالص فوف ( ) queuesالص ف يتم فيه الضافة الحذف من اتجاهين متعاكسين مثل الص ف تمام ا ،حي ث أ ن أول م ن وص ل هو أول من خرج
بنائيات البيانات
/11البنائيات المتجردة
وهنا يعرف بنظام فيفو ( ) fifoوبنائية الصفوف تناسب كل تطبيقات الصفوف التي عادة ما يؤخذ فيها الخدمة السابقة قبل اللحق .
بنائيات البيانات
/11البنائيات المتجردة
هناك بنائي ة متجردة م ن أكثر البنائيات المتجردة مرونة تعرف بالقوائم المتصلة ،وهي عبارة عن سجلت ك ل س جل ل ه تكوين ه الخاص .ليس بالضرورة أن تأخذ كل السجلت شكل واحد .
بنائيات البيانات
/11البنائيات المتجردة
الشكل العام للسجل أن يكون به حقل يخزن فيه عنوان ومواق ع الس جل التال ي ل ه في الذاكرة ، إضاف ة إل ي حق ل واح د أ و أكثر يحوي الوحدات البياني ة ف ي الس جل .يعرف الس جل ف ي القوائم المتص لة بالعقدة ( ) nodeويعرف حق ل موقع السجل التالي بالمؤشر .
بنائيات البيانات
/11البنائيات المتجردة
هناك عقدتان أساسيتان في القوائم المتصلة هي العقدة الول ي الت ي لي س هناك عقدة تحفظ عنوانه ا أ و تشي ر إليه ا ،وتعرف برأ س القائمة، والعقدة الخيرة التي ليس بها عنوان عقدة أو ل تشير لعقدة تالية لها تعرف بذيل القائمة،
بنائيات البيانات
/11البنائيات المتجردة
ولك ن لن بالضرورة هناك عنوان ا ف ي أي عقدة فإ ن ذي ل القائم ة تشي ر إل ي عقدة وهمي ة تعني نهاية القائمة .هذه البنائية تناسب الملفات متغيرة السجلت .
بنائيات البيانات
المؤشر الرأس
عقدة
المؤشر
السجل
عنوان عقدة عنوان العقدة الرأس التالية
عقدة
/11البنائيات المتجردة
المؤشر
السجل
عقدة
المؤشر
السجل عنوان العقدة التالية
عنوان العقدة الوهمية
الذيل
النهاية
بنائيات البيانات
/11البنائيات المتجردة
القوائم المتصلة إضافة إلي هذه المثلة الثلث يمكن اعتبار قاعدة ال بيانات الت ي يت م تص ميمها بواسطة برمجيات قواعد البيانات مثل برنامج إس كيو أل ( )sqlأو أوراكل أو فكس برو بنائية متجردة ،وهي تناسب المجموعات البيانية الضخمة والمتداخلة
بنائيات البيانات
/11البنائيات المتجردة
القوائم المتصلة مث ل بيانات عملء البن ك الس اسية ،وحركة حس اباتهم ف ي الحس ابات المختلف ة ،كالحساب الجاري والس تثمار وغيره ،وتعامله م في الفرع المختلف ة ومقاضاته م م ع البنوك الخري داخليا وخارجيا،
بنائيات البيانات
/11البنائيات المتجردة
القوائم المتصلة ومثال آخ ر بيانات حرك ة الطيران في الخطوط المختلف ة وحجوزات العملء وبيانات المسافرين، امتعتهم وحركة البضائع .
بنائيات البيانات
/11البنائيات المتجردة
القوائم المتصلة ومثال آخ ر بيانات الشرط ة الت ي تشم ل البطاقة الشخص ية ،والجنسية ،والجوازات ،ودخول وخروج المواطني ن والجان ب ،وملفات الجرائم والمشبوهين وغيرها .
بنائيات البيانات
/11البنائيات المتجردة
القوائم المتصلة إ ن ك ل النظم ة الت ي تتعام ل م ع بيانات ضخمة ومختلف ة ومتداخل ة تناس بها تط بيقات البنائية المتجردة الت ي تعرف بقواع د البيانات العلئقية. فمثل في المثال السابق بيانات العملء تمثل قاعدة بيانات،
بنائيات البيانات
/11البنائيات المتجردة
القوائم المتصلة وبيانات المس افرين تمثل قاعدة بيانات ،وبيانات البضائع تمثل قاعدة بيانات وحركة الطيران تمثل قاعدة بيانات ،وهكذا .وكله ا عن د ربطه ا مع بعضه ا تمث ل بنائي ة متجردة معقدة تعرف باسم قواع د ال بيانات العلئقية .مثال لذل ك العلئقية التالية :
احمد
415
استثمار
18
السوق العربي
ص.ب 18
778871
7
15
315
دائن
5/3
500
عثمان
315
جاري
5
الحرية
ص.ب 17
778872
17
15
305
دائن
3/5
500
علي
225
استثمار
17
الجمهورية
ص.ب 16
778873
11
15
315
دائن
3/5
500
محمد
325
جاري
15
السجانة
ص.ب 15
778877
15
15
325
دائن
3/5
500
السم
رقم الحساب
نوع الحساب
رقم الفرع
اسم الفرع
العنوان
التلفون
رقم الفرع
الفرع
رقم الحساب
الحركة
التاريخ
المبلغ
بنائيات البيانات
/11البنائيات المتجردة
القوائم المتصلة : الحس اب رق م 325بمبلغ 500دينار وهذا الحساب يخص محمد بفرع السجانة وهو حساب جاري وعنوان فرع الس جانة هو ص .ب 15 وتلفون . 778877
بنائيات البيانات
/12خوارزميات الضافة والحذف
يوجد نوعان من الخوارزميات هما : (أ) خوارزمية الضافة . (ب) خوارزمية الحذف .
بنائيات البيانات
/12خوارزميات الضافة والحذف
(أ) خوارزمية الضافة : .1هل الموقع العلى أصبح يساوي أو أكبر من حجم المكدس ؟ إن كان ”نعم” ليمكن الضافة وتنته ي الخوارزمي ة ( تخرج الرس الة ل يمكن الضاف ة لغم ر المكدس ) وإ ن كان ”ل” تستمر الخوارزمية في إضافة العنصر .
بنائيات البيانات
/12خوارزميات الضافة والحذف
(أ) خوارزمية الضافة : .2الموقع العلى = الموقع العلى (1 +حرك الموقع العلى خطوة إلي أعلى ) . .3المصفوفة ( العلى ) = العنصر المضاف .
بنائيات البيانات
/12خوارزميات الضافة والحذف
أ ي يضاف العنص ر إل ي المص فوفة ف ي الموقع الذي رقم ة يس اوي الرق م العل ى السابق زائداً واحد .
فيما يلي برنامج خوارزمية الضافة : برنامج إضافة عنصر للمكدس ثابت الكبر = ;100 متغيرات الموقع العلى :رقمي ; العنصر المضاف :حرفي ; المكدس:مصفوفة ] ..1الكبر [ حرفي; أبدا أقرأ ( الموقع العلي ) ; أقرأ ( العنصر المضاف ) ;
; Program add_stack Const ;max =100 Var ;top: integer ;newelement :char ;stack :array[1.. Max] of char Begin ;(Readln )top ;(Readln )newelement
إذا كان الموقع العلي= الكبر اكتب ( ”المكدس مفمور”) وال البداية الموقع العلى = الموقع العلى 1 + المكدس ( الموقع العلى ) = العنصر المضاف
انتهت إل النهاية .
if top = max then ;(’writeln )‘over flow else begin ;top:=top+1 ;stack)top( =newelement ;end End.
بنائيات البيانات
/12خوارزميات الضافة والحذف
(ب) خوارزمية الحذف : .1هل الموق ع العل ى = صفر إ ن كان نعم ل يمكن الحذف وتنتهي الخوارزمية وتخرج الرسالة المكدس فارغ وإ ن كان تس تمر الخوارزمي ة في عملية الحذف .
بنائيات البيانات
/12خوارزميات الضافة والحذف
(ب) خوارزمية الحذف : .2العنص ر المحذوف = المص فوفة (الموقع العل ى ) أي يحذف العنص ر الذي رقم ه في المصفوفة = الموقع العلى . .3الموقع العلي = الموقع العلي – . 1
فيما يلي برنامج خوارزمية الحذف : برنامج حذف عنصر المكدس ثابت الكبر = ;100 متغيرات الموقع العلى :رقمي ; العنصر المحذوف :حرفي ; المكدس:مصفوفة ] ..1الكبر [ حرفي; أبدا اقرا (الموقع العلى الحالية) ;
; Program delete_stack Const ;max =100 Var ;top: integer ;deleteelement :char ;stack :array[1.. Max] of char Begin ;(Readln )top
إذا كانت قيمة العلى = صفر اكتب ( ” المكدس فارغ“ ) ; وإل ابدا العنصر المحذوف= المكدس( الموقع العلى); الموقع العلى = الموقع العلى ;1- انتهت إل; النهاية.
if top =0 then ;(’writeln )‘stack empty else begin ;(deleteelement :=stack)top ;top:= top-1 ;end end.
بنائيات البيانات
/13مقارنة القوائم المتصلة والمصفوفات
أول :تميزت القوائ م المتص لة عل ى المصفوفات بديناميكي ة مس احة التخزي ن حي ث أ ن المساحة تتقل ص أ و تزي د كلم ا حذف عنص ر أ و أضيف عنصر،
بنائيات البيانات
/13مقارنة القوائم المتصلة والمصفوفات
أول: أما في المصفوفات فمنذ البداية لبد من حجز كل المساحة إذ أنه ل مجال لتغير مساحة المصفوفة لنه ا منذ البداي ة يت م تعريفه ا وفق مس احة ثابتة ومواقع ثابتة لكل عناصر المصفوفة في الذاكرة .
بنائيات البيانات
/13مقارنة القوائم المتصلة والمصفوفات
ثاني ا :تميزت القوائ م المتص لة بسهولة الحذف والضاف ة حي ث يت م ك ل ذل ك فق ط بتغيي ر مؤشر الرأس هذا في حالة المكدس،
بنائيات البيانات
/13مقارنة القوائم المتصلة والمصفوفات
ثانيا: أما في حالة أخرى فإنه بلمكان إضافة أي عنصر إل ي موق ع م ن مواق ع القائم ة فق ط بجع ل مؤشر العنص ر الجدي د يؤش ر إل ي العنص ر الس ابق له، ومؤش ر العنص ر اللح ق ل ه يشي ر إلي ه كم ا في الرسم:
بنائيات البيانات
/13مقارنة القوائم المتصلة والمصفوفات
إضافة عنصر جديد
بنائيات البيانات
/13مقارنة القوائم المتصلة والمصفوفات
عنصر ووضعه في مكانه الصحيح حسب الترتيب أم ا ف ي المص فوفات فل يت م ذل ك بهذه السهولة حيث يتم تحريك كل العناصر الصغر خطوة نحو الخلف ،أو كل العناصر الكبر خطوة نحو المام .
بنائيات البيانات
/13مقارنة القوائم المتصلة والمصفوفات
ثالث ا :تميزت المص فوفات عل ى القوائ م المتصلة عند البحث عن معلومة أو الوصول إلي معلومة معين ه ،فيت م ذل ك بطرق شت ي ،وليس هناك إل طريقة واحدة فقط بالنسبة للقوائم المتصلة ،
بنائيات البيانات
/13مقارنة القوائم المتصلة والمصفوفات
ثالثا: وه ي طريق ة البح ث المتتال ي أ ي أ ن البح ث عن المعلومة يتم مبتدئاً من رأس القائمة حتى نجد المعلومة المطلوبة .
الخوارزميات البيانية
/1خوارزميات البحث عن المعلومة
بالطبع من الضرورة أن نعرف أين أماكن تخزين المعلومات حت ى نس تطيع الوص ول إليها بغرض التعام ل معه ا س واء أكان ذل ك لمعرفته ا أو تحديثها أو حذفها أو غير ذلك .
الخوارزميات البيانية
/1خوارزميات البحث عن المعلومة
لقد رأينا أن أكثر البنائيات مرونة في استيعاب أنواع شت ي م ن ال بيانات وبأحجام ك بيرة هي البنائيات التي تمت عبر مصفوفات السجلت .
الخوارزميات البيانية
/1خوارزميات البحث عن المعلومة
لذا عندم ا نتحدث ع ن خوارزميات البح ث عن المعلوم ة فأنن ا نتحدث ع ن خوارزميات البحث عن سجل في مصفوفة السجلت ثم البحث عن المعلومة في أحدي حقول ذلك السجل ويتم ذلك عادة بالبحث عبر حقل في السجل للوصول لذلك السجل،
الخوارزميات البيانية
/1خوارزميات البحث عن المعلومة
ث م بع د ذل ك يت م التعام ل م ع أ ي حق ل آخ ر من حقول السجل أو مع كل حقول ذلك السجل .على سبيل المثال يمكن أن يكون :
الخوارزميات البيانية
/1خوارزميات البحث عن المعلومة
• حقل رقم الطالب هو الحقل الذي يتم به البحث عن س جل الطال ب وبع د الوص ول إل ي سجل الطالب يمكن النظر إلي حقل ترتيب الطالب .
الخوارزميات البيانية
/1خوارزميات البحث عن المعلومة
• حق ل رق م الموظ ف ه و الحق ل الذي يت م به البحث عن سجل الموظف ثم بعد ذلك يتم النظر إلي راتب الموظف إن كنا نريد معرفة راتبه أو تعديله أو النظر إلي تاريخ تعينه .
الخوارزميات البيانية
/1خوارزميات البحث عن المعلومة
• حق ل اس م الشخ ص ه و الحق ل الذي يت م به البح ث ف ي س جلت التلفونات لمعرفة تلفون شخص معين وهذه هي الطريقة الطبيعية لمعرفة تلفون معين في دليل التلفونات .
الخوارزميات البيانية
/1خوارزميات البحث عن المعلومة
ف ي هذه المثل ة يس مي حق ل رق م الطال ب في سجلت الطلب ،وحقل رقم الموظف في سجل الموظفي ن ،وحق ل اس م الشخ ص ف ي دليل التلفونات بالمفتاح .
الخوارزميات البيانية
/1خوارزميات البحث عن المعلومة
هناك خوارزميات شتي تم تصميمها للبحث عن المعلومة من أشهرها خوارزمية البحث المتتالي أو البح ث الخط ي وخوارزمي ة البح ث الثنائي وغيره ا .لغرض هذا المنه ج س وف نكتفي بوص ف خوارزمي ة البح ث المتتال ي وخوارزمية البحث الثتائي .
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
على التوالي من أول مفتاح إلي آخر مفتاح وفي كل مرة تقارن بين المفتاح الذي في الصف وبين المفتاح المطلوب حت ى نج د المفتاح المطلوب أو ينتهي الصف .
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
مثال (: )1 إذا كان صف المفاتيح هو : مؤشر المصفوفة
1
2
3
4
5
6
7
8
المفتاح
110
112
156
210
257
296
350
892
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
• والمفتاح المطلوب هو 350فإن الخوارزمية تبدأ بمفارنة 350مع : • المفتاح الول 110فل نج د أن ه يساوي المفتاح المطلوب . 350
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
• المفتاح الثان ي 112فل نج د أن ه يساوي المفتاح المطلوب . 350 • المفتاح الثال ث 156فل نج د أن ه يساوي المفتاح المطلوب . 350
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
• المفتاح الراب ع 210فل نج د أن ه يساوي المفتاح المطلوب . 350 • المفتاح الخام س 257فل نج د أن ه يساوي المفتاح المطلوب . 350
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
• المفتاح الس ادس 296فل نج د أن ه يساوي المفتاح المطلوب . 350 • المفتاح السابع حيث نجد أنه يساوي المفتاح المطلوب . 350
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
إنن ا عندم ا نتحدث ع ن كفاء ة أ و سرعة هذه الخوارزمية ،فإننا نجد أن متوسط عدد المقارنات = ( ن 2 /) 1 +إذا كانت ن هي عدد المفاتيح فاعتبار إذا كان المفتاح الول هو المفتاح المطلوب فإن الخوارزمية تكون قد اكتفت بمقارنة واحدة فقط وهي أحسن حالة ممكنة
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
وأما أسوأ حالة هي أن يكون المفتاح الخير هو المفتاح المطلوب وعلي ه يكون ف ي هذه الحالة عدد المقارنات يس اوي "ن" هذا النوع من الخوارزميات يوص ف عدد مقارنات ه بأنها تزداد طردياً مع عدد المفاتيح .
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
الخوارزمية : .1أدخل عدد المفاتيح ن ومصفوفة المفاتيح . .2أدخل المفتاح المطلوب . .3أجعل عداد المفاتيح في البدء = . 0 .4عدد المفاتيح = عداد المفاتيح . 1 + .5أقرأ مفتاح المصفوفة الذي يشير إليه المؤشر.
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
الخوارزمية : .1هل تطابق المفتاح مع مفتاح المصفوفة ؟ نعم . أذهب إلي . 8 .2هل عداد المفاتيح أكبر من ن ؟ "ل" أذهب إلي " 4نعم" أذهب إلي . 10 .3اكتب "وجد المفتاح في " عداد المؤشر .
الخوارزميات البيانية
/2خوارزمية البحث المتتالي
الخوارزمية : .1أذهب إلي .11 .2اكتب ” لم يوجد المفتاح ” . .3النهاية .
Program searchline ; Const n:=50; Var I , key : integer; found : Boolean; keys :array [1..n] of integer; Begin for i:=1 to n do readln )keys )I((; I:=0; found := false;
readln )key(; repeat I := I+1; if keys )I( = key then found:= true; until I < n or found == true; if I < n then write )‘ key not found’(; else write )‘ key found in ‘ I (; End.
برنامج البحث الخطي ثابت ن = 50عدد المفاتيح المتغيرات المؤشر ،المفتاح :عدد صحيح هل وجد :منطقي المفتاح :مصفوفة [ ..1ن ] رقمية أبدأ من المؤشر = 1إلي ن أقرأ المفتاح ( المؤشر ) المؤشر = 0 المفتاح لم يوجد
أقرأ المفتاح كرر المؤشر = المؤشر 1 + إذا تطابق المفتاح مع المفتاح الذي يشير إليه المؤشر أجعل المتغير المنطقي هل وجد ؟ نعم أوقف التكرار إذا كانت الجابة نعم أو زاد عدد المؤشر على ن إذا كان عدد المؤشر أكثر من ن اكتب لم يجد المفتاح وإل اكتب وجد المفتاح في المؤشر النهاية
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
هذه الخوارزمي ة تفترض أ ن المفاتي ح مرتبة ترتيبا تصاعديا ثم بعدها تقارن المفتاح المطلوب مع المفتاح الذي ف ي وس ط القائم ة أي المفتاح الذي يؤشر إليه المؤشر رقم و = (ن 2 /) 1 + باعتبار "ن " هي عدد المفاتيح (إذا كان هناك كسر في القسمة يتم اسقاطه)
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
فإذا كان المفتاح المطلوب أكبر من مفتاح الوسط "و" فأنن ا نهم ل البح ث ف ي النص ف الذي به المفاتيح الصغر من المفتاح المطلوب ،أي بلغة أخري نهمل كل المفاتيح من المؤشر رقم ""1 إلي المؤشر "و" .
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
نجعل بعد ذلك المؤشر رقم "و" هو مثل المؤشر رقم " "1في المعالجة السابقة ونحسب المؤشر الوس ط ف ي النص ف م ن المؤش ر رق م "و" إلي المؤش ر رق م "ن" والذي يساوي (و+ن)2/ وهي قيمة المؤشر الوسط الجديد "وج"
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
ثم تقارن المفتاح الذي يؤشر إليه مؤشر الوسط الجدي د م ع المفتاح المطلوب ،فأن كان المفتاح المطلوب هذه المرة أص غر م ن مفتاح الوسط الجدي د فأنن ا س نهمل الرب ع الك بر من مفتاح الوسط الجديد وننظر فقط للربع من مفتاح الوسط الجديد "وج" إلى مفتاح الوسط "و"
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
ث م نكرر العملي ة ونحس ب مؤش ر الوس ط الجد "وأ" والذي يس اوي (و+وج ) 2/ثم تقارن المفتاح المطلوب م ع مفتاح الوس ط الج د ،فإن كان أكبر منه نظرنا إلي الثمن من مفتاح الوسط الج د إل ي مفتاح الوس ط الجدي د ويستمر هكذا نقس م النص ف إل ي نص فين إل ي أ ن نبق ي على مفتاح واحد هو المفتاح المطلوب .
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
إذا لم نجد مفتاحاً مساوياً للمفتاح المطلوب يكون في هذه الحالة المفتاح المطلوب غير موجود . المثال التال ي يمك ن أ ن يوض ح الخطوات على التوالي :
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
مثال (: )2 إذا كان صف المفاتيح هو : المفتاح
110
112
156
210
257
296
892 350
والمفتاح المطلوب هو 350فإن الخوارزمية تبدأ ب:
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
القائمة الولي 257 296 350892 210 156 112 110 الخطوة الول ي مفتاح الوسط = 210المفتاح المطلوب 210 >350 القائمة الثانية 892 350 296 257 210 الخطوة الثانية مفتاح الوسط = 296المفتاح المطلوب >350 296
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
القائمة الثالثة 892 350 296 الخطوة الثالثة مفتاح الوسط = 350المفتاح المطلوب =350 350
المفتاح المطلوب هو الذي يؤشر إليه المؤشر رقم 7
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
الخوارزمية : .1أدخل المفتاح المطلوب وقائمة المفاتيح مرتبة تصاعدياً حيث أن المؤشر رقم 1يؤشر لصغر مفتاح والمؤشر الخير "ن" يؤشر لكبر مفتاح ( ن عدد المفاتيح ) . .2هل المؤشر الول = المؤشر الخير ؟ نعم أذهب . 6
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
الخوارزمية : .1أحسب مؤشر الوسط و = (المؤشر الول+ المؤشر الخير). 2/ .2هل مفتاح المؤشر الوسط = المفتاح المطلوب ؟ نعم أذهب إلي . 8
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
الخوارزمية : • إذا كان مفتاح المؤش ر الوسط > المفتاح المطلوب أجعل المؤشر الخير = المؤشر الوسط وإل أجعل المؤشر الول = المؤشر الوسط . • اكتب ل يوجد المفتاح . • أذهب إلي . 9
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
الخوارزمية : .1اكتب المؤشر الوسط . .2النهاية .
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
نلحظ في هذه الخوارزمية أن عدد المقارنات يساوي لو 2ن إذا افترضنا مثل أن ن = 16 فإن الخطوة الولي سيكون عدد المفتاح 8ثم الخطوة الثانية يكون عدد المفتاح 4ثم الخطوة الثالثة يكون عدد المفتاح 2
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
ثم الخطوة الرابعة يكون عدد المفاتيح 1وهو المفتاح المطلوب .إذن تمت 4مقارنات حتى وصلنا إلي المفتاح ( 4هي في الواقع لو. )16 2
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
ملحوظة : إننا في مثالي وبرنامجي خوارزمية البحث المتتالي أو الخطي والبحث الثنائي أو الزوجي – جعلنا مصفوفة المفاتيح رقمية ،وهذا فقط على سبيل المثال ،لن المفاتيح يمكن أن تكون حرفية مثل السماء ،أو أن تكون أي نوع آخر .
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
ملحوظة : ولكن في غالب الستخدمات تكون المفاتيح رقمية لرفع كفاءة البحث ؛ لن مقارنة الرقام أسرع من مقارنة النواع الخرى ،لذا دائماً يستحسن أن يتم البحث برقم الموظف ،ورقم الطالب بد ًل من اسم الموظف ،
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
ملحوظة : واسم الطالب بحيث يكون هناك رقم مفرد لي طالب ،ولي موظف على سبيل المثال .نجد عموماً أن أغلب التصميمات تعطي مفتاحا رقميا مفردا للمتعاملين مثل رقم الحساب ورقم بطاقة الخدمة الوطنية ..
الخوارزميات البيانية
/3خوارزمية البحث الثنائي
ملحوظة : كما لبد من الشارة الى ان هذا المفتاح يشير الى معان هامة مثل رقم فرع البنك ،ورقم البنك ،ثم رقم العميل ،وكذلك رقم البطاقة الشخصية يشير الى رقم الولية ورقم المحافظة ورقم المحلية ثم رقم المواطن مثل وهكذا
Program binary_search; Const n:= 50; Var I , key , first , last, middle :integer; found : Boolean; keys : array[1.. N] of integer; Begin for I:=1 to n do readln ) keys )I((; readln )key(;
found := false; first := 1; last := n; repeat middle := ) first + last ( div 2; if key [middle] < key then begin last := middle; if key [middle] > key then first := middle;
else found := true; end; until found or last >= first if found then writeln )‘ key found’ , middle(; else writeln )‘ key not found’(; End.
برنامج البحث الثاني الثوابت ن = 50عدد المفاتيح المتغيرات المفتاح ،الول ،الخير ،المؤشر الوسط :عدد صحيح هل وجد :منطقي مفتاح مصفوفة من 1إلي ن رقمية إبدا من 1إلي ن أقرأ عناصر المصفوفة أقرأ المفتاح هل وجد = ل المؤشر الول = 1 المؤشر الخير = ن كرر المؤشر الوسط = إسقاط ( المؤشر الول +الخير ))2 /
إذا كان مفتاح المؤشر الوسط أكبر من المفتاح إبدا المؤشر الخير = المؤشر الوسط إذا كان مفتاح المؤشر الوسط أصغر من المفتاح المؤشر الول = المؤشر الوسط وإل أجعل هل وجد = نعم نهاية حتى يتحقق وجد المفتاح أو المفتاح الخير أقل من أو يساوي المفتاح الول إذا هل وجد = نعم اكتب ( ” وجد المفتاح في المؤشر الوسط“ ) وإل اكتب (” لم يوجد المفتاح ”) النهاية
الخوارزميات البيانية
-4تصنيف المعلومات
تصنيف المعلومات ،ومعنى تصنيف المعلومات وضع السجلت حسب ترتيب معين ويتم ذلك بالطبع عن طريق ترتيب مفاتيح السجلت التي ترتب ترتيبا تصاعديا أو تنازليا .
الخوارزميات البيانية
-4تصنيف المعلومات
رقم الموظف أو رقم البطاقة الشخصية فإن ترتيب المفاتيح يتم من أصغر رقم إي أصغر قيمة مفتاح تصاعديا إلى اكبر رقم إي اكبر قيمة مفتاح وبهذا تكون سجلت الطلب أو الموظفين أو المواطنيين تم ترتيبها تصاعدياً ،
الخوارزميات البيانية
-4تصنيف المعلومات
والعكس إذا بدأنا الترتيب بأكبر رقم ثم نزلنا لصغر يكون الترتيب تنازلياً ،وبالمثل إذا كان المفتاح بالسماء فأن الترتيب يكون أبجدياً مبتدئاً بالحرف الول للسم بأللف ومنتهيا بالياء وعندما يتساوى مفتاحان في الحرف الول ينظر إلى الحرف الثاني
الخوارزميات البيانية
-4تصنيف المعلومات
وإذا تساوى في الحرف الثاني ينظر إلى الحرف الثالث وهكذا .ومن الضروري إل يتطابق اسمان في كل الحروف وأل يكون حقل السم غير صالحاً ليكون مفتاحاً ،
الخوارزميات البيانية
-4تصنيف المعلومات
لن هنالك شرطاً أساسياً لمفتاح السجل وهو أن يكون مفرداً في التعبير عن السجل ( لهذه المشكلة ل يفضل استخدام السماء في المفاتيح).
الخوارزميات البيانية
-4تصنيف المعلومات
الخوارزمية هو تسهيل أو تسريع عملية البحث عن السجل هذا إضافة إلى إستخدامات أخرى في ترتيب المستويات للفراد مثل نتائج المتحانات والمنافسات بين الطلب والموظفين عامة المتنافسين
الخوارزميات البيانية
-4تصنيف المعلومات
ومثل أولويات الحجوزات والطلبات والخدمات عموماً والتي تعطى أولوية للول فالتالي وهكذا . إذاً ليس كل الترتيب يتم فقط لحقل المفاتيح وإنما يكمن أن يتم على أي حقل حسب الحاجة الستفسارية أو التحليلية .
الخوارزميات البيانية
-4تصنيف المعلومات
بعضها معقدة جداً وعالية الكفاءة ،ونعنى بالكفاءة إن يتم التصنيف في أقل وقت ممكن وفى أقل سعة تخزينية ممكنة ولكن لغرض هذا المنهج سوف نركز على نوعين من الخوارزميات يتميز بالبساطة وكثرة الستخدام .
الخوارزميات البيانية
-4تصنيف المعلومات
ما عرف باسم خوارزمية الفقاعة حيث يتم مقارنه كل عنصرين أو مفتاحين متجاورين وتعديل وضعهما حسب الترتيب المطلوب
الخوارزميات البيانية
-4تصنيف المعلومات
أما النوع الثاني والذي عرف بخوارزميات الختيار وأشهرها ما يعرف بإسم خوارزمية الختيار المباشر حيث اختيار اكبر المفاتيح أو أصغرها حسب الترتيب المطلوب ووضعها في الترتيب الول ثم اختيار الكبر أو الصغر من بقية المفاتيح ووضعه في الترتيب الثاني وهكذا
الخوارزميات البيانية
-4تصنيف المعلومات
يتم اختيار العنصر أو المفتاح التالي من بقية المفاتيح إلى إن يبقى مفتاح أو عنصر واحد هو المفتاح الخير أو العنصر الخير .
الخوارزميات البيانية
-4تصنيف المعلومات
خوارزمية الفقاعة : • ادخل عدد المفاتيح أو العناصر (ن) ومصفوفة المفاتيح أو العناصر . • قارن كل عنصر والعنصر الذي يليه مبتدئ ًا من العنصر الول مع الثاني ،الثاني مع الثالث ... حتى العنصر ( ن ، )1-العنصر (ن) .
الخوارزميات البيانية
-4تصنيف المعلومات
خوارزمية الفقاعة : .3إن كان ا غي ر مرت بين الترتيب المطلوب بدل موقعيهما (نلحظ هنا أن المقارنة التالية ستكون بي ن العنص ر الس ابق والعنص ر التال ي إذا تمت عملية تبديل الموقعين ،مثلً إذا تم تبديل العنصر الثالث مع الرابع فإن العنصر الرابع الجديد
الخوارزميات البيانية
-4تصنيف المعلومات
خوارزمية الفقاعة : س يكون ف ي الواق ع ه و العنص ر الثال ث؛ لذا من الناحي ة العلمي ة س تتم المقارن ة هذه المرة بين العنص ر الثال ث والعنص ر الخام س ،وهذا سبب تسمية الفقاعة حيث يقفز ليعيد الترتيب بسرعة إلى وضعه الطبيعي
الخوارزميات البيانية
-4تصنيف المعلومات
خوارزمية الفقاعة : مثل الفقاعة الصغيرة الحقيقية تقفز بسرعة إلى سطح الماء أو الزيت تاركة الفقاعات الكبر داخل السائل) .
الخوارزميات البيانية
-4تصنيف المعلومات
خوارزمية الفقاعة : .1قف إذا لم يعد هناك أي تبديل مواقع وأل عد إلى . 2
الخوارزميات البيانية
-4تصنيف المعلومات
مثال ( : ) 3 إذا كان صف المفاتيح هو : 86 92 12 37 48 57 25
المطلوب ترتيب العناصر ترتيباً تصاعدياً
33
مصفوفة العناصر الساسية : 33 86 92 12 37 48 57 25 التبديل الول ل تبديل 57 25 التبديل الثاني
تبديل 57 48 25
التبديل الثالث
تبديل 57 37 48 25
التبديل الرابع
تبديل 57 12 37 48 25
التبديل الخامس ل تبديل 92 57 12 37 48 25 التبديل السادس تبديل التبديل السابع
تبديل
92 86 57 12 37 48 25 92 33 86 57 12 37 48 25
مصفوفة العناصر بعد الدورة الولى : 92 33 86 57 12 37 48 25 التبديل الول ل تبديل 48 25 التبديل الثاني
تبديل
48 37 25
التبديل الثالث
تبديل
48 12 37 25
التبديل الرابع ل تبديل 57 48 12 37 25 التبديل الخامس ل تبديل 86 57 48 12 37 25 التبديل السادس تبديل
86 33 57 48 12 37 25
التبديل السابع ل تبديل 92 86 33 57 48 12 37 25
مصفوفة العناصر بعد الدورة الثانية : 92 86 33 57 48 12 37 25 التبديل الول ل تبديل 37 25 التبديل الثاني
تبديل
37 12 25
التبديل الثالث ل تبديل 48 37 12 25 التبديل الرابع ل تبديل 57 48 37 12 25 التبديل الخامس تبديل
57 33 48 37 12 25
التبديل السادس ل تبديل 86 57 33 48 37 12 25 التبديل السابع ل تبديل 92 86 57 33 48 37 12 25
مصفوفة العناصر بعد الدورة الثالثة : 92 86 57 33 48 37 12 25 التبديل الول تبديل 25 12 التبديل الثاني ل تبديل 37 25 12 التبديل الثالث ل تبديل 48 37 25 12 التبديل الرابع
تبديل
48 33 37 25 12
التبديل الخامس ل تبديل 57 48 33 37 25 12 التبديل السادس ل تبديل 86 57 48 33 37 25 12 التبديل السابع ل تبديل 92 86 57 48 33 37 25 12
مصفوفة العناصر بعد الدورة الرابعة : 92 86 57 48 33 37 25 12 التبديل الول ل تبديل 25 12 التبديل الثاني ل تبديل 37 25 12 التبديل الثالث
تبديل 37 33 25 12
التبديل الرابع ل تبديل 48 37 33 25 12 التبديل الخامس ل تبديل 57 48 37 33 25 12 التبديل السادس ل تبديل 86 57 48 37 33 25 12 التبديل السابع ل تبديل 92 86 57 48 37 33 25 12
مصفوفة العناصر بعد الدورة الخامسة : 92 86 57 48 37 33 25 12 التبديل الول ل تبديل 25 12 إذن تم الترتيب النهائي التبديل الثاني ل تبديل 33 25 12 التبديل الثالث ل تبديل 37 33 25 12 التبديل الرابع ل تبديل 48 37 33 25 12 التبديل الخامس ل تبديل 57 48 37 33 25 12 التبديل السادس ل تبديل 86 57 48 37 33 25 12 التبديل السابع ل تبديل 92 86 57 48 37 33 25 12
الخوارزميات البيانية
-4تصنيف المعلومات
خوارزمية الختيار المباشر : نبحث ع ن أصغر عنصر في المصفوفة ،ونقوم بتبديل ه م ع العنصر الول ،ثم نبحث عن أصغر عنص ر م ن بي ن عناص ر المص فوفة م ن العنصر الثان ي إل ي العنص ر الخي ر ،ونقوم بتبديل ه مع العنصر الثاني ،
الخوارزميات البيانية
-4تصنيف المعلومات
خوارزمية الختيار المباشر : ث م نبح ث ع ن أص غر عنص ر م ن بي ن عناصر المص فوفة م ن العنص ر الثال ث إل ي العنصر الخير ،ونقوم بتبديله مع العنصر الثالث ،وهكذا إل ي أ ن تنته ي ك ل عناص ر المص فوفة وعندها نحصل على مصفوفة مرتبة .
الخوارزميات البيانية
-4تصنيف المعلومات
مثال (: )4 إذا كان صف المفاتيح هو : 33 86 92 12 37 48 57 25 المطلوب ترتيب العناصر ترتيباً تصاعدياً
الخوارزميات البيانية
-4تصنيف المعلومات
الخطوة :1 نبح ث ع ن أص غر عنص ر م ن عناص ر المص فوفة وهو العنصر رقم [ ] 5الذي يساوي " "12ونقوم بتبديله مع العنصر رقم [: ]1 رقم العنصر []8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1 33 86 92 25 37 48 57 12
الخوارزميات البيانية
-4تصنيف المعلومات
الخطوة :2 نبحث عن أصغر عنصر من بين عناصر المصفوفة من العنصر الثاني إلي العنصر الخير وهو العنصر رقم []5 الذي يساوي " "25ونقوم بتبديله مع العنصر رقم []2 رقم العنصر
[]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1 33 86 92 57 37 48 25 12
الخوارزميات البيانية
-4تصنيف المعلومات
الخطوة :3 نبحث عن أصغر عنصر من بين عناصر المصفوفة من العنصر الثالث إلي العنصر الخير وهو العنصر رقم []8 الذي يساوي " "33ونقوم بتبديله مع العنصر رقم []3 رقم العنصر
[]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1 48 86 92 57 37 33 25 12
الخوارزميات البيانية
الخطوة :4
-4تصنيف المعلومات
نبحث عن أصغر عنصر من بين عناصر المصفوفة من العنصر الرابع إلي العنصر الخير وهو العنصر رقم []4 الذي يساوي " "37ونقوم بتبديله مع العنصر رقم []4 وهو نفس العنصر : رقم العنصر
[]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1
48 86 92 57 37 33 25 12
الخوارزميات البيانية
الخطوة :5
-4تصنيف المعلومات
نبحث عن أصغر عنصر من بين عناصر المصفوفة من العنصر الخامس إلي العنصر الخير وهو العنصر رقم [ ]8ويساوي " "48ونقوم بتبديله مع العنصر رقم []5 رقم العنصر
[]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1 57 86 92 48 37 33 25 12
الخوارزميات البيانية
الخطوة :6
-4تصنيف المعلومات
نبحث عن أصغر عنصر من بين عناصر المصفوفة من العنصر السادس إلي العنصر الخير وهو العنصر رقم [ ]8الذي يساوي " "57ونقوم بتبديله مع العنصر رقم [ ]6 رقم العنصر
[]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1
92 86 57 48 37 33 25 12
الخوارزميات البيانية
الخطوة :7
-4تصنيف المعلومات
نبحث عن أصغر عنصر من بين عناصر المصفوفة من العنصر السابع إلي العنصر الخير وه و العنصر رقم [ ]7الذي يساوي " "86ونقوم بتبديله مع العنصر رقم [ ]7وهو نفس العنصر . رقم العنصر
[]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1
92 86 57 48 37 33 25 12
الخوارزميات البيانية
-4تصنيف المعلومات
رقم العنصر
[]8[ ]7[ ]6[ ]5[ ]4[ ]3[ ]2[ ]1 92 86 57 48 37 33 25 12
ونجد العنصر الخير يكون في موضعه الصحيح . إذن تم الترتيب النهائي
الخوارزميات البيانية
-4تصنيف المعلومات
الخوارزمية : .1ضع رقم العنصر = . 1 .2أبحث عن أصغر عنصر من عناصر المصفوفة من رقم العنصر إلي آخر عنصر .
الخوارزميات البيانية
-4تصنيف المعلومات
الخوارزمية : .1قم بتبديل العنصر الصغر مع العنصر الذي يشير إليه رقم العنصر . .2رقم العنصر = رقم العنصر . 1 +
الخوارزميات البيانية
-4تصنيف المعلومات
الخوارزمية : .1إذا كان رقم العنصر = آخر عنصر أذهب إلي 6وإل أذهب إلي . 2 .2أطبع المصفوفة وهي مرتبة . .3النهاية .
Program bubble sort; Const n:= 50; Var I , pass :integer; temp : integer; sortfield : array[1.. n] of integer; exchange : Boolean; Begin for I := 1 to n do readln ) sortfield [I](;
pass := 0; exchange := true; while exchange do begin exchange := false; pass := pass +1; for I := 1 to n-1 do if sortfield [I] < sortfield[I+1] then begin
temp := sortfield [ I ]; sortfield [ I ] := sortfield [ I+1] sortfield [ I+1] := temp; exchange := true; end; end; writeln )‘ no of passes’ , pass(; for I := I to n do writeln )sortfield [ I ](; End.
برنامج خوارزمية الفقاعة ثابت ن = 50عدد العناصر المتغيرات دورة ومؤشر :عدد صحيح مؤقت :عدد صحيح قائمة :مصفوفة من 1إلي ن وهي رقمية تبديل :منطقي أبدا المؤشر من 1إلي ن اعمل أقرأ عناصر مصفوفة القائمة دورة = 0 تبديل = نعم ما دام التبديل نعم أعمل أبدا
التبديل = ل الدورة = الدورة 1 + من 1إلي ن – 1اعمل إذا كان بيان حقل التبديل < من الذي يليه أبدا أجعل حقل التبديل = تخزين مؤقت أجعل حقل التبديل التالي = حقل التبديل أجعل التخزين المؤقت = التبديل التالي أجعل التبديل = نعم نهاية (*نهاية إذا كان *) نهاية (* مادام * ) اكتب (”عدد دورة الترتيب ” ,دورة ) من 1إلي ن اكتب البيانات المرتبة من القائمة نهاية البرنامج
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
كلم ة تشفي ر نابع ة م ن كلم ة سايفر ()cipher النجليزي ة والت ي ه ي ف ي الواق ع أص لها الكلمة العربي ة صفر والت ي تعن ى (ل شي ء ) إذ أن التشفير مقصود به أل يفهم القارئ شيئاً مما هو مكتوب ( غير ذلك الشخص المصرح له بذلك ) .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
وبهذا لب د أ ن يكون عل م التشفير علماً قديماً؛ فالناس منذ الزل لهم أسرارهم التي ل يؤدون أن يعرفها كل الناس .ومما هو مسجل في التاريخ أن المص ريين القدام ى أول م ن بدأ التشفي ر لطريقة علمي ة ،وذل ك لم ا لديه م م ن مهارات رياضية معروفة
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
ث م مارس الهنود ولغري ق وغيره م م ن المم القديم ة التشفي ر ،وأ ن المس لمين العرب مث ل بن الدره م ق د وثقوا لعل م التشفي ر وكتبوا في ه ،أما اللمان فه م أول م ن مارس التشفي ر باستخدام الل ة حي ث اس تخدموا الل ة المعروف ة ب (. )Enigma
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
تتبع نظم التشفير الخطوات التالية : .1صمم خوارزمية الشفرة التي تود استخدامها مع الطرف الخر . .2أدخل النص أو المعلومات واضحة .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
تتبع نظم التشفير الخطوات التالية : .1أدخل الشفرة على النص أو المعلومات ليخرج نص أو معلومات مشفرة . .2أرسل الرسالة إلي الطرف الخر .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
تتبع نظم التشفير الخطوات التالية : .1عالج النص أو المعلومات التي بالرسالة بخوارزمية فك الشفرة . .2أخرج النص واضحا أو المعلومات واضحة .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
شفرات الستبدال أو التعويض : تعت بر خوارزميات الس تبدال والتعوي ض من الخوارزميات القديم ة أبس طها ه ي خوارزمية يوليوس قيص ر والت ي تقوم باس تبدال أي حرف بالحرف الثال ث ف ي الترتيب .يعن ى مثل حسب ترتيب الحروف العربية بالنظام التالي :
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
1 أ
2 ب
3 ت
4 ث
5 ج
6 ح
7 خ
8 د
9 ذ
14 13 12 11 10 ر ز س ش ص
28 27 26 25 24 23 22 21 20 19 18 17 16 15 ض ط ظ ع غ ف ق ك ل م ن ه و ي
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فإن أ تصبح ث و ب تصبح ج و ل تصبح ه ون تص بح ي وهكذا .إذن نضي ف لموقع الحروف المراد تشفيره 3ليص بح الحرف المشف ر هو حرف ذلك الموقع .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
مثال (: )5 حس ب خوارزمي ة يوليوس قيص ر م ا التشفير المقاب ل لحروف "ه " " ،و" " ،ي" مستعينا بالجدول أعله ؟
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
• موقع الحرف "ه " = ، 26موقع الحرف بعد التشفير = 29 = 3+ 26ل يوجد حرف رقمه 29إذن نقوم بطرح 28وهي عدد الحروف وعليه يكون الحرف المقابل للحرف "ه " هو الحرف الذي موقعه = 1 = 28 – 29أي الحرف "أ" .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
مثال (: )5 • موقع الحرف "و" = ، 27موقع الحرف بعد التشفير = 2 = 28 – 30 = 3 + 27وهو الحرف "ب"
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
مثال (: )5 • موقع الحرف "ي" = ، 28موقع الحرف بعد التشفير = 3 = 28 – 31=3+28وهو الحرف "ت" . هذا الجراء يتم في الحاسوب تلقائيا بواسطة الدالة . MOD
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
معلومة : تحسب الدالة MODباقي القسمة فمثل 16 MOD 3 = 1 , 37 MOD 7 = 2 89 MOD 11 = 1 , 30 MOD 28 = 2 31 MOD 28 = 3 , 7 MOD 4 = 3
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
وإذا أردنا تنفيذ هذه الخوارزمية بالحاسوب بلغة باسكال فإننا ببساطة
Program substitution ; Const no_of_char = 28; Var I : integer; letters :array[1.. No_of_char] of char; Begin for I := 1 to no_of_char do letters [I] := char ))I+3( mod no_of_char(; End.
برنامج استبدال الحروف ثابت عدد الحرف = 28 متغيرات الحرف = مصفوفة حروف من 1إلي 28 أبدا من 1إلي عدد الحرف أجعل الستبدال = الحرف الذي بعد ثلثة مواقع منه وعند انتهاء الحرف أبدا من الول النهاية
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
أما إذا أردنا فك التشفير فإننا نكرر نفس البرنامج فقد نجعل المعادلة ( Letters [ I ]:= char ))I – 3 ( mod No _ of _ char
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
أي أن الحرف المستبدل هو الحرف السابق قبل ثلث مواق ع م ن حرف الشفرة وعندما تكون القيم ة س البة فإنن ا نضي ف " "28وهي عدد الحروف .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
مثال (: )6 حس ب خوارزمي ة يوليوس قيص ر ما الحرف الص لي للمقابل للحروف المشفرة "أ" "ب" "ت" مستعينا بالجدول السابق .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
مثال (: )6 موقع الحرف المشفر "أ" = ، 1موقع الحرف المقابل = 2 - = 3 – 1ل يوجد حرف رقمه – 2إذن نقوم بجمع 28وهي عدد الحروف وعليه يكون الحرف المقاب ل للحرف "أ" هو الحرف الذي موقعه = 26 = 28+2-أي الحرف "ه ".
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
الحرف المشف ر "ب" = ، 2موقع موق ع (: )6 مثال الحرف المقابل = 27 = 28 + 1 - = 3 – 2 وهو الحرف "و" . موق ع الحرف المشف ر "ت" = ، 3موقع الحرف المقابل = 28 = 28 + 0 = 3 – 3 وهو الحرف "ي" .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
مثال (: )7 حسب خوارزمية يوليوس قيصر ما تشفير عبارة " أوقف الشراء " مستعينا بالجدول أعله :
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
الل ف بعد الشفرة ثاء والواو "ب" يكون (: )7 سمثال والقاف ميما والفاء لما واللم تصبح ياء والشين تص بح طاء والراء تص بح شيناً وم ن ث م تصبح العبارة ( أوقف الشراء ) ( ثنمل ثهطشث ) وإذا عرف الطرف الخ ر مفتاح الس تبدال 3فإنه سيفك تلك الشفرة ويصل إلي النص الواضح .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : .1المعرفة بخواص اللغة مثل تكرارية الحروف في اللغة ،ففي كل لغة تتكرر الحروف بنسب ثابتة ،وهناك إحصائية ثابته بالنسبة المئوية لتكرار أي حرف في أي لغة ،
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : ث م أ ن هناك حروف ا معين ة تتكرر ف ي الكلمة الواحدة وحروف أخري ل تتكرر مثل حروف العط ف ف ي اللغ ة العربي ة فيمك ن أ ن تجد الواو جوارها واواً أو الفاء جوارها فاءاً
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : وكذل ك حروف الج ر فيمك ن أ ن تجد جوار اللم لماً وجوار الباء با ءً ولكن قل أو ل تكاد تجد جوار القاف قافاً أو جوار النون نوناً .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : كذلك هناك حروف يكثر تجاورها مثل ألف ولم في اللغ ة العربي ة وكي و ي و q u .في اللغة النجليزية .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : كذل ك هناك تكث ر ف ي بداي ة الكلمات ف ي ك ل لغة مثل حرف اللف في اللغة العربية وحرف الي I في اللغة النجليزية .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : .1معرف ة أس لوب المناف س اللغوي والمنطقي والعلم ي وذل ك ع ن طري ق كتابات ه المفتوحة وكلمه وحواره مع الخرين .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : .1تخمي ن نوع الرس ائل الت ي يمك ن أ ن يرسلها بناء عل ى معلومات ع ن أنشطت ه وعلقات ه مع الطرف الخ ر ،فه ل ه ي رس ائل تجارية، رياضية ،أمنية ،ثقافية ،أكاديمية .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : .1محاول ة الوص ول بقدر المكان إلي أنواع الخوارزميات الت ي تس تخدم ف ي التشفير فإذا عرفن ا عل ى س بيل المثال أن ه يستخدم شفرة قيصر
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : يمك ن معرف ة المفتاح بس هولة ع ن طريق خواص حروف اللغة ثم تجربة استبدال حرف بآخر حتى نصل للحل .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : تعتمد خوارزميات فك الشفرات على التي : لبد من الشارة في أن سرعة الوصول إلي فك الشفرة يتناس ب تناس باً طردياً وأس ياً مع جزئيات المعلوم ة المكتشف ة .مثلً إذا اكتشفنا الحرف ألف يمكن أن نكتشف الحرف لم
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فك الشفرات : على رالتي : خوارزميات فك تجاورها الشفراتي يكث الحروف الت تعتمد ن وك ل والحرف للل ف ،وم ن ث م ك ل حرف يت م اكتشاف ه يؤدي إلي اكتشاف الحروف الخري .وهكذا تتزاي د سرعة اكتشاف الحروف أضعافا مضاعفة ،وهذا ما يعرف في علم تعقيدات الحاسوب بالسرعة السية.
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
تعقيدات شفرات التبديل والتعويض : يمكن تعقيد شفرة يوليوس قيصر ليكون مفتاحها بدلً من الرقم ثلثة أي رقم آخر مثل أنه يكون المفتاح " "7فإ ن "أ " ستصبح بع د عملية التشفير "د" " ،ن" ستصبح بعد عملية التشفير "ث" وهكذا .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
تعقيدات شفرات التبديل والتعويض : نلحظ في شفرة يوليوس قيصر أن كل الحروف يتم تشفيرها بمفتاح واحد فقط فإذا اكتشف ذلك المفتاح سيتم فك الشفرة .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
تعقيدات شفرات التبديل والتعويض : يمك ن تعقيد هذه الشفرة بإنشاء جدول حروف يكون لك ل حرف مفتاح خاص يت م تحديد هذا المفتاح عشوائياً (يختلف هذا الجدول اختلفاً كلي ًا عن جدول ترتيب الحروف)
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
تعقيدات شفرات التبديل والتعويض : ويكون هذا الجدول الجديد مفتاح الشفرة السري بين الراسل والمرسل إليه ويتم هذا الجراء في الحاسوب تلقائيا بواسطة الدالة .RANDOM
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
معلومة : الدالة )RANDOM )Nتعطي رقما عشوائيا بين 1و Nفمثل : يمكن أن تعطي )RANDOM)6 6 ، 5 ، 4 ، 3 ، 2 ، 1 يمكن أن تعطي أي رقم بين 1و )RANDOM)28 28
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
وحتى يتم ذلك يمكن عمل تعديل بسيط في البرنامج الس ابق وذل ك باس تدعاء الدال ة العشوائي ة الرقمية أي تلك التي تعطي رقماً عشوائياً بين واحد وعدد الحروف حس ب نظام التمثي ل واس تخدام مصفوفة منطقية لتحدد هل الرقم العشوائي تم استخدامه أم ل على النحو التالي :
Program random_change ; Const n = 28; Var L : integer; substit :array [1.. n] of integer; character :array [1.. n] of char; change :array [1.. n] of Boolean; Begin for I := 1 to no_of_char do
begin substit [I] := I; change [I] := false; end; for I := 1 to no_of_char do begin L := random )n(; if not change [L] then begin substit [I] := L;
change [I] := true; end; characters [I] := char )substit [I](; end; End.
برنامج تبديل الحروف ثابت عدد الحروف 28 متغيرات م :عدد صحيح مصفوفة تغيير الرقام مصفوفة الحروف المشفرة مصفوفة هل استخدم الرقم العشوائي ؟ أبدا من 1إلي عدد الحروف أبدا أجعل كل رقم في مكانه أجعل هل تم التغير = ل لكل الحروف النهاية
من 1إلي عدد الحروف أبدا أجعل م = الرقم العشوائي الذي تم توليده من 1إلي ن هل تم تغير في الحروف رقم م من قبل أبدا وضع رقم الحرف إلي الرقم العشوائي أجعل هل تم التغيير = نعم النهاية الحرف المشفر في المصفوفة = الحرف المقابل لرقم الحرف النهاية انتهت عملية تغيير وضع الرقام
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
هذا البرنامج يقوم أولً بافتراض كل الحروف في وضعه ا الط بيعي ،ث م بع د ذل ك يت م توليد أرقاماً عشوائي ة بالدال ة randomولك ن لن هناك احتمالً بأن تعطي الدالة العشوائية أرقاماً متكررة ينتج عنها حرفان أو أكثر في موقع واحد
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
فكان لب د م ن اس تخدام المص فوفة المنطقية لزالة التكرارية ،ولبد من إعطاء القيم الصلية للحروف لمص فوفة التبدي ل حت ى تظل الرقام التي لم يحدث لها تغيير في وضعها القديم .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
إن نقطة الضعف في هذه الشفرة تتمثل في أنها يمك ن أ ن تكتش ف باس تخدام التكرار النسبي للحرف ف ي اللغ ة كم ا ذكرن ا م ن قب ل ،لن كل حرف يقابل ه حرف وبهذا س تظل التكرارية النسبية للحروف كما هي مع تغيير الحرف ومن ثم يمكن اكتشاف الحرف المقابل وفك الشفرة .
الخوارزميات البيانية
/5خوارزميات تشفير المعلومات
ملحوظة : لحظ إننا لم نعط المسافة بين الكلمات رمزاً في المثل ة م ن أج ل المثال ولكنه ا ف ي الواق ع هي مثله ا مث ل الحروف له ا رم ز ف ي الحاسوب ويس ري عليه ا التبدي ل بك ل أنواع ه مثله ا مثل الحرف .
الخوارزميات البيانية
/6ترميز هوفمان
عندم ا تحدثن ا ع ن أنظم ة الترمي ز الثنائ ي في منهج السنة الولي ذكرنا أن كل حرف لبد أن يكون ب ه رم ز ثنائ ي مفرد ،وم ن هنا تطورت أنظم ة الترمي ز الثنائ ي م ن نظام ب ي سي دي ( )BCDالس داسي إل ي نظام البسيديك ( )EBEDICونظام آسكي ( )ASCIIالثماني .
الخوارزميات البيانية
/6ترميز هوفمان
ولك ن ذكرن ا ف ي الفقرة الس ابقة أ ن لك ل لغة خواص ها ف ي التكرار النس بي للحروف وداخل اللغة لكل مؤسسة أو مركز معلومات خواص في نوع المعلومات الت ي يتعام ل معه ا ،فإن كان مركزاً إحص ائياً فإ ن أكث ر المعلومات ستكون أرقاماً
الخوارزميات البيانية
/6ترميز هوفمان
وإ ن كان مركزاً ص حفياً فإ ن أكثر المعلومات ستكون صوراً وأما الراديو فإن أكثر المعلومات كلماً .
الخوارزميات البيانية
/6ترميز هوفمان
م ن هذا المنطل ق كان لب د م ن تحوي ر التمثيل الثنائ ي أ و تغييره ليمك ن م ن تمثيل ه تمثيلً أمثل لل بيانات بناء عل ى خواص اللغة وخواص البيانات ،ونعنى بالتمثيل المثل هو التمثيل الذي يأخ ذ أق ل حج م ممك ن م ن ذاكرة الحاس وب ،أو وسائط تخزين الحاسوب .
الخوارزميات البيانية
/6ترميز هوفمان
ومن ثم أقل وقت ممكن في إرسال تلك البيانات وهذا يتم ببساطة بتمثيل أكثر الحروف أو الرقام أو الرموز تكراراً بأقل عدد من الثنائيات ،ويزيد عدد الثنائيات الممثلة للحرف أو الرقم أو الرمز كلما قلت تكرارية استخدامه.
الخوارزميات البيانية
/6ترميز هوفمان
وهذه الطريقة أو الخوارزمية تعرف بخوارزمية هوفمان ويت م تص ميمها بطريق ة الشجرة الثنائية على النحو التالي :
الخوارزميات البيانية
/6ترميز هوفمان
-1نفترض أن لدينا رمز أ 1و أ 2و أ 3و أ 4و أ 5وكان التكرار النس بي لهذه الرموز مرتبة تنازليا حسب الجدول أدناه :
الخوارزميات البيانية
/6ترميز هوفمان
الرمز أ1 أ2 أ3 أ4 أ5
التكرار النسبي 40% 20% 20% 10% 10%
الخوارزميات البيانية
/6ترميز هوفمان
-2يت م رب ط ك ل رمزي ن م ن أس فل إل ي أعلى بالترتيب التالي : أ /أ 4و أ 5يت م ربطهم ا ويس تبدل برم ز ربط جدي د أس مه أ 5 4وبتكراري ة افتراضي ة تساوي جمعهما النسبي . %20 = %10 + %10
الخوارزميات البيانية
/6ترميز هوفمان
ب /الن لدين ا 4رموز ه م الرمز أ 1بتكرار نس بي %40والرمز أ 2و أ 3و أ 54بتكرار نسبي %20فيمكننا اختيار أي اثنين من أ 2و أ 3و أ 54فمثلً أ 2و أ 54وربطه ا برم ز جديد سمه أ 254بتكرار نسبي . %40
الخوارزميات البيانية
/6ترميز هوفمان
ج /الن أصبح لدينا ثلث رموز هم أ 1وأ 3و أ 254بتكرار نسبي %40و %20و %40 على التوالي .لذا يتم ربط أ 3مع أي من أ 1أو أ 254فمثل أ 254برمز ربط جديد سمه أ3254 بتكرار نسبي . %60
الخوارزميات البيانية
/6ترميز هوفمان
د /الن بق ي لن ا رمزي ن ه م أ 1و أ 3254يتم ربطهما برمز جديد أسمه أ 13254بتكرار نسبي . %100 بهذا تكتمل شجرة هوفمان حسب الرسم أدناه .
الخوارزميات البيانية
/6ترميز هوفمان
أ13254 أ3254
أ1
أ452
أ3
أ54 أ2 أ4
أ5
الخوارزميات البيانية
/6ترميز هوفمان
نلح ظ أ ن الشجري ة مائل ة ب ل شب ه س اقطة على الجانب اليسر أما تكويد الرموز فحسب الجدول أدناه :
الخوارزميات البيانية
/6ترميز هوفمان
الرمز أ1 أ2 أ3 أ4 أ5
التكويد 1 100 10 1000 1000
الخوارزميات البيانية
/6ترميز هوفمان
متوسط حجم الشجرة : يقاس متوس ط حج م الشجرة بطول الرمز مضروب في التكرارية بالنسبة للرمز فمن جدول التكرار النس بي وجدول التكوي د يمك ن حساب حج م هذه الشجري ة ب × 3 + %40 × 1 × 4 + %10 × 4 + %20 × 2 + %20 2.2 = %10ثنائية /الرمز .
الخوارزميات البيانية
/6ترميز هوفمان
متوسط حجم الشجرة : تعت بر م ن ميزات تكوي د هوفمان أ ن يعط ي كما ذكرنا التكويد المثل ،ومن ثم حتى إذا تم تغيير اختيار ربط الرموز التي لها في كل مرحلة نفس التكرار النس بي ل ن يؤث ر ف ي القيم ة النهائية لمتوسط حجم الشجرية.
الخوارزميات البيانية
/6ترميز هوفمان
إ ن الرم ز أ 1و أ 2و أ 3و أ 4و أ 5يمك ن أن تكون رموزاً لي رسائل أو لكلمات أو توجيهات هامة ،ولها تكرارية مثلً يمكن أن تكون رسائل بي ن مكت بين ف ي بورتس ودان و الخرطوم في شرك ة اس تيراد ،وبه ا تكراري ة س لم البضاعة للزبون %40
الخوارزميات البيانية
/6ترميز هوفمان
وتس تلم البضاع ة من الباخرة %20وخزن البضاعة %20وإرسال البضاعة إلي الخرطوم %10وتسلم التحويل المالي %10أو يمكن أن تكون نف س هذه الرموز يرم ز به ا لرسائل عسكرية في العمليات
الخوارزميات البيانية
/6ترميز هوفمان
مث ل (تس لم الغذي ة) ( %40وتسلم الذخيرة)( %20وتس لم الرواتب) %20و (الهجوم على العدو) %10و (إيقاف الهجوم) . %10
الخوارزميات البيانية
/6ترميز هوفمان
تكويد هوفمان المثالي للحروف النجليزية : إذا كان ت تكراري ة الحروف النجليزي ة حسب دراس ات إحص ائية مكثف ة للغ ة النجليزي ة كانت حسب الجدول المرفق – فإن خوارزمية هوفمان يمكن أن تصمم عاى النحو التالي :
تكويد هوفمان المثالي للحروف النجليزية : .1اربط zو qفي qzبنسبة %0.5 .2اربط qzمع xبنسبة %1من . xqz .3اربط kو jفي jkبنسبة . %1 .4اربط xqzو jkفي jk xqzبنسبة . %2 .5اربط gو vفي vgبنسبة %2.5 .6اربط bو wفي wbبنسبة %3
تكويد هوفمان المثالي للحروف النجليزية : .1اربط pو yفي ypبنسبة %4 .2اربط fمع jkxqzفي jkxqzfبنسبة %4 .3اربط vgو wbفي wbvgبنسبة %5.5 .4اربط mو uفي umبنسبة %6 .5اربط Iو cفي lcبنسبة %6.5 .6اربط dو ypفي ypdبنسبة %9.5
تكويد هوفمان المثالي للحروف النجليزية : .1اربط jkxqzfمع wbvgفي wbvgjkxqzfبنسبة %9.5 .2اربط sو hفي shبنسبة %12 .3اربط umمع jفي jumبنسبة %12.5 .4اربط cمع rفي rcبنسبة %13 .5اربط oمع nفي onبنسبة %15
تكويد هوفمان المثالي للحروف النجليزية : .1اربط aمع ypdفي aypdبنسبة %16 .2اربط wbvgdkxqzfمع tفي twbvgdkxqzfبنسبة %18.5 .3اربط eمع shفي eshبنسبة %25 .4اربط jumمع vlcفي vlcjumبنسبة %25.5
تكويد هوفمان المثالي للحروف النجليزية : .1اربط onمع apydفي apydonبنسبة تكرارية %31 .2اربط twbvghjxqzfمع eshفي eshtwbvgjkxqzfبنسبة %43.5 .3اربط rkciumمع apydibفي apydibrkciumبنسبة %56.5
تكويد هوفمان المثالي للحروف النجليزية : .1اربط eshtwbvgkxqzfمع apydibrkciumفي apydonrlcjumeshtwbvgjkxqzf بنسبة تكرارية %100
الخوارزميات البيانية
/6ترميز هوفمان
تمرين .1ماالغرض من معرفة أماكن تخزين المعلومات ؟ .2ما المقصود بالبحث المتتالي ؟ .3ما المقصود بالبحث الثنائي ؟ .4ما المفتاح الساسي ؟
الخوارزميات البيانية
/6ترميز هوفمان
تمرين .1حدد عيوب اس تخدام الس ماء كمفاتي ح مع ضرب أمثلة لذلك . .2أيهما أفضل للبحث المتتالي أم الثنائي ؟ وضح السباب .
الخوارزميات البيانية
/6ترميز هوفمان
تمرين .1صف خوارزمية البحث المتتالي . .2صف خوارزمية البحث الثنائي . .3ما المقصود بتصنيف المعلومات ؟ .4صف أحد خوارزميات التبديل .
الخوارزميات البيانية
/6ترميز هوفمان
تمرين .1صف أحد خوارزميات الختيار . .2أيهم ا أفض ل للس تخدام ف ي ترتي ب قائم ة من العداد أس لوب الفقاع ة ،أ م اسلوب الختيار المباشر ؟ وضح السباب .
الخوارزميات البيانية
/6ترميز هوفمان
تمرين .1عرف الشفرة . .2ما الغرض من استخدام الشفرة ؟ .3حدد خطوات الشفرة . .4على ماذا يعتمد فك الشفرة .
الخوارزميات البيانية
/6ترميز هوفمان
تمرين .1أعم ل شفرة ش بيه بشفرة يوليوس قيصر مستخدما الرقم " "5كمفتاح لهذه الشفرة . .2وض ح عي ب الشفرة الت ي عملته ا في المثال السابق .
الخوارزميات البيانية
/6ترميز هوفمان
تمرين .1ما الح ل المناس ب حس ب رأي ك لتفادي عيب الشفرة في المثال السابق ؟
نظم التشغيل
/1 مدخل
نظام التشغي ل ه و برنام ج يعم ل بي ن مستخدم الحاسوب وجهاز الحاسوب يمكن المستخدم من تنفي ذ برمجيات ه بس هولة وفعالي ة وبكفاء ة عالية (نعنى بالكفاءة العالية التنفيذ في أقل وقت ممكن وفي أقل مساحة من الذاكرة)
نظم التشغيل
/1 مدخل
يمكن أن نتصور نظام التشغيل كتنظيم فرعي من نظام الحاسوب في الرسم التالي :
مستخدم
مستخدم
مستخدم
مستخدم
مستخدم
مستخدم
مستخدم
()1
()2
()3
()4
()5
()6
(ن)
تخزين بيانات
لغة باسكال
طباعة تقرير
لغة تجميع (اسمبلي)
إرسال بيانات
معالج النصوص
نظام قاعدة بيانات
البرامج التطبيقية أو برامج المستخدمين نظام التشغيل جهاز الحاسوب (الهاردوير)
نظم التشغيل
/1 مدخل
نلحظ من الرسم أن نظام التشغيل ينظم أو يتحكم في ك ل طلبات المس تخدمين ،فمنه م م ن يريد استخدام برنامج قاعدة البيانات ،ومنهم من يريد اس تخدام برنام ج تخزي ن ملفات على القرص، ومنهم من يريد تشغيل برنامج بلغة باسكال لذا فهو يطلب من نظام التشغيل مترجم باسكال،
نظم التشغيل
/1 مدخل
ومنه م م ن يري د طباع ة تقري ر أ و طباع ة رسم بيان ي ،ومنه م م ن يري د اس تخدام لغ ة التجميع، ومنه م م ن يريد اس تفسارا أ و تعديل بيانات على الشاشة ،ومنهم من يريد إرسال بيانات عبر شبكة التص الت ،ومنه م م ن يري د برنام ج معالج النص وص إل ي آخ ر طلبات المس تخدمين التي يؤديها الحاسوب .
نظم التشغيل
/1 مدخل
وأحيان ا ب ل ف ي كثي ر م ن الحيان ق د يطلب عدد المستخدمين نفس الخدمة في وقت واحد .إذن يمك ن أ ن نقول أ ن برنام ج نظام التشغي ل هو برنام ج تحك م يس اعد ف ي تنفي ذ برامجه م وإنها أعماله م باس تخدام الح د الدن ي من إمكانات الحاسوب (الوقت والذاكرة) .
نظم التشغيل
/2ما قبل نظم التشغيل
عند اختراع الحاسوب في نهاية الربعينات كان التعامل مع الحاسوب باللغة الثنائية أو ما يعرف بلغ ة الماكين ة ،وكان مس تخدم الحاس وب لب د أن يكون مبرمج ا بلغ ة الماكين ة ول م يكن حينذاك يوجد نظام تشغيل أو مشغل ،
نظم التشغيل
/2ما قبل نظم التشغيل
ب ل كان الم برمج نفس ه الذي يشغ ل الحاسوب ليقوم بتنفيذ برنامجه ،ثم بعد ذلك يدخل المبرمج التال ي ويشغ ل الحاس وب لتنفي ذ عمله وهكذا ولتنظي م أعمال الم برمجين يقوم الم برمج بحجز الحاسوب لفترة معينة كل ساعة ،
نظم التشغيل
/2ما قبل نظم التشغيل
ث م الذي يلي ه فإذا اكتمل ت الس اعة ول م ينفذ الم برمج عمل ه يوق ف عمل ه بتس ليم الحاسوب للمبرمج التالي .تم في نهاية الخمسينيات تصميم المترجمات مث ل مترج م القول (باس كال حاليا)، ومترجم فورتران ،ومترجم كوبول .
نظم التشغيل
/2ما قبل نظم التشغيل
وق د س هلت المترجمات عملي ة تص ميم البرامج وساعدت في كتابة برامج متطورة ومتعددة ولكن لم تساعد في عملية التشغيل ،وظل التشغيل يأخذ وقت ا طويل حي ث يت م أول أنزال المترج م من الشريط إلي الذاكرة ،
نظم التشغيل
/2ما قبل نظم التشغيل
ث م بع د ذل ك إنزال ال برنامج ث م تشغي ل المترجم على البرنامج ليتحول غلي لغة التجميع ثم إعادة المترجم إلي الشريط على البرنامج المترجم إلي لغ ة التجمي ع للتص حيح باللغ ة الثنائي ة ،ثم إعادة التجميع إلي الشريط ثم تشغيل البرنامج المترجم باللغة الثنائية
نظم التشغيل
/2ما قبل نظم التشغيل
أ و م ا يعرف بال برنامج الهدف عل ى الحاسوب. وإذا حدث أ ي خط أ ف ي ال برنامج الس اسي يتم تص حيح الخط أ وإعادة ك ل هذه العمليات من جديد.
نظم التشغيل
/2ما قبل نظم التشغيل
هذا م ن ناحي ة ،م ن ناحي ة أخري خلل فترة كل إنزال شري ط لغ ة البرمج ة وإعادته ا للشريط وإنزال شريط لغة التجميع وإعادتها إلي الشريط يظل الحاسوب عاطل غير مستخدم فإذا علمنا أن تكلفة ساعة الحاسوب في تلك الفترة حوالي 45 دولر في الساعة
نظم التشغيل
/2ما قبل نظم التشغيل
إذا عمل لمدة 24ساعة وحوالي 90دولرا في الساعة إذا عمل لفترة 12ساعة في حين أن الحد الدن ى للجور ف ي تل ك الفترة كان فقط دولرا واحدا للساعة بالوليات المتحدة .ممكن أن نري مدي الخس ارة الناتج ة ع ن أ ي وق ت يضيع دون استخدام الحاسوب لتنفيذ أعمال مفيدة .
نظم التشغيل
/2ما قبل نظم التشغيل
لهذا ت م خل ق وظيف ة جديدة ف ي الحاس وب هي وظيفة المشغل وهو الذي يقوم بأداء كل العمال اليدوي ة م ن إنزال للشرط ة وغيره ا والتي كان يقوم به ا الم برمجون ،وق د أدي ذل ك إل ي تقليل الزمن الضائع من الحاسوب
نظم التشغيل
/2ما قبل نظم التشغيل
لم ا كان للمشتغلي ن م ن خ برة في هذه العمال اليدوية أكثر من المبرمجين ثم أنه عندما يظهر خط أ ف ي ال برنامج – فأ ن المشغل يقوم مباشرة بإيقاف ذلك البرنامج وإعادته للمبرمج والبدء في تشغيل البرنامج التالي .
نظم التشغيل
/2ما قبل نظم التشغيل
ولق د كان ف ي الس ابق كم ا ذكرن ا (عندم ا ل م يكن هنال ك مشغ ل يقوم الم برمج باس تخدام ك ل وقته ويحاول تص حيح برنامج ه إ ن كان ت به أخطاء خلل وقت ه المحجوز) ولك ن بع د خل ق وظيفة المشغل يتم الستفادة من الوقت الذي يصحح فيه المبرمج برنامجه في تشغيل برنامج آخر .
نظم التشغيل
/2ما قبل نظم التشغيل
كذلك لتقليل الوقت الضائع في إنزال وإعادة أشرطة المترجمات والتجمي ع أدخلت فكرة حزم العمال وه ي أ ن يت م تشغي ل ك ل مجموع ة أعمال متساوية في وق ت واح د مثل ك ل ال برامج المس تخدمة للغة "القول" يت م تشغيله ا م ع بعضه ا حي ث يتم إنزال مترجم "القول" لكل هذه العمال في وقت واحد.
نظم التشغيل
/2ما قبل نظم التشغيل
وبالمثل برامج فورتران أو برنامج كوبول وبهذا يت م توفي ر وق ت إنزال وإعادة المترج م م ع أي عم ل مفرد .هذه الطريق ة بالتأكي د وفرت وقتا كبيرا ،ولكنها تتطلب من المشغل أن يكون مراقبا للحاسوب مراقبة لصيقة حتى إذا حدث خطأ في أحد برامج الخدمة
نظم التشغيل
/2ما قبل نظم التشغيل
يقوم المشغل بتوجيه الحاسوب للنتقال للبرنامج التالي ويظل الحاسوب عاطل خلل تلك الفترة أما إذا غف ل ع ن ذل ك س يظل الحاس وب عاطل حتى ينتب ه (وبهذا يظ ل وقت ا ضائع ا ف ي النتقال من برنام ج إل ي آخ ر داخ ل الحزم ة إذا حدث خطأ، وهناك حاجة لمراقبة لصيغة من المشغل) .
نظم التشغيل
/2ما قبل نظم التشغيل
لمعالج ة هذه المشكل ة ت م إدخال فكرة التوالي التلقائي للعمال وهي عبارة عن برنامج صغير يقوم بتعري ف الحاس وب بالعمال ،أ و البرامج المطلوبة على التوالي .فإذا تم إكمال البرنامج أو حدث ب ه خط أ ينتق ل تلقائي ا لل برنامج التالي دون الحاجة لتدخل المشغل،
نظم التشغيل
/2ما قبل نظم التشغيل
وهذه الفكرة أ و هذا ال برنامج والذي يسمي بالمراقب المقيم resident monitorيعتبر أول خطوة في تصميم برنامج نظام التشغيل .
نظم التشغيل
/3المرقب المقيم
مثال لوامر برنامج المراقب المقيم : تشغيل مترجم فورتران
FTN$
تشغيل لغة التجميع اسمبلي A S M $ تشغيل برنامج المستخدم
RUM$
نظم التشغيل
/3المرقب المقيم
وللتفريق بين عمل وآخر لبد أن يكون : أول سطر في العمل
JOB $
وآخر سطر في العمل END $
نظم التشغيل
/3المرقب المقيم
وهذان الس طران يمك ن ع ن طريقهم ا معرفة الزمن الذي استخدم كل عمل .كذلك متاح إضافة أس طر أخري فيه ا مثل اس م العم ل أ و البرنامج المراد تشغيله ورقم المستخدم حتى تحسب جملة الزمن الذي قضاه في كل برمجة لحساب المبلغ المطلوب منه .
نظم التشغيل
/3المرقب المقيم
نلح ظ م ن الس طر أعله أنه ا تبدأ بعلمة دولر ( )$وفي بعض الجهزة مثل ( ) IBMكانت تبدأ بعلم ة ( )/وهذه العلم ة ضروري ة للتفري ق بين أس طر أوام ر التشغي ل وأس طر البرنامج والمدخلت وعلي ه س يتم تشغي ل العمال على النحو التالي :
نظم التشغيل
بداية عمل جديد تشغيل مترجم فورتران
/3المرقب المقيم
JOB $ FTN $
البرنامج ترجمة برنامج فورتران إلي لغة الماكينة LOAD $ تشغيل البرنامج على البيانات RUN $
نظم التشغيل
/3المرقب المقيم
البيانات نهاية العمل END $ JOB $ بداية عمل جديد
نظم التشغيل
/4المراقب والمستخدم
لق د أحدث برنام ج المراق ب المقي م م ع حزمة العمال تطورا ك بيرا ف ي رف ع كفاء ة تشغيل الحاس وب ،وق د رأينا أن برنام ج المراق ب المقيم يقوم بتشغي ل العمال داخ ل الحزم ة عمل بعد عمل على التوالي،
نظم التشغيل
/4المراقب والمستخدم
ولكن هناك مشكلة إذا كان هناك خطأ في برنامج أحد أعمال الحزمة مثل كتابة أمر غير موجود في لغة البرمجة أو محاولة إدخال بيانات في مواقع غير معرفة في الذاكرة (مثل أن تكون المصفوفة أ معرفة من 1إلي 25ثم محاولة إدخال بيانات في الموقع أ ( )26أو أ (صفر)
نظم التشغيل
/4المراقب والمستخدم
ونقول في هذه الحالة أن برنامج المراقب المقيم قد وق ع ف ي مص يدة وس يضطر غل ي مس ح ذلك البرنامج من الذاكرة ثم البدء في العمل التالي .
نظم التشغيل
/4المراقب والمستخدم
كذلك من أخطاء المبرمجين الشائعة الدخول في دوار ل نهائي عند قراءة البيانات ويقوم البرنامج حينئ ذ بع د انتهاء أس طر ال بيانات بمحاول ة قراءة أس طر العم ل التال ي ،لن أم ر القراء ة مستمر بسبب خطأ الدوار اللنهائي ،
نظم التشغيل
/4المراقب والمستخدم
ولك ن لن أس طر العم ل التال ي تبدأ بعلمة ()$ وهي علمة أوامر المراقب المقيم سيقوم برنامج المراق ب المقي م بمعامل ة هذه الحال ة معامل ة خطأ في ال برنامج ويقوم تلقائي ا بمس حه من الذاكرة والنتقال إلي العمل التالي في الحزمة .
نظم التشغيل
/4المراقب والمستخدم
إذن ليست هناك مشكلة غذ عمل المبرمجون عبر برنام ج المراق ب المقي م ،ولك ن بعضهم ل يلتزم بذلك ،ومن ثم ل يستطيع المراقب المقيم التحكم في أخطائهم مما ينتج عنه دخول الحاسوب في دوار مما يضطر ليقافه لمعالجة هذه المشكلة.
نظم التشغيل
/4المراقب والمستخدم
ثم إضافة ثنائية في جهاز الحاسوب (الهاردوير) لتفري ق بي ن أوام ر المس تخدم وأوام ر المراقب حي ث ل يقب ل الحاس وب أس طر المراق ب المقيم كمدخلت في برنامج المستخدم على الطلق .
نظم التشغيل
/4المراقب والمستخدم
إذن تمكين الحاسوب منذ البداية من التفريق بين حال ة المس تخدم ( )USER MODEوحالة المراقب أو المشرف ()Mode supervisor يؤدي إل ي عدم قبول أوام ر برنام ج للمراقب المقيم كمدخلت في البرنامج
نظم التشغيل
/4المراقب والمستخدم
ومن ثم يتم تنفيذ تلك الوامر التي تقوم بالتحكم في أخطاء الم برمجين وإلغاء برامجه م من الذاكرة والنتقال للعمال التالية .
نظم التشغيل
/5نداءات النظام
م ا دام م ن غي ر المس موح للم برمج التعام ل مع أجهزة الدخال والخراج إل عبر المشرف – فإن أجهزت الحاس وب الحديث ة جعل ت هناك أوامر تس مي نداءات المراق ب أ و المشرف أو نداءات النظام يمك ن ل برنامج المس تخدم استدعاءها إذا رغ ب المس تخدم ف ي العام ل م ع أ ي جهاز من أجهزة الدخال أو الخراج .
نظم التشغيل
/5نداءات النظام
عندما يصل النداء أو المر إلي البرنامج المراقب أو المشرف فإنه يقوم بتنفيذ النداء .بهذا يكون ال برنامج المشرف ه و الذي يقوم نياب ة عن برنامج المستخدم عن طريق نداءات النظام بتنفيذ كل أوامر المستخدم المتعلقة بالتعامل مع أجهزة الدخال والخراج
نظم التشغيل
/5نداءات النظام
وبهذا يكون البرنامج المراقب أو نظام التشغيل له التحك م التام ف ي نظام الحاس وب فالمستخدم ل يستطيع مباشرة التعامل مع الحاسوب لتنفيذ أي عمل يجب أن يتم عبر نظام التشغيل المشرف .
نظم التشغيل
/5نداءات النظام
فنظام التشغي ل المشرف يتأك د أول م ن أ ن عمل المس تخدم المراد تنفيذه مس موح ب ه ومقبول من ذلك المستخدم ثم بعد ذلك يقوم بتنفيذ العمل نيابة عن المس تخدم ث م يعي د للمس تخدم التحكم مرة أخري فيما يليه من أوامر .
نظم التشغيل
/5نداءات النظام
لبد أن نلحظ أن هناك أوامر أخري غير التحكم في الدخال والخراج ل يمك ن أ ن يسمح للمس تخدم بتنفيذه ا مث ل أم ر إيقاف الحاسوب ()HALT
نظم التشغيل
/5نداءات النظام
وأم ر التحول م ن حال ة المس تخدم إل ي حالة المشرف أ و الدخول ف ي منطق ة الذاكرة الخاصة بال برنامج المشرف (أو نظام التشغيل) . memory protection
نظم التشغيل
/6ساعة الحاسوب ()Tuner
لق د ت م تص ميم س اعة الحاس وب لمن ع برنامج المستخدم من الدخول في دوار ل نهائي وامتداد سيطرة البرنامج المشرف .
نظم التشغيل
/6ساعة الحاسوب ()Tuner
حي ث تقوم س اعة الحاس وب ع بر نظام التشغيل بإيقاف البرنامج إذا تجاوز فترة معينة مثل 60/1 ثاني ة ث م بع د ذل ك يقرر ال برنامج المشرف إما إعطاء برنام ج المس تخدم زمن ا إضافي ا أ و إعادته له برسالة (خطأ فادح) (.)fatal error
نظم التشغيل
/7الترجمة ()Buffering
إ ن سرعة أجهزة الدخال والخراج ل تقارن بس رعة ولهذا ربم ا يظ ل الحاس وب عاطل بعض الوق ت ف ي انتظار المدخلت من أجهزة الدخال وف ي انتظار إخراج ال بيانات بواسطة أجهزة الخراج .
نظم التشغيل
/7الترجمة ()Buffering
إ ن فكرة الترجم ة تهدف إل ي الس تفادة القصوى من وق ت الحاسوب وأجهزة الدخال والخراج وذلك بحجز موقع في الذاكرة للسجلت التي تتم قراءتها في انتظار المعالجة وتعرف هذه المواقع بمواقع الرجاء ()buffers
نظم التشغيل
/7الترجمة ()Buffering
وبهذا يمك ن لجهاز الدخال قراء ة عدة سجلت ووضعه ا ف ي مواق ع إرجاء المدخلت قب ل أ ن تدخل للمعالجة في وحدة المعالجة المركزية كما يمكن بعد إنها وحدة المعالجة المركزية من معالجة السجلت ثم إرسالها مباشرة إلي مواقع إرجاء المخرجات بدلً من انتظار وحدة الخراج لخراج تلك السجلت.
نظم التشغيل
/7الترجمة ()Buffering
ولك ن إذا كان ت س رعة الحاس وب كبيرة جدًا مقارنة بس رعة جهاز الدخال فإ ن مواقع إرجاء المدخلت س تكون دائم ا فارغ ة وم ن ث م ليست ذات جدوي وكذل ك إذا كان ت س رعة الحاسوب كبيرة جدا مقارنة بسرعة جهاز الخراج
نظم التشغيل
/7الترجمة ()Buffering
فإ ن مواق ع إرجاء المخرجات س تكون ممتلئة وس يضطر الحاس وب للنتظار عاطل حتى تفرغ تلك المواقع .إذن فكرة الدخال لن تكون مفيدة إل إذا كانت سرعة أجهزة الدخال والخراج مقاربة لسرعة الحاسوب في التعامل مع السجلت .
نظم التشغيل
/7الترجمة ()Buffering
ولما كانت سرعة الحاسوب عادة أكبر من سرعة أجهزة الدخال والخراج ل بس رعة الحاسوب ولك ن ف ي بع ض الحيان ربما تكون عمليات الحوسبة المطلوبة على السجلت عالية جدا وفي هذه الحال ة س تكون مواقع إرجاء المدخلت ممتلئة
نظم التشغيل
/7الترجمة ()Buffering
ومواقع إرجاء المخرجات خالية بسبب الحوسبة العالي ة المطلوب ة م ن وحدة المعالج ة المركزية . بهذا يمك ن القول إ ن فكرة الرجاء أ و الترجئة يمكن أن تعالج بعض المشكلة ولكن لن تعالج كل المشكل ة بس بب الفوارق العالي ة بي ن سرعة الحاس وب وسرعة أجهزة الدخال والخراج وبسبب نوع الحوسبة المعقدة المطلوبة أحيانا .
نظم التشغيل
/7الترجمة ()Buffering
لمعالج ة مشكل ة الفوارق العالي ة بي ن سرعة الحاسوب وأجهزة الدخال والخراج يتم استخدام وسائط تخزينية أعلى سرعة مثل الشريط وتخزين البيانات عليه بعد إدخالها بواسطة جهاز الدخال
نظم التشغيل
/7الترجمة ()Buffering
ث م يقوم الحاس وب بالتعام ل م ع الس جلت في الشريط ومعالجتها ثم يقوم بإخراج البيانات على الشريط قبل إخراجها بواسطة جهاز الخراج وهذه off-line تعرف بالمعاملة غير النية ( operationموضحة في الشكال التالية) .
وحدة المعالجة المركزية الماملة النية مع مواقع الرجاء
الطابعة
إرجاء المخرجات
إرجاء المدخلت
وحدة الدخال
وحدة المعالجة المركزية
الطابعة
الشريط
الشريط
وحدة الدخال
المعاملة غير النية باستخدام الشريط القرص
الطابعة
وحدة إدخال
نظم التشغيل
/7الترجمة ()Buffering
لقد تم تحسين فكرة المعاملة غير النية باستخدام القراص ،والقراص بالطب ع له ا ميزاته ا على الشرطة في أنها ل تشترط التعامل المثالي .مثل ل يمك ن عل ى الشري ط الكتاب ة والقراء ة ف ي وقت واحدة فل يمك ن أ ن يت م إدخال ال بيانات عليه بواسطة وحدة إدخال
نظم التشغيل
/7الترجمة ()Buffering
وف ي نف س الوق ت قراء ة ال بيانات من ه بواسطة الحاس وب أ و وحدة المعالج ة المركزية لتفوم بمعالجته ا ،ولك ن القرص يعال ج هذه المشكلة حيث يمك ن الكتابة عليه والقراءة منه آنيا حيث يقوم نظام التشغي ل بوض ع مدخلت ك ل عم ل في جدول على التوالي الول فأول ،
نظم التشغيل
/7الترجمة ()Buffering
ويقوم الحاسوب بقراءة تلك المدخلت حسب طلب ال برنامج ،ث م يقوم بنق ل المخرجات إل ي مساحة إرجاء المخرجات ليت م كتابته ا عل ى القرص لتتم طباعتها على التوالي الول فالول .هذه الطريقة تسمي المعاملة النية المشتركة (. )spooling
نظم التشغيل
/7الترجمة ()Buffering
في الواقع إن المعاملة النية المشتركة هي نفس فكرة الترجم ة م ع اس تخدام القرص بدل عن الذاكرة مما يمكن من تخزين الملفات بعد إدخالها في انتظار المعالج ة أ و تخزي ن الملفات بعد المعالج ة ف ي انتظار لخراج وبهذا ل ن ينتظر الحاس وب عاطل لدخال مدخلت أو عاطل لخراج مخرجات .
نظم التشغيل
/7الترجمة ()Buffering
وهنا يمكن إدخال مدخلت عمل وإخراج مخرجات عمل آخر أو معالجة عمل آخر في نفس الوقت. أم ا ف ي حال ة الترجئ ة فل يت م إرجاء مدخلت أو معالج ة برنام ج أ و إرجاء مخرجات إل لنفس العمل إذ ل يمكن تجاوز عمل إلي عمل آخر في الدخال أو المعالجة أو الخراج .
نظم التشغيل
/7الترجمة ()Buffering
كذل ك م ن المميزات الهام ة للمعامل ة النية المشترك ة ه و أن ه بإمكان نظام التشغيل إعطاء أولوي ة لبع ض العمال عل ى الخرى في الدخال أو المعالجة أو الخراج .
نظم التشغيل
/8البرمجة المشتركة ( ) Multi Programming
تعمل البرمجة المشتركة على تقليل الوقت الضائع من الحاس وب ،فإذا كان الحاس وب يقوم بمعالجة برنامج عمل معين ،وهناك بيانات طلبها البرنامج ول زال ت وحدة الدخال تعم ل عل ى إدخال تلك ال بيانات فإ ن الحاس وب س يظل متعطل في انتظار تلك البيانات إذا كان بطريقة البرمجة المفردة،
نظم التشغيل
/8البرمجة المشتركة ( ) Multi Programming
أما إذا كان يعمل بطريقة البرمجة المشتركة فإن هناك عدة برام ج بالذاكرة ف ي انتظار المعالجة بالحاسوب .ومن ثم لن ينتظر الحاسوب عاطل بل سينقل فورا إل ي ال برامج التال ي ويقوم بمعالجته أما ذلك البرنامج الذي لم تكتمل مدخلته فسيعود إلي آخر الصف بالذاكرة وينتظر دوره ،
نظم التشغيل
/8البرمجة المشتركة ( ) Multi Programming
فإذا جاء دوره وقد اكتملت بياناته ستتم معالجته وإذا ل م تكتم ل بيانات ه س تتم معالجت ه حت ى لحظة الحاجة لمزيد من البيانات وإبقائه عند ذلك الحد ثم النتقال للبرنامج التالي .
نظم التشغيل
/8البرمجة المشتركة ( ) Multi Programming
تعت بر البرمج ة المشترك ة م ن أه م ميزات نظم التشغي ل الحديث ة وق د ت م تطويره ا لعطاء خدمة مريح ة للمس تخدم واس تخدام أمثل لمكانات الحاسوب ومن تلك التطورات الخدمة الدورية وهي أنه إذا تجاوز أي برنامج زمن معين فإن الحاسوب يوق ف معالجت ه ويبدأ ف ي معالج ة ال برنامج التالي ويعود ذلك البرنامج إلي آخر الصف .
نظم التشغيل
/8البرمجة المشتركة ( ) Multi Programming
إ ن هذه الطريق ة تضم ن إنهاء العمال القصيرة فورا وعدم تعطيله ا بس بب العمال الطويلة .كما أنها تتجاوز تلقائيا أخطاء البرامج فإذا كان هناك برنامجا به خطأ أدي إي دوار غير نهائي فإنه لن يؤثر في العمال الخري أو يؤدي إلي تأخرها،
نظم التشغيل
/8البرمجة المشتركة ( ) Multi Programming
إذ أنه بعد مضي بعض الوقت سيضطر الحاسوب إل ي إيقاف ذل ك العم ل وعم ل رس الة للمبرمج مفادها بأن هناك خطأ فادحا في ذلك البرنامج .
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك) المعالج ة العمال أ و
الخدمية لق د أت ت فكرة حزم ة لمعالج ة مشكل ة إدخال وإخراج ال برامج المساعدة والمترجمات الت ي يس تخدمها الم برمجون ،حي ث يتم إدخال أعمال المبرمجين التي تستخدم نفس المترجمات أو البرامج المساعدة في شكل حزمة مع بعضها حتى يت م توفي ر وق ت إنزال وإعادة المترجمات والبرامج المساعدة من الشريط مع كل برنامج على حده .
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك) أصبح القراص
بالمكان ولك ن بع د تطور تقني ة إنزال وإعادة أي مترجم أو برنامج مساعد يحتاج إلي ه المس تخدم عل ى الفور م ن وإل ي القرص. فإنزال ال بيانات م ن القرص أ و إعادته ا إلي القرص ل يتم كما يحدث في الشريط بقراءة كل بيانات الشريط على التوالي
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك) المطلوب ة ال بيانات
ثم حت ى يت م الحص ول عل ى تحوي ل الشري ط م ن حال ة القراء ة إل ي حالة التخزي ن ليت م إعادة تل ك ال بيانات إل ي الشريط وإنم ا يت م ذل ك مباشرة بواس طة المؤش ر الرأسي للقرص الذي يقفز مباشرة إلي موقع البيانات أو البرنامج المساعد أو المترجم المطلوب
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك)
لتتم قراءته بواسطة الحاسوب كما يقفز مباشرة إلي المواقع الخالية ليتم تخزين البيانات المطلوب تخزينها .
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك)الحزمي ة للمعالج ة
حيث بهذا ل م تع د هناك حاج ة أصبح كل مستخدم يتعامل مباشرة مع الحاسوب مس تخدما لوحة المفاتيح لدخال البرامج وإدخال ال بيانات والشاش ة لس تقبال رس ائل الحاسوب والمخرجات أو القرص لتخزين البرامج والبيانات واستدعاء البرامج المساعدة والترجمات وغيرها
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك)
كم ا يمك ن للمس تخدم ع ن طري ق لوح ة المفاتيح إعطاء الحاسوب أوامر متاحة من نظام التشغيل تمكن ه م ن التعام ل مع أجهزة الدخال والخراج الخرى كالماس حة والطابع ة والراسمة والنواع المختلفة من القراص والشرطة .
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك)
هذه الطريق ة تعرف بنظام التخاط ب المباشر ([ ) Interactive systemلك ن تظل هناك حاجة للمعالجة الحزمية في حالة العمال الكبيرة الت ي تحتاج لزم ن طوي ل لمعالجته ا بواسطة الحاسوب ول توجد حاجة للمستخدم على الشاشة لمراقبتها او للتخاطب مع الحاسوب بشأنها
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك) حزمة شكل
ثم الذهاب فبإمكانه إرسال العمل في لقضاء أعمال أخري إل ي حي ن إنهاء الحاسوب لذلك العمل ،لكن الواقع أنه ل توجد حزمة ،إنما هنالك عمل واحد فقط يخص المستخدم كما أنه ل توجد ضرورة لوضع العمال في شكل حزمة مع وجود القرص كما أوضحنا سابقا] .
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام البرمج ة بي ن المشترك)
المشتركة لهذا جاء ت فكرة الجم ع والتخاط ب المباش ر م ع الحاس وب حي ث يقوم كل مس تخدم بإرس ال عمل ه ويقوم الحاس وب بترتيب هذه العمال عل ى التوال ي الول فالول ولكنه ل يعط ي أ ي عم ل الزم ن الكاف ي الذي ينهي ه وإنما يعطي ه زم ن ثاب ت مثل 60/1ثاني ة فإذا ل م ينتهي ذلك العمل يعود وينتظر في آخر الصف وهكذا .
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك)
بهذا يتم إنهاء العمال القصيرة فورا ويتم تأخير العمال الك بيرة فالذي ن له م أعمال صغيرة ينتظرون عل ى الشاش ة لمتابع ة أعماله م والذين له م أعمال ك بيرة يمكنه م بع د إرس الها الذاهب لقضاء بعض العمال والعودة مرة أخري .
التشغيل نظم /9اشتراك وقت الحاسوب (الستخدام المشترك)
هذه الفكرة في نظم التشغيل تعرف باشتراك وقت الحاسوب .وطريقة الخدمة التي يقدمها الحاسوب في نظام اشتراك وق ت الحاس وب تعرف بالخدمة الدورية .
نظم التشغيل
/10النظمة اللحظية ( )Real-time systems
نعن ى بنظام ال بيانات اللحظي ة ه و تحكم نظام التشغي ل ف ي وحدة إدخال بيانات خاص ة بتطبيقات معين ة مث ل الحس ابات المس تخدمة في الجهزة الطبية أو الحساسات المستخدمة في قراءة البيانات البيئي ة أ و حس اسات التص نت أ و الحساسات المس تخدمة ف ي الص ناعات أ و المس تخدمة في التجارب العملية وغيرها .
نظم التشغيل
/10النظمة اللحظية ( )Real-time systems
ث م يقوم الحاس وب بتحلي ل تل ك ال بيانات ث م قد يوج ه بضب ط التحط م وطل ب قراء ة جديدة من الحس اسة أ و عم ل المعالجات عل ى تل ك البيانات وإعطاء المخرجات المطلوبة على الفور .
نظم التشغيل
/10النظمة اللحظية ( )Real-time systems
إذن أنظم ة ال بيانات اللحظي ة تختل ف م ن أنظمة اشتراك وق ت الحاس وب والتعام ل اللحظ ي مع البيانات وإذا لم يتم خلل وقت محدد سيودي ذلك إلي فشل النظام .وعليه فل مجال لنتظار العمال في صف المعالجة كما هو الحال في اشتراك وقت الحاسوب .
نظم التشغيل
/11تطور أنظمة التشغيل
/1نظام المعالجة الحزمية الطابعة
وحدة المعالجة المركزية
نظم التشغيل
/11تطور أنظمة التشغيل
/2نظام التخاطب المباشر مع الحاسوب الشاشة
نظم التشغيل
/11تطور أنظمة التشغيل
/3نظام اشتراك الزمن شاشة
شاشة
شاشة
وحدة المعالجة المركزية
نظم التشغيل
/11تطور أنظمة التشغيل
/4النظام اللحظي تحكم
وحدة المعالجة المركزية
حساسة
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
بدلً م ن اس تعمال وحدة معالج ة مركزية واحدة جاءت فكرة أن تكون هناك وحدة معالجة مركزية رئيس ة ومعالجات أخري مس اعدة له ا تعنى بأعمال محددة مثلً أن تكون هناك وحدة معالجة مركزي ة مس اعدة متفرغ ة للتعام ل مع وحدات الدخال والخراج
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
ووحدة معالج ة مركزي ة أخري متفرغ ة للتعامل مع شبكات التص ال وتظ ل وحدة المعالجة المركزي ة الرئيس ة متفرغ ة لمعالج ة البرمجيات وتنفي ذ العمال .هذه الفكرة تحف ظ زم ن المعالج الضائع في التنقل بين وحدات الدخال والخراج والتصال والمعالجة .
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : نخل ص م ن س رد هذا التطور التاريخ ي في بناء نظ م التشغي ل أ ن ذل ك ت م لتحقي ق أهداف نظم التشغي ل ف ي الس تفادة القص وى من إمكانات الحاس وب وإعطاء الخدم ة الممتازة للمستخدم سواء أكان ذل ك في تس هيل عملي ة الس تخدام أم في إنهاء الخدمة في أقل وقت ممكن .
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : لق د ت م ذل ك أولً باس تخدام فن ي تشغي ل مدربين عل ى إنزال وإخراج الشرط ة الممغنطة ليقوموا بهذا العم ل ف ي أق ل وق ت وليحفظوا وقت الم برمجين للبرمج ة بدلً من هذه العمال اليدوية.
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : ثم تل ذلك فكرة حزم العمال حيث يقوم المشغل بوض ع العمال المتشابه ة ف ي شكل مجموعات ويت م تنفيذه ا مجموع ة تل و الخرى ويقوم فني التشغي ل بإدخال أعمال الم برمجين داخل المجموعة يدويا .
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : تل ذل ك أ ن يت م إدخال ك ل أعمال الم برمجين في المجموع ة الواحدة مرة واحدة ،وهناك أوامر تقوم بالفص ل بي ن عم ل وآخر وتحدد المترجمات المطلوبة لي عمل ،ومن ثم يتم تنفيذ كل العمال داخ ل المجموع ة تلقائي ا دون الحاج ة لفني التشغيل وهذه كانت بداية فكرة نظام التشغيل .
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : وق د س مي ال برنامج المحتوي لهذه الوامر بالمراق ب المقي م .ثم طورت هذه الفكرة في صناعة الحواسيب حيث صممت ثنائية تصل بين أوامر المبرمج أو المستخدم وأوامر المشرف أو المراقب
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : وذل ك لتجاوز أخطاء الم برمجين وتدخله م في أعمال المشرف أو ضبطهم في التعامل مع أجهزة الدخال والخراج وتجاوز صلحياتهم في التعامل مع الذاكرة ووحدة المعالجة المركزية.
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : بعد ذلك تمت إضافة ساعة الحاسوب عند صناعة الحاس وب لمن ع خط أ الدوار اللنهائي الذي يحدث عادة مع المبرمجين .ثم تم إضافة حالتي المستخدم والمشرف وتحدي د الص لحيات وحماية الذاكرة. وبتص ميم الس اعة بدأ تص ميم نظام التشغيل بمفهومه الحديث .
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : فأدخلت فواصل الترجئة لتقليل الزمن الضائع من وحدة المعالج ة المركزية .ثم أدخلت فكرة المعامل ة غي ر الني ة بإدخال الشرط ة كوسائط بي ن وحدات إدخال والخراج وبين المعالجات المركزية ،
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : وأخيرا بعد تطور تقنية الشراف ثم إدخال فكرة المعامل ة الني ة المشترك ة لم ا ف ي الشراف من ميزة التعامل المباشر .
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : لقد تم تطوير فكرة المعاملة النية المشتركة إلي البرمجة المشتركة حيث أصبح الحاسوب يحتفظ بعدة برام ج ف ي الذاكرة ف ي وق ت واح د ويعالج على التوالي .
نظم التشغيل
/12أنظمة المعالجات المشتركة ()Multiprocessing systems
الخلصة : وأخيرا فكرة البرمج ة المشترك ة إل ي الستخدام المشترك الذي يمك ن مئات المس تخدمين من التخاط ب م ع الحاس وب ومعالج ة برامجه م في وقت واحد.
نظم التشغيل
/13نظام التشغيل يونيكس
لن يونيك س يمث ل الس اس لك ل أنظم ة التشغيل الحديث ة فلب د م ن أعطاء بع ض الوام ر الهامة المستخدمة في هذا النظام .في البداية يجب أن يدخل اسمه وكلمة سره البتدائية للمشرف على النظام لنه عندما يريد استخدام النظام بالمر :
نظم التشغيل
/13نظام التشغيل يونيكس
* أدخل اسمك المعرف لدي المشرف Login :Ali بع د الضغ ط عل ى مفتاح "أدخ ل " سوف يظه ر لك المر : * أدخل كلمة السرPassword :Sudani
نظم التشغيل
/13نظام التشغيل يونيكس
أذا أخطأت في الس م س تظهر لك رس الة توضح بأن هذا المستخدم غير معروف ،وعليك إعادة كتاب ة الس م أم ا إذا أخطأ ت ف ي كلم ة السر فسيظهر لك خطأ ويطلب منك إدخال كلمة السر مرة أخري .
نظم التشغيل
/13نظام التشغيل يونيكس
وإذا كان الس م ص حيحاً وكلم ة الس ر صحيحة سوف تظه ر ل ك رس الة ترحي ب ويكون الحاسوب في انتظار أوامرك وإذا كتبت أي أمر غير معروف مثل " "eat footسيرد عليك الحاسوب : هذا المر غير موجود
eat : command not found
نظم التشغيل
/13نظام التشغيل يونيكس
فيما يلي سنسرد بعض الوامر الهامة في يونيكس: المر : pwd يظه ر الدلي ل الحال ي ويس تفاد من ه ف ي تحديد موقعك قبل قيامك بأي عمل في الدليل الحالي
نظم التشغيل
/13نظام التشغيل يونيكس
المر : pwd $ pwd $ /home/ ali هذا يعنى أن الدليل الحالي هو home / ali/
نظم التشغيل
/13نظام التشغيل يونيكس
المر :passwd لتغير كلمة السر (يوصي بأن يغير المستخدم كلمة السر حتى ل تتسرب) ويتم ذلك بالمر . $ passwd Changing password for ali Old password : New password :
نظم التشغيل
/13نظام التشغيل يونيكس
س يرد ل ك الحاس وب إدخال كلم ة الس ر القديمة حتى يتأكد أنك نفس الشخص المخول له تغيير كلمة السر بعد إدخال الكلمة القديمة والتأكد منها يطل ب من ك الحاس وب إدخال كلم ة السر الجديدة وتص بح هذه ه ي كلم ة الس ر الت ي تمكن ك من دخول الحاسوب .
نظم التشغيل
/13نظام التشغيل يونيكس
المر :mkdir لنشاء الدلة الفرعية في الدليل الحالي بعد أن أمنت نفسك يمكنك الن تنظيم بياناتك ويتم ذلك بجع ل ك ل الملفات الت ي له ا علق ة م ع بعضها البعض تكون في دليل واحد خاص بها .
نظم التشغيل
/13نظام التشغيل يونيكس
المر :mkdir مثل ملفات قس م الحاس وب تكون ف ي دليل الحاس وب " "computerيت م تكوي ن ذلك الدليل على النحو التالي : $mkdir computer
نظم التشغيل
/13نظام التشغيل يونيكس
المر :cd للتنقل بين أدلة النظام ،فإذا أردنا النتقال من الدليل الحال ي وه و" "aliإل ي الدلي ل الحاسوب " "computerفإن ذلك يتم بالمر : $ cd computer $ pwd $ /home/ali/computer
نظم التشغيل
/13نظام التشغيل يونيكس
المر :cd أ ي أ ن أوامرن ا أص بحت الن ف ي الدلي ل الفرعي " "computerوإذا أردنا العةدة مرة أخري إلي الدليل " "aliفإننا نكتب المر $ cd .. $ pwd $ /home/ali
نظم التشغيل
/13نظام التشغيل يونيكس
إذا عملنا دليل آخر للرياضيات يسمي ""math
$mkdir math
نظم التشغيل
/13نظام التشغيل يونيكس
المر : ls لمعرف ة ك ل الملفات والدل ة الموجودة ف ي الدليل الحالي $وهو aliفإن ذلك يتم بالمر: ls . ..
Computer math $
نظم التشغيل
/13نظام التشغيل يونيكس
المر :cp يستخدم لنسخ ملف في ملف آخر أو إلي دليل آخر. إذا كان هناك ملف في الدليل الحالي يسمي file1 ونري د نس خه ف ي المل ف file2فيت م ذل ك بالمر التالي
$ cp file1 file2
نظم التشغيل
/13نظام التشغيل يونيكس
المر :cp أم ا إذا أردن ا نس خه ف ي الدلي ل الفرعي computerفيتم كالتي:
$ cp file1 computer
نظم التشغيل
/13نظام التشغيل يونيكس
المر :cp أما إذا كان الملف غير موجود فإنك ستحصل على رسالة خطأ بالشكل
$ cp file3 file2 cp: cannot access file3
نظم التشغيل
/13نظام التشغيل يونيكس
المر : mv يقوم هذا المر بنقل أو إعادة تسمية الملفات والدلة
نظم التشغيل
/13نظام التشغيل يونيكس
المر : mv معلومة :
عملي ة النق ل تختل ف ع ن عملي ة النس خ ،لن النسخ يبقي الملف الصلي كما هو وينشئ ملفا آخ ر مماث ل ل ه بينم ا النق ل ينشئ ملفاً آخرا ويلغي الصلي .
نظم التشغيل
نظام التشغيل/13 يونيكس
$ ls file1 file2 $ mv file1 file4 $ ls file4 file2
نظم التشغيل
/13نظام التشغيل يونيكس
المر : rm يقوم هذا المر بحذف الملفات
$ ls file4 file2 $ rm file4 $ ls file2
نظم التشغيل
/13نظام التشغيل يونيكس
المر : rmdir يقوم هذا الم ر بحذف الدل ة بشرط أن تكون هذه الدلة فارغة
نظم التشغيل
نظام التشغيل/13 يونيكس
$ rmdir computer rmdir : computer not empty $ cd computer $ rm file1 $ cd .. $ rmdir computer
نظم التشغيل
/13نظام التشغيل يونيكس
المر : more يقوم هذا الم ر بعرض مل ف نص ي عل ى الشاشة بشكل صفحات متتالية يتم التوافق فيما بينها وهذ الم ر يشب ه الم ر catمع اختلف ف ي التوقف بين الصفحات .
$ more file2
نظم التشغيل
/13نظام التشغيل يونيكس
المر : clear يقوم هذا الم ر بمس ح الشاش ة وإظهاره ا خالية مع وض ع المؤش ر وإشارة النظام ف ي الزاوية العليا اليسارية للشاشة . $ clear
نظم التشغيل
/13نظام التشغيل يونيكس
المر : exit يستخدم هذا المر إنهاء عمل إجراء ما والخروج من مستوي إلي مستوي أعلى منه . $ exit
نظم التشغيل
/13نظام التشغيل يونيكس
المر : factor يقوم هذا الم ر بإيجاد العوام ل الولية للعداد الصحيحة الموجبة
نظم التشغيل
/13نظام التشغيل يونيكس
$ factor 150 2 3 5 5
$ factor 72 2 2 3 3 3
نظم التشغيل
/13نظام التشغيل يونيكس
المر : rev يقوم هذا الم ر بعك س ترتي ب الحروف ف ي كل سطر م ن مل ف م ا فمثلً إذا كان الملف file2 يحتوي على العبارة التالية : ””programming in logic
نظم التشغيل
نظام التشغيل/13 يونيكس
: rev المر يقوم هذا المر بعكس العبارة لتصبح ”Cigol ni gnimmargorp” $ cat file2 programming in logic $ rev file2 Cigol ni gnimmargorp
نظم التشغيل
/13نظام التشغيل يونيكس
المر : cal يستخدم هذا المر لظهار التقويم الميلدي
نظم التشغيل
/13نظام التشغيل يونيكس
المر : cal
$ cal 3 2002 March 2002 Th F S 1 2 7 8 9 14 15 16 21 22 23 28 29 30 31 $
W 6 13 20 27
Tu 5 12 19 26
M
S
4 11 18 25
3 10 17 24
نظم التشغيل
/13نظام التشغيل يونيكس
المر : cal عن د اس تخدامه م ن غي ر تحدي د الشهر والعام سوف يقوم بإظهار التقوي م الميلدي للشهر الحالي فقط .
نظم التشغيل
/13نظام التشغيل يونيكس
المر :grep إذا أردت البح ث ع ن س لسلة م ن الحروف في ملف أو أكثر من ملف سوف يتم ذلك بهذا المر وس تكون عملي ة البح ث س طراً سطراً .فمثل إذا كان :المل ف ” ”file1يحتوي على المعلومات التالية:
نظم التشغيل
نظام التشغيل/13 يونيكس
Mohammed Osman Shemma Hassan Rowa Abd Allah
:” يحتوي على المعلومات التاليةfile2” الملف Mohammed Osman Hadeel Mamoon
نظم التشغيل
نظام التشغيل/13 يونيكس
$ cat file1 Mohammed Osman Shemma Hassan Rowa Abd Allah $ cat file2 Mohammed Osman Yousif Ali $ grep "Mohammed Osman" file1 Mohammed Osman $ grep "Mohammed Osman" file1 file2 file1 : Mohammed Osman file2 : Mohammed Osman
نظم التشغيل
/13نظام التشغيل يونيكس
المر : man إذا أردت المس اعدة م ن يونيكس بتذكيرك بالوام ر أ و طريق ة اس تخدامها فإ ن هذا المر يمكنك من ذلك فمثلً : man ls $
نظم التشغيل
/13نظام التشغيل يونيكس
المر : man يت م عرض ك ل المعلومات الخاص ة باستخدام الم ر lsويمك ن تكرار هذا الم ر م ع جميع الوامر الخري للتأكد منها .
نظم التشغيل
/14نظام التشغيل لينوكس
بع د تطور أنظم ة الحواس يب الشخص ية والتي بدأ ت ف ي اس تخدام المعالجات ذات ال 32ثنائية لم يع د نظام التشغي ل دوس مناس با لتشغيلها التشغي ل المث ل ،فت م اس تبداله بنظام التشغيل يونيك س ونظام التشغي ل وندوز إ ن ت ي الشبيه بيونيكس .
نظم التشغيل
/14نظام التشغيل لينوكس
ولكن أسعار ووندوز إن تي غير مجدية لكثير من مبرمجي ومستخدمي الحواسيب من ثم بدأ هؤلء الم برمجون والمس تخدمون يبحثون ع ن بدائل أخرى كان أنسبها نظام التشغيل لينوكس .
نظم التشغيل
/14نظام التشغيل لينوكس
لق د ت م تص ميم نظام التشغي ل ليونيك س بواسطة طال ب فنلندي يدعى لينوس تورفالدس عام 1991م بخواص يونيكس ثم طرحه مجانا لعامة الناس عل ى النترن ت وطل ب م ن ك ل المبرمجين ةنص ممي نظ م التشغي ل المشارك ة ف ي تطوير هذا النظام مما أدي إلي تطويره سريعا .
نظم التشغيل
/14نظام التشغيل لينوكس
إذن نظام لينوك ي ه و نظام تشغي ل غير تجاري متاح مجان ا للس تخدام ويشارك الجمي ع في تطويره من خلل مجموعات عمل عبر النترنت. لقد تم طرح النسخة العملية الولي للينوكس في مارس 1994م ث م النس خة الثاني ة ف ي يونيو 1996م .
نظم التشغيل
/14نظام التشغيل لينوكس
يتميز لينوكس : بإمكاني ة التعام ل م ع ك ل ال برمجيات الت ي تم تص ميمها عل ى أنظم ة التشغي ل الخري مثل يونيكس ووندوز مايكروسوفت ودوس ومع لغات البرمجة المختلفة .
نظم التشغيل
/14نظام التشغيل لينوكس
يتميز لينوكس : كذل ك التعام ل م ع أكس س وندوز بخواصه المتطورة في التخاطب المباشر مع ربط الصور. كما له خاصية توسع الذاكرة .
نظم التشغيل
/14نظام التشغيل لينوكس
يتميز لينوكس : لقد استفاد لينوكس من النسخة القياسية لنظام التشغيل يونيكس مما مكنه من التعامل مع بيئات يونيكس المختلفة والحتفاظ بخاصية يونيكس في الس تخدام المشترك والبرمج ة المشتركة ()multiprogramming
نظم التشغيل
/14نظام التشغيل لينوكس
يتميز لينوكس : هذا إضاف ة إل ي إمكاني ة التعام ل مع تقنيات وبرتوكلت شبكات التصال المختلفة تي سي بي /آي بي ))TCP/IP
نظم التشغيل
/14نظام التشغيل لينوكس
أولً :استخدامات لينوكس : ثنائي ة بمرون ة ل تقيده عل ى معماري ة بعينه ا فه و الن يمكن استخدامه على كل المعماريات المتاحة والمستقبلية بسهولة ويسر كما أن له القدرة في التعامل مع المعالجات المركب ة()multiprocessingوالتعام ل اللحظي ((. real time
نظم التشغيل
/14نظام التشغيل لينوكس
أولً :استخدامات لينوكس : إذن يمك ن القول أ ن نظام لينوك س يمكن اس تخدامه ف ي ك ل التقنيات المتاح ة والمستقبلية لجهزت الحواس يب بإمكانات عالي ة تفوق كل النظمة التشغيل الحالية .
نظم التشغيل
/14نظام التشغيل لينوكس
أولً :استخدامات لينوكس : يمك ن اس تخدام لينوك س م ع المخدمات ومع الطرفيات وم ع أجهزة الذكاء الصطناعي (الروبوتات) والحس اسات وأجهزة التحك م ومع أجهزة الحواسيب الكبري .
نظم التشغيل
/14نظام التشغيل لينوكس
أولً :استخدامات لينوكس : ه ذ إضاف ة إل ي اس تخدامات لينوكس المتطورة على برمجيات خدمات النترنت وفي قدرته على حماي ة ال بيانات بواس طة م ا يعرف بالحوائط النارية (.)walls fire
نظم التشغيل
/14نظام التشغيل لينوكس
أولً :استخدامات لينوكس : إن للينيوك س المرون ة الكافي ة ف ي التعام ل مع حاسوب ضعيف المكانات مثل معالج انتل 386 وذاكرة 4م ب فق ط وإذا أردن ا التعام ل مع الرس وم الت ي تحتاج لمكانات ذاكرة أك بر فإننا نحتاج كحد أدني إلي 8م ب
نظم التشغيل
/14نظام التشغيل لينوكس
أولً :استخدامات لينوكس : وتزي د الحاج ة إل ي ذاكرة أك بر ومعالج أقوي إذا أردنا تعامل أدق مع الرسوم وقد يطلب لينوكس حسب متطلبات الرسومات والبرمجة 64م ب أو 128م ب هذا بالطب ع مع معالجات بنتيوم 3 كحد أدني في هذه الحالت .
نظم التشغيل
/14نظام التشغيل لينوكس
ثانيا :تشغيل لينوكس : يمكن الحصول على لينوكس مجانا على أقراص مرنة أو أقراص مضغوطة وحجمه حوال 40م ب في نس خته الص غري (أي لي س بها إمكانات الرس ومات) وحوال ي 120م ب ف ي النسخة الكبري .
نظم التشغيل
/14نظام التشغيل لينوكس
ثانيا :تشغيل لينوكس : لذا يتض ح أن ه لي س عملي ا نس خه في أقراص مرن ة؛ لن ذل ك يتطل ب كح د أدن ي حوالي 100 قرص مرن ،لذا م ن العمل ي والجدي أ ن يتم اقتناء لينوكس على قرص مضغوط .
نظم التشغيل
/14نظام التشغيل لينوكس
ثانيا :تشغيل لينوكس : عند إنزال لينوكس من القرص إلي الجهاز هناك أس ئلة س وف يطل ب من ك لينوك س الجابة عليها تخص التقنية المستخدمة في ذلك الجهاز .
نظم التشغيل
/14نظام التشغيل لينوكس
ثانيا :تشغيل لينوكس : أولً سوف يسألك لينوكس عن متحكمات القراص الص لبة المس تخدمة وه ي عادة المتحك م الول به قرص أس اسي Cوقرص يس مي Dوالمتحكم الثان ي وب ه قرص رئي س يس مي Eوقرص تابع يسمي .Fةهذه المتحكمات هي في الغالب من نوع . IDE
نظم التشغيل
/14نظام التشغيل لينوكس
ثانيا :تشغيل لينوكس : هنالك متحكمات من نوع آخر يعرف ب SCSIلكنها غي ر منتشرة م ع الحواس يب الشخص ية .بع د ذلك سوف يس أل لينوك س ه ل تري د وض ع نظام التشغيل في قرص منفصل أم مع النظمة الخري والفضل أن يكون في قرص منفصل وفي القرص . C
نظم التشغيل
/14نظام التشغيل لينوكس
ثانيا :تشغيل لينوكس : وربم ا يس أل كذل ك لينوك س أثناء النزال عن عدد المسارات في القرص وعدد السطح وعدد المقاطع في المس ار الواحد وهذه المعلومات تكون عادة مطبوعة علة القرص من الخارج .
:DOS , UNIX بعض أوامر لينوكس الهامة وما يقابلها في:ًثالثا DOS Dir Cls Del Copy Move / rename Type Cd More > file
UNIX Is Clear Rm Cp Mv Cat Cd More file
LUNIX Ls/ die Velar Rm Cp Mv Vat Cd More file
Md Rd
Mkdir Emdir
Mkdir rmdir
الذكاء الصطناعي ولغة برولوق /1 مدخل
الذي يعني بالمعالجات الرياضية والمنطقية التي تجعل من الحاسوب آلة ذكية .
الذكاء الصطناعي ولغة برولوق /1 مدخل
ويعن ى بالذكاء القدرة عل ى اس تيعاب الحقائق وعلقاته ا م ع بعضه ا واس تخدام تل ك الحقائق والعلقات للتوص ل إل ي نتائ ج ص حيحة ومنطقية لقصى حد ممكن ،
الذكاء الصطناعي ولغة برولوق /1 مدخل
فعلي سبيل المثال إذا غذينا الحاسوب بصورة أي طال ب ع ن طري ق الكاميرا الرقمي ة وم ع صورة الطالب نداء صوتي لسم الطالب فإننا نستطيع أن نجع ل الحاس وب ينادي اس م الطال ب كلم ا وقف الطالب أمامه ويتم ذلك على النحو التالي :
الذكاء الصطناعي ولغة برولوق /1 مدخل
عند وقوف الطالب أمام الحاسوب يقوم الحاسوب بأخذ صورة رقمية لذلك الطالب ثم مضاهاة تلك الص ورة م ع الص ورة الت ي تغذيت ه بها وينادي الحاسوب الطالب متى ما تطابقت تلك الصورة مع صورة الطالب والتي سبق أن تم تخزين نداء اسم الطالب معها .
الذكاء الصطناعي ولغة برولوق /1 مدخل
الشطرن ج والتحرك الص حيح مقاب ل حرك ة من اللع ب المناف س ،وبهذا ل يمك ن أن ينهزم الحاس وب أمام اللع ب المنافس وإذا كان المنافس ماهراً فإن اللعبة لن تنتهي أبدا .
الذكاء الصطناعي ولغة برولوق /1 مدخل
ومثال آخر يمكن أن ينصح الحاسوب بعدم السفر بالسيارة بناء علي بيانات مناخية يتم تغذيته بها وتمكنه من تحليل المناخ والتنبؤ بحدوث أمطار غزيرة أو رياحا كثيفة .
الذكاء الصطناعي ولغة برولوق /1 مدخل
مثال آخ ر ه و أ ن يت م تص نيع آل ة تشب ه النسان به ا كاميرا رقمي ة وحاس وب يكون الحاسوب بمثاب ة الم خ والكميرا بمثاب ة العي ن فمت ى ما صورت الكاميرا جس ما أمامه ا يوج ه الحاسوب تلك اللة بالتوجه يميناً أو شمالً أو للخلف
الذكاء الصطناعي ولغة برولوق /1 مدخل
كما يمكن تعقيد هذه اللة بحيث رأت صورة أحد الطلب الذي ن س بق أ ن غذي ت بص ورهم فإنها تنادي الطال ب باس مه ان افس ح الطري ق ،كما يمك ن لهذه الل ة بأ ن تس تخدم في العمليات الخطيرة
الذكاء الصطناعي ولغة برولوق /1 مدخل
مثل القصف الجوي أو معالجة التسرب النووي أو إطفاء الحرائ ق أ و ف ي التجارب المؤث ر علي الصحة مثل التجارب النووية ذات الشعاع العالي أو التجارب الت ي تت م ف ي بيئ ة يس تحيل على النسان التعايش معها .
الذكاء الصطناعي ولغة برولوق
/2أهداف علم الذكاء الصطناعي وأمثلة لتطبيقاته
يهدف علم الذكاء الصطناعي إلي : تصميم وبرمجة آلت ذكية تقوم بتنفيذ العمال المطلوب ة منه ا بك ل دق ة مثل قيادة الطائرات ووصول الصواريخ للهداف المقصودة .
الذكاء الصطناعي ولغة برولوق
/2أهداف علم الذكاء الصطناعي وأمثلة لتطبيقاته
ورة تؤدي إلي إلي : الصطناعيبص الذكاءق وعلقته ا علمالحقائ ترجم ة يهدف نتائ ج منطقي ة إل ي تحقي ق أهداف ص حيحة مثل تحلي ل وتخزي ن كلمات وتركي ب اللغات لجل الترجم ة الفوري ة والتحلي ل وتخزين بيانات المجرمي ن لمعرف ة المتهمي ن ف ي جريم ة معين ة أو في التخطيط الدقي ق بناء عل ى تحليل لحج م ضخم من المعرفة والمعلومات .
الذكاء الصطناعي ولغة برولوق
/2أهداف علم الذكاء الصطناعي وأمثلة لتطبيقاته
يهدف علم الذكاء الصطناعي إلي : يمكن للحاسوب أن يلعب دور الخبير البشري في الفتوى ف ي مجال الخ برة فيقوم بتشخيص العطاب أ و المراض أ و الرشاد والنص ح أو التنبؤ أو التخطيط ....الخ.
الذكاء الصطناعي ولغة برولوق
/2أهداف علم الذكاء الصطناعي وأمثلة لتطبيقاته
يهدف علم الذكاء الصطناعي إلي : اس تخدام النماذج المحوس بة لدراس ة سلوكيات النسان أو الحيوان أو الحياء عموما.
الذكاء الصطناعي ولغة برولوق
/2أهداف علم الذكاء الصطناعي وأمثلة لتطبيقاته
النس ان الواعي الذكاءوب مثل ه علم الحاس يهدفتخدام اس مث لإلي : الصطناعي المتعاون – مث ل معرف ة الداخلي ن ف ي الماكن الحس اسة م ن خلل تحلي ل الص ورة أ و الصوت والس ماح للمأذون له م بالدخول أ و استخدام النسان اللي في إطفاء الحريق أو أعمال يدوية دقيقة (روبوت).
الذكاء الصطناعي ولغة برولوق
/2أهداف علم الذكاء الصطناعي وأمثلة لتطبيقاته
يهدف علم الذكاء الصطناعي إلي : استخدام الحاسوب في مساعدة النسان المعاق باس تخدامه ف ي التحك م ف ي ي د ص ناعية أ و رجل صناعية أو مساعدة قلب ضعيف الحركة .
الذكاء الصطناعي ولغة برولوق
/3أسس علم الذكاء الصطناعي
لتحقي ق أهداف عل م الذكاء الص طناعي التي ذكرناه ا ف ي الفقرة الس ابقة هناك مجموع ة من المعارف الضروري ة الت ي يج ب أ ن يل م بها مهندس برمجيات الذكاء الص طناعي أول تلك المعارف بالطبع هي نظم الحاسوب (تقنية أجهزة وتقنية برمجيات)
الذكاء الصطناعي ولغة برولوق
/3أسس علم الذكاء الصطناعي
وعلم المنطق والنظريات الرياضية في الحوسبة وعلم النفس أو تركيب النفس البشرية ونظريات التحك م اللكترون ي والنظريات الرياضي ة ف ي حل المشكلت إضافة إلي المعرفة بالقتصاد .
الذكاء الصطناعي ولغة برولوق
/3أسس علم الذكاء الصطناعي
في الغالب ل نجد شخصا يلم بكل تلك المعارف لذا كان تص ميم وبرمج ة أ ي نظام يقوم على الذكاء الص طناعي ه و عم ل مجموع ة خبراء وليس عمل فرد حتى نضمن نجاح التصميم الذي يتمكن فعل من التحكم في حرك ة النس ان اللي (روبرت)
الذكاء الصطناعي ولغة برولوق
/3أسس علم الذكاء الصطناعي
بناءً على خطة دقيقة وقدرة على الحساس بالنظر أو اللم س أ و بالش م أ و غيره ا من المؤثرات اللكترونية تمكنه من : تفسير اللغات النسانية المكتوبة أو المسموعة. ويت م ذل ك بأق ل تكلف ة ولتحقي ق أكبر فائدة اقتصادية ممكنة .
الذكاء الصطناعي ولغة برولوق /4لغات الذكاء الصطناعي
إن المدخل إلي الذكاء الصطناعي ل يتم إل بنوع خاص م ن اللغات الحاس وب العليا تعرف بلغات برمج ة المنط ق الت ي تس اعد ف ي جع ل الحاسوب يتعامل بطريقة منطقية أو كأنه آلة مدركة ،وبهذا تكون لغات برمج ة المنطق هي اللغات المناسبة في تطبيقات الذكاء الصطناعي .
الذكاء الصطناعي ولغة برولوق /4لغات الذكاء الصطناعي
إن كانت اللغات العالية الن تطورت لتلئم هندسة ال برمجيات بالتوج ه نح و الشيئيات مثل ++C وغيره ا فإ ن لغات برمج ة المنط ق أص لً صممت لتلئ م هندس ة ال برمجيات بالتوج ه نحو المطلوب أو نحو الهداف
الذكاء الصطناعي ولغة برولوق /4لغات الذكاء الصطناعي
وهذا ه و النوع م ن ال برمجيات الذي يحقق أغراض الذكاء الص طناعي إ ذ أ ن غاية الذكاء الصطناعي أن يدرك الحاسوب ما المطلوب منه أو م ا الهداف الت ي يج ب أ ن يحققه ا بناء على معلومات معينة أدخلت عليه ؟
الذكاء الصطناعي ولغة برولوق /4لغات الذكاء الصطناعي
إن أهم لغات الذكاء الصطناعي لغتان لغة لسب ( ) Lispولغ ة برولوق ( . )Prologلق د تم تص ميم لغ ة لس ب عام 1984م بمعهد ماس اشيوتس المشهور ب ( ). M .I .Tبمدينة بوس طن بالوليات المتحدة المريكي ة خصيصاً لتحقيق الغراض البرمجية للذكاء الصطناعي .
الذكاء الصطناعي ولغة برولوق /4لغات الذكاء الصطناعي
أم ا برولوق فق د ت م تص ميمها ف ي عام 1970م بجامعة مرسيليا بفرنسا بغرض برمجة المسائل المنطقي ة قب ل ظهور الذكاء الص طناعي بصورة واضح ة ،وم ن ث م أص بحت له ا قدرة عالي ة في برمج ة تط بيقات الذكاء الص طناعي تفوق تلك التي في لسب
الذكاء الصطناعي ولغة برولوق /4لغات الذكاء الصطناعي
إل أ ن لس ب ظل ت الكث ر اس تخداما لتطوره ا في أمريم ا أكث ر بلدان العال م اس تخداما للحاسوب . إننا لسنا في حاجة لمقارنة اللغتين ولكن لغرض هذا المنه ج س وف نكتف ي بوص ف مبادئ لغة برولوق وطريقة استخدامها مع أمثلة بسيطة من أمثلة الذكاء الصطناعي .
الذكاء الصطناعي ولغة برولوق /5لغة برولوق
لق د ت م تص ميم لغ ة برولوق( )PROLOGفي جامعة مارسيليا بفرنسا في عام 1970م بواسطة عال م الحاس وب الفرنس ي آلن كولمراور .وكلمة برولوق مشتقة من الحروف الثلث الولي لكلمة والحروف برمجة ()PROgramming الثلث الولي لكلمة منطق (. )LOGic
الذكاء الصطناعي ولغة برولوق /5لغة برولوق
إذن كلم ة برولوق ه ي اختص ار لكلمت ي البرمجة بالمنط ق أ و برمج ة المنط ق وهذه الخاص ية للغة برولوق – أي برمجة المنطق – تمكن من تحويل الحاسوب للة ذكية بمعنى له القدرة في تخزين مجموع ة حقائ ق ث م اس تخدام تل ك الحقائ ق في الوصول إلي نتائج وقرارات ذكية .
الذكاء الصطناعي ولغة برولوق /5لغة برولوق
مثل أ ن يت م تخزي ن ك ل المعلومات المتاح ة عن الخص ائص الس لوكية والخلفيات البيئية والجتماعية والمزجة الشخصية لكل الطلب .ثم بناء عل ى هذه المعلومات يقوم الحاس ب بتقسيم الطلب إل ي مجموعات ص غيرة متجانسة لغرض السكن في غرف مشتركة ،أو داخليات مشتركة.
الذكاء الصطناعي ولغة برولوق /5لغة برولوق
مثال آخ ر بأ ن يت م تخزي ن معلومات شرطي ة عن كل النشالين في الولية وتشمل المعلومات طريقة نشله م ،وأماك ن وجوده م ،وأعماره م ،وألوانهم، وأشكالهم ،فإذا حدثت شكوي نشل من مواطن يتم بناء عل ى بيانات المواط ن تحدي د أقرب النشالين تطابقا مع بيانات الشاكي،
الذكاء الصطناعي ولغة برولوق /5لغة برولوق
ثم تكمل الشرطة تحرياتها لتحديد النشال ،ونفس الطريق ة يمك ن أ ن تس تخدم ف ي تحدي د سارقي المتاجر والقتلة وغيرهم .
الذكاء الصطناعي ولغة برولوق /5لغة برولوق
العل م الذي يس اعد ف ي تحوي ل الحاس وب إل ي آلة ذكاء يعرف ف ي علوم الحاسوب بالذكاء الصطناعي ()Artificial Intelligence تس مي اللغات الت ي ت برمج الحاس وب ليكون آلة ذكي ة بلغات الذكاء الص طناعي وأه م لغ ة في الذكاء الصطناعي اليوم هي لغة برولوق .
الذكاء الصطناعي ولغة برولوق /5لغة برولوق
تعتبر لغات الذكاء الصطناعي عموما أكثر كفاءة من اللغات التقليدي ة مث ل بيزك وباس كال ونعني بالكفاء ة تقلي ل تنفي ذ ال برنامج وتقلي ل حجم التخزين في الذاكرة .
الذكاء الصطناعي ولغة برولوق /5لغة برولوق
لك ن ف ي المقاب ل يحتاج برنام ج لغة الذكاء الص طناعي إل ي مجهود ذهن ي أك بر م ن البرامج في تحدي د ك ل الحقائ ق وال بيانات الواقعية ( )Factsثم تنظيم تلك الحقائق وربطها ببعضها ( ) Rulesوتوجيهه ا لس تخلص النتائج والهداف المطلوبة (. )goals
الذكاء الصطناعي ولغة برولوق /5لغة برولوق
أم ا اللغات التقليدي ة فتقوم بتوجي ه الحاس ب إلي تنفي ذ المطلوب ف ي شك ل خطواط تس لسلية أو دوائ ر تكراري ة كم ا شرحن ا ف ي ذل ك في كتاب السنة الثانية عند وصف طرق البرمجة .
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
تعت بر لغات الذكاء الص طناعي عموم ا أكث ر بنلئية من اللغات التقليدة لعدم اس تخدامها الدوائر اللكترونية وهذا يجعلها أكثر وضوحا وأقل عرضة للخطأ لكنها في المقابل كما ذكرنا تحتاج لحجم كبير من الحقائ ق والعلقات الت ي ل ب د أ ن يغذي بها الحاسوب قبل البدء في التنفيذ أو المعالجة .
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
تتكون بنائية لغة برولوق من الجزاء التالية : أولً :تعري ف أس ماء وأشكال وأوصاف الشياء المتعلقة أو ذات الصلة بالموضوع
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
مثال (: )1 إذا كان الموضوع هو المدرسة فإن الشياء التي يمكن أن تكون ذات العلقة بالمدرسة ؟ وهي : • اسم المدرسة . • المحلية التي تتبع لها .
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
مثال (: )1 • المرحلة التعليمية . • عدد الفصول . • عدد الطلب . • عدد الساتذة .
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
ثانياً :تعري ف ووص ف العلقات الت ي ترب ط بين تل ك الشياء الت ي ت م تعريفه ا ف ي المثال السابق يتم تعريف العلقة التالية : المدرسة (اسم المدرسة ،المحلية ،المرحلة ،عدد الفصول ،عدد الطلب ،عدد الساتذة ) .
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
ثالثاً :وصف الحقائق والقوانين التي أسست عليه هذه العلقات ،مثل من الحقائق يمكن أن تكون : المدرسة ( أبو حشيش ،البر الشرقي اساس ، 8 . )10 ، 300
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
أي أن :اسم المدرسة هي أبو حشيش . اسم المحلية هي البر الشرقي . عدد الفصول = . 8 عدد الطلب = . 300 عدد الساتذة = . 10
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
رابعاً :اس تخدام هذه الحقائ ق والقواني ن في الوصول إلي الهداف المطلوبة ،مثل أن نسأن عن عدد الساتذة أو عدد الطلبة أو الفصول في مدرس ة أب ة و حشي ش أ و أ ي مدرس ة أخري تم وصفها .
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
إذا قارن ا لغ ة برولوق بلغ ة باس كال نلح ظ أن الجزء الول والجزء الثاني في لغة برولوق هما جزئي ن تعريفيي ن يقابلن جزء إعلن السماء والمتغيرات والدوال والجراءات في لغة باسكال
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
أما الجزء الثالث والجزء الرابع واللذان يقابلن الجسم الرئيس في لغة باسكال فيختلفان اختلفا جزرئي ا ف ي البنائي ة المنطقي ة كم ا في المثال التالي:
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
مثال (: )2 أدرس العبارات التالية جيدا الحقائق :يحب محمد الفول يحب علي العدس القانون :يحب محمد س إذا كان يحب علي س
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
إذا أعطين ا برولوق هدف ( ) goalأن يستخدم قوت ه الس تنتاجية ليجاد ك ل الحلول الممكنة لستخراج كل اللذين يحبون العدس .
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
بناء عل ى الحقيق ة أ ن عل ي يحب العدس وبناء على القانون أن محمد يحب كل ما يحبه علي فإن برنام ج برولوق س وف تس تنتج أ ن محم د يحب العدس وعليه فإن المخرجات ستكون
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
علي "مخرج أصيل من الحقيقة يحب علي العدس" محمد "مخرج استنتاجي من القانون يحب محمد س إذا كان يحب علي س" .
الذكاء الصطناعي ولغة برولوق /6بنائية لغة برولوق
هذا المثال يبدو بس يطا جدا ولكن إذا كان هناك آلف الحقائ ق فإ ن النتيج ة أ و الهدف سيكون معقدا جدا أ و يص عب الوص ول إلي ه بالطريقة اليدوية أو الذهنية كما أنه سيحتاج إلي برنامج معقد جدا إذا تم استخدام اللغات التقليدية .
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
أ /التحكم التلقائي : يتم التحكم في برنامج برولوق تلقائيا فعند تشغيل ال برنامج يقوم النظام بالبح ث ع ن ك ل القي م التي تحق ق الهدف أثناء ذل ك ربم ا يطل ب الحاسوب إدخال بع ض ال بيانات أ و يعرض بعض المخرجات على الشاشة .هذه الخاصية تشترك فيها كل لغات البرمجة تقريبا .
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
ب /الخاصية الستنتاجية : هذه الخاصية أوضحناها في المثال السابق عندما أجاب برنام ج برولوق بأ ن محم د يحب العدس بالرغم من أن هذه الحقيقة لم تكن ضمن الحقائق المبين ة ف ي ال برنامج ولك ن اس تنتجها بواسطة العلقة يحب محمد س إذا كان يحب علي س .
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
ب /الخاصية السترجاعية : ونعن ي بالخاص ية الس ترجاعية عن د وصول ال برنامج لي ح ل فإن ه يس تخدم هذا الح ل في إعادة تص ميم ك ل الفروض والعلقات السابقة لمعرف ة مدى تأثي ر هذا الح ل ف ي استنتاج حلول جديدة ،
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
ب /الخاصية السترجاعية : أ و كأ ن ال برنامج يقوم بإعادة التنفيذ مرة أخري مستخدما الحل الذي توصل إليه كمدخل جديد في البرنامج .مثال ذلك إذا أضفنا في المثال السابق العلقة أو القانون يحب عثمان ص إذا كان يحب محمد ص
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
ب /الخاصية السترجاعية : من قبل القانون يحب محمد س إذا كان يحب علي س فإنه عند تشغيل البرنامج إذا سألنا ماذا يحب عثمان فإ ن ال برنامج س يجيب الفول مستخدما حقيق ة أ ن محم د يح ب الفول ولك ن عندم ا يصل إلي القانون يحب محمد س إذا كان يحب علي س
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
ب /الخاصية السترجاعية : فإنه سيصل إلي الحل أن محمد يحب العدس ،ثم مستخدما هذا الحل مرة أخري في البرنامج راجعا من البداية سيصل إلي الحل عثمان يحب العدس كذلك .
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
د /السلوب التخاطبي : يمك ن اس تخدام لغ ة برولوق ف ي إدخال البيانات بلوح ة المفاتي ح واس تخراج المخرجات على الشاشة أثناء تنفيذ البرنامج وهذا يتيح التخاطب بي ن مس تخدم ال برنامج والحاس وب مم ا ل ه من ميزة في برنامج اللعاب .
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
ه /بنائية المعاودة : تتميز لغة برولوق ببنائية المعاودة ونعنى ببنائية المعاودة بأن ينادي ك ل قوس القوس الذي دونه أو بداخله
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
مثال (: )3 محمد ( يدرس ( الجامعة (العلوم (الحاسوب )))) تعنى أن محمداً يدرس بالجامعة كلية العلوم بقسم الحاسوب .فإذا اضفنا
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
علي يدرس ( الجامعة ( الداب ( الجغرافيا ))) عثمان ( يدرس (الجامعة (العلوم (الفيزياء)))) أحمد ( يدرس ( الثانوية ))
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
ثم سألنا من يدرس بالجامعة ستكون الجابة محمد علي عثمان
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
وإذا سألنا من يدرس بالعلوم ستكون الجابة محمد عثمان وإذا سألنا من يدرس جغرافيا ستكون الجابة علي
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
و /بساطة السلوب : تتميز البرمجة بلغة برولوق بسهولة فهمها وقلة سطورها لنه ا تس تخدم لغ ة عادي ة غي ر اللغة الخوارزمية التي لحظناها في لغو بيسك كما أن برنامج بروبوق أق عشرة مرات في عدد السطر من اللغات التقليدية تقريبا .
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
مثال (: )4 ذكرن ا أ ن برنام ج برولوق يتكون م ن أربع أجزاء. الجزء الول ويعرف بالمجال( )domainويتم فيه تعريف الشياء التي يتعامل معها البرنامج والجزء الثان ي ويعرف بالتحقيقات ( )predicatesويتم فيه تعريف العلقات التي تربط بين هذه الشياء
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
مثال (: )4 أم ا الجزء الثالث ويعرف بالعبارة ()clauses يت م في ه وص ف الحقائ ق أ و الواق ع الحقيق ي أما الجزء الراب ع فيت م إعطاء التس اؤلت الت ي يجيب عليه ا ال برنامج .أو ما يعرف بالهداف (.)Goals
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
مثال (: )4 في هذا المثال نريد أن نعرف الرغبات الرياضية للطلب حت ى نس تطيع أ ن ننظ م النشاط الرياضي للطلب بناء عل ى ذل ك يبدأ ال برنامج بتعريف الشياء الت ي يتعام ل معه ا ال برنامج وه ي طالب ونشاط رياضي ،
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
مثال (: )4 ثم تعريف العلقة وهي رغبة الطالب في النشاط الرياضي المعني وهو كرة القدم أو كرة السلة أو كرة اليد أو كرة الطاولة ثم بعد ذلك يبدأ البرنامج في الجابة من يرغب كرة القدم ومن يرغب كرة السلة وهكذا .
البرنامج */program/* المجال domains نشاط = رمزي، طالب student, activity = symbol التحققات predicates ) نشاط، يرغب ( طالب likes )student, activity( العبارات Clauses ) “ ”كرة القدم، يرغب ( علي like ) ali , ”foot ball”( ) “ ”كرة السلة، يرغب ( عمر like ) ali , ”basket ball”( ) “ ”كرة اليد، يرغب ( عثمان like ) ali , ”volley ball”( ) “ ”كرة الطاولة، يرغب ( أحمد س ) إذا كان، يرغب ( أحمد like ) ali , ”ping ball”( . )س،يرغب (عمر like ) ali , ”foot ball”(
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
هذه العبارة تص ف حقائ ق وهي رغبات مباشرة لهول الطلب وقوانين ( قانون واحد هنا ) وهو أن أحمد يحب كل ما يحبه عمر * الجزء الرابع وهو جزء التس اولت يبدأ بكلمة هدف ( )goalعلى النحو التالي :
Goal Likes ) omer,”basket ball”( Yes Goal Likes ) omer, ”ping ball”( No Goal Likes)ahmed,”basket ball”( Yes
هدف )" "كرة السلة، يرغب (عمر نعم هدف ) " "كرة الطاولة، يرغب (عمر ل هدف ) " "كرة السلة، يرغب ( أحمد نعم
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
نلحظ في هذا البرنامج أول أن عبارات الحقائق والتس اؤلت ع ن الحقائ ق تنته ي بنفط ة ف ي آخر العبارة أما التحققات فل تنتهي بنقطة .
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
عندم ا س ألنا ال برنامج ه ل يرغ ب عم ر لعبة كرة الس لة كان ت الجابة ب "نع م" لن ذل ك ثاب ت في عبارات الحقائ ق ،وكذل ك عندم ا س ألنا البرنامج هل يرغ ب أحم د كرة الس لة ؟ أجاب ب "نعم" مستنتجا ذلك من حقيقة أن أحمد يرغب في كل ما يرغب فيه عمر من نشاط .
الذكاء الصطناعي ولغة برولوق
/7بعض مميزات لغة برولوق
أم ا عندم ا س ألنا ال برنامج ه ل يح ب عمر كرة الطاول ة أجاب ه ب "ل" لن ه ل توج د عبارة تفيد بذلك أو علقة يمكن أن يستنتج منها ذلك .
الذكاء الصطناعي ولغة برولوق
/8المتغيرات في لغة برولوق
المتغيرات Xفي ال برنامج الس ابق والذي يقابله س في الترجمة العربية هو رمز لمتغير في لغة برولوق ونعنى بالمتغيرات الرمز الذي يأخذ قيما مختلفة فإذا كتبنا في المثال السابق :
الذكاء الصطناعي ولغة برولوق
/8المتغيرات في لغة برولوق
هدف يرغب ( أحمد ،س ) س = كرة الطاولة س = كرة السلة حلين
Goal (Likes )ahmed , x X = ping pong X = basket ball 2 solutions
الذكاء الصطناعي ولغة برولوق
/8المتغيرات في لغة برولوق
أي أن س أو Xتحقق القيم كرة الطاولة وكرة السلة .القيمة الولي من الحقيقة أن أحمد يرغب كرة الطاول ة والقيم ة الثاني ة مس تنتجة بأ ن أحمد يحب كل نشاط يحبه عمر .
الذكاء الصطناعي ولغة برولوق
/8المتغيرات في لغة برولوق
تشترط برولوق ف ي المتغيرات أن تبدأ بحرف كبير ( )capitalيليه ا أ ي عدد من الحروف والرقام وعلمة ( _ ) مثل My_name_is تقب ل كرم ز لمتغي ر ف ي لغ ة برولوق أم ا الرمز 1st-boyفل تقب ل لنه ا بدأ ت برق م بدل من حرف كبير .
الذكاء الصطناعي ولغة برولوق
/8المتغيرات في لغة برولوق
يفضل في لغات البرمجة عموما أن تكون أسماء أو رموز المتغيرات ذات دللة ومعنى بدلً من س و ص و ع و غيرها مثل : يفضل ( ahmed, sport ( likesعلى )likes)ahmed,x -يفضل ( student,”foot ball”( likesعلى )”likes )y,”foot ball
الذكاء الصطناعي ولغة برولوق
/8المتغيرات في لغة برولوق
إذا وضعنا هذه العبارة كهدف فإن البرنامج سيرد أن المتغير الذي يحقق الرغبة لكرة القدم هو فقط الطال ب عل ي و يمك ن ص ياغة هذا الهدف بلغة برولوق على النحو التالي :
الذكاء الصطناعي ولغة برولوق
/8المتغيرات في لغة برولوق
هدف يحب (الطالب ،كرة القدم) الطالب = علي حل واحد
Goal )Likes )student, foot ball Student = ali solution 1
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
ذكرن ا أ ن جزء العبارات ف ي لغة برولوق يتكون من حقائ ق ( )factsوالحقيق ة يع بر عنه ا في شكل علقة تربط بين أشياء .
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
مثل ف ي المثال الس ابق عل ي وعمر و عثمان و أحمد وكرة قدم وكرة سلة وكرة طاولة وكرة يد كلها شيئيات أما يرغب ( )likesفهي علقة .
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
كم ا كان هناك شرط ف ي أسماء المتغيرات هناك شرط ا لس ماء الشيئيات والعلق ة وه و أن يبدأ السم بحرف صغير ( ) smallثم أي تركيب من الحروف والرقام وعلمة ( _ ) ،وأن ل يحتوي هذا التركيب مسافة فارقة .
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
معلومة : يمك ن اس تخدام الحروف الك بيرة أ و المسافات الفارغة بين الحروف عندما ينحصر التركيب ”. بين علمتي اقتباس ”
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
مثال (: )5 بين أي من العبارات أو الحقائق التالية صحيح أو خطأ :
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
فارهة (شقة) فارهة (عربة) يمتلك (محمد ،منزل) يأكل (القط ،اللحم ) يأكل ( البقر ،النجيلة ) عربة ( كرونا ،زرقاء ، موديل ) 86
) valuable ) flat ) valuable ) car )owns ) mohamed, house ) eats ) cat , meat ) eats ) cow , grass )car )corona , blue, M 86
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
ك ل هذه المثل ة عبارات أ و حقائ ق ص حيحة في لغة برولوق ماعدا العبارة الخيرة لن Mحرف كبير والشياء يجب أن تبدأ بحرف صغير .
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
يلحظ هنا أن عدد الشياء داخل العلقات مفتوح ونجد أن في : المثال الول والثاني هناك شيء واحد يوصف بأنه فارهة .
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
المثال الثال ث هناك علق ة بي ن شيئي ن هما: المالك والمملوك ،ومثله المثال الرابع والخامس حيث نجد علقة بين شيئين هما :الكل والمأكول.
الذكاء الصطناعي ولغة برولوق /9الشياء والعلقات في لغة برولوق
المثال الس ادس فه و وص ف لعرب ة يتكون من نوع العرب ة ،ولون العرب ة ،ومودي ل العربة ، وبالطب ع يمك ن أ ن يزي د الوص ف ليشم ل سعر العربة ،ورقم العربة ،وعدد الميال التي تقطعها وهكذا .
الذكاء الصطناعي ولغة برولوق /10المجالت والتحقيقات
ذكرن ا أ ن المجالت والتحقيقات ف ي لغة برولوق يقابلن جزء التعريفات لغ ة باس كال لت بيان ذلك نقدم المثلة التالية :
الذكاء الصطناعي ولغة برولوق /10المجالت والتحقيقات
المجالت شخص ،نشاط = رمزي التحققات يحب ( شخص ،نشاطاً )
domains Person , activity = symbol predicates )Likes ) person , activity
الذكاء الصطناعي ولغة برولوق /10المجالت والتحقيقات
هذا يعن ي أ ن هناك علق ة بي ن شيئي ن هما الفرد والنشاط والعلقة هي الحب أو الرغبة وهما من النوع رمز وليس من العدد أو الرقم .
الذكاء الصطناعي ولغة برولوق /10المجالت والتحقيقات
مثال (: )6 بين مصدر الخطأ إذا كتبنا الحقيقة ( )factالتالية في جزء العبارات Likes ) )10, x
الذكاء الصطناعي ولغة برولوق /10المجالت والتحقيقات
لن تقبل لن الشيء الول في العلقة معرف بأنه رمز وفي هذا المثال = 10وهي رقم لذا سيعطى الحاسوب على الشاشة رسالة () type error أي هناك خط ا أ و عدم طاب ق بين الشياء ومواصفاتها .
الذكاء الصطناعي ولغة برولوق /10المجالت والتحقيقات
مثال (: )7 بي ن الخط أ إذا كتبن ا الحقيق ة ( )factالتالي ة في جزء العبارات Likes)" )ali, "foot ball ", "basket ball
الذكاء الصطناعي ولغة برولوق /10المجالت والتحقيقات
فإن البرنامج يعطي خطأ لن العلقة صممت بين شيئين اثنين فقط وهذه علقة بين ثلث أشياء .
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
مثال (: )8 شراء العربة المناسبة :
domains brand , colour = symbol age , price = integer millage = real predicates car )brand, millage, age, colour, price( clauses car ) toyota , 45000 , 5 , white , 800000( car ) ford , 30000 , 4 , blue , 500000( car ) datsun , 20000 , 3 , red , 300000(
المجالت الموديل ،اللون = رمزي العمر ،السعر = رقمي المسافة = عددي التحققات عربة ( موديل ،المسافة ،العمر ،اللون ،السعر ) العبارات عربة ( تويوتا ، 5 ، 45000 ،أبيض ) 800000 ، عربة ( فورد ، 4 ، 30000 ،أزرق ) 500000 ، عربة ( داتسون ، 3 ، 20000 ،أحمر ) 300000 ،
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
هدف عربة ( موديل ،المسافة ،العمر ،اللون ) 500000 ، Goal ( Car ) Brand, Millage, Age, colour, 500000
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
الهدف الن أ ن يبح ث الحاس وب أ و برنامج برولوق عن أي عربة سعرها 500000وبغض النظ ر ع ن موديله ا أ و المس افة الت ي قطعته ا أو عمرها أو لونها.
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
سيجيب الحاسوب أن العربة التي تحقق ذلك هي العربة الفورد ومواصفتها أن مسافاتها 30000 ميل وعمرها 4سنوات ولونها أزرق .
الذكاء الصطناعي ولغة برولوق
الهداف/11 المركبة
Brand = ford millage = 30000 , age = 4m colour = blue 1 solution
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
لكن عادة ل يبحث شخص عن عربة بسعر معين ولكن يبحث عن عربة بسعر ل يزيد عن مبلغ معين .لهذا سيعدل الهدف للتي :
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
هدف عرب ة (أي مودي ل ،أ ي مس افة ،أ ي عم ر ،أي لون ،أي سعر ) والسعر أقل من 35000 Goal (Car ) brand , millage , age , coluor , price And price > 35000
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
س تكون الجاب ة عل ى هذا الهدف ه ي عربة الداتسون لنها العربة الوحيدة التي تحقق شرط الس عر أق ل م ن 350000وس يخرج البرنامج البيانات التالية :
الذكاء الصطناعي ولغة برولوق
الهداف/11 المركبة
Brand = datsun millage = 20000, age = 3, colour = red , price = 300000 1 solution
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
إذا كنا لنرغ ب في ك ل هذه ال بيانات عند إخراج الحل بل فقط نريد على سبيل المثال عمر العربة إضافة للسعر يمكن ذلك بتعديل الهدف على النحو التالي :
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
Goal Car ) _ , _ , age, _ , price( and price> 35000 age = 3 , price = 200000
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
من هذا نلحظ أننا إذا وضعنا علمة ( _ ) في مكان متغي ر يعن ى هذا أ ن ذل ك المتغير مطلوب . وهذه العلمة إذا أستخدمت في الحقائق تعنى أن الشيء الذي وضعت في مكانه شيء عام مثل .
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
مثال (: )9 ماذا تعني الحقائق التالية : 1 2 3 4
يرغب ( _ ،كرة القدم ) يأكل ( _ ،خبزا ) يغسل ( _ ) يمتلك ( _ ،ملبسا )
(likes ) _ , foot ball (Eats ) _ , bread ( _ ) Washes (Owns ) _ , clothes
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
.1يعنى ذلك أن كل الطلب يحبون كرة القدم . .2يعنى أن كل الناس يأكلون الخبر . .3يعنى أن كل الناس يغسلون ملبسهم . .4يعنى أن كل شخص يمتلك ملبسا وهكذا .
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
مثال (: )10 إختيار زوج المباراة :
domains pupil = symbol age = integer predicates player ) pupil , age ( clauses player ) sami , 9 ( player ) isam , 10 ( player ) ali , 9 ( player ) omer , 9 ( player ) ahmed , 10 (
المجالت تلميذ = رمزي عمر = رقمي التحققات ) عمر، اللعب ( تلميذ العبارات ) 9 ، اللعب ( سامي ) 10 ، اللعب ( عصام ) 9 ، اللعب ( عمر ) 9 ، اللعب (علي ) 10 ، اللعب ( أحمد
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
فإذا أردن ا م ن ال برنامج إخراج ك ل تلميذي ن في عمر واحد ليتبارا في لعبة معينة فإن ذلك متاح في لغة برولوق على النحو التالي :
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
(player ) pupil1 , 9( and ) pupil2 , 9 and pupil2 >< pupil1
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
اللعب (التلميذ )9 ،واللعب (التلميذ الثاني)9 ، بحي ث ل يكون التلمي ذ الول ه و نف س التلميذ الثاني .
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
س يقوم ال برنامج بالبح ث ع ن التلميذ الول الذي عمره تمسع سنوات وسيجد أول من يحقق ذلك التلمي ذ س امي ث م يبح ث ع ن التلمي ذ الثاني الذي عمره تسع سنوات وسيجد أول من يحقق ذلك
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
كذل ك التلمي ذ س امي ولك ن س يجد أ ن سامي ل يحقق الشرط الثالث وهو أل يكون التلميذ الول هو نف س التلمي ذ الثان ي لذا س يقوم البرنامج بالبح ث ع ن تلمي ذ آخ ر غي ر س امي وسيجد أول من يحقق شرط العمر لتسع سنوات ويختلف عن سامي هو التلميذ علي
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
بهذا يكون علي هو أحد الحلول ثم يواصل البرنامج للبح ث ع ن تلمي ذ آخ ر يحق ق شرط العم ر تسع سنوات ويختلف عن سامي وسيجد أن عمر يحقق هذي ن الشرطي ن بع د ذل ك يبدأ البرنامج بتكرار الختبارات التي عمله ا م ع س امي مع عل ي ثم مع عمر وستكون النتيجة النهائية على النحو التالي:
الذكاء الصطناعي ولغة برولوق
الهداف/11 المركبة
pupil1 = sami pupil1 = sami pupil1 = ali pupil1 = ali pupil1 = omer pupil1 = omer
, , , , , ,
pupil2 = ali pupil2 = omer pupil2 = sami pupil2 = omer pupil2 = sami pupil2 = ali
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
وإذا عملنا اختبارا آخرا وهو أن يلعب عمر 9مع عمر 10 (player ) pupil1 , 9( and ) pupil2 , 10
الذكاء الصطناعي ولغة برولوق
الهداف/11 المركبة
ستكون الجابة pupil1 = sami , pupil2 = ahmed pupil1 = ali , pupil2 = ahmed pupil1 = omer , pupil2 = ahmed
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
مثال (: )11 برنامج الشجرة العائلية وصلة القرابة : مباشرة ه ي الب والم والج د والجدة والعم والعم ة والخال والخال ة والخ والخ ت والقرابة دائما بين شخصين
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
مثال (: )11 برنامج الشجرة العائلية وصلة القرابة : فقرابة البوة بين الب وولده وقرابة الخالة بين الخالة وأبن أختها أو بنت اختها وهكذا .يمكن تفص يل هذه العلقات لوص ف الشجرة العائلية بلغة برولوق على النحو التالي :
/* family program */ domains person = symbol predicates male ) person( female ) person( female ) person( mother ) person , person(
father ) person , person( brother ) person , person( sister ) person , person( uncle ) person , person( aunt ) person , person( uncle1 ) person , person( aunt1 ) person , person( grand_father ) person , person(
grand_mother ) person , person( parent ) person , person( Clauses male ) ali ( male ) gafer ( male ) bakri ( male ) eisa ( female ) batol ( female ) fatma (
female ) maria ( female ) samia ( mother ) samia , batol ( mother ) ali , samia ( father ) ali , bakri ( father ) batol , gafer ( father ) maria , ali ( father ) fatma , bakri (
*/برنامج شجرة العائلية */ المجالت شخص = رمزي التحققات ذكر (شخص) أنثى (شخص) أم (شخص و شخصين ) أب (شخص و شخصين ) أخ (شخص و شخصين )
أخت (شخص و شخصين ) عم (شخص و شخصين ) عمة (شخص و شخصين ) خال (شخص و شخصين ) خالة (شخص و شخصين ) جد (شخص و شخصين ) جدة (شخص و شخصين ) والد (شخص و شخصين )
العبارات ذكر (علي ) ذكر ( جعفر ) ذكر (بكري ) ذكر ( عيسي ) أنثي ( بتول ) أنثي ( فاطمة ) أنثي ( ماريا ) أنثي ( سامية )
أم ( سامية ،بتول ) أم ( علي ،سامية ) أب ( علي ،بكري ) أب ( بتول جعفر ) أب ( ماريا ،علي ) أب ( فاطمة ،بكري )
)parent ) X , Y( if mother )X , Y( or father )X,Y brother ) X , Y( if male )Y( and parent )X,P( and parent )Y , P( and X >< Y sister ) X , Y( if female )Y( and parent )X,P( and parent )Y , P( and X >< Y uncle ) X , Y( if male )Y( and father )X,P( and brother )Y , P( aunt ) X , Y( if female )Y( and father )X,P( and brother )Y , P(
uncle1 )X , Y( if male )Y( and mother )X,P( and sister )Y , P( aunt1 )X , Y( if female )Y( and mother )X,P( and sister )Y , P( grand_father )X , Y( if parent )X , P( and father )P , Y( grand_mother )X , Y( if parent )X , P( and father )P , Y(
والد (س ،ص ) إذا كان أم ( س ،ص ) أو أب ( س ،ص ) أخ ( س ،ص ) إذا كان ذكر (ص) ووالد ( س ،ع ) ووالد (ص،ع) و س تختلف عن ص أخت ( س ،ص ) إذا كانت انثي (ص) ووالد ( س ،ع ) ووالد (ص ،ع) و س تختلف عن ص . عم (س ،ص ) إذ كان ذكر (ص) وأب (س ،ع ) وأخ (ص ،ع). عمة (س ،ص) إذا كانت أخت (ص) وأب (س،ع) وأخ ( ص،ع). خال (س ،ص ) إذا كان ذكر (ص) وأم (س،ع) وأخت (ص ،ع) .
خالة (س ،ص) إذا كانت أخت (ص) وأم (س،ع) وأخت (ص ،ع). جد (س ،ص) إذا كان والد (س ،ع ) وأب (ص ،ع ) . جدة (س ،ص ) إذا كان والد (س ،ع ) أم ( ص ،ع ) .
إذا بدأنا في الستفسار عن لعض العلقات سيرد ال برنامج حس ب م ا ه و متاح ل ه م ن معلومات ثم تعريفها له في جزء العبارات مثل
الذكاء الصطناعي ولغة برولوق
الهداف/11 المركبة
Goal Grand_father) maria , Gf ( Gf = bakri 1 solution
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
هدف جد ( ماريا ،جد ) الجد = بكري حل واحد أجاب البرنامج بأن جد ماريا هو بكري ول يوجد جد آخر حسب المعلومات المتاحة لدى البرنامج .
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
Goal هدف اخت (علي ،الخت) ( Sister ) ali , Sis Sis = fatima الخت = فاطمة 1 solution حل واحد أجاب البرنامج بأن أخت علي هي فاطمة ول توجد أخت أخرى لعلي حسب ما هو متاح من معلومات للبرنامج .
الذكاء الصطناعي ولغة برولوق
معلومة :
/11الهداف المركبة
.1تتيح لغة البرولوق إمكانية كتابة الملحظات أو التعليقات إذا : وضعت بين علمتي . /* */ وضعت علمة %عند بداية السطر وتنتهي الملحظة أو التعليق بنهاية السطر . .2يتبع الهدف ( ) Goalعلمة ():
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
مثال (: )12 برنامج التوصل إلي القاتل : لق د ت م اغتي ل س هام ف ي مطع م بالس وق ،وقد شاه د بع ض الفراد بع د عملي ة القتل مباشرة، وبدأت الشرطة في التحري لمعرفة القاتل .
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
التوصل إلي القاتل : برنامج(: )12 مثال فجمع ت معلومات ع ن الوس يلة الت ي يمك ن أن تكون قد أستخدمت في تنفيذ عملية القتل ،وهل هذه الوس يلة يمك ن أ ن تكون ف ي ي د أ ي من المشبوهي ن م ن جان ب آخ ر تحري الشرط ة عن علقات سهام بالمشبوهين،
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
القاتل :المشبوهين لقتل سهام لي من هناك وهل دوافعإلي التوصل برنامج (: )12 مثال وحي ث أ ن هذه المعلومات يمك ن أ ن تكون شائكة ومعقدة .تم اس تخدام الحاس وب للمس اعدة في الوصول للقاتل وكانت اللغة المناسبة التي يمكن التخاطب بها مع الحاسوب هي لغة برولوق ولهذا الغرض قام الضاب ط الشرط ي بكتاب ة البرنامج التالي :
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
أخراج ال برنامج بأ ن المته م الرئي س هو عمار للسباب التالية : أول :أن سهام قتلت بضربة عصا غليظة وهذه يشبه أن تكون قد ضربت بحائط الكافتريا أو بالبوت ولما كان علي يمتلك بوت ويمتلك عمار رجل خشبية من هذا كانا أكثر شبهة من الخرين.
الذكاء الصطناعي ولغة برولوق
/11الهداف المركبة
ثانيا :يمكن أن يكون الفاتح متهما بالقتل بضرب سهام مع حائط الكافتريا بغرض سرقة مالها . ثالثا :بما أن هنالك إشكال بين عمار وسهام وأن سهام قد قتلت بعصا غليظة يكون أقرب المتهمين هو عمار .
*/برنامج شجرة العائلية */ المجالت السم = رمزي العمر = رقمي النوع = رمزي الدافع = رمزي العلمة = رمزي السلح = رمزي النشاط = رمزي
التحققات شخص ( السم ،العمر ،النوع ،النشاط) إشكال ( السم ،السم ) قتل ( السم ،السلح ) علمة ( اسم ،علمة ) دافع ( الدافع ) يمتلك ( السم ،السلح ) يحتمل أن يملك ( السم ،السلح ) يؤثر مثل الخر ( السلح ،السلح ) المتهم ( السم )
العبارات شخص ( علي ، 25 ،ذكر ،لعب كرة ) شخص ( علي ، 25 ،ذكر ،جزار ) شخص ( فاطمة ، 20 ،أنثي ،كوفير ) شخص ( عمار ، 25 ،ذكر ،نجار ) شخص ( فاتح ، 25 ،ذكر نشال ) إشكال ( فاطمة ،فاتح ) إشكال ( فاطمة ،عمار ) إشكال ( سهام ،عمار )
العبارات قتل ( سهام ،عصا غليظة ) الدافع ( المال ) الدافع ( المشاكل ) علمة ( سامية ،دم ) علمة ( علي ،طين ) يمتلك ( عمار ،رجل خشبية ) يمتلك ( الفاتح ،مسدس )
* /معلومات خلفية */ له نفس الثر ( رجل خشبية ،كافتريا ) له نفس الثر ( كافتريا ،قهوة ) له نفس الثر ( المقص ،المطوة ) له نفس الثر ( البوت ،الكافتريا ) يمتلك ( س ،بوت ) إذا كان شخص (س ، - ، - ، لعب كرة ) يمتلك (س ،مقص) إذا كان شخص (س ،- ،- ،كوافير ) يمتلك ( س ،شيئاً ) إذا كان يحتمل أن يمتلك (س،شيئاً)
هدف */إتهم من يملك سلحاً يمكن أن تكون قد قتلت به سهام * / إتهم (س) إذا كان قتل (سهام ،السلح ) وله نفس الثر (ص ،السلح) س = عمار حل واحد
*/إتهم أولئك الشخاص الذين لديهم مشاكل مع سهام * / هدف إتهم (س) إذا كان دافع (المشاكل) وشخص (س ) - ، - ، - ،واشكال ( سهام ،س ) س = عمار حل واحد
الملح ق
الملحق : حلقة ...For
Do
نستخدم هذا النمط من الحلقات التكرارية إذا كان معلوماً لدينا مسبقاً عدد المرات التي نريد فيها تكرار العمل .
الملح ق
الصيغة العامة >= <:متغير < to [Downtoالقيمة البتدائية للمتغير > [For للمتغيرdo القيمة النهائية > < < عبارات بسيطة او مركبة >
الملح ق
العبارة المركبة هي التي تتألف من عدد من العبارات البسيطة وينبغي ان تنحصر بين ;Begin …. End
الملح ق
حلقة ...Repeat
Until
نستخدم هذا النمط من الحلقات التكرارية إذا كان تكرار العمل يتوقف علي شرط معين .
الملح ق
الصيغة العامة <
أي تتابع مركبة عبارات بسيطة Untilاو<
Repeat > >