مذكرة الحاسوب CS21 PDF
Document Details
Uploaded by EfficaciousOrientalism
جامعة طرابلس
Tags
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ؽلكن كتابتو 1102 2 101 5 100 والعدد 7 103 1102 2 101 9 100 4 101 5 102 = 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 قسن علوم الحاسب اآللي – كلية العوم