Presentation is loading. Please wait.

Presentation is loading. Please wait.

المحاضرة الثانية.

Similar presentations


Presentation on theme: "المحاضرة الثانية."— Presentation transcript:

1 المحاضرة الثانية

2 الفصل الثالث سودوكود (Pseudocode)

3 مقدمة: Pseudocode : هو طريقة لعرض خطوات حل مسألة معينة باستخدام أوامر مختصرة. والـ Pseudocode يعني الكود الزائف او الكود غير الحقيقي (false code)، وذلك لأنه برنامج غير مكتوب بإحدى لغات البرمجة.

4 مكونات الـ Pseudocode ((Components
كلمات Words مقاطع Clauses جمل Statements

5 مثال على الـ Pseudocode :
سلعة معروضة للبيع بسعر 120 جنيه إذا كانت الكمية أكثرمن 19 وبسعر 150 جنيه إذا كانت الكمية أقل . فما إجمالي سعر بيع الكمية من السلعة؟ الحل: المتغيرات في المسألة: (Qty) وتعني الكمية المباعة (T) وتعني إجمالي سعر الكمية المباعة من السلعة

6

7 خريطة التدفق للمسألة: Start End Yes No Read Qty Print T
Is Qty > 19? Yes T = Qty * 120 No T = Qty * 150 Print T End

8 الـ Pseudocode المناظر لخريطة التدفق السابقة
1- If quantity sold is greater than 19 Then Calculate Total = Quantity * 120 Else Calculate Total = Quantity * 150 2- Print Total

9 قواعد وقيود السودكود Pseudocode rules & constraints
اختيار اسماء متغيرات ذات معنى بحيث يعكس اسم المتغير محتوياته. The names of variables being used should describe what the variable represents كتابة الأوامر بطريقة سهلة وواضحة. All statements should be written in a easy to understand. way that is

10 بنية تركيب الـ Pseudocode Pseudocode logic structure
أوامر متتالية Sequence الاختيار والتشعب Selection التكرار Iterations

11 أوامر متتالية Sequence : الاختيار والتشعب Selection :
تنفذ الأوامر واحداً تلو الآخر بنفس ترتيب كتابتها ما لم يخل الترتيب. الاختيار والتشعب Selection : يمكن كتابة أمر الاختيار باستعمال جملة If statement، حيث إنها تقدم بديلين لتنفيذ أحدهما حيث يتم اختبار صحة حالة معينة، فإذا كانت صحيحة يتم تنفيذ البديل الأول أما إذا كانت غير صحيحة فيتم تنفيذ البديل الثاني. وتسمى الحالة الأول الصحيحة (True) وغير الصحيحة (False) وعلى يتم تنفيذ الأختيار بالأمر If – Then – Else If condition being test is True Then (condition is true) يتم تنفيذ الأوامر في حالة صحة الحالة Else (condition is false) يتم تنفيذ الأوامر في حالة عدم صحة الحالة

12 يتم صياغة الاختبار على حالة معينة بحيث لا يخرج نتيجة الاختبار عن ”False“ أو ”True“ ولكي يحدث هذا يعد الاختبار مقارنة بين قيمتين وذلك باستخدام أدوات المقارنة وهي : أكبر من (>) ، أصغر من (<) ، أكبر منها أو تساويها (>=) ، أصغر منها أو تساويها (<=) ، تساويها (=) مثال على If statement: M = 25 N = 12 If ( M >= N ) Then Statement 1 Else Statement 2 End If Statement 3 في المثال السابق سوف ينتج عنه تنفيذ الجملة statement1 وتتبعها الجملة satement3 وذلك للتالي الأوامر

13 التكرار Iterations : يستخدم التكرار في البرامج إذا أردنا أن يتم تكرار تنفيذ أمر معين (أو مجموعة من الأوامر) عدد محدد من المرات أو إلى تحقيق شرط معين. ويوضح الشكل التالي جزء من خريطة تدفق حيث (Sum) هو مجموع أول 100 رقم طبيعي، (N) هو عدد الأرقام

14

15 الـ Pseudocode المناظر لخريطة التدفق السابقة
1- Initialize the sum: Sum = 0 2- Initialize the number of terms N: N = 0 3- Increment the number of terms N 4- Add the new term to Sum: Sum = Sum + N 5- If (N = 100 ) Then Go to step 6 Else Perform steps 3 through step 4 until N = 100 End If 6- Stop Processing

16 مزايا وعيوب السودو كود Advantages & disadvantages of Pseudocode
مزاياه: سهل الفهم Simple لا يستعمل رموزاً خاصة No special symbols لا يستعمل قواعد خاصة No specific syntax من السهل تحويله إلى برنامج باستخدام إحدى لغات البرمجة Easy to translate to High-Level Language عيوبه: قد يكون طويلاً بعض الشئ في حالة المسائل المعقدة It can be quite lengthy for complex problems.

17 أمثلة على السودو كود المثال الأول
اكتب سودوكود لإيجاد الرقم الأكبر من بين 3 أرقام هي A,B,C Write a pseudocode to find the largest of three numbers A, B, and C.

18

19 المثال الثاني اكتب سودوكود لقراءة عمري هاني وهشام، ثم كتابة اسم أكبرهما. Write a pseudocode to read the ages of Hany and Hesham , then it prints the name of the elder.

20 1- Input Hany’s age and Hesham’s age
2- If Hany’s age > Hesham’s age Then Print “Hany is elder” Else If Hany’s age = Hesham’s age Then Print “Both is equal” Print “Hesham is elder” End If 3- Stop processing

21 المثال الثالث اكتب سودوكود لقراءة درجة الحرارة بالفهرنهايت ”F°“ ثم تحويلها إلى درج مئوية ”C°“ باستخدام الصيغة الرياضية: Write a pseudocode that reads a temperature in Fahrenheit “°F” degrees and convert it into Celsius “°C” degrees, using the formula

22 1- Initialize Celsius Degree “C”:
2- Input (Read) Fahrenheit Degree “F” 3- C = 5/9 * (F – 32) 4- Print the value of C 5- Stop processing

23 المثال الرابع اكتب سودوكود لقراءة نصف قطر كرة ”r“ ثم حساب حجمها ”V“ ومساحة سطحها ”A“ باستخادم الصيغ الرياضية: حيث إن: وفي حالة ما إذا كانت قيمة نصف القطر سالبة، يجب أن يقوم البرنامج بطباعة رسالة تحذيرية تنص على أن قيمة نصف القطر يجب أن تكون موجبة، ثم إنهاء البرنامج

24 1- Initialize Volume “V”:
2- Initialize Area “A”: A = 0 2- Input (Read) Radius “r” 3- If r < 0 Then Print “the radius should be positive” Else V = (4 / 3) * (22 / 7) * (r ^ 3) A = 4 * (22 / 7) * (r ^ 2) Print “The Volume of Ball is V” Print “The Area of Ball is A” End If 5- Stop Processing

25 الفصل الرابع مقدمة عن البرمجة الشيئية Introduction to Object Oriented Programming (OOP)

26 مقدمة لغات البرمجة متعددة ومتطورة، وكانت في بدايتها مثل (C, BASIC, FORTRAN,COBOL) تستخدم أسلوب تقليدي في البرمجة وهذا الأسلوب يعتمد على التحديد الدقيق لترتيب تنفيذ الأوامر وإجراء العمليات. في البرمجة الشيئية (OOP) تنفيذ الأوامر لا يتبع التسلسل المنطقي، وذلك لأن كل فعل من المشغل (User) يتسبب في حدوث حدث معين (Event) وهذا بدوره يدفع برنامج معين أو جزء آخر من البرنامج إلى العمل علماً بأن هذا الجزء مكتوب مسبقاً ومرتبط بهذا الحدث

27 البرمجة بالكائنات (The Object Model)
الخصائص (Properties) الوسائل (Methods) الأحداث (Events)

28 الكائن (Object) هو شئ له وجود، والكائن الواحد يمكن أن يتكون من عدد من الكائنات (Objects) كل كائن له خصائص (Properties) ووسائل (Methods) وأحداث (Events) وكل كائن (Object) يتبع فئة معينة (Class) أمثلة على بعض الكائنات: جهاز الكمبيوتر السيارة قلم الحبر فالسيارة مثلاً كائن (Object) يتكون من كائنات (Objects) مثل الموتور وكذلك الموتور يتكون من كائنات أخرى. وفي البرمجة الشيئية يمكن اعتبار النوافذ (Windows) أمثلة للكائنات.

29

30 الخصائص (Properties) الخاصية (Property): تحدد شكل وسمة الكائن وكل كائن له مجموعة من الخصائص. لكل كائن خصائص معينة تميزه وتحدد ملامحه مثل اسمه، وحجمه، ولونه ومكانه. مثال:السيارة لها خصائص متعددة مثل: النوع، الماركة، اللون، عدد الأبواب......إلخ.

31 ObjectName.Property = Value
الكائن (Object) الخاصية (Property) قيمة الخاصية (Value) السيارة Name BMW1 Color Red Doors 4 في بعض الأحيان قد يحتاج الشخص إلى معرفة إحدى خصائص الكائن (قيمة الخاصية) أو تغيير قيمة الخاصية فمثلاً لتغيير خاصية لون السيارة التي بأعلى إلى اللون الأزرق فنقولها هكذا: السيارة BMW1 نريد تغيير لونها (Color) إلى الأزرق (Blue) ويتم ذلك برمجيا بالصورة التالية: ObjectName.Property = Value

32 BMW1.Color = Blue ومعنى السطر السابق هو أن الكائن الذي اسمه (BMW1) نريد تغيير خاصية الـ (Color) له ونجعل قيمتها (Blue).

33 الوسائل (Methods) ObjectName.Method() BMW1.Move()
مثال: سيارة (Object) BMW1 (ObjectName) لونها أحمر (Property) وتسير في الشارع (Method). ويتم تنفيذ الوسيلة عن طريق مناداة الوسيلة، ويتم ذلك برمجياً كالتالي: ObjectName.Method() BMW1.Move()

34 الأحداث (Events) الحدث (Event): هو عبارة عن الفعل الذي يقع على الكائن ويستجيب له. كل كائن (Object) له أحداث معينة (Events) تقع عليه ويستجيب لها، حيث يمكن للمبرمج وضع مجموعة معينة من الأوامر التي يتم تنفيذها عند وقوع حدث معين. مثال: إنسان يمشي في الشارع اسمه أحمد وأمطرت السماء عليه بغزارة فأسرع لتفادي الأمطار وارتدى ملابس ثقيلة. الكائن (Object): إنسان الخاصية (Property): الاسم قيمة الخاصية (Value): أحمد الحدث (Event): سقوط الأمطار الوسائل (Methods): يمشي، يسرع، يرتدي فسقوط الأمطار يمثل حدث (Event) واستجابة هذا الكائن (الإنسان) للحدث بشكل معين مثل الإسراع لتفادي الأمطار وارتداء ملابس ثقيلة هي عبارة عن وسائل (Methods).

35 مثال: عند فتح ملف نصي والتعديل فيه وعند الضغط على علامة الإغلاق (×) فإن صندوق الحوار يظهر للتأكد منك على حفظ الملف أو عدم الحفظ أو إلغاء الأمر ماذا حدث؟! عند ضغطك على الإغلاق فإنك بذلك قمت بتشغيل حدث إغلاق الملف فوجد تغيير في الملف ولم يحفظ بعد واستجابة لهذا الحدث تم تنفيذ وسيلة عرض صندوق الحوار التالي: وفي لغة الـ Visual Basic تظهر الأحداث بوضوح، فمثلاً النموذج (Form) لها أحداث كثيرة تقع عليها من غلق النموذج ، حركة الماوس على النموذج إلخ

36 مقارنة بين النموذج (Form1) وجهاز الكاسيت (Cassette) :
وجه المقارنة خصائص Properties حجم Size لون Color مستوى الصوت Volume تضخيم الصوت Base وسائل Methods فتح Open() إغلاق Close() تشغيل Play() إيقاف Stop() أحداث Events الضغط بالفأرة Click صوت الموسيقي Play Music

37 الفئة أو التصنيف (Class)
أما الكائن (Object) فهو يمثل وحدة مستقلة تم إنشاؤها من الفئة (Class) وهي التي تستخدم فعلاً لأداء الوظائف المختلفة للفئة (Class).

38 مثال إذا أردت أن تبني منزلاً فإنك تطلب أولاً من المهندس عمل رسم هندسي (قالب أو نموذج) للمنزل الذي تريده وعندما تريد أن تسكن فإنك تسكن المنزل الحقيقي المبني وليس المنزل الذي على الرسم. فالرسم الهندسي للمنزل يعتبر فئة أو تصنيف Class والمنزل الحقيقي المبني بالفعل يعتبر كائن من هذا التصنيف Object وأنك إذا أردت بناء منزل آخر مثل منزلك فإنك تستعين بالـرسم الهندسي (Class) مرة أخرى لتنفيذ المنزل (Object)

39 المنزل بالفعل بعد بناءه
الرسم الهندسي للمنزل

40 يحتوي التصنيف (Class) على خصائص (Properties) ووظائف (Methods) وأحداث (Events) وهي التي سوف يتضمنها بعد ذلك أي كائن سوف يتم إنشاءه من هذا التصنيف. فعند استخدام قالب الرسم الهندسي لبناء منزل ممكن أن نبني منزلاً لونه أبيض وآخر لونه أصفر وآخر لونه بني وهذا ما نسميه في البرمجة خصائص الكائن (Object Properties). House1.Color = Yellow

41 Class – Event – Property - Object
مثال صمم أحمد على ورقة شكلاً لمكتبة ثم أرسلها إلى ورشة نجارة وقامت الورشة بتصنيعها من الخشب والزجاج وبعض الأدوات الأخرى. أكمل مستخدماً الكلمات الآتية لجعل الجملة صحيحة: Class – Event – Property - Object ما قام أحمد بتصميمه يعتبر أما المكتبة التي قامت الورشة بإنتاجها تعتبر طول المكتبة 2 متر يعتبر Class Object Property

42 بعض المصطلحات الهامة في البرمجة الشيئية
مفهوم التغليف (Encapsulation) مفهوم التوريث (Inheritance)

43 مفهوم التغليف (Encapsulation)
التغليف: يعني إخفاء بيانات داخل الكائن أو التصنيف بحيث لا يتم الوصول إليها إلا بصلاحيات معينة. أمثلة: جهاز الهائتف المحمول الذي نستخدمه لا نعرف تفاصيل عمله، ومع ذلك فنحن نستخدمه ونتعامل معه في حدود المسموح لنا، وهو بذلك يمثل مفهوم التغليف من حيث عدم ظهور المعلومات الداخلية للهاتف.... وهكذا.

44 وكذلك في جهاز الكمبيوتر عند إخفاء الملفات الهامة لعدم العبث بها أو حذفها عن طريق الخطأ.
أما في البرمجة الشيئية يمكنك إنشاء زر Button وبالتالي يمكنك تعديل بعض خواصه مثل لونه واسمه ونصه..، ولكن لا يمكن إضافة خواص جديدة له.

45 مفهوم التوريث (Inheritance)
التوريث: يقصد به أن تصنيف (Class) معين (Derived) يرث (Inherit) خصائص ووظائف تصنيف آخر (Base) وهذا التصنيف الجديد يكون لديه جميع خصائص التصنيف الأساسي بالإضافة إلى خصائص الإضافية. أمثلة: هب أنك مهندس معماري وطلب أحد الأشخاص منك رسم هندسي لفيلا وقد أعجب التصميم صاحب هذا الشخص وطلب منك تصميم فيلا مثلها مع إضافة حمام سباحة في سطح الفيلا، ماذا كنت ستفعل؟

46 الذي سوف تفعله هو أنك تأخذ نسخة من نفس الرسم الهندسي للفيلا ثم تضيف إلى الرسم حمام السباحة في السطح كمثال. فيكون الرسم الهندسي الأول للفيلا يمثل (Base Class) أو (Parent Class) والرسم الهندسي الثاني يمثل (Derived Class) أو (Child Class)

47 الغرض من التغليف Encapsulation:
الحفاظ على بيانات التصنيف وحمايتها و التركيز فقط على ما يراد استخدامه فعلاً. الغرض من التوريث Inheritance: هو إعادة استعمال ما تم تصميمه من فئات (Classes) والتعديل فيها حسب الحاجة بدلاً من إعادة كتابة الفئة من جديد، وهذا من أهم مميزات البرمجة الشيئية.


Download ppt "المحاضرة الثانية."

Similar presentations


Ads by Google