الفصل الأول

Download Report

Transcript الفصل الأول

‫مقدمة عن البرمجة باستخدام‬
‫‪Visual Basic .Net‬‬
‫الفصل األول‬
‫مقدمة للبرمجة‬
‫• نظام المعلومات‬
‫•العمليات التي يقوم بها الكمبيوتر‬
‫•البرامج والبرمجة‬
‫نظام المعلومات‬
‫• البيان (‪)Data‬‬
‫•المعلومة (‪)Information‬‬
‫البيان‬
‫عمليات‬
‫معلومة‬
‫‪40‬‬
‫‪35‬‬
‫‪30‬‬
‫‪25‬‬
‫منتج أ‬
‫منتج ب‬
‫منتج ج‬
‫‪20‬‬
‫‪15‬‬
‫‪10‬‬
‫‪5‬‬
‫فبراير‬
‫يناير‬
‫‪0‬‬
‫•‬
‫• منتج أ‬
‫• منتج ب‬
‫• منتج ج‬
‫يناير‬
‫‪20‬‬
‫‪25‬‬
‫‪40‬‬
‫فبراير‬
‫‪30‬‬
‫‪20‬‬
‫‪23‬‬
‫العمليات التي يقوم بها الكمبيوتر‬
‫• إدخال البيانات (‪)Input Data‬‬
‫• تخزين البيانات (‪)Store Data‬‬
‫• إجراء عمليات حسابية (‪)Arithmetic Operations‬‬
‫• مقارنة القيم واالختيار ( ‪compare and make‬‬
‫‪)decisions‬‬
‫• تكرار أمر أو مجموعة من األوامر ( ‪Repeat‬‬
‫‪)Operations‬‬
‫• إخراج النتائج (‪)Output Information‬‬
‫‪1‬‬
‫عمليات الكمبيوتر‬
‫البيانات‬
‫‪Data‬‬
‫‪2‬‬
‫تخزين البيانات في الذاكرة‬
‫‪Store data in Memory‬‬
‫‪3‬‬
‫‪4‬‬
‫العمليات الحسابية‬
‫‪Arithmetic Operations‬‬
‫مقارنة القيم واالختيار‬
‫‪Compare & Make Decisions‬‬
‫‪5‬‬
‫تكرار العمليات‬
‫‪Repeat Operations‬‬
‫‪6‬‬
‫المخرجات (المعلومة)‬
‫)‪Output (Information‬‬
‫البرامج والبرمجة‬
Programs and Programming
Programming Languages ‫• لغات البرمجة‬
machine language ‫ لغة اآللة‬
High level )‫ لغات البرمجة (لغات عالية المستوى‬
language
‫لغات البرمجة‬
High level language
‫المترجم‬
Compiler
‫المفسر‬
Interpreter
)1 - 0( ‫لغة اآللة‬
Machine language
1111001011001001101101
‫الفصل الثاني‬
‫خرائط التدفق (‪)Flow Charts‬‬
‫• مقدمة (‪)Introduction‬‬
‫• خرائط التدفق (‪)Flow Charts‬‬
‫مقدمة حل المسألة‬
Introduction to problem solving
Define the problem ‫تعريف وتحديد المسألة‬
‫إعطاء اسماء لكل البيانات المعطاة في المسألة والتي ستدخل الحل‬
Giving names to data (Variables) )‫(المتغيرات‬
‫إهمال البيانات غير الهامة في الحل‬
Discard all unnecessary information
‫إيجاد العالقات بين المتغيرات ووضعها في معادالت‬
express the relations between variables as
functions
Determine ‫ترتيب المعادالت الترتيب المنطقي للوصول إلى الحل‬
the proper algorithm by arranging the
equations in correct sequence
•
•
•
•
•
Example ‫مثال‬
A school has 1000 students of whom 48
percent are boys. The school gave a party
which 70 percent of the students
attended. If 60 percent of those attending
were boys, how many girls attended the
party?
‫ منهم‬%48 ،1000 ‫عدد الطلبة والطالبات في مدرسة هو‬
‫ قامت المدرسة بعمل حفل حضره‬،‫ والباقي أوالد‬،‫بنات‬
%60 ‫ فإذا عرفنا أن‬.‫ من إجمالي الطلبة والطالبات‬%70
‫من الحضور كانوا من األوالد فما عدد البنات الالتي حضرن‬
‫الحفل؟‬
‫الحل‪:‬‬
‫‪ -1‬السؤال المطلوب اإلجابة عنه هو ”ما هو عدد البنات في الحفل؟‬
‫‪ -2‬إجمالي عدد األوالد والبنات في الحفل = ‪x‬‬
‫عدد األوالد في الحفل = ‪y‬‬
‫عدد البنات في الحفل = ‪z‬‬
‫‪ %48 -3‬من طلبة المدرسة من البنات بيان غير مؤثر في الحل ويجب إهماله‪.‬‬
‫‪ -4‬العالقات بين المتغيرات‪:‬‬
‫أ‪ %70 -‬من إجمالي األوالد والبنات حضروا الحفل (‪)x‬‬
‫ب‪ %60 -‬من الحضور أوالد (‪)y‬‬
‫ت‪ -‬الفرق بين ‪ x‬و‪ y‬يمثل عدد الحاضرات‪،‬‬
‫وعليه فإن المعادالت التي تمثل العالقات تكون‪:‬‬
‫‪a. x = 1000 * 0.70 b. y = x * 0.60 c. z = x - z‬‬
‫‪ -5‬وحيث إن المتغير ‪ x‬يجب أن يكون معروفا ً لحساب المتغير‪ .y‬كما أن‬
‫المتغير‪ z‬ال يمكن حسابه إال بعد معرفة قيم ‪ x,y‬فإن الترتيب السابق يكون‬
‫هو الترتيب المنطقي للمعادالت‪.‬‬
Solution:
1 - The question is: “How many girls attended the party?”
2 - Let x = the total number of students attending the party
Let y = the number of boys attending the party
Let z = the number of girls attending the party
3 - The given fact that 48 percent of the students are boys has no
effect on
the problem and may be discarded.
4 - The relationships stated are:
a. 70 percent of the students attended ( x )
b. 60 percent of those attending were boys ( y )
c. This implies that the difference between x and y represents the
number of girls attending (z).
So, we express these relationships as the following equations:
a. x = 1000 * 0.70
b. y = x * 0.60
c. z = x – y
5 - Since the variable x must be known to find the variable y and both
x
and y must be known in order to find z, the equations must be solved
in
the given order.
Flow Charts ‫خرائط التدفق‬
‫ بطريقة‬Algorithm ‫ هي عرض وكتابة الـ‬:‫• خرائط التدفق‬
.‫تخطيطية تعتمد على الرسم‬
The flowchart is a mean of visually presenting
the flow of data through an information
processing systems
‫• خرائط التدفق هي تمثيل بياني يعتمد على الرسم لتوضيح ترتيب‬
.‫العمليات الالزمة لحل مسألة‬
A flowchart is a diagrammatic representation
that illustrates the sequence of operations to be
performed to get the solution of a problem.
‫الرموز األساسية في خرائط التدفق‬
‫‪Standard Symbols‬‬
‫إدخال‪/‬إخراج‬
‫قرار‪/‬اختيار‬
‫عملية‬
‫رمز طرفي‬
‫المفسر‬
‫أكثر األشكال استخداما‬
‫‪More used shapes‬‬
‫• الرمز الطرفي (‪)Terminal‬‬
‫•‬
‫إدخال‪ /‬إخراج (‪)Input/ Output‬‬
‫•‬
‫معالجة ‪ /‬عملية (‪)Process‬‬
‫•‬
‫قرار‪ /‬اختيار (‪)Decision‬‬
‫•‬
‫خط اتجاه (‪)Flow line‬‬
‫إرشادات رسم خرائط التدفق‬
‫‪Guidelines for drawing flow charts‬‬
‫‪ .1‬نظافة الخريطة وسهولة التتبع‪.‬‬
‫‪ .2‬االتجاه الطبيعي للعمليات والبيانات (من اليسار إلى اليمين ومن أعلى إلى‬
‫أسفل)‬
‫‪ .3‬أي رمز معالجة ‪ /‬عملية يجب أن يخرج منه خط اتجاه واحد‪.‬‬
‫‪ .4‬أي رمز قرار‪ /‬اختيار يجب أن يدخل فيه خط اتجاه واحد فقط ولكن من‬
‫الممكن أن يخرج منه خطان على األقل أو أكثر‪.‬‬
‫‪ .5‬الرمز الطرفي به خط اتجاه واحد فقط إما داخل إليه وإما خارج إليه‬
‫‪ .6‬لكتابة المالحظات نستخدم رمز المفسر‬
‫‪ .7‬إذا تعقدت خرائط التدفق وأصبحت كبيرة فمن األفضل تقسيم الخريطة إلى‬
‫أجزاء أصغر وربطها برمز الربط ‪. o‬‬
‫‪ .8‬يجب التأكد من أن الخريطة لها بداية واحدة وأن الدخول من عند البداية يجب‬
‫أن يؤدي بنا إلى النهاية‪.‬‬
‫‪ .9‬من األفضل اختبار صالحية الخريطة باستخدام مدخالت معروف قيمة‬
‫مخرجاتها مسبقا‪.‬‬
‫مميزات خرائط التدفق‬
Advantages of Flow Charts
Communication ‫اإلتصال‬
Effective analysis ‫تحليل األفعال‬
Proper documentation ‫توثيق صحيح‬
Efficient coding ‫تكويد كفء‬
Proper debugging ‫تصحيح األخطاء‬
Efficient program ‫كفاءة إصالح البرنامج‬
maintenance
.1
.2
.3
.4
.5
.6
‫عيوب خرائط التدفق‬
Disadvantages of Flow Charts
Complex logic ‫أسلوب معقد‬
Alterations and modifications ‫إجراء تعديالت‬
Copying ‫النسخ‬
More Details ‫كثرة التفاصيل‬
.1
.2
.3
.4
‫بعض األمثلة على خرائط التدفق‬
Some examples on Flow
Charts
‫المثال األول‬
‫ارسم خريطة تدفق لتبين ما هي الخطوات التي ستقوم‬
‫بها في حالة عدم عمل إحدى لمبات اإلضاءة؟‬
‫‪Draw flow chart to represent what will‬‬
‫?‪you do if your lamp doesn’t work‬‬
‫رمز طرفي‬
Terminal
‫المفسر‬
Annotation
Lamp doesn’t work
‫اللمبة ال تعمل‬
‫خط اتجاه‬
Flow line
‫ اختيار‬/ ‫قرار‬
Decision
Lamp Plugged
in?
NO
Plug in lamp
‫هل اللمبة في الفيشة‬
Yes
Lamp burned
out?
NO
Call electrician
Yes
Replace lamp
‫هل اللمبة محترقة‬
‫المثال الثاني‬
‫ارسم خريطة تدفق لتبين عملية قراءة رقمين ثم قسمتهما‬
.‫وإظهار ناتج القسمة‬
Draw flow chart to represent the process of
reading two numbers, dividing them, and
displaying the result
Start
‫ إخراج‬/‫إدخال‬
Input / Output
Read number1
Read number2
Is number2
= 0?
Yes
NO
Result =
number1 / number2
Output the
result
Print “Division
is impossible”
‫عملية‬
Process
End
End
‫المثال الثالث‬
)‫ رقم طبيعي (صحيح‬100 ‫ارسم خريطة تدفق لحساب حاصل جمع أول‬
:‫وهذا يعني أننا نريد أن نحسب ما يلي‬
100 + 99 +............. + 3 + 2 + 1 = ‫المجموع‬
Draw flow chart to find the sum of first 100
natural numbers. This means that we want
to find sum where sum is given by:
Sum = 1 + 2 + 3 +…………… + 99+100
‫‪ Sum‬هو المتغير الذي يمثل المجموع‬
‫‪ N‬هو المتغير الذي يمثل الرقم الطبيعي‬
‫‪Start‬‬
‫‪Sum = 0‬‬
‫=‪New value of sum‬‬
‫‪old value of sum + N‬‬
‫‪N=0‬‬
‫‪N=N+1‬‬
‫‪Sum = Sum + N‬‬
‫‪End‬‬
‫‪Print Sum‬‬
‫هل عدد األرقام التي تم جمعها ‪100‬؟‬
‫‪Yes‬‬
‫?‪Is N = 100‬‬
‫‪NO‬‬
‫المثال الرابع‬
‫ارسم خريطة تدفق إليجاد الرقم األكبر من بين ثالثة‬
‫أرقام‬
‫‪A,B,C‬‬
‫‪Draw flow chart to find the largest‬‬
‫‪from three numbers A,B and C‬‬
Start
Read A,B,C
Yes
Is B > C ?
NO
Is A > B ?
Yes
Is A > C ?
Yes
NO
NO
Print C
Print B
End
Print A
‫قامت دنيا برسم خريطة تدفق لعملية جمع عددين‬
‫قم بتصحيح الخطأ فيها‬
‫الخريطة بعد التصحيح‬
‫الخريطة قبل التصحيح‬