You are on page 1of 10

‫جامعة سوهاج‬

‫مقدمة عن البرمجة ولغات البرمجة‬

‫اسم الطالب ‪ :‬احمد اشرف احمد عبد العزيز‬

‫رقم الجلوس ‪1923:‬‬

‫رقم البطاقة ‪29808012610234‬‬

‫الفرقة ‪ :‬الثانية‬

‫اسم المادة ‪ :‬النمذجة باستخدام نظم المعلومات الجغرافية‬

‫تحت اشراف ; دكتور حنان حامد امين‬

‫القسم ‪ :‬برنامج المساحة والخرائط‬

‫‪1‬‬
‫هنتكل علي‬

‫البرمجة وتعريفها ‪1/‬‬

‫لغات البرمجة وتنقسم الي ‪2/‬‬

‫‪-1‬لغة االلة‬

‫‪-2‬لغة التجميع‬

‫‪-3‬لغة البرمجة ذات المستوي العالي‬

‫‪/3‬خصائص لغة البرمجة‬

‫(مقدمة في لغة البرمجة)‬

‫اال يختلف اثنان على اهمية البرمجة في حياتنا في الوقت الحالي حيث اصبح االعتماد عليها في‬
‫كل شي تقريبا فاألنشطة اليومية لإلنسان أصبحت تعتمد علي التعليقات‬

‫و ال يمكن االستغناء عنها ‪ ،‬فالبرمجة ماهي إال أكواد وخوارزميات تترجم لقة البشر وأفكار‬
‫اإلنسان لتطبيقات ومهام تنفذ ما يدور في عقله ويسهل مهمات حياته اليومية خالل العقود‬
‫الماضية وطرأ تطور هائل في برمجيات و لغات البرمجة ‪ ،‬ونتج عن ذلك تطور في واجهة‬
‫تصميم البرمجيات واللغات المكتوبة بها ‪ ،‬إذ أصبحت أكثر سهولة من ذي قبل ‪ ،‬وأكثر متعة‬
‫للتعلم و البرمجة ورغم أنه يوجد حاليا أكثر ‪ 665‬لغة برمجة تختلف في أهدافها ووظيفتها إال أن‬
‫معظم اللغات مرت بمراحل تطور هائلة أستمرت على مدار قرنين من الزمان وتناوب عليه‬
‫الكثير من العلماء ومهندسي الحاسوب بالتطوير واإلضاقة والحذف والتبديل حتي وصلت إلينا‬
‫بشكلها الحالي اكثر سهولة وبساطة وأقرب للغة البشر واكثر قابلية للتعلم الفضل األكبر في تطور‬
‫لغات البرمجة يعود آللة الحياكة او النول الميكانيكي الذي اخترعه جوزيف ميري جاكارد عام‬
‫‪ 1801‬وكان يتم التحكم به عن طريق بطاقات مثقبة ‪ Punch Cards‬كانت وظيفتها إمداد االلة‬
‫بالبيانات لتحريكها ‪ ،‬وقد إستفاد تشارلز بابيج من هذه البطاقات في صناعة اآللة التحليلية‬
‫‪ Analytical Engine‬التي كانت تدار بالبخار ويعدها البعض أول حاسوب في التاريخ في‬
‫بدايات القرن العشرين استخدم العالم األمريكي هيرمان هوليريث البطاقات المتقية في إختراع آلة‬
‫إلجراء التعداد السكاني تعمل بواسطة بطاقة مثقبة ذات حجم صغير نسبيا ً وقد احتوت البطاقة‬
‫عدداً من الثقوب يمثل فيها كل تقب معلومة محددة عن الشخص كالجنس أو مكان الوالدة ‪ ،‬ولفترة‬
‫طويلة من القرن العشرين استخدمت البطاقات المتقية كأساس لتغذية الحواسيب بالبيانات واستمر‬
‫إستخدامها حتى بداية سبعينيات القرن الماضي تطور البطاقات المتقية كان اساسا لتطور لغة اآللة‬
‫‪ mnachine language‬والتي تعتمد على نظام العد الثنائي ( ‪ ) 0 , 1‬لتنفيذ األوامر والعمليات‬

‫‪2‬‬
‫الحسابية في الحواسيب الحديثة وكان البرنامج يكتسب بالكامل بواسطة لغة اآللة بالرغم من‬
‫كونها عملية صعبة ومرهقة وتحتوي على العديد من األخطاء‬

‫في عام ‪ 1940‬قام األلماني كونراد زوم بتطوير اول لغة برمجة حديثة حيث لجع في تطوير‬
‫نموذج الحاسب قابلة للبرمجة حيث يساعد المهندسين في العمليات الحسابية المعقدة ‪ ،‬وقد صمم‬
‫الحاسب من الصفيح وكان حجمه كبيرا جدا حيث بلغ حجم قاعة كبيرة وقد تم توصيلها‬
‫بالكهرباء ‪ ،‬ورغم النجاح الذي حقه الحاسب في البداية إال أنه كان يعاني من عدم دقة األداء مانفع‬
‫زوس المحاولة التغلب على الثغرات الوظيفية بتوظيف عمل حسابي إلكتروني ورغم فشل‬
‫المشروع إال أن زوس أستمر في عمله حتى نجح عام ‪ 1941‬في تطوير حسب قابل للبرمجة‬
‫أطلق عليه إسم ‪ z‬وكان ثورة علمية في ذلك الوقت حيث نجح في إجراء عمليات حسابية ناجحة‬
‫وتخزين النتائج وكان ما يعيبه فقط كبر حجمه وإستهالكه الرهيب للطاقة في عام ‪ 1946‬نجح‬
‫األمريكي جون ماكلي في تطوير حاسب أطلق عليه اسم ‪ ENIAC‬وكان قابل للبرمجة وقد‬
‫إستطاع إنجاز عمليات حسابية في ‪ 30‬ثانية فقط وغالبا ما كانت تستغرق أربعون ساعة ‪ ،‬وقد تم‬
‫التخلص من الجهاز بعد الحرب نظراً لضخامته وإرتفاع درجة الحرارة بعد التشغيل و عدم‬
‫القدرة على حفظ البرامج ورغم ذلك فإن الكود الذي صممه جون ماكلي كان مهما ً جداً في تاريخ‬
‫تطور البرمجة حيث استطاع أن يحقق نجاحا ً كبيراً و أنتشر بسرعة كبيرة ‪ ،‬وأصبح واحداً من‬
‫أهم لغات البرمجة حول العالم ‪ ،‬وقد مرت تلك اللغة بالعديد من التطورات عبر السنوات التحول‬
‫إلى ما يعرف في وقتنا الحالي باسم ‪. Mark 1 Autocode‬‬

‫‪3‬‬
‫( لغات البرمجة)‬

‫‪Programmins Linutes‬‬

‫هي التي تستخدم في بناء البرامج المختلفة وهي تتراوح من اللغات التي تتعامل به مع المكونات‬
‫المادية للحاسب واألخرى التي تتطلب تحويلها من صورتها التي كتب بها إلى صورة أخرى‬
‫يستطيع الحاسب التعامل معها هناك نوعان من اللغات البرمجية المستخدمة في الحواسب اللغات‬
‫منخفضة المستوى أو لغات عالية المستوى ترتبط اللغات البرمجية منخفضة المستوى بالعتاد‬
‫الصلب‬

‫( نمط وحدة المعالجة ‪ ،‬نمط النواقل و سعتها ‪ . . . ،‬الخ ) وتدعي عادة بلغة التجميع وتستخدم‬
‫رموزا تمثل عمليت الحاسب ‪ ،‬ويتوجب ترجمة كافة الرموز المكتوبة بلغة التجميع إلى لغة اآللة‬
‫المسلمة بترميز خاص و سالسل ثنائيتر مؤلفة من ‪ 0‬وا ) و تجري عملية الترجمة باستخدام‬
‫برامج خاصة‬

‫‪ /1‬لغة األلة ‪Machine Lanatages :‬‬

‫هي اللغة الوحيدة التي يفهمها الحاسب ويستطيع التعامل معها ‪ ،‬وهي تعتبر لغة خاصة لكل‬
‫حاسب وقد تختلف من حاسب آلخر ألنها تعتمد على المكونات المادية للحاسب نفسه لغة األلة‬
‫تتكون من مجموعة أرقام من بين ‪ 1 , 0‬التي تعطى تعليمات للحاسب للقيام بمعظم العمليات‬
‫األساسية واحدة بعد األخر ولغة اآللة من اللغات الصعبة في التعلم اإلنسان حتى بالنسبة‬
‫للمبرمجين ألنها مجموعة من األرقام ‪ 1 , 0‬فقط للتغلب على هذه الصعوبة تم اقتراح لغة أخرى‬
‫تعتمد على استخدام اختصارات معبرة من اللغة االنجليزية للتعبير عن العمليات األولية التي يقوم‬
‫بها الحاسب وهذه اللغة هي لغة‬

‫‪.‬‬

‫‪4‬‬
‫‪ /2‬لغة التجميع‬

‫هي لغة تستخدم اختصارات معبرة من اللغة االنجليزية تعبر بها عن العمليات األولية التي يقوم‬
‫بها الحاسب ‪ ، ،‬ونظراً ألن هذه اللغة تستخدم كلمات مختصرة من اللغة االنجليزية فإنها ت لكي‬
‫يحولها إلى لغة اآللة وهو ما يسمى المجمع ( ‪ ) assembler‬الذي يقوم التجميع إلى لغة اآللة كي‬
‫يفهمها الحاسب ويستطيع تنفيذها ‪ ،‬ولكن بالرغم من كل مازال هناك توجد مشقة عند حل ابسط‬
‫المسائل الن ذلك يتطلب معرفة وكتابة التعليمات ‪ ،‬وهذا ما دفع المبرمجين للتفكير في لغات‬
‫أخرى تقلل المجيد الكتابة الكثير من التعليمات فكانت لغات البرمجة ذات المستوى العالي ومن‬
‫كل تلك ولك كتابة العديد من المجهود الكبير الالزم‬

‫‪5‬‬
‫‪ /‬لغات البرمجة ذات المستوى العالي ‪3/‬‬

‫‪High level Languages‬‬

‫اللغات البرمجية عالية المستوى فتكون مستقلة عن العتاد الصلب ‪ ،‬بحيث تجرى البرامج‬
‫بتعليمات و عبارات مشابهة للغة اإلنجليزية و لهذه اللغات عدة أصناف ال اإلجرائية ‪ ،‬واللغات‬
‫الوظيفية ‪ ،‬و اللغات غرضية التوجه ‪ .‬ويتوجب ترجمة كافة النصر المكتوبة بلغة برمجة عالية‬
‫المستوى إلى لغة اآللة الممثلة بسالسل ثنائية ( مؤلفة ) الذي يقوم بتحويل لن " ونظراً ألن هذه‬
‫اللغة تستخدم كلمات مختصرة من اللغة االنجليزية فإنها ت لكي يحولها إلى لغة اآللة وهو ما‬
‫يسمى المجمع ( ‪ ) assembler‬الذي يقوم التجميع إلى لغة اآللة كي يفهمها الحاسب ويستطيع‬
‫تنفيذها ‪ ،‬ولكن بالرغم من كل مازال هناك توجد مشقة عند حل ابسط المسائل الن ذلك يتطلب‬
‫معرفة وكتابة التعليمات ‪ ،‬وهذا ما دفع المبرمجين للتفكير في لغات أخرى تقلل المجيد الكتابة‬
‫الكثير من التعليمات فكانت لغات البرمجة ذات المستوى العالي ومن كل تلك ولك كتابة العديد من‬
‫المجهود الكبير الالزم اللغات البرمجة ذات المستوى العالي ‪High level Languages :‬‬
‫اللغات البرمجية عالية المستوى فتكون مستقلة عن العتاد الصلب ‪ ،‬بحيث تجرى البرامج‬
‫بتعليمات و عبارات مشابهة للغة اإلنجليزية و لهذه اللغات عدة أصناف ال اإلجرائية ‪ ،‬واللغات‬
‫الوظيفية ‪ ،‬و اللغات غرضية التوجه ‪ .‬ويتوجب ترجمة كافة النصر المكتوبة بلغة برمجة عالية‬
‫المستوى إلى لغة اآللة الممثلة بسالسل ثنائية‬

‫‪6‬‬
‫تجري عملية الترجمة باستخدام برامج خاصة تدعى المترجمات ‪ ،‬وهذه اللغات تستخدم العالقات‬
‫والعوامل الرياضية المتعارف عليها مثال‬

‫‪ . Sunn = A + B + C‬تضمن اللغات البرمجية عالية المستوى تحقيق مجال واسع في المهام‬
‫البرمجية المختلفة لقد جرى تطوير العديد من لغات البرمجة المختلفة على مر السنين بهدف تلبية‬
‫االحتياجات المتغيرة في تقنيات المعلومات ومن المعلوم أن عملية تحويل البرنامج من لغة ذات‬
‫مستوى عال إلى لغة اآللة تستهلك وقتا ولذلك تم تطوير نسخ من لغت المستوى العالي بحيث‬
‫تستخدم برنامج مفسر ( ‪) interpreter‬‬

‫وهو يقوم بترجمة الكود سطرأ سطرا أثناء التنفيذ ‪.‬‬

‫(خصائص لغة البرمجة)‬

‫لغة البرمجة هي باألساس طريقة تسهل للمبرمج كتابة برنامجه في هيئة تعليمات وأوامر يفهمها‬
‫الحاسوب بغرض تنفيذ العمل المطلوب‪ .‬ومن المعروف ان الحاسوب يحول اللغة المكتوبة بها‬
‫البرمجة إلى سلسلة من ‪ 0‬و ‪ ،1‬ويبدأ على أساسها عمله‪ .‬ولكتابة األوامر‪ ،‬توفر لغة البرمجة‬
‫المختارة مجموعة من األمور األساسية لالستناد إليها أثناء عملية تكوين البرنامج ومجموعة من‬
‫القواعد التي تمكن من التعامل مع معلومات وتنظيمها بغرض أداء العمل المطلوب‪.‬‬

‫تتمثل هذه األسس والقواعد بصفة عامة في‪:‬‬

‫‪1‬المعلومات وتخزينها‬

‫‪2‬األوامر وتنظيم سيرها‬

‫‪3‬التصميم الخاص‪0‬‬

‫‪7‬‬
‫المعلومات وتخزينها‬

‫يتم تخزين المعلومات في األجهزة الرقمية الحالية في هيئة أرقام طبقا لنظام العد الثنائي (أي‬
‫المعتمد على ‪ 0‬و ‪.)1‬‬

‫و بصفة عامة فان المعالجات الحديثة ال تقوم بالتعامل مع البت الواحد بل مع مجموعات من‬
‫البتات يمكن أن تضم ‪:‬‬

‫‪ 8‬بت = ‪ 1‬بايت وهي أصغر وحدة تخزين معلومات في الحواسيب الحديثة‪.‬‬

‫‪ ،256 ،128 ،64 ،32 ،16‬أو ‪ 512‬بت‪.‬‬

‫وباستعمال ‪ 8‬بت مثال‪ ،‬يمكن تشكيل ‪ 256‬قيمة مختلفة‪ ،‬ويمكن أن تكون هذه القيمة بين ‪ 0‬و ‪255‬‬
‫وتمثل وظيفة لغة البرمجة استغالل وحدة أو مجموعة من الوحدات (رموزا) لتخزين معلومات‬
‫من الحياة الواقعية مثل األسماء أو القياسات أو أرقام الحسابات البنكية‪.‬‬

‫االوامر وتنظيم سيرها‬

‫يقوم المبرمج باجراء عمليات على وحدات المعلومات مثل تخزينها وقراءتها ومقارنتها‪ ،‬كما‬
‫يمكن إجراء عمليات حسابية عليها أيضا‪ ،‬وتتبع العمليات القواعد المحددة للغة‪ .‬و للغة البرمجة‬
‫دور آخر وهو التحكم في تنظيم إجراء العمليات‪ ،‬حيث توجه تنفيذ خطواتها بنفس تتابع كتابتها من‬
‫طرف المبرمج‪.‬‬

‫تمكن اللغة أيضا ً من إجراء عملية اختيار وتفرع‪ ،‬وذلك بإدخال شرط منطقي يقوم الحاسوب على‬
‫أساسه باختيار اتجاه االستمرار في أداء العمل‪ :‬فلنفترض أن البرنامج الذي يريد المبرمج صنعه‬
‫يقوم بقسمة عددين يختارهما المستخدم‪ ،‬وإظهار النتيجة على الشاشة‪ ،‬ومن المعروف أن القسمة‬
‫على صفر ال تجوز‪ ،‬وبناء علي ذلك فال بد أن يحدد المبرمج في برنامجه هذا االختيار ‪ :‬فاذا كان‬
‫القاسم مخالفا للصفر‪ ،‬فإن البرنامج يسيـّر الحاسوب فيقوم بإجراء العملية ويعطي النتيجة‪ .‬أما إذا‬
‫كان القاسم صفراً فإن البرنامج ال يقوم باجراء العملية وإنما ينبه إلى أن المستخدم حاول القسمة‬
‫على صفر‪ .‬و يمكن تنظيم األوامر بصفة أخرى‪ ،‬حيث يقع تنفيذ أمر أو مجموعة من األوامر‬
‫بصفة متكررة حلقية (‪ ،)Loop‬و يمكن تقسيم األوامر أيضا ً إلى وحدات فرعية تقوم كل وحدة‬
‫بانجاز عمل محدد‪ ،‬والهدف هو تقسيم العمل إلى أجزاء يسهل العمل عليها كل على حدة في هيئة‬
‫دورات حلقية (‪.)Loops‬التصميم الخاص‬

‫‪8‬‬
‫تتمتع كل لغة بتصميم خاص من حيث التعامل مع المعطيات‪ ،‬ومن حيث الطرق والتسهيالت التي‬
‫توفرها اللغة للتعامل مع مشكلة معينة‪.‬‬

‫يمكن تصنيف لغات البرمجة من حيث طريقة بناء البرامج إلى لغات إجرائية (‪Basic،‬‬
‫‪ )Fortran‬وهي لغات تسلسلية‪ ،‬أساس بناؤها هو اإلجراءات المطلوب تطبيقها على المعطيات‬
‫والمتحوالت‪ .‬ولغات شيئية (‪ )C، Java، Delphi‬وهي التسلسلية‪ ،‬وتقوم على أساس العناصر‬
‫والمتحوالت المستخدمة ضمن البرنامج المطلوب تحويلها‪ ،‬من خالل تطبيق مجموعة معينة من‬
‫اإلجراءات عليها‪.‬‬

‫‪9‬‬
‫المصادر والمراجع‬

‫‪ /1‬الكتاب والمحاضرات‬

‫‪ /2‬معلومات عن لغة‪.‬البرمجة علي موقع‬

‫‪https://web.archive.org/web/20191210213449/http://psh.techlib.cz/skos/P‬‬
‫‪SH12474‬‬

‫‪ /3‬كتاب النمذجة في نظم المعلومات الجغرافيا‬

‫تأليف دكتور مايكل ديميرس‬

‫وترجمة دكتور علي بن معاضه الغامدي ‪ .‬جامعة الملك سعود ‪ 2010 .‬ص ‪26‬‬

‫‪10‬‬

You might also like