طرق حل المسائل برمجيا الجزء الثاني gs101 fall2017

Page 1

‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫‪ ‬طرق حل املسائل البرمجية‪ :‬الجزء الثاني‬ ‫‪ ‬لغات البرمجة ‪programming languages‬‬ ‫?‪what is a language‬‬ ‫‪ ‬ما هي اللغة؟‬ ‫اللغة ‪ language‬هي فئة ‪ set‬من الكلمات ‪ words‬و القوانين ‪ .rules‬هذه القوانين ‪ rules‬ترتب‬ ‫هذه الكلمات ‪ words‬في جملة لها معنى‪.‬‬ ‫?‪why do we need a language‬‬ ‫‪ ‬ملاذا نحتاج الى لغة؟‬ ‫يحتاج االنسان للغة ‪ language‬ليتواصل ‪ to communicate‬مع االخرين ‪.with others‬‬ ‫‪ ‬كيف نتواصل مع االلة (الحاسوب) ?)‪how to communicate with machine (computer‬‬ ‫بنفس الطريقة التي يتواصل فيها الناس (باستخدام اللغة)‪ ،‬يتواصل االنسان مع الحاسب االلي‬ ‫ً‬ ‫باستخدام اللغة أيضا (لغات البرمجة ‪.)programming language‬‬ ‫?‪what is a programming language‬‬ ‫‪ ‬ما هي لغة البرمجة؟‬ ‫هي لغة مكونة من مجموعة من التعليمات املتتالية ‪ sequence of instructions‬التي تسمى‬ ‫برنامج ‪.program‬‬ ‫‪ ‬ما تصنيف لغات البرمجة؟ ?‪what is the classification of programming languages‬‬ ‫ً‬ ‫تصنف لغات البرمجة وفقا للمستوى (‪ )leve‬الى نوعين‪:‬‬ ‫لغات البرمجة وفقا ً للمستوى‬ ‫‪Programming language according to level‬‬

‫لغات البرمجة ذات المستوى المنخفض‬ ‫‪low level Programming language‬‬

‫لغات البرمجة ذات المستوى العالي‬ ‫‪high level Programming language‬‬

‫لغة االلة ‪machine language‬‬ ‫(مثل‪ :‬لغة التجميع ‪)assembly language‬‬

‫لغة قريبة للغة االنسان‬ ‫(مثل‪ :‬لغة ‪)Java ،C++‬‬

‫‪1‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫ً‬ ‫‪ o‬ما انواع لغات البرمجة وفقا للمفهوم و الهيكلية؟‬ ‫?‪What are the types of programming languages according to the concept & structure‬‬

‫توجد انواع عديدة من لغات البرمجة التي تختلف في املفاهيم‪ ،‬من اهمها‪:‬‬ ‫‪ .1‬البرمجة االجرائية ‪procedural programming‬‬ ‫كانت بداية البرمجة اجرائية‪ ،‬حيث يتكون البرنامج من مجموعة من التعليمات ‪instructions or‬‬ ‫‪ statements‬املتتالية التي يتم تنفيذها واحدة تلو االخرى‪ .‬و مع ازدياد حجم البرنامج‪ ،‬تم تقسيمه الى‬ ‫ً‬ ‫أيضا وظيفة ‪ function‬أو دالة ‪ٌ )method‬‬ ‫كل‬ ‫وحدات صغيرة تسمى إجراء ‪( procedure‬و يطلق عليها‬ ‫منها تؤدي مهمة محددة‪.‬‬ ‫‪ .2‬البرمجة الهيكلية ‪structured programming‬‬ ‫مع استمرار ازدياد حجم البرنامج اكثر‪ ،‬ظهرت البرمجة الهيكلية ‪ structured programming‬التي يتم‬ ‫فيها وضع مجموعة من الدوال في وحدة اكبر تسمى ‪( module‬في الغالب تكون ملف ‪ .) file‬و مع ازدياد‬ ‫ً‬ ‫حجم البرنامج اكثر فأكثر‪ ،‬اصبحت اكثر تعقيدا مما ادى الى اخفاق معظمها و تبين فيما بعد انه ثمة‬ ‫قصور و ضعف في البرمجة االجرائية بأنواعها‪.‬‬ ‫‪ .3‬البرمجة الشيئية )‪object oriented programming (OOP‬‬ ‫يتكون العالم من حولنا من مجموعة من الكائنات ‪ Objects‬التي لها صفات (خصائص)‪ attributes‬و‬ ‫ً‬ ‫سلوك ‪ .behavior‬و بناءا على هذا املفهوم‪ ،‬جاءت فكرة البرمجة الشيئية او املوجهة نحو الكائنات‪.‬‬ ‫حيث تكمن فكرة ‪ OOP‬في دمج البيانات )‪ (attributes‬مع الوظائف او الدوال )‪ (behavior‬التي تعمل‬ ‫على هذه البيانات في وحدة مستقلة ‪ a single unit‬تسمى كائن ‪ .Object‬لذا‪ ،‬يقسم البرنامج في ‪OOP‬‬ ‫الى كائنات تتفاعل مع بعضها البعض خالل فترة تنفيذ البرنامج‪.‬‬

‫‪2‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫‪C++ language‬‬ ‫‪ ‬لغة ‪C++‬‬ ‫هي لغة مشتقة من لغة ‪ ،C‬و هي لغة شاملة ‪ ،Super Set‬و يمكن استخدامها للبرمجة االجرائية و‬ ‫البرمجة الشيئية على حد سواء‪.‬‬ ‫‪ ‬كيف نحصل على برنامج ‪C++‬؟‬ ‫للحصول على برنامج ‪ ،C++‬نتبع الخطوات التالية‪:‬‬

‫?‪how to develop a C++ program‬‬

‫يُكتب برنامج ‪ C++‬في أي محرر النصوص‪ ،‬و يُخزن‬ ‫على القرص في ملف ينتهي بنقطة و امتداد ‪cpp‬‬ ‫يُسمى هذا الملف بملف مصدر‪ .‬مثل ‪first.cpp‬‬

‫الملف المصدر‬ ‫على القرص‬

‫‪ Editor‬محرر نصوص‬

‫‪1. edit‬‬

‫‪Library header file‬‬ ‫‪User header file‬‬

‫‪Source file‬‬ ‫ملف مصدر‬ ‫‪ Compiler‬مترجم‬

‫يقوم المترجم بتضمين جميع الملفات التي تم‬ ‫استخدامها في البرنامج ثم يترجمها الى ملف‬ ‫هدف ‪ object file‬ينتهي بامتداد ‪o‬‬ ‫مثل ‪first.o‬‬

‫‪Library file‬‬ ‫ملف مكتبة‬

‫‪object file‬‬ ‫ملف هدف‬ ‫‪ Linker‬رابط‬

‫يقوم الرابط ‪ Linker‬بربط جميع اجزاء البرنامج مع‬ ‫بعضها البعض لتشكل ملف تنفيذي واحد ينتهي بامتداد‬ ‫‪exe‬‬ ‫مثل ‪first.exe‬‬

‫‪Executable file‬‬ ‫ملف تنفيذي‬

‫‪3‬‬

‫‪2. Compile‬‬

‫‪3. link‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫‪C++ Application Programming‬‬ ‫‪ ‬برمجة تطبيق ‪C++‬‬ ‫عند كتابة برنامج بلغة ‪ ،C++‬يجب مراعاة النقاط التالية‪:‬‬ ‫‪ .1‬يجب ان يحتوي البرنامج على الدالة الرئيسية ) (‪int main‬‬ ‫على ان يكون لهذه الدالة قوس بداية { و قوس نهاية }‬ ‫‪ .2‬يجب تضمين امللفات املراد استخدامها في البرنامج في بداية البرنامج عند الحاجة الستخدامها‬ ‫(‪.)header files‬‬ ‫‪ .3‬يجب تسمية البيانات املستخدمة في البرنامج‪ ،‬مع مراعاة الفارق بين الحروف الكبيرة و‬ ‫ً‬ ‫الصغيرة‪ ،‬فمثال‪ a :‬تختلف عن ‪.A‬‬ ‫‪ .4‬ال تحتوي اسماء البيانات على فراغ أو رمز غريب ما عدا الشرطة السفلية ( _ ‪ )underscore:‬و‬ ‫يجب ان يبدأ بحرف (ليس رقم)‪.‬‬ ‫‪ .5‬يجب ان ينتهي كل سطر بالفاصلة املنقوطة ; ما عدا سطر جملة التضمين ‪#include‬‬ ‫‪ .6‬يمكن ادراج التعليقات في البرنامج لتوضيح عمل كل فقرة‪.‬‬ ‫الشكل العام لبرنامج ‪:C++‬‬ ‫>‪#include <iostream‬‬ ‫‪.‬‬ ‫‪.‬‬ ‫‪.‬‬ ‫‪Using namespace std‬‬

‫جمل التضمين‬

‫موجه االستخدام‬

‫‪Declaration‬‬ ‫(‬ ‫‪.‬‬ ‫التصريح بالبيانات‬ ‫‪.‬‬ ‫(تعريف البيانات)‬ ‫‪.‬‬ ‫‪.‬‬ ‫) (‪ int main‬الدالة الرئيسية للبرنامج‬ ‫{ قوس بداية‬ ‫‪.‬‬ ‫‪.‬‬ ‫‪.‬‬ ‫جسم البرنامج‬ ‫‪.‬‬ ‫} قوس نهاية‬

‫‪4‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫‪data in C++‬‬ ‫‪ ‬البيانات في لغة ‪C++‬‬ ‫في اي لغة برمجة‪ ،‬البد من تسمية البيانات املستخدمة في البرنامج‪ .‬و يجب تحديد نوع هذه البيانات‬ ‫من ناحيتين‪:‬‬ ‫ً‬ ‫‪ ‬اوال‪ :‬يجب تحديد ما اذا كانت البيانات ثابتة ‪ constant‬او متغيرة ‪.variable‬‬ ‫ً‬ ‫‪ ‬ثانيا‪ :‬يجب تحديد نوع محتوى البيانات‪:‬‬ ‫‪Types‬‬ ‫‪Primitives data type‬‬

‫‪references data type‬‬

‫‪real logical symbols‬‬ ‫‪float‬‬ ‫‪true‬‬ ‫‪char‬‬ ‫‪double false String‬‬

‫‪pointer array struct class‬‬

‫‪Integer‬‬ ‫‪short‬‬ ‫‪int‬‬ ‫‪long‬‬ ‫‪byte‬‬

‫‪constant data in C++‬‬ ‫‪ ‬البيانات الثابتة في لغة ‪C++‬‬ ‫التصريح بالبيانة الثابتة في ‪ C++‬يتم عن طريق اعطاء اسم مميز لها و قيمة ثابتة ال يمكن ان تتغير‬ ‫خالل فترة تنفيذ البرنامج‪ ،‬و الشكل العام (‪ )rule‬لها مبين كما يلي‪:‬‬ ‫;‪type constant-name = value‬‬ ‫القيمة اسم الثابت النوع‬ ‫مثال‪int x = 0 ; :‬‬ ‫‪variable data in C++‬‬ ‫‪ ‬البيانات املتغيرة في لغة ‪C++‬‬ ‫التصريح بالبيانة املتغيرة في ‪ C++‬يتم عن طريق اعطاء اسم مميز لها و قيمتها غير معروفة و يمكن ان‬ ‫تتغير خالل فترة تنفيذ البرنامج‪ ،‬و الشكل العام (‪ )rule‬لها مبين كما يلي‪:‬‬ ‫; ‪type variable-name‬‬ ‫اسم املتغيرة النوع‬ ‫; ‪char a‬‬ ‫مثال‪:‬‬

‫‪5‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫مالحظات‪:‬‬ ‫‪ .1‬يجب التصريح بالبيانات ‪ data declaration‬في البرنامج قبل استخدامها‪.‬‬ ‫‪ .2‬معنى التصريح بالبيانات ‪ data declaration‬هو تعريفها و اعطاء اسم مميز لها و تحديد نوعها‬ ‫مثل‪int a :‬‬ ‫‪ .3‬يمكن التصريح بالبيانات قبل دالة ) (‪ main‬الرئيسية في البرنامج او داخل اقواس بدايتها و‬ ‫نهايتها‪.‬‬ ‫‪ .4‬يمكن تخصيص قيمة للمتغيرة داخل البرنامج‪.‬‬ ‫‪ .5‬يجب مراعاة اعطاء اسماء للبيانات ذات معنى‪.‬‬ ‫‪ ‬جمل االخراج ‪output statement‬‬ ‫لعرض اي بيانات على الشاشة (شاشة الحاسوب)‪ ،‬تستخدم لغة ‪ C++‬تعليمة ‪ cout‬و الشكل العام لها‬ ‫عالمة االخراج‬ ‫مبين كما يلي‪:‬‬ ‫; البيانات املراد ظهورها على الشاشة << ‪cout‬‬ ‫كلمة محجوزة‬ ‫مثال ‪ :0‬لعرض الجملة التالية كما هي على الشاشة‪ hello C++ :‬نضعها بين عالمتي نص كما يلي‪:‬‬ ‫; "‪cout<< "hello C++‬‬ ‫مثال ‪ :7‬لعرض محتوى متغيرة او محتوى ثابتة نكتب اسمها مع تعليمة االخراج كما يلي‪:‬‬ ‫; ‪cout << a‬‬

‫مثال‪ :‬اكتب برنامج بلغة ‪ C++‬يطبع بياناتك الجامعية‪.‬‬ ‫>‪#include <iostream‬‬ ‫; ‪using namespace std‬‬ ‫; ‪int a = 123456‬‬ ‫; ‪int sem=1‬‬ ‫) (‪int main‬‬ ‫{‬ ‫; ‪cout<< "name: Ali Ahmed" <<\n‬‬ ‫; ‪cout<< "reg: " << a <<\n‬‬ ‫; ‪cout<< "semester: "<< sem << \n‬‬ ‫}‬

‫‪6‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫‪ ‬جملة االدخال ‪input statement‬‬ ‫إلدخال بيانات من لوحة املفاتيح‪ ،‬تستخدم لغة ‪ C++‬التعليمة ‪ cin‬و الشكل العام لها (قانونها) مبين‬ ‫عالمة االدخال‬ ‫كما يلي‪:‬‬ ‫; ‪cin >> variable-name‬‬ ‫اسم املتغيرة كلمة محجوزة‬ ‫ً‬ ‫مثال‪ :‬تنطلق طائرة في رحلة من مدينة أ الى مدينة ب بسرعة ‪ 088‬كم‪/‬س كم تقريبا‪ .‬اكتب الحل‬ ‫البرمجي لطباعة بيانات الرحلة و الزمن املستغرق لقطع مسافة ‪.n‬‬ ‫الحل‪:‬‬ ‫ً‬ ‫لحل اي مشكلة حاسوبيا نتبع املراحل التالية‪:‬‬ ‫ً‬ ‫اوال‪ :‬التحليل‪ :‬يتم في هذه املرحلة تحديد كل من‪:‬‬ ‫‪ :Output ‬املطلوب من السؤال هو‪:‬‬ ‫‪ ‬طباعة بيانات الرحلة و املتمثلة في‪:‬‬ ‫رقم الرحلة ‪ -flight number‬االقالع من ‪ -departure from‬الوصول الى ‪ -arrival to‬السرعة ‪-speed‬‬ ‫املسافة ‪.distance‬‬ ‫???=‪time‬‬ ‫‪ ‬طباعة الزمن املستغرق‪:‬‬ ‫‪ :Input ‬معطيات السؤال و املتمثلة في‪:‬‬ ‫‪speed=800‬‬ ‫السرعة‬ ‫باقي البيانات ؟؟ (ادخالها من لوحة املفاتيح)‬ ‫‪ :Processing ‬حساب الزمن املستغرق‬ ‫???=‪time‬‬ ‫ً‬ ‫ثانيا‪ :‬التصميم ‪ :‬يتم في هذه املرحلة تصميم الحل لتحقيق املطلوب من السؤال بناء على معطيات‬ ‫السؤال‪ ،‬و يتم وصف الحل في صورة خوارزمية يعبر عنها باللغة الطبيعية كما يلي‪:‬‬ ‫‪1. start‬‬ ‫; ‪2. read flight_number , departure_from, arrival_to, speed, distance‬‬ ‫; ‪3. let speed=800‬‬ ‫; ‪4. time = distance/speed‬‬ ‫‪5. print flight_number , departure_from, arrival_to, speed, distance, time‬‬ ‫‪6. stop‬‬

‫‪7‬‬


7102 ‫ خريف‬:‫الفصل الدراس ي‬

‫ مبروكه معيوف‬.‫د‬

15/12/2017 :GS101 ‫اساسيات البرمجة‬

.‫ ارسم املخطط االنسيابي‬،‫ لتوضيح الحل‬.‫مازلنا في مرحلة التصميم‬ ً .‫ يتم كتابة الحل البرمجي باستخدام احد لغات البرمجة املناسبة‬،‫ في هذه املرحلة‬:‫ التنفيذ‬:‫ثالثا‬ :‫ االجرائية كما يلي‬C++ ‫ يتم كتابة الحل البرمجي باستخدام لغة‬،‫في هذه املسألة‬ ّ ‫هذه الجملة ت‬ #include <iostream> // ‫ضمن ملف رئيس ي ليسمح لنا باستخدام تعليمات االدخال و االخراج‬ ّ using namespace std ; // ‫هذه الجملة ترشد النظام الى مكان املكتبة القياسية‬ int flight_number ; char departure_from ; char arrival_to; double speed =800 ; double distance, time ; int main ( ) { cout<<" \n enter flight number: " ; cin>> flight_number ; cout<<" \n enter departure from: " ; cin>> departure_from ; cout<<" \n enter arrival to: " ; cin>> arrival_to ; cout<<" \n enter distance: " ; cin>> distance ; time = distance/speed ; cout<<" the flight number: "<< flight_number << "departure from: " << departure_from; cout<<"\n arrival to: "<< arrival_to << "with speed: " << speed; cout << "\n and take distance: " <<distance << "with time: " <<time\n; return 0 ; // ‫هذه الجملة ترجع القيمة صفر لتجعل البرنامج يتوقف عن التنفيذ‬ }

8


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫‪ ‬العمليات في لغة ‪C++‬‬ ‫‪ o‬العمليات املنطقية ‪logical operations‬‬ ‫العمليات املنطقية في لغة ‪ C++‬تتضمن العالمات املنطقية التالية‪:‬‬ ‫‪ AND‬و تمثل ب&&‬ ‫‪ OR‬و تمثل ب||‬ ‫‪ NOT‬و تمثل ب!‬ ‫و يمكن مزج أكثر من عالمة منطقية مثل‪a && b || c :‬‬ ‫و يكون ناتج العملية املنطقية إما ‪ true‬أو ‪.false‬‬ ‫‪ o‬العمليات الحسابية ‪arithmetic operations‬‬ ‫تمثل العمليات الحسابية ‪ ،/ ،* ،- ،+‬كما في اللغات االخرى‪ .‬و ترتب هذه العمليات‬ ‫ً‬ ‫حسب االسبقية‪ .‬فالضرب و القسمة أوال ثم الجمع و الطرح إال اذا كانت هذه‬ ‫العمليات تحتوي على االقواس‪ ،‬في هذه الحالة‪ ،‬يتم فك االقواس قبل كل ش ي‪ ،‬ثم‬ ‫تجرى العمليات حسب االسبقية‪.‬‬ ‫باإلضافة للعمليات السابقة‪ ،‬هناك عملية باقي القسمة و تمثل في لغة ‪ C++‬بالرمز ‪%‬‬ ‫مثل ?? = ‪5 % 2‬‬ ‫‪ o‬العمليات العالئقية‬ ‫تتضمن العمليات العالئقية العالمات التالية‪:‬‬ ‫< ‪>= ، <= ، != ، == ، > ،‬‬ ‫و هي تدخل في تكوين الشرط ‪.condition‬‬ ‫مثال‪ :‬باستخدام الحاسوب‪ ،‬احسب ناتج العملية التالية‪:‬‬ ‫‪when A = 10 , B = 27 , C = 2 , D = 9‬‬

‫‪9‬‬

‫‪A+B / D % C * A‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫‪ ‬جمل التكرار‬ ‫تستخدم جمل التكرار لتنفيذ مجموعة من التعليمات لعدد من املرات‪ .‬و من أهم هذه الجمل‬ ‫ما يلي‪:‬‬ ‫‪for statement o‬‬ ‫ً‬ ‫تستخدم لتنفيذ تعليمة أو مجموعة من التعليمات لعدد من املرات وفقا لشرط معين‪،‬‬ ‫و الشكل العام لها كالتالي‪:‬‬ ‫مقدار الزيادة شرط القيمة االبتدائية متغيرة التحكم نوع املتغيرة كلمة محجوزة‬ ‫)‪for (int control-variable=initial-value ; condition ; increment‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫تعليمة او أكثر ‪. statements‬‬ ‫‪.‬‬ ‫}‬

‫مالحظة‪ :‬يمكن ان تكون القيمة االبتدائية و الشرط و مقدار الزيادة في صورة تعبير رياض ي‪.‬‬ ‫‪while statement o‬‬ ‫تستخدم لتنفيذ تعليمة أو مجموعة من التعليمات لعدد من املرات في حالة تحقق‬ ‫الشرط‪ ،‬حيث يتم اختبار الشرط في كل مرة للتحقق من صحته‪ .‬في حالة عدم تحقق‬ ‫الشرط‪ ،‬يتم الخروج من الحلقة‪ .‬و الشكل العام لها كالتالي‪:‬‬ ‫القيمة االبتدائية ‪Initial-value‬‬ ‫شرط كلمة محجوزة‬ ‫)‪while (condition‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫تعليمة او أكثر ‪. statements‬‬ ‫تغير الشرط ‪. condition changing‬‬ ‫}‬

‫‪11‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫مالحظات‬ ‫‪ ‬جملة ‪ do….while‬لها نفس مميزات جملة ‪ while‬لكنها تختلف عنها في تنفيذ الحلقة و الدخول فيها‬ ‫مرة واحدة على االقل دون اختبار للشرط‪ ،‬بعكس جملة ‪ while‬التي يتم فيها التحقق من الشرط‬ ‫ً‬ ‫اوال قبل الدخول في الحلقة‪.‬‬ ‫‪ ‬تستخدم تعليمة ‪ break‬إلنهاء الحلقة و الخروج منها‪ ،‬بينما تستخدم ‪ continue‬لالنتقال بالتحكم‬ ‫الى حلقة التكرار من جديد دونما تنفيذ للتعليمات التي تلي تعليمة ‪.continue‬‬

‫‪11‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫‪ ‬جمل التحكم‬ ‫ُ‬ ‫تستخدم لتنفيذ تعليمة او اكثر في حالة تحقق الشرط‪ .‬و من اهمها ما يلي‪:‬‬ ‫‪If statement o‬‬ ‫تستخدم لتنفيذ تعليمة او اكثر في حالة تحقق الشرط‪ ،‬و الشكل العام لها‪:‬‬ ‫شرط كلمة محجوزة‬ ‫)‪if (condition‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫تعليمة او أكثر ‪. statements‬‬ ‫‪.‬‬ ‫}‬

‫‪If else statement o‬‬ ‫تستخدم لتنفيذ تعليمة او مجموعة من التعليمات في حالة تحقق الشرطـ‪ ،‬و في حالة‬ ‫عدم تحقق الشرط‪ ،‬يتم تنفيذ التعليمات التي تلي جملة ‪else‬‬ ‫شرط كلمة محجوزة‬ ‫)‪if (condition‬‬ ‫{‬ ‫‪.‬‬ ‫تعليمة او أكثر ‪block . statements‬‬ ‫تغير الشرط ‪. condition changing‬‬ ‫}‬ ‫كلمة محجوزة ‪else‬‬ ‫{‬ ‫‪.‬‬ ‫تعليمة او أكثر ‪block . statements‬‬

‫و إال‬

‫تغير الشرط ‪. condition changing‬‬ ‫}‬

‫‪12‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫‪switch statement o‬‬ ‫تستخدم لتنفيذ تعليمة او اكثر في حالة ان التعبير الرياض ي يساوي القيمة املناسبة‪ ،‬و‬ ‫إال‪ ،‬فإنه ينفذ التعليمة املصاحبة لالفتراض ي ‪ ،default‬و الشكل العام لها ‪:‬‬ ‫تعبير رياض ي كلمة محجوزة‬ ‫)‪switch (expression‬‬ ‫{‬ ‫‪case value1:‬‬ ‫تعليمة او أكثر ;‪statement‬‬ ‫;‪break‬‬ ‫‪case value2:‬‬ ‫تعليمة او أكثر ;‪statement‬‬ ‫;‪break‬‬ ‫‪.‬‬ ‫‪.‬‬ ‫‪.‬‬ ‫‪case value n:‬‬ ‫تعليمة او أكثر ;‪statement‬‬ ‫;‪break‬‬ ‫تعليمة او أكثر‬

‫‪default:‬‬ ‫;‪statement‬‬ ‫;‪break‬‬ ‫}‬

‫‪13‬‬


‫اساسيات البرمجة ‪15/12/2017 :GS101‬‬

‫د‪ .‬مبروكه معيوف‬

‫الفصل الدراس ي‪ :‬خريف ‪7102‬‬

‫**اسئلة عامة‪:‬‬ ‫ً‬ ‫باستخدام الحاسوب‪ ،‬اكتب حال للمسائل التالية‪:‬‬ ‫‪ .1‬طباعة االعداد التي تقبل القسمة على ‪ 5‬فيما بين ‪.13 & 3‬‬ ‫‪ .2‬استبدال قيمة متغيرة بأكبر منها بين متغيرتين ثم طباعتهما قبل و بعد االستبدال‪.‬‬ ‫‪ .3‬طباعة جدول الضرب لرقم مدخل ‪.m‬‬ ‫‪ .4‬طباعة اجمالي املرتب الحد املوظفين اذا كان يتقاض ى مرتب مع اضافي اذا علمت ان قيمة الساعة‬ ‫االضافية تساوي ‪ 15‬دينار بشرط ان ال يزيد عدد الساعات االضافية عن ‪ 40‬ساعة‪.‬‬ ‫‪ .5‬طباعة عمر شخص ما باأليام‪.‬‬ ‫‪ .6‬طباعة قيمة الربح لسلعة اذا كان ثمن البيع يساوي ضعف ثمن الشراء و عدد القطع املباعة ‪.m‬‬ ‫‪ .7‬طباعة التقدير و نسبة النجاح الحد الطالب اذا كانت درجاته على التوالي ‪.77 ،55 ،06 ،77 ،65‬‬ ‫‪ .0‬تحويل الزمن ‪ X‬الى ساعات و دقائق ثم طباعة الزمن قبل التحويل و بعد التحويل‪.‬‬ ‫‪ .7‬طباعة املسافة التي تقطعها سيارة تسير بسرعة ‪ 128‬كم‪/‬س في زمن قدره ‪ 5‬ساعات‪.‬‬ ‫‪ .18‬تحويل العدد ‪ 132‬الى النظام الثنائي ثم طباعة العدد قبل و بعد التحويل‪.‬‬

‫‪14‬‬


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.