1672009 - وزارة التربية والتعليم
Download
Report
Transcript 1672009 - وزارة التربية والتعليم
وزارة التربية والتعليم
اإلدارة العامة للكمبيوتر التعليمي
أساسيات
البرمجة
إعداد /أحمد األنصاري السالموني
أجندة:
• نظام المعلومات المعتمد على استخدام الكمبيوتر.
• العمليات األساسية التي يقوم بها الكمبيوتر.
• أشهر أساليب حل المشكالت.
• مقدمة في تقنية .Net
• ما هي بيئة .Net؟
• الجديد في .Net
نظام المعلومات
المعتمد على استخدام الكمبيوتر
هو أي نظام يجمـع بين التكنولوجيـا
واألفراد ويسمح ألي مؤسسة بجمع
وتخزين البيانات ومعالجتها الستخالص
معلومات مفيدة.
العمليات األساسية التي يقوم بها الكمبيوتر:
إدخال البيانات.
تخزين البيانات في الذاكرة.
إجراء المعالجة الالزمة.
إخراج النتائج.
لغات البرمجة:
هي مجموعة القواعد التي
تستخدم في كتابة التعليمات
أو األوامر لحل مشكلة معينة
أو إنتاج التطبيقات.
من أنواع لغات البرمجة:
لغات البرمجة اإلجرائية منها- COBOL :BASIC - FORTRAN
لغات البرمجة الشيئية منها:C# - Visual Basic.NET
ترجمة البرنامج:
البرنامج المصدري
وهو البرنامج الذي يكتبه المبرمج بإحدى
لغات .Netويكون مفهوم من قبل اإلنسان.
:Source Program
البرنامج الهدف :Object Program
وهو برنامج بلغة وسيطة .MSIL
تابع ترجمة البرنامج:
لغة اآللة :Machine Language
هي لغة البرمجة التي تكتب تعليماتها بالشفرة
الثنائية ويترجم من ILإلى لغة اآللة بواسطة
.JIT Compiler
المترجم :Compiler
هو البرنامج الذي يقوم بتحويل البرنامج المصدري
إلى برنامج الهدف بعد التأكد من خلوها من األخطاء.
تابع ترجمة البرنامج:
المفسر :Interpreter
يقوم بترجمة األوامر والتعليمات إلى لغة اآللة سطر
بسطر وفي حالة ظهور أى خطأ يتوقف عن الترجمة.
وظائف المترجم:
– تحويل برنامج المصدر الخالي من األخطاء إلى برنامج الهدف.
– اكتشاف األخطاء اإلمالئية والقواعد.
استخدام الخوارزم في حل المشكالت:
)(1
)(2
)(3
)(4
)(5
)(6
تحديد المشكلة.
تحديد المخرجات.
تحديد المدخالت.
اهمال البيانات الغير مفيدة في حل المشكلة.
تحديد خطوات الحل (العمليات).
كتابة Algorithmالحل.
مثال :حل معادلة من الدرجة الثانية:
a x2 + b x + c = 0
معادلة من الدرجة الثانية
المطلوب:
تحديد خطوات حل المعادلة باستخدام الخوارزم
علما بأن جذري المعادلة:
)x1,2= (-b ± (b2-4ac)^.5) / (2 a
الحل:
) (1تحديد المشكلة :ايجاد جذري المعادلة.
( )2تحديد المخرجات :طباعة X1, X2
( )3تحديد المدخالت.a, b, c :
( )4إهمال البيانات الغير مفيدة في حل المشكلة:
ال يوجد.
تابع الحل:
( )5تحديد خطوات الحل:
حساب قيمة المميز أسفل الجذر التربيعي.M = b2 – 4 a c
اختبار قيمة :Mإذا كانت سالبة إذا المعادلة ليس لها حل.
إذا كانت تساوي صفر إذا يوجد جذر واحد.
إذا كانت القيمة موجبه إذا هناك جذرين للمعادلة.
تابع الحل:
( )6كتابة Algorithmالحل:
ادخال قيم المعامالت .a, b, c حساب المميز .m اختبار قيمته. حساب قيمة جذري المعادلة .x1, x2 -طباعة الناتج .x1, x2
أشهر أساليب حل المشكالت:
هناك طرائق عديدة نذكر منها:
نموذج .IPO
خرائط التدفق.
سودوكود.
نموذج :IPO
هو جدول أو نموذج يضم تحليل
أي مشكلة إلى مدخالت ومعالجة
ومخرجات.
مثال :حل معادلة من الدرجة الثانية:
a x2 + b x + c = 0
معادلة من الدرجة الثانية
المطلوب:
إعداد نموذج IPOالذي يوضيح المدخالت
والمعالجة والمخرجات.
علما بأن جذري المعادلة:
)x1,2= (-b ± (b2-4ac)^.5) / (2 a
المخرجات
()Output
المعالجة ()Processing
طباعة الناتج وقد حساب قيمة المميزM = b2 – 4 a c :
هل Mأقل من صفر إذا ال يوجد حل
يكون:
للمعادلة.
رسالة "ال يوجد -هل Mتساوي صفر إذا هناك جذرحل”.
واحد للمعادلةX = - b / (2 a) :
طباعة .Xطباعة الجذرينX1, x2
هل Mأكبر من صفر إذا يوجد للمعادلةجذرين:
)(b2-4ac)^0.5
X1 = (-b +
)/ (2 a
)X2 = (-b - (b2-4ac)^0.5) / (2 a
المدخالت
()Input
a, b, c
خرائط التدفق:
Flow Chart
هي عبارة عن تمثيل تخطيطي ،يوضح
بسهولة ترتيب خطوات حل المشكلة ،بدءا
من إدخال البيانات ،ثم تحديد العمليات
الحسابية والمنطقية ،وصوال للمخرجات
التي تمثل حل المشكلة.
بعض األشكال المستخدمة في رسم خرائط التدفق:
الرمز الطرفي Terminal
رمز اإلدخال واإلخراج Input / Output
رمز العمليات Process
رمز اتخاذ القرار Decision
تابع بعض األشكال المستخدمة في رسم خرائط التدفق:
خط االتجاه Flow Line
رمز الربط أو االتصال Reference
رمز اضافة تعليق Annotation
االعتبارات الواجب مراعاتها عند رسم خرائط التدفق:
بساطة ووضوح الخريطة لسهولة تتبع خطواتها.
االتجاه االفتراضي ألشكال الخريطة من اليسار
إلى اليمين ومن أعلى إلى أسفل.
رمز العمليات يخرج منه خط اتجاه واحد فقط.
شكل اتخاذ القرار يدخل له خط اتجاه واحد
ويخرج منه خطان (نعم /ال).
تابع االعتبارات الواجب مراعاتها عند رسم خرائط التدفق:
الرمز الطرفي للبداية له خط اتجاه واحد خارج
والعكس في الرمز الطرفي للنهاية.
يفضل استخدام رمز اضافة تعليق مع أشكال
الخريطة التي تحتاج توضيح.
يستخدم رمز الربط أو االتصال إذا كانت خريطة
التدفق كبيرة وتحتاج أكثر من صفحة.
بعد رسم خريطة التدفق يفضل تتبع جميع مساراتها
واختبارها بقيم افتراضية معروف نتائجها.
مميزات استخدام خرائط التدفق:
تمثل ضرورة قبل كتابة البرامج الكبيرة.
تمثل أحد أشكال توثيق البرنامج.
تضع تصورا كامال لحل المشكلة وتساعد في تتبع مسارها.
تساعد في عدم تكرار أجزاء معينه في الرسم أو البرمجة.
األشكال المستخدمة في رسم خرائط التدفق لها مدلول
واحد لدى جميع المتعاملين معها.
تساعد في تصحيح األخطاء بسهولة.
تساعد في تطوير وصيانة البرامج.
عيوب استخدام خرائط التدفق:
قد تبدو الخريطة معقدة للمشكالت الكبيرة.
بعض التعديالت في البرنامج قد يؤدي إلعادة
رسم الخريطة.
أحيانا تشكل نسخ خريطة التدفق صعوبة كبيرة.
الوقوع في بعض التفاصيل التي تبعدنا عن الحل.
مثال :حل معادلة من الدرجة الثانية:
a x2 + b x + c = 0
معادلة من الدرجة الثانية
المطلوب:
رسم خريطة التدفق التي توضح خطوات حل
معادلة من الدرجة الثانية.
علما بأن جذري المعادلة:
)x1,2= (-b ± (b2-4ac)^.5) / (2 a
:الحل
Start
Input a, b, c
M = b2 – 4 a c
Yes
If m < 0
No
No
Print "No Roots"
Yes
If m = 0
X1 = (-b + (b2-4ac)^0.5) / (2 a)
X = -b / (2 a)
X2 = (-b - (b2-4ac)^0.5) / (2 a)
Print x1
Print x1, x2
End
مثال :تحويل درجة الحرارة من فهرنهايت إلى مئوية:
ارسم خريطة التدفق التي ندخل لها درجة الحرارة
بالفهرنهايت فيتم تحويلها إلى ما يناظرها بدرجة
الحرارة المئوية.
علما بأن قانون التحويل هي:
)C = (5 / 9) * ( F – 32
Start
Input F
C = (5 / 9) * (F – 32)
Print F, C
End
:الحل
مثال :حساب مجموع بعض األعداد:
ارسم خريطة التدفق لحساب حاصل جمع أول 25
عدد فردي من األعداد الطبيعية.
وذلك كما يلي:
Sum = 1 + 3 + 5 + …………. + 49
:الحل
Start
Sum = 0
K=1
Sum = Sum + K
No
K=K+2
If
K = 50
Yes
Print Sum
End
سودوكود :
Pseudocode
طريقة لعرض خطوات حل
المشكلة بلغة بسيطة مختصرة
قريبة من لغات البرمجة.
مكونات سودوكود:
الكلمات :وهي تمثل األفعال المطلوب
تنفيذها مثل.)Calculate – Print – Read - Stop( :
الجمل :تشرح المطلوب القيام به مثل:
Calculate Sum of two Numbers
مقاطع :والتي تمثل وحدة واحدة تضم عدة
جمل مثل.Block IF :
قواعد وقيود استخدام سودوكود:
اختيار أسماء ذات معنى واضح للمتغيرات
بحيث تعبر عن محتواه.
كتابة األوامر في صورة خطوات سهلة
وبسيطة وواضحة.
قواعد وقيود استخدام سودوكود:
تتميز "سودوكود” بأنها:
سهلة الفهم. ال تستخدم رموزا خاصة. ال تخضع لقواعد صعبة أو معقدة. -سهلة التحويل لبرنامج بأي لغة برمجة.
يؤخذ على "سودوكود”:
-قد تكون طويلة بعض الشيء خاصة في المشاكل المعقدة.
مثال :حل معادلة من الدرجة الثانية:
a x2 + b x + c = 0
معادلة من الدرجة الثانية
المطلوب:
كتابة سودوكود يوضح خطوات حل معادلة
من الدرجة الثانية.
علما بأن جذري المعادلة:
)x1,2= (-b ± (b2-4ac)^.5) / (2 a
:الحل
(1) Input Values: read a, b, c
(2) Calculate m, Where it given by:
calculate m = b2 – 4 a c
(3) Detect m value:
If m less than Zero then
print “No Roots”
Else if m Equal 0 then
calculate x = - b / (2 a)
Print “ x1 = x2 = “, x
else
calculate x1 = (-b + (b2-4ac)^.5) / (2 a)
x2 = (-b - (b2-4ac)^.5) / (2 a)
Print x1, x2
end if
end if
(4) Stop processing
بنية أو تركيب البرامج:
أوامر متتالية أو تتابعيةSequential .
أوامر التفريع أو االختبار أو التشعبBranching .
أوامر التكرارLooping .
مقدمة في تقنية .Net
البرمجة اإلجرائية:
هي عبارة عن مجموعة مــن التعليمات يتـــــم
تنفيذها بالترتيب ما لم يوجد بالبرنامج أوامــــر
تغير من هذا الترتيب.
تعد لغة Basicأحد لغات البرمجة اإلجرائيـــــــة،
وكانت تعمل في بيئة نظام التشغيل ،DOSورغـم
أنهــــا كانت بسيطة وسهلة إال أنها كانت محـــدودة
اإلمكانات ولم تصمد أمام لغات البرمجة األخرى.
البرمجة الشيئية:
يتم تقسيم البرنامج إلى إجراءات يتم تنفيذ كل إجــــــراء
حسب وقوع حدث معين على أحـــــــد الكائنات.
وقد أصدرت ميكروسوفت لغة VBوالتي تعمل في بيئة نظام
التشغيل ،Windowsوتبعتها بعـــــــدة إصدارات –ســـــت
إصدارات -استخدمت على نطاق واسع في برمجة التطبيقــات
المختلفة للعديد من المجاالت ،ولكن ظلت –مقارنة مع باقـــي
لغات البرمجة -األبطأ نسبيا واألكبر حجما وتعاني من بعــض
أوجه القصور في األداء ،هذا باإلضافة إلى أنها ليست مـــــن
اللغات الموجهة باألحداث .Object Oriented
-
اإلصدارات:
أصدرت ميكروسوفت ست إصدارات
من VBالذي يعتمد على البرمجة
الشيئية.
بعدها أصدرت ثالث إصدارات من
Visual Basic.Netهي:
VB 2003, VB 2005, VB 2008, VB 2010
.
ما هي بيئة :.Net
تقنية .Netهي حل متكامل ومتطور من
شركة ميكروسوفت لبناء األنظمة وتشغيلها
للجيل القادم من التطبيقات واألجهزة التي
تسمح بعملية ربط األجهزة والناس
والمعلومات والشبكات في كل مكان بطريقة
سهلة وآمنة ومنظمة.
ومما سبق يمكن القول أن تقنية .Netتشمل اآلتي:
) (1بيئة التطوير المتكاملة Visual Studioلتسهيل إنتاج
التطبيقات وإن كان يمكن االستغناء عنه بحيث يتم إنتاج
التطبيقات من خالل محرر نصوص " "Notepadوإطار
العمل "."Framework
) (2لغات البرمجة وتنفيذ قواعد العمل.
) (3إطار العمل Frameworkويشمل طبقة واسعة من المكتبات
Class Librariesولغة التنفيذ المشتركة .CLR
)(4
المساعدة Helpباإلضافة للمساعدة من خالل اإلنترنت .Online
) Platform (5ويقصد به كل شئ يساهم في إنتاج واستخدام مكونات
.Netمن أفراد وأجهزة واتصاالت وشبكات وأدوات وخدمات ...الخ.
مكونات .Net
Platform
كيف يعمل إطار عمل .Net
Framework؟
إطار العمل طبقة وسيطة بين نظام التشغيل ولغات
البرمجة ويعمل كبيئة إلنتاج وتشغيل وإدارة التطبيقات
المصممة للعمل تحت بيئته كما يعمل على توفير مكتبات
موحدة للتطوير مما يسهل إنتاج التطبيقات متنوعة مهما
تعددت اللغات ويظهر ذلك واضحا في أن كل شئ تقوم به
يكتب له كود يمكنك االطالع عليه وتعديله وله العديد من
اإلصدارات مثل 1, 1.1, 2, 3.5 :ويستطيع نظام
التشغيل التعامل مع أكثر من إصدار في نفس الوقت.
.Net Framework
Framework
Framework أهم مكونات
لغة التنفيذ المشتركة:
”Common Language Runtime “CLR
أحد أهم مكونات بنية إطار العمل .Net
frameworkويطلق عليه بيئة العمل المشترك
وبه يتم تنفيذ كل التطبيقات ويتيح لك مزايا عديدة
منها التعامل مع األخطاء واألمان وإزالة العيوب
والتناسق في مالمح البرنامج كما يقوم بتحويل ملف
ILأو MSILإلى لغة اآللة Machine
Languageمن خالل المترجم .JIT
الترجمة على الفور:
”Just in time “Jit
هي تقنية –جزء من -CLRتقوم
بترجمة البرنامج عند تنفيذه حيث ينتج
أفضل شفرة تتناسب مع معالج الجهاز
الذي سيعمل عليه البرنامج.
مرحلتي ترجمة البرنامج
مكتبة الفئات :Base Class Library
أحد أهم مكونات إطار العمل .Net
Frameworkوهي المكتبات التي
تساعد المبرمجين إلنشاء التطبيقات
وتحتوي .Netعلى اآلالف منها موزعة
في مجموعات هرمية " Name
"Spaceبهيكل .Net
فمثال:
فيما يتعلق بنظام الملفات يمكنك البحث فيالفئة IO.systemوستجد ما تريد في الفئة
الفرعية IO.syatem.file
وفيما يتعلق ببرمجة صفحات ASP.Netابحث في system.web
فيما يتعلق بمكتبات قواعد البيانات نبحث في.System.data
:.NET المنتجات التى يمكن إنتاجها من خالل
(1) DESKTOP APPLICATIONS.
(2) WEB APPLICATIONS.
(3) WEB SERVICES.
(4) MOBILE APPLICATIONS.
الجديد في VB.Net
Integrated تعد بيئة تطوير متكاملة
Development
Environment
."IDE"
كنا نحصل على برمجيات.Net قبل ظهور
ومع، فقطWindows Application
أمكن الحصول على منتجات.Net ظهور
–Web Application :مثل
أخرى
.Web Services
قبل :.Netبعد اإلنتهاء من البرنامج يتم
ترجمته إلى .exe fileأي ملف بلغة اآللة –
لغة المعالج -Processorوبذلك كان
البرنامج مرتبط بنظام التشغيل OSوتعليمات
المعالج بالجهاز ،وهذا ما يفسر حدوث مشاكل
Errorsعند تشغيل البرنامج على جهاز آخر
أو نظام تشغيل آخر نظرا إلختالف المكتبات
الخاصة بنظام التشغيل ملفات .Dll
تقنية
وبظهور
:.Net
بعد
Frameworkأمكن تنفيذ البرنامج
على أي جهاز بغض النظر عن كل من
نظام التشغيل والمكونات المادية
للجهاز ،حيث أصبح اطار العمل
Frameworkطبقة وسيطه بين
البرنامج ونظام التشغيل.
وقد حقق ذلك الفوائد التالية:
أوال :أصبح البرنامج يستخدم مكتبات الــ Framework
وبذلك حلت مشكلة ملفات المكتبات مع .OS
ثانيا :فيما يتعلق بمشكلة ترجمة البرنامج فإن ذلك يتم اآلن
على مرحلتين :مرحلة ترجمة البرنامج وتحويله إلى
برنامج بلغة Ilأو MSILوعند تنفيذ البرنامج المترجم
إلى ILيتم ترجمته في المرحلة الثانية فوريا إلى لغة اآللة
من خالل Common Language " CLR
"Runtimeبواسطة المترجم Jit Compilerفي الـ
.Framework
حيث أصبح لكل لغة في .Netمترجم خاص بها وينتج
عنه ملف "Portable Executable File" PEF
يكون أحد عناصره ملف MSILومعلومات أخرى متعلقة
بالبرنامج مثل رقم اإلصدار ومعلومات عن المكتبات التي
–Frameworkويعرف بــ
سيحتاجها من
" "Metadataالذي يتم ترجمته بعد ذلك إلى لغة اآللة
بواسطة المترجم .JIT Compiler
وبذلك يمكن تشغيل أي برنامج .Netعلى أي جهاز به
Frameworkبدون حدوث أي أخطاء مع نظام التشغيل أو
المعالج حتى وإن كان تليفون محمول مزود .Framework
جميععع لغععات .Netتسععتخدم واجهععة
واحععدة " "Studioوتتععرجم إلععى ملععف
Microsoft
بلغعععععععة ""MSIL
Intermediate
Language
وهعععذا يعنعععي امكانيعععة انشعععاء تطبيقعععات
تععدخل فيهععا أكثععر مععن لغععة برمجععة بعععد
اتخاذ بعض اإلجراءات.
إضافة امكانات جديدة لنافذة محرر األكواد
مثال :إذا كتبنا كود جملة :IF
If x = 10 Then
وتم الضغط على مفتاح اإلدخال يضيف محرر
األكواد تلقائيا End Ifبل ويضيف أيضا كلمة
Thenإذا لم تكتبها.
تععم إضععافة تلميحععات كثيععرة
tipتظهر على الشاشة عند ععرض
قيم المتغيعرات وأنواعهعا ومععامالت
اإلجعععععععراءات والعععععععدوال ونتيجتهعععععععا
وعععرض نبععذة عععن وظيفععة كععل دالععة
وكل معامل.
Tool
إدخال تحسينات كثيرة على مظهر النموذج
واألدوات مثل:
– تحديد درجة شفافية النموذج من خالل خاصية
"."Opacity
– تحديد منطقة ظهور النموذج على الشاشة من خالل
خاصية " "StartPositionبدال من نافذة
" "Layoutفي .VB 6.0
– لم تعد في حاجة لكتابة كود يحافظ على تناسب
مقاييس األدوات مع أبعاد النموذج كلما تغير حجم
النموذج ،وذلك من خالل خصائص جاهزة تقوم بذلك.
من الممكن اآلن إضافة أزرار أو أي أدوات
أخرى للنماذج في وقت التنفيذ أي في وقت
Run Timeمع إمكانية ربطها بأي إجراء.
جميع لغات .Netيتم ترجمتها إلى ملف
وسيط " "MSILويترجم بعد ذلك عن طريق
" "CLRإلى لغة اآللة وهذا يعني أن VB
أصبح يعمل بقوة وسرعة وكفاءة .VC++
إضافة إمكانية استخدام معالجات االسعتثناءات
Exception Handlersكما في جملة:
Try
……………………
Catch
………………………
End Try
هناك ثالثة أنواع من األخطاء:
( )1أخطاء لغوية أو صياغة :Syntax Errorوحاليا
يتكفل باكتشافها محرر البرنامج Editorمن خالل
المفسر.
أخطاء منطقية :Logical Errorويمكن
اكتشافها عند تنفيذ البرنامج على بيانات حقيقية
معلومة النتائج مسبقا وتم تجربتها.
أخطاء أثناء التشغيل :Run Time Error
وهو ما يمكن للمبرمج اكتشافه من خالل
استخدام المعالجات االستثنائية Exception
Handlersكما في جملة … Try
Catch / End Tryمن خالل المترجم.
VB.Netمبنية بالكامل على مفهوم
البرمجـــة المـــــوجهـــة بالكائنـــــات OOP
فعلى سبيل المثال:
– يوجد بها وسائل جاهزة Methodsخاصة
بالتعامل مع المتغير النصي من نوع
Stringتسمح بالبحث فيه أو تقطيعه أو
استبدال أجزاء منه.
– وصارت هناك وسائل جاهزة أيضا لعكس
المصفوفة Arrayوترتيبها والبحث فيها.
يوفر إطار العمل Frameworkفي
.Netكم كبير من المكتبات أو التصنيفات
Classesبديال عن استخدام الدوال الخاصة
بنظام التشغيل .OS
أصبح بإمكانك تعريف المتغيرات داخل مقاطع
الجمل الشرطية If Statementوجمل التكرار
Loop Statementsبحيث تكون معزولة
عن المتغيرات الموجودة خارج هذه المقاطع.
إمكانية تصميم صفحات إنترنت
بنفس طريقة تصميم النماذج العادية
مع كتابة كود VB.Netبمعظم
إمكانياته إلنشاء تطبيقات ASP.Net
تعمل على الخوادم Serverبدون
كتابة أي كود .ASP
وتهدف ميكروسوفت من إنتاج .Netإلى:
إنشاء آالف المكتبات للعديد من البرامج التي تعمل
على أنظمة التشغيل األخرى مثل لينكس للتوافق
وتعمل على نظام التشغيل .Windows
سهولة تطوير تطبيقات اإلنترنت.
أصبحت لغة برمجة موجهة بالكائنات OOP
وبيئة تطوير وبذلك أمكن دمج أكواد أكثر من لغة في
نفس البرنامج.
وتهدف ميكروسوفت من إنتاج .Netإلى:
وتم مواجهة لغة Javaبلغة J#مع بناء إطار
العمل Frameworkوالذي يعد محاكاة من شركة
ميكروسوفت لنظام Virtual Machineالمنتج
من شركة .SUN
استيعاب تقنية Extensible " XML
"Markup Languageالذي يهتم بالبيان
ونوعه أما HTMLفهو يهتم بطريقة عرض البيان.
وزارة التربية والتعليم
اإلدارة العامة للكمبيوتر التعليمي
مع أرق
تحياتي
أحمد األنصاري السالموني