مذكرة الحاسوب CS21 PDF

Document Details

EfficaciousOrientalism

Uploaded by EfficaciousOrientalism

جامعة طرابلس

Tags

computer science computer history computer architecture introduction to computer programming

Summary

هذه مذكرة حول أساسيات الحاسوب والبرمجة باستخدام بايثون، وتشمل تعريف الحاسوب، وتاريخه، وأجياله المختلفة، ومكوناته الأساسية، بالإضافة إلى مفاهيم أولية في البرمجة.

Full Transcript

‫جاهعة طراتلس‬ ‫كلية العلىم – قسن علىم احلاسة اآليل‬ ‫املرحلة التوهيدية للعلىم التطثيقية‬ ‫أساسيات احلاسىب والربجمة‬ ‫‪CS011‬‬ ‫‪Introduction to Computer & programming‬‬ ‫‪Using Python‬‬ ‫الفصل الدراسي خريف ‪2222/2222‬‬ ...

‫جاهعة طراتلس‬ ‫كلية العلىم – قسن علىم احلاسة اآليل‬ ‫املرحلة التوهيدية للعلىم التطثيقية‬ ‫أساسيات احلاسىب والربجمة‬ ‫‪CS011‬‬ ‫‪Introduction to Computer & programming‬‬ ‫‪Using Python‬‬ ‫الفصل الدراسي خريف ‪2222/2222‬‬ ‫الحاسب اآللي ‪Computer‬‬ ‫تعريف الحاسب اآللي‬ ‫ى و رلموعة من الوحدات ادلتصلة مع بعضها البعض واليت تقوـ على استقباؿ البيانات كمدخالت من خالؿ وحدات االدخاؿ و زبزينها‬ ‫ومن مث تقوـ دبعاجلتها بتنفيذ العمليات احلسابية و ادلنطقية عليها وإخراجها على شكل معلومات عن طريق وحدات اإلخراج‪.‬‬ ‫أجيال الحاسب اآللي ‪Computer Generation‬‬ ‫مرت صناعة احلاسب اآليل دبراحل تطور متعددة وقد أطلق على كل ىذه ادلراحل (جيل) بناء التطور التكنولوجي ادلتبع يف صناعات‬ ‫احلاسب اآليل حىت وصلت اىل اجليل اخلامس‪.‬‬ ‫الجيل األول‬ ‫أستخدـ يف تصميم ىذا اجليل من احلاسبات ما يعرؼ بالصممات ادلفرغة (‪ )Vacuum Tubes‬حيث صنع جهاز احلاسب اآليل كبَت‬ ‫احلجم والذي امتاز بالتكلفة العالية وبطىء السرعة مع استهالؾ عايل للطاقة الكهربائية شلا ادى اىل ارتفاع درجة احلرارة حيث أستخدمت‬ ‫وحدات التكييف لتربيدىا‬ ‫الجيل الثاني‬ ‫أستخدـ يف تصميم ىذا اجليل الًتانزستور بدالً من الصمامات ادلفرغة شلا ادى اىل تقليل حجم و وزف اجلهاز عما كاف عليو ولكن زادت‬ ‫سرعة تنفيذ العمليات مع تقليل استهالؾ الطاقة الكهربائية وبالتايل أطلفظت درجة احلرارة‪.‬‬ ‫بدال من اللغات الرمزية أو لغة اآللة يف بررلة احلواسيب‪ ،‬حيث أف ادلختصوف سبكنوا‬ ‫استخدـ يف ىذا اجليل لغات بررلة ذات ادلستوى العايل ً‬ ‫من بررلتو بلغتُت ‪Cobol ، Fortran‬‬ ‫الجيل الثالث‬ ‫تطورت األجهزة يف ىذا اجليل وسبيز ىذا اجليل باستخداـ الدوائر الكهربائية ادلتكاملة ( ‪ ) IC‬ادلصنوعة من رقائق السيلكوف وىي عبارة عن‬ ‫حجما شلا سبق وأقل تكلفة‪.‬‬ ‫مواد شبو موصلة أقل حجم من الًتانزستور ‪ ،‬وبذلك أصبح احلاسوب أصغر ً‬ ‫الجيل الرابع‬ ‫ىي بداية ظهور أجهزة احلاسوب الدقيقة ‪ ، Micro Computer‬استخدـ ىذا اجليل الدوائر ادلتكاملة واستخدـ الشرائح وادلعاجلات‬ ‫الدقيقة ‪ ،‬حيث أدخلت تعديالت من حيث نظم التشغيل ونقل البيانات ووحدات االدخاؿ واالخراج والقدرة على التخزين وسرعة‬ ‫اسًتجاع ادلعلومات وظهر يف ىذا اجليل احلاسب اآليل الشخصي ‪PC‬‬ ‫الجيل الخامس‬ ‫بدأت يف ىذه ادلرحلة ظهور أجهزة احلاسوب احملمولة واحلاسوب حبجم الكف ‪ ،‬كما انتشرت اذلواتف الذكية واجلهزة االلكًتونية االخرى ‪،‬‬ ‫كما سبيز ىذا اجليل ببداية عصر الذكاء االصطناعي (‪ )Artificial Intelegent‬إلنتاج حاسبات ذكية رباكي قدرات االنساف‬ ‫العقليةمع التطور يف شبكات احلاسوب والزيادة اذلائلة يف السرعة مع زيادة القدرات التخزينية الضخمة‪.‬‬ ‫أىم مميزات الحاسب اآللي‬ ‫السرعة العالية ‪:‬القدرة على إجراء حسابات معقدة على كميات كبَتة من البيانات خالؿ أجزاء قليلة من الثانية‪.‬‬ ‫‪‬‬ ‫الدقة الفائقة ‪:‬يعطينا إجابات دقيقة وصحيحة من خالؿ قيامو حبسابات معقدة بدقة فائقة بنسبة ‪%.100‬‬ ‫‪‬‬ ‫التخزين ‪:‬لو القدرة على زبزين كميات ىائلة من البيانات والرجوع ذلا مىت ػلتاج ذلا‬ ‫‪‬‬ ‫االتاال ‪ :‬توصيل جهاز احلاسوب بالشبكات احلاسوبية يعطيو مزايا إضافية ؽلكن استغاللو بشكل أكرب وأوسع‪.‬‬ ‫‪‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 2‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫مكونات جهاز الحاسب اآللي ‪Computer Components‬‬ ‫يتكوف جهاز احلاسب اآليل من ادلكونات ادلادية (‪ )Hardware‬و ادلكونات الربرلية ( ‪)Software‬‬ ‫المكونات المادية (‪)Hardware‬‬ ‫اف ادلكونات ادلادية جلهاز احلاسب اآليل تعٍت كافة االجزاء و األجهزة ادلادية اليت يتطلبها أي جهاز إلكًتوين‪ ،‬ليشمل كافة العناصر‬ ‫ادلتواجدة بلوحة الدائرة الكهربائية‪ ،‬دبا يف ذلك بطاقات الرسومات ووحدة ادلعاجلة ادلركزية‪ ،‬اللوحة األـ ومراوح التهوية ومصدر الطاقة وكامَتا‬ ‫الويب اىل اخره‪..‬‬ ‫المكونات البرمجية ( ‪)Software‬‬ ‫وتشمل ادلكونات الربرلية كل الربامج ادلستخدمة دبا يف ذلك أنظمة تشغيل أجهزة احلاسب اآليل واليت تعمل دبكونات تشغيل سلتلفة ‪ ،‬لكن‬ ‫برغم من ذؿ كافة أجهزة احلاسب اآليل ربمل بداخلها مكونات رئيسية واليت ال زبتلف مهما تنوعت برارلها االفًتاضية او دبا يسمي‬ ‫“السوفت وير” الذي يتم تشغيلها على جهاز احلاسوب‬ ‫دورة معالجة البيانات ‪Data Processing Cycle‬‬ ‫دورا يف غاية األعلية يف كافة أنواع األنظمة‪ ،‬حيث تشكل ادلادة اخلاـ ادلستخدمة يف تصنيع ادلعلومات بعد اخلضوع للمعاجلة‪،‬‬ ‫تلعب البيانات ً‬ ‫وحىت يتم معاجلة البيانات لتخرج إلينا على ىيئة معلومات ذات فائدة؛ ال بد من تتوفر نظاـ معاجلة خاص يؤدي ىذا الغرض فظهر نظام‬ ‫معالجة البيانات في الحاسوب‪.‬‬ ‫معلومات‬ ‫المعالجة‬ ‫البيانات‬ ‫‪Information‬‬ ‫‪Processing‬‬ ‫‪Data‬‬ ‫مكونات نظام معالجة البيانات في الحاسوب‬ ‫يتألف نظاـ معاجلة البيانات يف احلاسوب من رلموعة من ادلكونات الثابتة‪ ،‬وىي‪:‬‬ ‫اختصارا بػ‪ ، CPU‬تؤدي دور ادلفسر األوؿ‬ ‫ً‬ ‫وحدة المعالجة المركزية)‪ ، (Central Processing Unit‬ويرمز ذلا‬ ‫‪‬‬ ‫والدقيق للبيانات وادلعلومات وادلعاًف ذلا‪.‬‬ ‫الذاكرة )‪ (main memory‬وتستخدـ عاد ًة لتخزين البيانات ادلعاجلة واألولية فيها‪ ،‬إال أهنا تفقد كل ادلعلومات فور انقطاع‬ ‫‪‬‬ ‫التيار الكهربائي أو إغالؽ جهاز احلاسوب‪ ،‬إذ تعرؼ بأهنا عشوائية‪.‬‬ ‫وحدات اإلدخال واإلخراج ‪:‬ؽلكن القوؿ بأهنا الوسيلة اليت يقوـ اإلنساف بواسطتها إدخاؿ البيانات ادلراد معاجلتها إىل جهاز‬ ‫‪‬‬ ‫مثل يف صورة ادلعلومات ادلفيدة‪.‬‬ ‫احلاسوب؛ مث يصار إىل معاجلتها واستعراضها على وحدات اإلخراج كالشاشة ً‬ ‫وحدة الحساب والمنطق ‪ :‬وىي تلك الوحدة ادلستخدمة يف زبزين البيانات فيها على ىيئة أعداد بعد خضوعها للعمليات‬ ‫‪‬‬ ‫ادلنطقية‪.‬‬ ‫العنار البشري ‪:‬يكمن دور العنصر البشري سواء كاف ُمصنّع أو مربمج بأنو معطي األوامر ومدخل البيانات ليتم معاجلتها‪.‬‬ ‫‪‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 3‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫البوابات المنطقية األساسية ‪Logical Gates‬‬ ‫تُع ّد البوابات ادلنطقية ‪ Logical Gates‬عنصراً أساسياً يف أي نظاـ رقمي‪ ،‬حيث تكوف على شكل دارة إلكًتونية بسيطة تتواجد يف‬ ‫احلواسيب شلثّلةً بالنظاـ الثنائي ( ‪ ) Binary Number System‬و ادلبٍت على ( ‪ ) 1 ، 0‬وتُقسم البوابات ادلنطقية إىل نوعُت‬ ‫رئيسيُت؛ البوابات ادلنطقية األساسية والبوابات ادلنطقية ادلشتقة وفيما يأيت أنواع البوابات ادلنطقية األساسية‪:‬‬ ‫ُ‬ ‫وتضم مدخلَُت وسلرجاً واحداً‪ ،‬وتُعامل معاملة عملية الضرب يف الرياضيات‪ ،‬كما ىو موضح أدناه‬ ‫(و)‪ّ ،‬‬ ‫سمى َ‬ ‫تُ ّ‬ ‫بوابة ( ‪: ) AND‬‬ ‫‪ 0 )AND( 0‬تُعطي ‪0‬‬ ‫‪‬‬ ‫‪ 1 )AND( 0‬تُعطي ‪0‬‬ ‫‪‬‬ ‫‪ 0 )AND( 1‬تُعطي ‪0‬‬ ‫‪‬‬ ‫‪ 1 )AND( 1‬تُعطي ‪1‬‬ ‫‪‬‬ ‫وتضم مدخلَُت وسلرجاً واحداً‪ ،‬وتُعامل معاملة عملية اجلمع يف الرياضيات‪ ،‬كما ىو موضح أدناه‬ ‫بوابة ( ‪ : ) OR‬تُ ّ‬ ‫سمى (أ َو)‪ّ ،‬‬ ‫‪ 0 )OR( 0 ‬تُعطي ‪0‬‬ ‫‪ 1 )OR( 0 ‬تُعطي ‪1‬‬ ‫‪ 0 )OR( 1 ‬تُعطي ‪1‬‬ ‫‪ 1 )OR( 1 ‬تُعطي ‪1‬‬ ‫ومسّيت العاكِس ّ‬ ‫ألهنا تُعطي‬ ‫وتضم مدخالً واحداً وسلرجاً واحداً‪ُ ،‬‬ ‫ّ‬ ‫بوابة ( ‪ : ) NOT‬تُ ّ‬ ‫سمى ليس أو العاكس أو بوابة النفي ادلنطقية ‪،‬‬ ‫نتيجة ُمعاكسة كما ىو موضح أدناه‬ ‫‪ )NOT( 0 ‬تُعطي ‪1‬‬ ‫‪ )NOT( 1 ‬تُعطي ‪0‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 44‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫استخدامات البوابات المنطقية‬ ‫فوائد البوابات ادلنطقية ال تع ّد وال ُربصى‪ ،‬فهي تدخل يف العديد من الصناعات التكنولوجية‪ ،‬ومن أبرزىا ما يأيت‬ ‫بناء معاجلات األجهزة اإللكًتونية‪.‬‬ ‫‪‬‬ ‫بررلة احلواسيب‪.‬‬ ‫‪‬‬ ‫صناعة مضخات خزانات ادلياه‪.‬‬ ‫‪‬‬ ‫صناعة األجهزة وادلعدات الطبية‪.‬‬ ‫‪‬‬ ‫صناعة أشباه ادلوصالت‬ ‫‪‬‬ ‫صناعة الساعات الرقمية وادلؤقتات الزمنية‬ ‫‪‬‬ ‫العبارات المنطقية‬ ‫العبارة ادلنطقية ىي العبارة القابلة للصواب ‪ True‬أو اخلطأ ‪ False‬فمثال‪:‬‬ ‫العبارة ‪ (True and False) :‬ىي عبارة منطقية وقيمتها خطأ ‪False‬‬ ‫العبارة ‪ ) 9 8) :‬تساوي ‪ (3‬ي أيضا ىنا منطقية وقيمتها ‪ ، True‬وغلب أف نالحظ أف معامال ادلؤثر ادلنطقػي قػد تكػوف‬ ‫تعابَت منطقية أو قد يكونا تعابَت عالئقية‪.‬‬ ‫كيفية قراءة مخططات الكترونية تشمل على بوابات منطقية‬ ‫يتم قراءة وربليل ادلخططات االلكًتونية اليت تشمل على بوابات منطقية عن طريق فرض ادلتغَتات على مداخلها مت تتبع ادلنطق احلاصل على‬ ‫تلك ادلتغَتات ادلنطقية فمثال ادلعادلة ادلنطقية االتية‬ ‫̃‬ ‫الناذبة من الدارة ادلنطقية التالية ‪ ،‬مت استخراجها عن طريق التتبع يف ادلخطط اخلاص بتلك الدارة على النحو االيت‪:‬‬ ‫̃‪،‬‬ ‫نالحظ نفي ادلتغَت ‪ A‬ليصبح ̃ ومن مث يدخل اىل البوابة ادلنطقية ‪ AND‬مع ادلتغَت ‪ B‬ليصبح ادلخرج عن تلك البوابة‬ ‫̃ مع ادلتغَت ادلنطقي ‪ C‬يف البوابة ادلنطقية ‪ OR‬لتكوف النتيجة النهائية للعملية ادلنطقية‬ ‫واخَتا تدخل القيمة ادلنطقية‬ ‫̃ وىو ما ؽلثل االخراج النهائي‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 45‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫̃ مساوياً للمنطق ‪ 1‬أو ‪ 0‬ويتم ذلك‬ ‫بعد معرفتنا لتلك ادلعادلة ‪ ،‬أصبح بإلمكاف معرفة مىت يكوف الناتج ادلنطقي للمعادلة‬ ‫حسب اجلدوؿ الصواب (ادلنطقي) االيت ‪:‬‬ ‫‪A‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫̃‬ ‫̃‬ ‫̃‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫تمرين‪:‬‬ ‫باستخداـ النظاـ الثنائي و جدواؿ الصواب (ادلنطقي) أوجد قيمة كل من ( ‪ ) x‬و ( ‪ ) y‬يف الدوائر ادلنطقية االتية ‪:‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 46‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫األنظمة العددية – ‪Number Systems‬‬ ‫احلاسوب يف احلقيقة ال يفهم إال لغة واحدة وتسمى لغة اآللة ( ‪ (Machine Language‬وال يوجد هبذه اللغة إال رمزاف علا‬ ‫الصفر والواحد أو النظاـ العددي الثنائي (‪ )Binary digits‬ومن الصعب التخاطب مع احلاسوب هبذه اللغة‪.‬وغلري ربويل كل‬ ‫احلروؼ واالرقاـ والرموز واالوامر إىل سلسلة من االصفار والواحدات بإستخداـ برامج خاصة (‪ compilers‬أو ‪)interprators‬‬ ‫حىت يتمكن احلاسوب من فهمها وتنفيذ ادلطلوب‪.‬وتستخدـ عدة أنظمة ترميز أو تشفَت "‪ "code systems‬لتحويل احلروؼ‬ ‫واالرقاـ والرموز واالوامر إىل لغة اآللة من أشهرىا نظاـ الًتميز (‪.)ASCII‬‬ ‫ونظاـ الًتميز (‪ )ASCII‬ىو عبارة عن رلموعة من الرموز الرقمية اليت سبثل احلروؼ واألرقاـ والرموز اخلاصة ‪ ،‬وتستخدـ على نطاؽ‬ ‫واسع يف نقل البيانات بُت أجهزة الكمبيوتر‪(.‬فمثال سلسلة االرقاـ ‪ 01000001‬بالنظاـ الثنائي والذي يكافئ ‪ 65‬بالنظاـ العشري‬ ‫ؽلثل حرؼ ‪ A‬يف نظاـ الًتمز القياسي األمريكي لتبادؿ ادلعلومات ‪.)ASCII‬ونظرا ألف احلاسوب يعتمد على االنظمة الرقيمة‬ ‫فسنقوـ بدراسة بعض األنظمة الرقمية وكيفية التحويل من نظاـ رقمي إىل نظاـ رقمي آخر‪.‬‬ ‫يوجد العديد من األنظمة العددية علي سبيل ادلثاؿ‪:‬‬ ‫‪.1‬النظام العشري (‪ – )Decimal system‬نظاـ عددي أساسو ‪ 10‬ويتكوف من الرموز (‪,6 ,5 ,4 ,3 ,2 ,1 ,0‬‬ ‫‪.)9 ,8 ,7‬يعترب النظاـ العشري أكثر أنظمة العد شيوعا واستعماال من قبل اإلنساف‪.‬وسبثل األعداد يف النظاـ العشري‬ ‫بواسطة األساس ‪.10‬‬ ‫على سبيل ادلثاؿ العدد العشري ‪ 125‬ؽلكن كتابتو ‪1102  2 101  5 100‬‬ ‫والعدد ‪7 103  1102  2 101  9 100  4 101  5 102 = 7129.45‬‬ ‫‪.2‬النظام الثنائي (‪ – )Binary system‬نظاـ عددي أساسو ‪ 2‬ويتكوف من رمزين علا (‪.)1 ,0‬وىذا النظاـ الذي‬ ‫يتعامل بو احلاسوب‪.‬‬ ‫‪.3‬النظام الثماني (‪ – )Octal system‬نظاـ عددي أساسو ‪ 8‬ويتكوف من الرموز (‪.)7 ,6 ,5 ,4 ,3 ,2 ,1 ,0‬‬ ‫‪.4‬نظام السادس عشر (‪ - )Hexadecimal‬نظاـ عددي أساسو ‪ 16‬ويتكوف من الرموز (‪,5 ,4 ,3 ,2 ,1 ,0‬‬ ‫‪.)F, E, D, C, B, A ,9 ,8 ,7 ,6‬ويستعمل يف علم احلاسوب لتسهيل كتابة الشفرات الثنائية‪.‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 47‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫اجلدوؿ التايل على سبيل ادلثاؿ يبُت االعداد العشرية من ‪ 0‬إىل ‪ 16‬وما يقابلها يف النظم الثالث األخرى‪:‬‬ ‫السادس عشر‬ ‫الثماين‬ ‫الثنائي‬ ‫العشري‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0000‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0001‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪0010‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪0011‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪0100‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪5‬‬ ‫‪0101‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪6‬‬ ‫‪0110‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪0111‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪10‬‬ ‫‪1000‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪11‬‬ ‫‪1001‬‬ ‫‪9‬‬ ‫‪A‬‬ ‫‪12‬‬ ‫‪1010‬‬ ‫‪10‬‬ ‫‪B‬‬ ‫‪13‬‬ ‫‪1011‬‬ ‫‪11‬‬ ‫‪C‬‬ ‫‪14‬‬ ‫‪1100‬‬ ‫‪12‬‬ ‫‪D‬‬ ‫‪15‬‬ ‫‪1101‬‬ ‫‪13‬‬ ‫‪E‬‬ ‫‪16‬‬ ‫‪1110‬‬ ‫‪14‬‬ ‫‪F‬‬ ‫‪17‬‬ ‫‪1111‬‬ ‫‪15‬‬ ‫‪10‬‬ ‫‪20‬‬ ‫‪10000‬‬ ‫‪16‬‬ ‫التحويل من النظام الثنائي إلى النظام العشري‪:‬‬ ‫الرقم الثنائي وعادة يكتب على النحو التايل (الرقم )‪ 2‬علي سبيل ادلثاؿ‪:‬‬ ‫= ‪ 10 = 8 + 0 + 2 + 0‬بالنظاـ العشري‪.‬‬ ‫‪= 2 )1010( ‬‬ ‫‪2‬‬ ‫‪ ‬أما الرقم (‪).01( + 2 )1101( = 2 )1101.01‬‬ ‫= ‪13 = 8 + 4 + 0 + 1‬‬ ‫(‪= 2)1101‬‬ ‫‪1‬‬ ‫‪0.25 = 0 ‬‬ ‫=‬ ‫(‪= 2).01‬‬ ‫‪4‬‬ ‫أو ‪ 13.25‬بالنظاـ العشري‪.‬‬ ‫‪10 (13‬‬ ‫إذا (‪+.25( = 2)1101.01‬‬ ‫‪‬‬ ‫القاعدة العامة للتحويل من النظام الثنائي إلى النظام العشري‪:‬‬ ‫‪ ‬اجلزء الصحيح‬ ‫‪ ‬اجلزء الكسري‬ ‫‪ ‬ادلكايفء بالنظاـ العشري = ‪d  f‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 48‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫التحويل من النظام العشري إلى النظام الثنائي‪:‬‬ ‫أوال‪ :‬ربويل اجلزء الصحيح‬ ‫حيث‬ ‫للتحويل من النظاـ العشري ولنشَت لو بػ ‪ d‬إىل النظاـ الثنائي ولنشَت لو بػ ‪ b‬ضلتاج إلغلاد ادلعامالت‬ ‫وؽلكن أداء ذلك بتكرر تنفيذ اجلملتُت التاليتُت طادلا أف قيمة ‪ d‬ال تساوي صفر ‪:‬‬ ‫‪ ‬حساب ناتج قسمة العدد علي ‪ 2‬أي ‪.d = d // 2‬حيث ادلؤثر ‪ / /‬يعطي العدد الصحيح فقط من ناتج القسمة‪.‬‬ ‫‪ ‬حساب باقي قسمة العدد بالنظاـ العشري علي ‪ 2‬ولنشَت لو بػ ‪. m‬أي أف ‪m = d % 2‬‬ ‫(‪10 )10‬‬ ‫مثاؿ‪ :‬أوجد ادلقابل الثنائي للعدد‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪5‬‬ ‫‪1//2=0‬‬ ‫‪2//2=1‬‬ ‫‪5//2=2‬‬ ‫‪10//2=5‬‬ ‫‪d//2‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪d%2‬‬ ‫)‪2‬‬ ‫إذاً ادلقابل بالثنائي= ( ‪1 0 1 0‬‬ ‫(‪10)615‬‬ ‫مثاؿ‪ :‬أوجد ادلقابل الثنائي للعدد‬ ‫‪1‬‬ ‫‪9‬‬ ‫‪76‬‬ ‫‪307‬‬ ‫‪1//2‬‬ ‫‪2//2 4//2 9//2 19//2 38//2 76//2 153//2 307//2 615//2‬‬ ‫‪d//2‬‬ ‫‪=0‬‬ ‫‪=1 =2 =4‬‬ ‫‪=9‬‬ ‫‪=19 =38‬‬ ‫‪=76‬‬ ‫‪=153 =307‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪d%2‬‬ ‫(‪2)1001100111‬‬ ‫إذاً ادلقابل بالثنائي=‬ ‫ثانيا‪ :‬ربويل اجلزء الكسري‬ ‫وؽلكن أداء ذلك بتكرر تنفيذ اجلملتُت التاليتُت طادلا أف قيمة ‪ d‬ال تساوي صفر ‪:‬‬ ‫‪ ‬حساب ناتج حاصل ضرب العدد‪ d‬يف ‪ 2‬أي ‪.d = d * 2‬‬ ‫‪ ‬ذبزئة ناتج حاصل الضرب إىل جزء صحيح = )‪ int(d‬وجزء كسري )‪d = d – int(d‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 49‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫(‪10)0.125‬‬ ‫مثاؿ‪ :‬أوجد ادلقابل الثنائي للعدد‬ ‫‪d = d*2‬‬ ‫‪0.125 * 2 = 0.25‬‬ ‫‪0.25 * 2 = 0.5‬‬ ‫‪0.5 * 2 = 1.0‬‬ ‫)‪int(d‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫)‪d = d – int(d‬‬ ‫‪0.25‬‬ ‫‪0.5‬‬ ‫‪0‬‬ ‫(‪2)0.001‬‬ ‫=‬ ‫(‪102)0.125‬‬ ‫إذاً ادلقابل بالثنائي للعدد العشري‬ ‫(‪10)0.6875‬‬ ‫مثاؿ‪ :‬أوجد ادلقابل الثنائي للعدد‬ ‫‪0.375‬‬ ‫‪0.75‬‬ ‫‪0.5‬‬ ‫‪d = d*2‬‬ ‫‪0.6875*2 =1.375‬‬ ‫‪.375 * 2 =.75.75*2 = 1.5‬‬ ‫‪.5*2 = 1.0‬‬ ‫)‪int(d‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫)‪d = d – int(d‬‬ ‫‪0.375‬‬ ‫‪0.75‬‬ ‫‪0.5‬‬ ‫‪0‬‬ ‫‪2)0.‬‬ ‫إذاً ادلقابل بالثنائي= ( ‪1 0 1 1‬‬ ‫(‪10).6875‬‬‫مثاؿ‪ :‬أوجد ادلقابل الثنائي للعدد (‪+ 10)10( = 10)10.6875‬‬ ‫= ( ‪2)0.1011( + 2)1010‬‬ ‫= ( ‪2)1010.1011‬‬ ‫مالحظة‪:‬‬ ‫ليس كل الكسور العشرية قابلة للتحويل إىل كسر ثنائي علي سبيل ادلثاؿ الكسر (‪.10 )0.1‬كما احلاؿ بالنظاـ العشري ليس كل‬ ‫‪1‬‬ ‫‪10‬‬ ‫)‬ ‫الكسور اإلعتيادية قابلة للتحويل إىل كسور عشرية على سبيل ادلثاؿ (‬ ‫‪3‬‬ ‫التحويل من النظام الثماني إلى الثنائي‪:‬‬ ‫لتحويل أي عدد شباين إىل مكافئو الثنائي نستبدؿ كل رقم من أرقاـ العدد الثماين دبكافئو الثنائي ادلكوف من ثالث خانات و بذلك ينتج‬ ‫لدينا العدد الثنائي ادلكافئ للعدد الثماين ادلطلوب ربويلو‪.‬‬ ‫مثاؿ‪ :‬حوؿ العدد الثماين )‪ 8 (772.5‬إىل مكافئو الثنائي‪:‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 20‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫التحويل من النظام الثنائي إلى الثماني‪:‬‬ ‫لتحويل األعداد الثنائية الصحيحة إىل شبانية نتبع اخلطوات التالية‪:‬‬ ‫‪ -1‬نقسم العدد الثنائي إىل رلموعات كل منها مكوف من ثالث خانات‪ ،‬و غلب أف نبدأ التقسيم من الرقم األقل أعلية )‪. (LSD‬‬ ‫‪ -2‬إذا كانت اجملموعة األخَتة غَت مكتملة فإننا نضيف يف هنايتها الرقم صفر حىت تصبح مكونة من ثالث خانات ثنائية‪.‬‬ ‫‪ - 3‬نضم األرقاـ الثمانية معاً للحصوؿ على العدد ادلطلوب‪.‬‬ ‫‪ - 4‬يف حالة الكسور الثنائية نبدأ بالتقسيم إىل رلموعات من اخلانة القريبة على الفاصلة‪.‬‬ ‫التحويل من النظام الست عشري إلى الثنائي‪:‬‬ ‫لتحويل أي عدد من النظاـ السداسي عشر إىل مكافئو الثنائي نتبع اآليت‪:‬‬ ‫مثاؿ حوؿ العدد السداسي عشر )‪ 16 (D39A‬إىل مكافئو الثنائي‪.‬‬ ‫‪ ‬نستبدؿ اخلانات ادلكتوبة بداللة احلروؼ إف وجدت يف العدد باألعداد العشرية ادلكافئة ذلا‪.‬‬ ‫‪ ‬نقوـ بتحويل االعداد العشرية دلا يكافئها من االعداد الثنائية حبيث يكوف كل عدد ثنائي بو أربع خانات‪.‬‬ ‫‪ ‬مث نضم األرقاـ الثنائية مع بعضها لنحصل على العدد ادلطلوب‪:‬‬ ‫التحويل من النظام الثنائي إلى النظام الست عشري‪:‬‬ ‫لتحويل أي عدد صحيح من النظاـ الثنائي إىل الست عشري نتبع اآليت‪:‬‬ ‫‪.1‬نقسم العدد الثنائي إىل رلموعات كل منها يتكوف من ‪4‬خانات مع مراعاة أف يبدأ التقسيم من الرقم األقل أعلية )‪(LSD‬‬ ‫مثاؿ‪ :‬العدد الثنائي التايل ‪ 101001101101111001101‬يصبح تقسيمو إىل إىل رلموعات‬ ‫كاآليت‪1 0100 1101 1011 1100 1101 :‬‬ ‫‪.2‬إذا كانت اجملموعة األخَتة غَت مكتملة فإننا نضيف يف هنايتها الصفر حىت تصبح مكونة من أربعة خانات ‪:‬‬ ‫‪0001‬‬ ‫‪0100‬‬ ‫‪1101‬‬ ‫‪1011‬‬ ‫‪1100‬‬ ‫‪1101‬‬ ‫‪.3‬ضلوؿ كل رلموعة ثنائية إىل مكافئها يف النظاـ العشري‪:‬‬ ‫‪0001‬‬ ‫‪0100‬‬ ‫‪1101‬‬ ‫‪1011‬‬ ‫‪1100‬‬ ‫‪1101‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪13‬‬ ‫‪11‬‬ ‫‪12‬‬ ‫‪13‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 24‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫‪.4‬نستبدؿ كل رقم عشري (من اخلطوة السابقة) أكرب من ‪ 9‬بداللة حروؼ النظاـ السداسي عشر‪:‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪13‬‬ ‫‪11‬‬ ‫‪12‬‬ ‫‪13‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪D‬‬ ‫‪B‬‬ ‫‪C‬‬ ‫‪D‬‬ ‫‪.5‬نظم األرقاـ الناذبة مع بعضها لنحصل على ادلطلوب بالنظاـ السادس عشر ‪14DBCD‬‬ ‫‪.6‬إذا كاف العدد الثنائي كسراً نبدأ بالتقسيم إىل رلموعات من اخلانة القريبة على الفاصلة مث نتبع باقي اخلطوات ادلشروحة سابقاً‪.‬‬ ‫تمارين ‪1.1‬‬ ‫‪.1‬قم بالتحويالت اآلتية‪:‬‬ ‫( يف النظاـ العشري‬ ‫)‬ ‫‪ ‬العدد الثنائي )‪ ( 10101.11‬يساوي‬ ‫( يف النظاـ السادس عشر‬ ‫)‬ ‫‪ ‬العدد العشري ) ‪ ( 15‬يساوي‬ ‫( يف النظاـ الثماين‬ ‫‪ ‬العدد السادس عشر ) ‪ ( AF.D‬يساوي )‬ ‫( يف النظاـ الثنائي‬ ‫)‬ ‫‪ ‬العدد الثماين ) ‪ (37.21‬يساوي‬ ‫‪.2‬إحسب ادلكايفء بالنظاـ العشري للقيم بالنظاـ الثنائي‪.‬‬ ‫ادلكايفء بالنظاـ العشري‬ ‫الرقم بالنظاـ الثنائي‬ ‫(‪2)100101‬‬ ‫(‪2)111111‬‬ ‫(‪2)1100.101‬‬ ‫(‪2)0.1100011‬‬ ‫‪.3‬إحسب ادلكايفء بالنظاـ الثنائي للقيم بالنظاـ العشري‪.‬‬ ‫ادلكايفء بالنظاـ الثنائي‬ ‫الرقم بالنظاـ العشري‬ ‫‪25.75‬‬ ‫‪36.8125‬‬ ‫‪99.275‬‬ ‫‪64.111‬‬ ‫‪128.0625‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 22‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫·‬ ‫‪.1‬تحديد المسألة (ربليل ادلسألة) ‪:‬وىو أمر ضروري حىت نتمكن من التصميم اجليد للربنامج و يعٌت ربديد "بوضوح" ادلعطيات‬ ‫(ادلدخالت) للربنامج والناتج ادلستهدؼ (ادلخرجات) للمسائلة ادلراد حلها‪ ،‬ويشمل نوع البيانات ووسط التعامل(واجهات)‬ ‫إلدخاؿ البيانات ووسط عرض النتائج (بيانات رقمية ورمزية‪ ،‬روسومات‪ ،‬صورة‪ ،‬صوت‪...،‬اخل) وكذلك ىل ادلطلوب حفط‬ ‫البيانات ادلدخلة والنتائج بوسائل حفظ البيانات ادلختلفة مثل القرص الصلب‪... ،‬اخل‪.‬أي فهم ادلسألة جيداً‪.‬‬ ‫‪.2‬تاميم الحل‪ :‬اخلوارزمية (‪ - )Algorithm‬أي ربديد اخلطوات والعمليات الالزمة حلل ادلسألة " بوضوح" حبيث تكوف غَت‬ ‫قابلة للتفسَت بأكثر من طريقة ‪ ،‬إما بكتابة اخلطوات بإستخداـ احد اللغات احلية أو بإستخداـ ادلخططات اإلنسيابية ( ‪Flow‬‬ ‫‪ )Chart‬وىي غَت مناسبة للحاسوب‪ ،‬مت ربويل اخلوارزمية أو ادلخطط اإلنسيايب إىل برنامج بأحد لغات الربرلة‪ ،‬ويف حالة‬ ‫ادلسائل ادلعقدة يتم ذبزئة ادلسائلة إىل عدد من ادلسائل اجلزئية الصغَتة‪.‬‬ ‫‪.3‬تجربة البرنامج وتنفيذه على جهاز احلاسوب ببيانات عشوائية وبيانات معروفة النتائج مسبقا‪.‬‬ ‫‪.4‬التاحيح )‪ : (debugging‬مراجعة اخلطوات يف حالة وجود أخطاء وتصحيحها وؽلكن تصنيف األخطاء إىل‪ 3‬أنواع‪:‬‬ ‫‪ ‬خطأ لغوي (‪ : )Syntax Error‬خطأ ػلدث نتيجة دلخالفة قواعد اللغة وعادة ما يتم اكتشافو من قبل الربنامج‬ ‫ادلًتجم‪.‬مثال‪ )2+1( :‬صبلة صحيحة‪ ،‬لكن ‪ )2+1‬صبلة غَت صحيحة‪.‬‬ ‫‪ ‬خطأ منطقي (‪ : )Semantic Error‬وىذا النوع من األخطاء ال تكتشفو لغة الربرلة‪ ،‬وعادة ما يتم اكتشافو من قبل‬ ‫ادلربمج بتجربة الربنامج ببعض البيانات اليت يتوقع نتائج معاجلتها‪.‬يف ىذا اخلطأ الربنامج ينفذ وينتج سلرجات ولكن ادلهمة‬ ‫اليت أصلزىا ليست ادلهمة ادلطلوبة‪ ،‬أي بعبارة أخرى الربنامج الذي مت كتابتو ليس الربنامج ادلطلوب‪.‬‬ ‫‪ ‬خطأ تنفيذي (‪ :)Runtime Error‬ويسمى احيانا بػ ‪.Exceptions‬وىذا النوع من األخطاء ػلدث نتيجة‬ ‫حدوث خطأ أثناء تنفيذ صبل الربنامج مثال ‪ :‬الفيض (‪ ،)Over Flow, Under Flow‬القسمة علي صفر‪.‬‬ ‫‪.5‬تحسين البرنامج ويشمل‪:‬‬ ‫‪ ‬ادلدخالت‪.‬‬ ‫‪ ‬ادلخرجات‪.‬‬ ‫‪ ‬العمليات ‪ :‬على سبيل ادلثاؿ حساب رلموع االعداد من ‪.n..1‬ىناؾ طريقتُت للحل‪ :‬األوؿ والبديهي ولكن ليس األفضل‬ ‫ىو صبع االعداد بداية من ‪ 1‬إىل غاية ‪ n‬وتتطلب ىذه ادلهمة ‪ n‬عملية صبع‪.‬أي أف عمليات اجلمع تثأتر بقيمة ‪.n‬‬ ‫‪ ‬واحلل األمثل ىو حساب رلموع ىذه االعداد باستخداـ العالقة التالية‪:‬‬ ‫‪(1  n)n‬‬ ‫وربتاج ىذه ادلهمة ‪ 3‬عمليات فقط مهما كانت قيمة ‪( n‬عملية صبع‪ ،‬وعملية ضرب‪،‬‬ ‫رلموع االعداد =‬ ‫‪2‬‬ ‫وعملية قسمة)‪.‬‬ ‫‪ ‬تسهيل استخداـ الربنامج من قبل الغَت (مثال بإضافة تعليقات توضح مهاـ الربنامج ‪.)comments‬‬ ‫‪.1.3‬الخوارزميات ‪Algorithms‬‬ ‫الخوارزمية ‪ :‬عبا رة عن رلموعة من اخلطوات اليت عند تنفيذىا تصل إىل احلل ادلطلوب‪.‬ومسيت هبذا االسم نسبة للعامل ادلسلم زلمد‬ ‫بن موسى اخلوارزمي الذي وضع اسلوبا زلدد حلل ادلسائل اجلربية علي صورة رلموعة من اخلطوات اليت باتباعها نصل إىل احلل‬ ‫ادلطلوب‪.‬بعبارة أخرى ىي خطوات تبُت طريقة حل ادلشكلة‪.‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 30‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫بعد ربديد ادلسألة وفهمها بصورة صحيحة‪ ،‬نأيت إىل خطوة تصميم احلل ذلذه ادلسألة‪.‬فبعد أف تًتسخ خطوات حل ادلسألة يف دماغ‬ ‫ادلصمم ضلتاج إىل إبراز ىذه اخلطوات (اليت سبثل اخلوارزمية) إىل الوجود ويتم ذلك بعدة طرؽ منها اآليت ‪:‬‬ ‫الطريقة الناية ‪:‬‬ ‫‪‬‬ ‫يف ى ذه الطريقة يتم التعبَت عن اخلوارزمية بإستخداـ خطوات مكتوبة بلغة معينة‪ ،‬قد تكوف من اللغات الطبيعية مثل ‪ :‬االصلليزية‬ ‫أو العربية أو ‪...‬أو شفرة شبيهة الربنامج )‪ (pseudo-code‬وؽلكن استخداـ أحد لغات الربرلة وقد مت استخداـ لغة‬ ‫‪ Algol‬يف بداية النهضة يف علم احلاسوب لغرض عرض اخلوارزميات يف البحوث والنشرات والدوريات العلمية ‪.‬‬ ‫الطريقة الرسومية (‪: )Flow Chart‬‬ ‫‪‬‬ ‫وىي طريقة تستخدـ األشكاؿ الرسومية للتعبَت عن اخلوارزمية‪.‬حيث أف كل شكل لو مدلوؿ خاص‪.‬‬ ‫ولكن يف ىذه الدروس سنتبع منهجا جديدا وىو التعبَت عن اخلوارزمية بإستخداـ لغة بررلة (‪ )Python‬وىي لغة بسيطة وسهلة‬ ‫وقابلة للتنفيذ على جهاز احلاسوب علي عكس الطريقتُت السابقتُت ( الطريقة النصية‪ ،‬الطريقة الرسومية) واللتاف ذلما العديد من‬ ‫السلبيات وىذا ما نالحظو من بعض األمثلة‪.‬‬ ‫يف األمثلة التالية سنستعرض بعض ادلسائل وطريقة احلل بإستخداـ الطريقة النصية والطريقة الرسومية‪.‬‬ ‫‪.1.4‬الخوارزمية الناية ‪:‬‬ ‫مثال‪ : 1‬اكتب خوارزمية لقراءة نصف قطر دائرة وحساب ادلساحة واحمليط‪..‬‬ ‫تاميم الحل ‪:‬‬ ‫‪ ‬المعطيات ‪ :‬نصف قطر الدائرة (نق) وقيمة ط تقريبا = ‪3.14159‬‬ ‫‪ ‬المعالجة ‪ :‬تبُت كيفية (خطوات إغلاد ادلطلوب) للوصوؿ إىل ادلطلوب‪.‬ويف ىذا ادلثاؿ ضلتاج إىل معادلة ادلساحة ومعادلة‬ ‫احمليط‪.‬‬ ‫َك)‬ ‫ط‬ ‫(ذ‬ ‫َك ) و المحيط‬ ‫ط‬ ‫و‬ ‫المساحة (‬ ‫‪ ‬المخرجات‪ :‬عرض قيمة كل من ادلساحة واحمليط‪.‬‬ ‫مبدئيا لتصميم حل متكامل ذلذا ادلثاؿ نقوـ بتفكيك ادلسألة إىل ثالث أجزاء كاآليت‪:‬‬ ‫‪.1‬البداية‬ ‫‪.2‬إدخال المعطيات‬ ‫‪.3‬المعالجة‬ ‫‪.4‬عرض المطلوب‬ ‫‪.5‬النهاية‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 34‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫ادلرحلة الثانية من التصميم ىي ربسُت التصميم أي كتابة اخلطوات بتفاصيل أكثر‪.‬وبذلك تكوف اخلوارزمية قد اكتملت‪.‬وىي‬ ‫كالتايل‪:‬‬ ‫الخوارزمية ‪:‬‬ ‫‪.1‬البداية‬ ‫‪.2‬اقرأ قيمة نق‬ ‫‪.3‬ط = ‪3.14159‬‬ ‫َك احسب قيمة‬ ‫ط‬ ‫‪.4‬احسب قيمة المساحة‪ :‬و‬ ‫ق‬ ‫ط‬ ‫المحيط‪ :‬ذ‬ ‫‪.5‬طباعة قيمة م و قيمة ح‬ ‫‪.6‬النهاية‬ ‫خطوة البداية تنبو ادلتتبع للخوارزمية أف التتبع يبدأ من ىنا‪ ،‬وخطوة النهاية تدؿ على هناية اخلوارزمية‪.‬‬ ‫كيفية التاكد من صحة الخوارزمية ؟‬ ‫تتبع اخلوارزمية يدويا بقيم سلتلفة لنصف القطر وىذا غَت مقبوؿ يف اخلوارزميات ادلعقدة واليت تشمل العديد من العمليات احلسابية و‬ ‫العالئقية ادلعقدة‪.‬‬ ‫مثال‪ : 2‬اكتب خوارزمية حلساب متوسط درجات الطلبة الدارسُت دبقرر ‪.CS100‬‬ ‫تاميم الحل ‪:‬‬ ‫‪ ‬المعطيات‪ :‬عدد الطلبة ويشار لو بػ ف والدرجة بػ د‪.‬‬ ‫‪ ‬المعالجة ‪ :‬تبُت كيفية (خطوات إغلاد ادلطلوب) الوصوؿ إىل ادلطلوب‪.‬اخلطوات االزمة لتحقيق ادلطلوب ىي ‪:‬‬ ‫‪ ‬صبع صبيع الدرجات ويشار لو بػ ج‪.‬‬ ‫ج‬ ‫‪ ‬حساب ادلتوسط م‬ ‫ى‬ ‫‪.1‬المخرجات‪ :‬عرض قيمة ادلتوسط م‪.‬‬ ‫ومبدئيا لتصميم حل متكامل ذلذا ادلثاؿ نقوـ بتفكيك ادلسألة إىل ثالث أجزاء كاآليت ‪:‬‬ ‫‪.1‬البداية‬ ‫‪.2‬إدخال المعطيات‬ ‫‪.3‬المعالجة‬ ‫‪.4‬عرض المطلوب‬ ‫‪.5‬النهاية‬ ‫ادلرحلة الثانية من التصميم ىي ربسُت التصميم أي كتابة اخلطوات بتفاصيل أكثر‪.‬خطوة ادلعاجلة يف ىذا ادلثاؿ ربتاج إىل تفصيل‬ ‫أكثر ‪ ،‬إلغلاد ادلتوسط ضلتاج إىل قراءة الدرجة وإضافتها إىل الدرجات السابقة ذلا يف اإلدخاؿ‪ ،‬ىذا الفعل يتكرر حىت قراءة أخر درجة‪،‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 32‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫مث قسمة ىذا اجملموع على عدد الطلبة للحصوؿ على ادلتوسط‪.‬وبذلك تكوف اخلوارزمية قد اكتملت‪.‬وىي كالتايل‪:‬‬ ‫الخوارزمية‪:‬‬ ‫‪.1‬البداية‬ ‫‪.2‬دع قيمة ج = ‪0‬‬ ‫‪.3‬دع قيمة العداد ع = ‪0‬‬ ‫‪.4‬إقرأ عدد الطلبة (ن)‬ ‫‪.5‬طالما (ع > ن) كرر تنفيذ‪:‬‬ ‫‪ -5.1‬إقرأ الدرجة د‬ ‫‪ -5.2‬اضف قيمة د إلى ج‬ ‫‪ -5.3‬أضف ‪ 1‬إلى عداد الطلبة ع‬ ‫ج‬ ‫‪.6‬احسب المتوسط و‬ ‫ٌ‬ ‫‪.7‬اعرض قيمة المتوسط م‬ ‫‪.8‬النهاية‬ ‫‪.1.5‬الخوارزمية الرسومية ‪:‬‬ ‫المخطط االنسيابي (‪ :)Flow Chart‬ويسمى بػمخطط سَت العمليات ‪ -‬وىو طريقة زبطيطية باستخداـ أشكاؿ ىندسية‬ ‫وأسهم توضح مسار العمليات‪ ،‬وكل شكل ىندسي يعرب عن نوع من األوامر أو التعليمات ادلستخدمة يف حل ادلسألة واألشكاؿ‬ ‫اذلندسية ىى علي سبيل ادلثاؿ‪:‬‬ ‫جدوؿ يبُت االشكاؿ ادلستخدمة يف ادلخطط االنسيايب‬ ‫البداية أو النهاية‬ ‫جمل التعيين والمعالجة‬ ‫جملة شرطية‬ ‫اإلدخال‬ ‫اإلخراج‬ ‫الربط‬ ‫اتجاه سير العمليات‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 33‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫مثال‪ :3‬أعد كتابة ادلثاؿ‪ 1‬بإستخداـ ادلخطط االنسيايب‪.‬‬ ‫انثذاٌح‬ ‫ط = ‪3.14159‬‬ ‫لًٍح َك‬ ‫و = ط ‪َ x‬ك ‪َ x‬ك‬ ‫ذ = ‪ x 2‬ط ‪َ x‬ك‬ ‫لًٍح و ٔلًٍح ذ‬ ‫انُٓاٌح‬ ‫مثال‪ :4‬أعد كتابة ادلثاؿ‪ 2‬بإستخداـ ادلخطط االنسيايب‪.‬‬ ‫انثذاٌح‬ ‫ج=‪0‬‬ ‫ع=‪0‬‬ ‫ػذد انطهثح ٌ‬ ‫ال‬ ‫ع>ٌ‬ ‫نعم‬ ‫ج‬ ‫دسخح انطهثح د‬ ‫و‬ ‫ٌ‬ ‫ج=ج‪+‬د‬ ‫لًٍح و‬ ‫ع=ع‪1+‬‬ ‫انُٓاٌح‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 34‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫من الواضح وادلالحظ أف استخداـ ادلخطط اإلنسيايب لكتابة خطوات حل ادلسألة يعاين من ضياع الوقت برسومات قد تعقد احلل يف‬ ‫ادلسائل الكبَتة ادلعقدة‪ ،‬وتعتمد ادلخططات اإلنسيابية علي االسهم لتوجيو سَت العمليات (‪ )adhoc method‬شلا غلعل الربنامج‬ ‫صعب التتبع والتصحيح نتيجة لتشابك األسهم وعلي سبيل ادلثاؿ ادلخطط التايل‪ :‬وىو سلطط إنسيايب إلغلاد أكرب قيمة من بُت ‪ 3‬قيم‪.‬‬ ‫‪start‬‬ ‫‪a, b, c‬‬ ‫ال‬ ‫نعم‬ ‫نعم‬ ‫‪b>c‬‬ ‫‪a>b‬‬ ‫‪a>c‬‬ ‫نعم‬ ‫ال‬ ‫ال‬ ‫‪a‬‬ ‫‪b‬‬ ‫‪c‬‬ ‫‪end‬‬ ‫" وبالرغم من بساطتة‪ ،‬فإف ادلخطط االنسيايب يوفر إمكانيات قوية وفعالة بسبب حرية احلركة واالنتقاؿ من مكاف الخر داخل ادلخطط‬ ‫حسب ما سبلية منطقيات احلل دوف التقيد بًتكيبات أو بسياؽ منطقي متقن‪.‬وينتج عن ذلك سلططا معقد من كثرة اخلطوط ادلتداخلة‬ ‫والنقالت ادلفا جئة‪.‬ويف مرحلة الربرلة إما اف يستجيب ادلربمج دلثل ىذا ادلخطط باستخداـ التعليمة السحرية ادلشهورة ‪ GOTO‬أو أف‬ ‫ي همل ادلخطط االنسيايب ويتقيد بقواعد الربرلة احلديثة وأعلها الربرلة اذليكلية ‪ Structured Programming‬والربرلة ادلرئية‬ ‫‪ Visual Programming‬والربرلة الشيئية ‪ Object-Oriented Programming‬وينتج عنة ذلك تضارب يف وثائق‬ ‫‪1‬‬ ‫ادلسألة يعوؽ حسن التنفيذ والصيانة والتطويرفيما بعد‪".‬‬ ‫ويف النهاية ضلتاج إىل لغة بررلة لتحويل ادلخططات اإلنسابية أو اخلوارزميات النصية إىل برنامج لتنفيذىا على احلاسوب ‪ ،‬وىذا جعل‬ ‫كثَت من ادلربرلُت يتجاوزوف ىذه ادلرحلة وخاصة يف الوقت احلاضر لتوفر ورخص أجهزة احلاسوب وكذلك الربامج واللغات ادلفتوحة‬ ‫ادلصدر‪.‬باإلمكاف اإلستعانة بلغة بررلة بسيطة‪ ،‬سهلة االستعماؿ مرنة‪ ،‬تسمح بالبناء التدرغلي للحل‪ ،‬متوافقة مع األساليب احلديثة يف‬ ‫الربرلة مثل ما يعرؼ بػ ‪ ،(OOP) Object Oriented Programming‬شلا يوفر للمصمم فرصة للتحقق من طريقة‬ ‫حلو للمسألة مباشرة بدوف احلاجة إىل خطوة إعادة كتابة اخلوارزمية إىل شفرة معينة‪.‬وىذا يوفر على ادلصمم كثَتا من الوقت واجلهد‪.‬‬ ‫‪1‬‬ ‫يصطفى ػثذانؼال‪ ،‬إيسًذ تٍ صاٍْح‪.‬ذسسٍٍ انًخططاخ االَسٍاتٍح ألغشاض انثشيدح انٍٓكهٍح ‪.‬انًدهح انهٍثٍح نهؼهٕو‪ ،‬يُشٕساخ خايؼح انفاذر ‪ /‬كهٍح‬ ‫انؼهٕو (انؼذد ‪ – 11‬أ ‪.)2002‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 36‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬ ‫تمارين‬ ‫‪.1‬اكتب خوارزميات نصية للتمارين ‪ 2‬و ‪ 3‬و ‪4‬‬ ‫‪.2‬ارسم ادلخطط االنسيايب لقراءة قيمة صحيحة لػ ‪ n‬من لوحة ادلفاتيح وحساب وعرض مضروب العدد ولنشر لو بػ ‪nfact‬‬ ‫‪nfact = 1 x 2 x 3 x... x (n – 1) x n‬‬ ‫‪.3‬ارسم ادلخطط االنسيايب لقراءة قيمة صحيحة لػ ‪ 1 < n‬وحساب وعرض ناتج ادلعادلة ‪:‬‬ ‫)‪Sum = (1 – 1/4) x (1 + 1/9) x … x (1 ± 1/ n²‬‬ ‫‪.4‬ارسم ادلخطط االنسيايب لقراءة قيمة صحيحة لػ ‪ 1 < n‬وحساب وعرض ناتج ادلعادلة ‪:‬‬ ‫‪−‬‬ ‫‪.5‬مت تكليفك من قبل شركة ادلدار لإلتصاالت اذلاتفية لرسم ادلخطط االنسيايب حلساب وعرض تكلفة ادلكادلات الصادرة من‬ ‫ادلشًتكُت ويشار لو بػ ‪ cost‬دبعرفة الزمن ادلستغرؽ للمكادلة بالدقائق ويشار لو بػ ‪ time‬وبإستخداـ اجلدوؿ التاليلحساب‬ ‫التكلفة‪:‬‬ ‫تكلفة الدقيقة الواحدة بالدراىم (‪)price‬‬ ‫زمن ادلكادلة بالدقائق (‪)time‬‬ ‫‪100‬‬ ‫من ‪ 1‬إىل ‪ 5‬دقائق‬ ‫‪80‬‬ ‫من الدقيقة السادسة وحىت العاشرة‬ ‫‪50‬‬ ‫من الدقيقة احلادية عشر إىل هناية ادلكادلة‬ ‫‪.6‬ارسػػم ادلخطػػط االنسػػيابة لقػراءة ال ػ ‪ 3‬درجػػات ويشػػار ذلػػم ب ػ ‪ g3, g2, g1‬علمػػا بػػأف الدرجػػة أكػػرب أو تسػػاوي صػػفر وأصػػغر أو‬ ‫تساوي ‪.100‬مت حساب وعرض متوسط رلموع أعلي درجتُت من الثالث درجات‪.‬‬ ‫ؽلكنك التحقق بإالستعانة باجلدوؿ التاليعلى سبيل ادلثاؿ‪:‬‬ ‫شكل الناتج ادلطلوب عرضو‬ ‫‪fg‬‬ ‫‪g3‬‬ ‫‪g2‬‬ ‫‪g1‬‬ ‫‪Final grade = 65‬‬ ‫‪(70+60)/2=65‬‬ ‫‪70‬‬ ‫‪60‬‬ ‫‪40‬‬ ‫‪Final grade = 70‬‬ ‫‪(80+60)/2=70‬‬ ‫‪80‬‬ ‫‪50‬‬ ‫‪60‬‬ ‫‪Final grade = 55‬‬ ‫‪(55+65)/2=60‬‬ ‫‪50‬‬ ‫‪65‬‬ ‫‪55‬‬ ‫المرحلة التمهيدية للعلوم التطبيقية (‪) CS011‬‬ ‫( ‪) 404 - 37‬‬ ‫قسن علوم الحاسب اآللي – كلية العوم‬

Use Quizgecko on...
Browser
Browser