
صياغة البرامج ولغات البرمجة
Programming &
programming languages
D. Abdalrahman R. Qubaa

Syllabus
C++ Programming I First class/Semester II
❖ Introduction to programing and types of programming languages
❖ Study of Program Development Steps and Flowchart
❖ Introduction to C++ programing
❖ Structured Programming (Variables, Input, Memory)
❖ Operators: Assignment operators, Arithmetic operators, Increment and decrement
operators, Decision making operators, Conditional operator
❖ Selection statements-1: if single-selection statement, if..else.
❖ Selection statements-2: Nested if..else, switch multiple-selection statement
❖ Repetition Statements: while repetition statement, for repetition statement,
do..while, break and continue statements
❖ One-dimensional Arrays: Array elements, Approaches of initialization arrays,
Array of characters, Searching arrays,
❖ Multidimensional Arrays: Array elements, Approaches of initialization arrays, Array
of characters, Searching arrays,
2

Textbook and Software:
The C++ Programming Language (4th Edition) By:
Bjarne Stroustrup.
Programming: Principles and Practice Using C++
(2nd Edition) By: Bjarne Stroustrup.
The software that is used in this course is the Code::
Blocks as a C++ compiler.
3

بعد أن تكلمنا
في الكورس االول
عن برامج نظم التشغيل و برامج التطبيقات يبقى
سؤال
من
ي
؟كتب هذه البرامج
؟وكيف كتبت
؟وبأي لغة
وما هي الخطوات
العملية
؟التي اتبعت لبناء هذه البرامج
الوحدة الثالثة
–
الفصل التاسع
–
صياغة البرامج
-
لغات البرمج
ة
4
صياغة البرامج ولغات البرمجة
Programming & programming languages

•
جهاز
الحاسب
يـللآا
هو
ةــلآ
تنفذ
ما
يأتيها
من
رـــماوأ
ةـقدب
عالية
.
•
حيث
ونـكت
هذه
رـماولأا
ةــبوتكم
اـميف
يسمى
(
برنامج
)
.
•
وجميع
البرامج
تكون
مكتوبة
على
هيئة
سلسلة
من
األوامر
اليسيرة
التي
ينفذها
الحاسب
اآلل
ي
لتحقيق
هدف
ما
او
حل
مشكلة
معينة
.
•
هذه
األوامر
تكتب
بلغة
معينة
يفهمها
االنسان
اضافة
الى
جهاز
الحاسب
.
لغات
ال
برمجة
Programming Languages
:
هي مجموعة القواعد
واالوامر
التي توفر طريقة
ل
صياغة تعليمات
االنسان
(
ال
م
برمج
)
لتوصيلها الى المعالج وهي
همزة الوصل بين االنسان وجهاز الحاسب
.
البرنامج
Program
:
هي مجموعة من التعليمات المتسلسلة والمترابطة
و
التي توجه الحاسوب ألداء ع
مل
معين
على البيانات
الخام و
تنفيذ مهمة محددة و تكتب
بأحدى
لغات البرمجة
.
تتفاوت لغات البرمجة من حيث نوعية التطبيقات وبيئة التشغيل وطريقة ا
لتفاعل بين
المستخدم والتطبيق والوسط الذي يتم
من
خالله التفاعل
.
5
بعض المفاهيم والتعاريف االساسية

المبرمج
Programmer
:
هو
صائغ
البرامج
او
هو
الشخص
الذي
يقوم
بكتابة
البرامج
بعد
اختيا
ره
للغة
برمجة
معينة
لتحقيق
هدف
اوحل
مسالة
معينة
.
حيث
تمر
عملية
البرمجة
بالنسبة
للمبرمج
بعدة
مراحل
هي
:
1
)
مرحلة
فهم
وتحليل
المشكلة
.
2
)
افتراض
حل
منطقي
ووضع
خطوات
لذلك
.
3
)
كتابة
سلسلة
من
األوامر
لحل
المشكلة
.
4
)
اختبار
البرنامج
والتأكد
من
صحة
عمله
.
5
)
تحويل
البرنامج
إلى
صيغة
تنفيذية
،
تمثل
الشكل
النهائي
الذي
يحتوي
على
الواجهة
الت
ي
يراها
المستخدم
وتوثيق
البرنامج
.
المستخدم
User
:
هو
من
يستخدم
،البرنامج
حيث
تظهر
له
واجهة
البرنامج
ولن
تظهر
له
األوامر
التي
كتبها
المبرمج
.
6
بعض المفاهيم والتعاريف االساسية

مخطط يبين خطوات صياغة وتطوير البرامج
7
خطوات صياغة وتطوير البرامج
Program
Development Steps

الوحدة الثالثة
–
الفصل التاسع
–
صياغة البرامج
-
لغات البرمج
ة
8
خطوات صياغة وتطوير
البرامج
Program
Development Steps
1
.
تحديد
وتعريف
المشكلة
Defining the Problem
في
هذه
الخطوة
يقوم
المبرمج
بتحديد
وتعريف
المشكلة
وتتضمن
هذه
الخطوة
تحديد
التا
لي
بالترتيب
:
.1
الهدف
من
البرنامج
(
حساب
،ارباح
فواتير
استهالك
الماء
،والكهرباء
أو
حساب
معدل
الطالب
التراكمي
)
.2
نوع
وحجم
المخرجات
ووسائل
اإلخراج
(
تقارير
–
فواتير
–
شيكات
–
نقود
...
/
طابعة
ـــ
شاشة
....
)
.3
نوع
وحجم
البيانات
المدخلة
ووسائل
اإلدخال
(
اسعارمواد
,
جملة
اومفرد
ــ
درجات
طالب
..
/
لوحة
المفاتيح
ــ
الكاميرا
ــ
...
)
.
.4
مستخدمي
البرامج
والمستفيدين
منه
.
(
عام
لكل
الناس
ـــ
موظف
مختص
ـ
مكاتب
اهلية
ـــ
مدارس
ــ
جامعات
...
...
)
.

الوحدة الثالثة
–
الفصل التاسع
–
صياغة البرامج
-
لغات البرمج
ة
9
خطوات صياغة وتطوير البرامج
Program
Development Steps
2
.
تصميم
البرنامج
Design the Program
▪
يتم
هنا
تحديد
المواصفات
والخطوات
الدقيقة
والمرتبة
منطقيا
والتي
تم
فهمها
ودراستها
في
ا
لخطوة
األولى
.
▪
ويتم
ذلك
بإستخدام
عدة
طرق
منها
▪
كتابة
الخوارزميات
Algorithems
وهي
عبارة
عن
كتابة
سلسلة
من
الخطوات
المنطقية
المؤدية
لحل
المشكلة
.
▪
او
استخدام
المخططات
االنسيابية
Flowchart
ويطلق
عليها
أيضا
خرائط
سير
العمليات
وهي
مجموعة
من
الرموز
المتعارف
عليها
تستخدم
لتوضيح
الخطوات
المنطقية
الالزمة
لحل
مشكلة
ما
.

10
خطوات صياغة وتطوير البرامج
Program
Development Steps
2
.
تصميم
البرنامج
: Design the Program
باستخدام
الخوارزميات
Algorithms
Example 1: Write an algorithm to input tow number and print witch of them greater
than other.
Detailed Algorithm
Step 1: Input X, Y
Step 2: if (X>Y) then
Step 3: Print
“X greater than Y”
else
“Y greater than X”

11
خطوات صياغة وتطوير البرامج
Program
Development Steps
2
.
تصميم
البرنامج
Design the Program
:
باستخدام
المخطط
االنسيابي
Flow chart

12
خطوات صياغة وتطوير البرامج
Program
Development Steps
3
.
صياغة
البرنامج
Coding the Program
▪
بعد
االنتهاء
من
تصميم
البرنامج
يتم
اختيار
إحدى
لغات
البرمجة
المناسبة
لص
ياغة
أوامر
البرنامج
Coding
وذلك
باالستعانة
بالمخطط
االنسيابي
Flowchart
أوغيرها
.
▪
يجب
عند
صياغة
البرنامج
اتباع
قواعد
صيا
غ
ة
لغة
البرمجة
المستخدمة
حيث
ان
لكل
لغة
برمجة
قواعد
خاصة
بها
وال
يعمل
البرنامج
اذا
كان
هنالك
اخطاء
امالئية
او
اخط
اء
في
قواعد
اللغة
Syntax Errors
.

13
خطوات صياغة وتطوير البرامج
Program
Development Steps
4
.
اختبار
البرنامج
وتصحيح
األخطاء
Program Debugging and Testing
▪
يسمى
البرنامج
بعد
صياغتة
باحدى
لغات
البرمجة
البرنامج
المصدر
Source Program
وال
يتم
تنفيذه
مباشرة
على
الحاسوب
بل
يتم
ترجمته
الى
برنامج
مكتوب
بلغة
اآللة
Machine Languages
وهو
ما
يسمى
بالبرنامج
الهدف
Target Program
.
▪
تسمى
عملية
تحويل
البرنامج
المصدر
الى
برنامج
الهدف
بالترجمة
Compilation
ويقوم
بها
برنامج
يسمى
المترجم
Compiler
.

14
خطوات صياغة وتطوير البرامج
Program
Development Steps
4
.
اختبار
البرنامج
وتصحيح
األخطاء
Program Debugging and Testing
▪
خالل
عملية
الترجمة
Compilation
قد
تظهر
اخطاء
في
صياغة
البرنامج
المصدر
ينبغي
على
المبرمج
تصحيحها
.
▪
هناك
ثالث
انواع
من
األخطاء
:
.1
اخطاء
في
قواعد
اللغة
:Syntax Errors
اخطاء
امالئية
او
لغوية
في
كتابة
األوامر
وتظهر
رسالة
بان
هناك
خطا
امالئي
.
.2
اخطاء
اثناء
تشغيل
البرنامج
Run-Time Errors
:
تظهر
عند
تنفيذ
البرنامج
مثل
عدم
حجز
مساحة
كافية
للمدخالت
او
الدخول
في
دوران
بال
،نهاية
وتظهر
رسالة
بنوع
الخطاء
.
.2
اخطاء
منطقية
Logical Errors
:
ال
يكتشفها
الحاسوب
والتظهر
رسالة
عن
الخطا
وتظهر
عند
تنفيذ
البرن
امج
على
عينه
من
البيانات
فنحصل
على
نتائج
خاطئه
او
غير
،متوقعة
ويقوم
المبرمج
بتتبع
خطوات
ا
لبرنامج
لمعرفة
مصدر
الخطأ
وتصحيحه
وتسمى
عملية
التتبع
ب
Tracing
.

15
خطوات صياغة وتطوير البرامج
Program
Development Steps
5.
توثيق
البرنامج
Documenting the Program
▪
في
هذه
المرحلة
تتم
كتابة
وصف
تفصيلي
لصياغة
،البرنامج
ويشمل
هذا
الت
وثيق
:
.1
كتابة
أصل
المشكلة
(
او
الهدف
من
البرنامج
)
.2
وخطوات الحل
وخرائط الحل
Flowchart
.3
وتعليمات التشغيل
Help
.4
ومتطلبات
التشغيل
(
نظام
التشغيل
واللغة
المطلوبة
وسرعة
المعالج
وحجم
الذاكرة
...
)
.5
والمدخالت والمخرجات
Inputs Outputs
.6
وكيفية
التحكم
في
البرنامج
في
المواقف
المختلفة
.

تصنف لغات البرمجة إلى ثالثة أنواع هي
:
.1
لغات برمجة ذات مستوى منخفض
Low Level Languages
.2
لغات برمجة ذات مستوى عال
High Level Languages
.3
لغات الجيل الرابع
Fourth Generation Languages
16
تصنيف لغات البرمجة

1
.
لغات البرمجة ذات المستوى المنخفض
Low Level Languages
تعتبر لغات البرمجة ذات المستوى المنخفض من أوائل لغات البرمجة ومنها
:
▪
لغة
اآللة
Machine Language
▪
لغة
التجميع
Assembly language
•
سميت
باللغات
المنخفضة
المستوى
نظرا
ألن
المبرمجين
يكتبون
أوامر
البرنامج
ب
مستوى
قريب
من
مستوى
فهم
اآللة
(
الحاسوب
)
،
حيث
تستخدم
هذه
اللغة
(
0
,
1
)
في
كتابة
البرامج
•
.
تكتب
األوامر
في
لغة
اآللة
على
شكل
سلسلة
من
األرقام
الثنائية
(
0
,
1
)
حتى
يفهمها
جهاز
الحاسب
اآللي
وهي
اللغة
الوحيدة
التي
يفهمها
الحاسب
.
•
حولُت
جميع
اللغات
الى
لغة
اآللة
حتى
تتمكن
معدات
الحاسب
اآللي
من
التفاهم
معها
.
•
مميزاتها
:
•
سرعة
التنفيذ
ألنها
تخاطب
وحدة
المعالجة
مباشرة
•
عيوبها
:
-
غير
مرنة
(
صعوبة
كتابة
وتصحيح
برامجها
)
.
-
غير
عمومية
(
برامجها
تعتمد
على
نوع
اآللة
)
.
17
تصنيف لغات البرمجة

18
تصنيف لغات البرمجة
2
.
لغات البرمجة ذات المستوى العالي
High Level Languages
▪
بظهور اللغات ذات المستوى العالي أصبحت عملية التخاطب والتعامل معع الحاسعب أسعهل نسعب
يا وذلعك
ألن لغة التعامل مع الحاسب أصبحت قريبة من لغة البشر
.
▪
سميت بهذا االسم ألنه اصعبح بامكعان المبعرمج كتابعة البعرامج دون معرفعة تفاصعيل كيفيعة ق
يعام الحاسعب
بهذه العمليات
.
بعض مميزات هذه اللغات
:
-
قريبة
من
لغة
االنسان
.
-
مرنة
(
سهولة
في
كتابة
وتعديل
وتصحيح
البرامج
)
.
-
عمومية
(
عدم
االرتباط
بآلة
معينة
)
.
-
توفير
الوقت
والجهد
عيوبها
:
-
بطء
التنفيذ
الحتياجها
لوسيط
يقوم
بتحويل
البرنامج
المصدر
(
Source Code
)
المكتوب
باحدى
هذه
اللغات
الى
البرنامج
الهدف
(
Target Code
)
المكتوب
بلغة
اآللة
.
ومن الطبيعي لبرنامج مكتوب بلغة عالية المستوى أن يترجم إلى برنامج بلغة اآللة
,
ويطلق ع
لى البرنامج
المكتوب باللغة عالية المستوى برنامج المصدر أو كود المصدر والبرنامج المترجم يطلق علي
ه في هذه
الحالة المترجم
(Compiler)
.

19
تصنيف لغات البرمجة
3
.
لغات الجيل الرابع
Fourth Generation Languages
▪
تسمى
هذه
اللغات
أيضا
باللغات
ذات
المستوى
ال
عالي
ج
دا
Very High Level Languages
حيث
إنها
لغات
سهلة
االستخدام
والفهم
وقريبة
جدا
من
لغة
اإلنسان
.
▪
يستطيع
المبرمج
القيام
بكثير
من
العمليات
بسهولة
تغنيه
عن
صياغة
Coding
صفحات
عديدة
من
أوامر
البرنامج
.
ويهتم
المبرمج
بماذا
يريده
من
الكومبيوتر
دون
ان
يوجهه
بكيفية
القيام
بذلك
.
ومن
ضمنها
ظهر
مايسمى
بل
غات
البرمجة
موجهة
االهداف
(
Object Oriented Programming Language
)
❖
تدعم
مقومات
مبنية
على
اساس
كل
كائن
فى
الحياة
ينتمي
الى
طبقة
أو
صنف
و
كل
طبقة
ت
نحدرمن
طبقة
أعلى
.
و
من
هذه
المقومات
:
اخفاء
البيانات
,
الوراثة
,
اعادة
االستعمال
.
❖
تدعم
اسلوب
البرمجة
المرئية
(
تصميم
الواجهات
الرسومية
)
❖
من
امثلتها
:
visual basic , visual c++ , java builder

.1
يسكـبلا ةغل
BASIC Language
ولغة فيجوال بيسك
Visual Basic
.2
لغة سي ولغة سي
بلس بلس
C & C++ Language
.3
لغة الجافا
Java Language
.4
لغة الكوبل
COBOL Language
.5
لغة الباسكال
PASCAL Language
.6
لغة اللوجو
LOGO Language
.7
لغات الذكاء االصطناعي
Artificial Intelligence Languages
مثل لغة
Prolog
20
أنواع لغات البرمجة
ذات المستوى العالي

1
.
يسكـبلا ةغل
BASIC Language
ولغة فيجوال بيسك
Visual Basic
▪
وخاص،لامعلأا عيمج يـف نوئدتبمـلا اهمدختسيو مـلعتلا ةلهسو ضارغلأا ةماع ةطيسب تاغل يهو
يـف ة
وهععي اختصععار للمعنععى،ةيمـععلعلا تاقيـععبطتلا
Beginners All-Purpose Symbolic Instruction
Code
.
▪
لبساطة هذه اللغة واستخدامها في التعليم ظهرت لها عدة إصدارات منها
:
BASICA
-
GWBASIC
-
TURBO BASIC
-
QUICK BASIC
.
▪
كما ظهرت أيضا
لغة فيجوال بيسك
(
البيسك المرئي
)
Visual Basic
وهي لغعة برمجعة مرئيعة وتعتبعر
لغة مطورة من لغة البيسك وهي خاصة إلنتاج برمجيات ذات قدرة عالية وتتناسب مع بيئة بر
نامج نظام
ويندوز
Windows
.
21
أنواع لغات البرمجة

2
.
لغة سي ولغة سي بلس بلس
C & C++ Language
▪
تتميز هذه اللغة بالقوة والمرونة والقدرة على إنتاج برمجيات متعددة وذات كفاءة عال
ية
.
▪
وقد ظهرت نسخة حديثعة معن لغعة
C
وهعي لغعة
++
C
ذات بيئعة
ذكيعة مطعورة
,
وطعورت ايضعا
الى
Visual C
والتي
تتميز بكونها لغة برمجة مرئية
.
22
أنواع لغات البرمجة
3
.
لغة الجافا
Java Language
▪
تعتبر لغة الجافا من اللغات عالية المستوى وتعرف بأنها من اللغات المرئيعة
Visual
والشعيئية
Objects
وهي من اللغات العامة األغراض والتي تستخدم إلنتاج برمجيات متنوعة،
.
▪
تشبه لغة الجافا لغة
++
C
إال أنها تتسم بالسهولة
.

4
.
لغة الكوبل
COBOL Language
▪
ي األعمال التجارية مثل البنوك والشركـف ةيسيئر ةفصب ةغللا هذه مدختست
ات
.
▪
مةـععلكـلا نععم ةقتععشم لععبوك مةـععلكو ،راععشتنلاا ةعععساو ةععغل يععه
Common Business
Oriented
Language
وبدأ ظهور هذه اللغة سعنة
1959
يها ععدةـعلع يرعجأ دعقو
تعديالت لزيادة كفاءتها وكان آخرها سنة
1974
.
23
أنواع لغات البرمجة
5
.
لغة الباسكال
PASCAL Language
▪
حاسوبـععلا مـععلع يـععف يععسنرفلا مـععلاعلا ىـععلإ ةبععسن تـععيمس
Blaise Pascal
و يرجععع
تاريخها إلى
1973
يميةـلعت ةغلكو ةماعلا ضارغلأل مدختستو
.
▪
يسكـبلا ةغل نم مـلعتلا يـف بعصأ اهنأ لاإ اهئانب حوضو نم مغرلا ىـلع
.
▪
تعتبععر لغععة باسععكال مععن لغععات البرمجععة الرئيسععية التععي تععدرس لطلبععة المععدارس و
الكليععات
نظعععرا لوضعععوح السعععمات األساسعععية لتخطعععيط البعععرامج البنائيعععة بهعععا
Structured
Programming
.

24
أنواع لغات البرمجة
6
.
لغة اللوجو
LOGO Language
▪
هي لغة تطبيقات علمية تتميز ببساطة وسهولة تعلمها وقد صممت خصيصعا
ليسعتخدمها
األطفال فهي تشجع على اإلستخدام المنطقي والتركيبي
.
▪
تعتمد هذه اللغة على اسعتخدام روبعوت صعغير يسعمى بالسعلحفاة
Turtle
معن أجعل ابعراز
استعماالتها كتعلم األفكار الحسابية مثل الزوايا والقياسات
.
7
.
لغات الذكاء االصطناعي
Artificial Intelligence Languages
▪
هععي لغععات خاصععة بإنتععاج حاسععبات ذكيععة تحععاكي اإلنسععان فععي قدراتععه الحركيععة والبصعع
رية
والتحليل واالستنتاج واتخاذ القرارات بناء على نظم الخبرة التي ستغذي بها
الحاسبات
.
▪
من أهم هذه اللغات
:
▪
لغة برولوج
Prolog
:
يطلق عليها اسم لغة البرمجة المنطقية
Programming in Logic
.
▪
لغة ليسب
Lisp
:
يطلق عليها اسم لغة برمجة القوائم
List Programming Language
.