منتديات الطير الفلسطيني
مرحبا بك عزيزي الزائر. المرجوا منك أن تعرّف بنفسك و تدخل المنتدى معنا. إن لم يكن لديك حساب بعد, نتشرف بدعوتك لإنشائه

منتديات الطير الفلسطيني

اهلا وسهلا بكم في منتديات الطير الفلسطيني
 
الرئيسيةالبوابةمكتبة الصوربحـثالتسجيلدخول
اهلا وسهلا بكم معنا في منتديات الطير الفلسطيني نتشرف دائما بزيارتكم وافادتكم ومواضيعكم الدسمة بالمعلومات

شاطر | 
 

 اعرفوا ما البرمجة قبل نية تعلم اللغات البرمجية

اذهب الى الأسفل 
كاتب الموضوعرسالة
????
زائر



مُساهمةموضوع: اعرفوا ما البرمجة قبل نية تعلم اللغات البرمجية   السبت يونيو 27, 2009 5:49 am


بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
==========================================
اخواني ، اخواتي الاعضاء ، اخواني ، اخواتي الضيوف
قبل ان تتعلموا البرمجة اعرفوا ما البرمجة وشاهدوا نظامكم بنظرة جديدة
وشكرا
==========================================
كانت السيطرة على الحاسبات و الآلات في بداية ظهورها تتم بوسائل خارجية وفي عام 1946 اقترح العالم جون نيومان ان يتم خزن البرامج
جنبا الى جنب مع البيانات في وحدة الذاكرة ثم تبلورت الفكرة اكثر فظهرت الحاجة الى وجود برامج تخزن بالحاسب و تقوم بتنظيم عمل
الحاسب عوضا عن الانسان وسميت حين اذن بالبرمجيات وتعريفها هي مجموعة من البرامج الجاهزة الموجودة ضمن الحاسب والتي تحول
مكوناتها المادية الى اجزاء مفيدة او نظام مفيد ويمكن توضيح المكونات الحاسب من مكونات مادية وبمجيات من خلال هذه
المكونات المادية للحاسب
|
+
|
البرمجيات
|
+--- حاسب مفيد
| |
| = نتائج برنامج ....الخ
+
|
برنامج
لا يشكل البرنامج الذي يعده مستخدم الحاسب الا جزءا يسيرا من مجموعة البرامج الازمة لتوجيه الحاسب ولاجراء عمل معين ، ومن هذه
البرامج ما هو اساسي في نظام الحساب وتسمى " البرامج الاساسية " ومن اهم هذه البرامج : انظمة التشغيل والمترجمات ، وكذلك توجد
برامج اخرى لها اهمية كبيرة في تسجيل عملية البرمجة مثل : برامج التنقيح الروتينيات الفرعية وبرامج التطبيقات.
انواع البرامج
1- انظمة التشغيل
يعد برنامج التشغيل من اهم البرمجيات الموجودة في الحاسب وهو يتولى توجيه الحاسب ومعالجتها من مكونات مادية وبرمجيات ليمكنها
في تنفيذ البرامج المختلفة بصورة آلية وانية بدون تدخل مباشر .
2- برنامج المترجم
يقوم هذا البرنامج بترجمة البرامج المكتوبة باحدى لغات المستوى العالي الى لغة الماكنة "1000101010101000" .
3- برنامج التنقيح
عند تنفيذ البرنامج على الحاسب لاول مرة فانه غالبا ما تظهر كثير من الاخطاء البرمجية والغير برمجية وغيرها ، يترتب عليه تصحيح هذه
الاخطاء قبل تنفيذ البرنامج مرة ثانية .
4- الروتينيات الفرعية
هي برامج فرعية يمكن الاستفادة منها لحل الكثير من المسائل الشائعة مثل عملية الجمع والطرح .... الخ.
5- برامج التطبيقات
وهي برامج متخصصة للاعمال او التصميم وهي تصمم لكي يستخدما اشخاص ليس من الضروري ان يكونوا ذوي مهارات عالية في
البرمجة .
البرنامج
هو عبارة عن مجموعة من الاوامر المكتوبة باحدى اللغات البرمجية والتي يوجه الحاسب لاداء عملية معينة .
لغات البرنامج
| |
| + لغات المستوى العالي
+ لغات المستوى الواطئ
لغات المستوى الواطئ
وهي عبارة عن مجموعة من الاوامر والتي تكون لغة برمجتها بعيدة في مستواها عن لغة الانسان وتشمل هذه اللغة " لغة الماكنة ، لغة
التجميع "
لغة الماكنة
وهي لغة "01" وتشتمل على عدد من الخطوات البسيطة تسمى كل خطوة امر من هذه الامثلة على الاوامر حمل المركم عنوان الذاكرة
مثلا 10وزد عليه محتويات عنوان الذاكرة 11 واخزن محتويات المركم في مثلا 12 ، يمثل رمز العملية جزء الامر الذي يخبر الحاسب نوع
العملية المطلوب مثل حمل المركم بينما عنوان المعامل يعني موقع البيانات التي تجري عليها عملية المعالجة.
ld 0011100 00001010 10
add 1000110 00001011 11
st 0100010 00001100 12
البداية
|
حمل المركم محتويات الذاكرة
10
|
زد على المركم محتويات عنوان الذاكرة
11
|
اخزن محتويات المركم في عنوان الذاكرة
12
|
النهاية
ان كتابة البرنامج بهذه العملية مضنية وقابلة للخطأ ونتيجة للصعوبة البالغة في كتابة البرنامج بالغة الماكنة ظهرت لغة التجميع وتهدف هذه
اللغة الى تبسيط عملية كتابة البرنامج على الحاسب مع الاحتفاظ بالترابط الموجود بين البرنامج والتركيب الداخلي للحاسب .
لغة التجميع
وهو برنامج مكتوب برموز مختزلة لها معنى يمكن تذكره وكذلك تعرف عنوان المعامل برموز بدلا من الارقام "011000"
ld aa
add b
sta c
لغات المستوى العالي
ان كتابة برنامج بلغتي الماكنة والتجميع تعد عملية معقدة ومكلفة وتحتاج الى وقت طويل ، بدا البحث عن لغة اخرى وادى ذلك الى ظهور
لغات المستوى العالي في منتصف 50 مثل باسكال ، كوبل وغيرها من اللغات
وتعريفها
هي عبارة عن لغات تكون برمجتها قريبة في مستواها الى اللغة الطبيعية
الفوائد
1- لا يحتاج المبرمج الى الالمام بالتركيب الداخلي للحاسب التي ينفذ عليها البرنامج
2- يكون البرنامج قابل للتحويل اي يمكن تنفيذه على الحاسب مختلف
3- تعكس هذه اللغات بوضوح تركيب البرامج المكتوبة بها وبذلك يتمكن المبرمج من قراءتها بسهولة .

الترجمة
لا يمكن للحاسب معالجة البرامج المكتوبة بلغة التجميع او احدى لغات المستوى العالي الا اذا ترجمت الى لغة الماكنة اذ تستعمل
المجمعات والمتجمات و المفسرات
المجمع
يستعمل المجمع لترجمة برنامج مكتوب بلغة التجميع الى لغة الماكنة ويوفر المجمع فوائد اخرى بالاضافة الى عملية الترجمة من اهمها
تعيين اي خطا موجود في البرنامج التجميع واشعار المبرمج به
المترجم
يترجم البرنامج المكتوب باحدى لغات المستوى العالي الى لغة الماكنة بواسطة برنامج الترجم ويهدف برنامج المترجم فضلا عن عملية
الترجمة الى
1- تعيين اي خطا موجود في البرنامج واشعار المبرمج به
2- محاولة الحصول على برنامج بكفاية عالية
3- لاتستغرق عملية الترجمة وقت طويل اي يكون برنامج المترجم او امفسر ذو قدرة عالية وانه لا يحتاج الى سعة كبيرة في ذاكرة الحاسب
مفاهيم البرامج الملحقة بنظام الحاسب
ان البرامج الجاهزة والملحقة باي نظام حاسب تقوم بوظيفة الربط بين الانسان ممثلا في عامل التشغيل والحاسب ، وفي النهاية فان
النتيجة يجب ان تكون سلسلة من الاوامر جاهزة في شكل مقبول من الحاسب ، مستويات مختلفة من البرمجة قد انشئت فيما بين مصمم
البرنامج والشفرة المقبولة من الحاسب وهذه المستويات هي : شفرة الحاسب ، لغة التجميع ، لغة متطورة
ويتكون البرنامج المكتوب بشفرة الحاسب من قائمة من الاوامر وفي شكل ثنائي جاهزة لتحميلها في ذاكرة الحاسب وتمهيدا لتنفيذها
مباشرة ، لذلك فانه من الضروري تحديد الرقم الدال على عنوان لكل بايت في الذاكرة سواء كان موقع تخزين امر
مثال
اجمع محتويات موقع تخزين 50{10} "{2}110010"الى محتويات المركم مع ترك محتويات موقع التخزين 50{10} بدون تغيير
الحل
في هذه الحالة المراد اجراءه هي جمع add وعنوان البيان المطلوب اجراء العملية عليه هو {10}50 او 110010{2}
ارفض ان الشفرة المستخدمة
add 01
افرض كذلك ان طول الكلمة في هذه الحالة هو ثمانية ارقام ثنائية اي انها بايت
وعلى ذلك فان الامر سبيدو في الخزن كما يلي
01 110010
| |
عملية عنوان
___________
بايت واحد
بعض مفاتيح شفرة الحاسب

cad 0001
|
امسح ثم اجمع
|
المعنى هو اجعل محتويات الجزء الحسابي صفرا ثم اجمع موقع التخزين الى المركم
add 0010
|
اجمع
|
اجمع موقع التخزين الى المركم
str 0011
|
خزن
|
خزن المركم في موقع التخزين
sub 0100
|
اطرح
|
اطرح موقع التخزين من المركم
mul 0101
|
اضرب
|
اضرب المركم في موقع التخزين
div 0110
|
قسم
|
أقسم المركم على موقع التخزين
start 1000
|
ابدأ تشغيل الحاسب
|
ابدا تشغيل الحاسب ، احصل على عنوان اول امر من عنوان الامر
stop 1001
|
اوقف الحاسب
|
اوقف الحاسب فورا
افرض ان قيم المتغيرات مخزنة في مواقع التخزين على الوفق الاتي
p في موقع التخزين 0000
q 0001
r 0010
s 0011
u 0100
v 0101
w 0110
الحل
بافتراض ان طول كلمة الامر هو ثمانية ارقام ثنائية اي انها بايت واحد
start 0000 10000001 0
cad 0001 00100100 u
mul 0010 01010000 p.u
str 0011 00110111 p.u
cad 0100 00010101 v
mul 0101 01010001 q.u
div 0110 01100010 q.v/r
str 0111 00111000 q.v/r
cad 1000 00010110 w
mul 1001 01010011 s.w
str 1010 00111001 s.w
cad 1011 00010111 p.u
add 1101 00101000 p.u+q.v/r
sub 1101 00111001 p.u+q.v/r-s.w
prt 1110 0111 p.u+q.v/r-s.w
stop 1111 1001
من الواضح جدا ان عملية كتابة برنامج بشفرة الحاسب عملية صعبة، فضلا عن ذلك فان هذا النوع من البرامج يستغرق وقتا
طويــــــــــــــــــــــــــــــلا ويصعب تعديله ومع ذلك فان شفرة الحاسب مناسبة جدا للانظمة الصغيرة المتخصصة لاغراض محددة.
فمثلا عند استخدام الحاسب الدقيق للتحكم المباشر في العمليات الصناعية ، في هذه الحالة يمكن تخزين اوامر البرنامج الملحق بالحاسب
في ذاكرة يمكن قراءتها فقط او ذاكرة يمكن قراءتها ويمكن برمجتها او ذاكرة يمكن قراءتها ويمكن مسح محتوياتها وتكون البيانات التي سيتم
تشغيلها بواسطة الحاسب هي القياسات المسجلة من العمليات الصناعية بعد تحويلها من شكل تماثلي الى شكل رقمي وتغذى مباشرة
للحاسب الدقيق
البرنامج المجمع
هو برنامج خاص يسمح بكتابة الاوامر بشكل
add 50 or sub tax
وتتم ترجمة الاوامر اليا الى شفرة الحاسب ويترجم كل رمز الى امر شفري واحد من اوامر الحاسب
وبالرغم من ان كتابة البرنامج في هذه اللغة الواطئة تستغرق وقتا طويلا الا انها تنتج برامج ذات كفاية عالية من حيث التخزين والوقت
المستهلك في تنفيذه
وهذه بعض اوامر اساسية تعد نموذجا للغة تجميع ترميزية اذ يكون فيها
(A) محتويات المركم
(n) محتويات موقع التخزين n
(N) ترمز الى الرقم صحيح " يفترض انه موجب بين 0 و 999"
lda n (n)->A (n) لايتغير
sta n (A)->n (n) لاتتغير
add n (A)+(n)->A (n) لاتتغير
sub n (A)-(n) ->A (n) لاتتغير
mul n (A)*(n)->A (n) لاتتغير
div n (A)/(n)->A (n) لاتتغير
هذه مجموعة من الاوامر تتعامل مباشرة مع الارقام الصحيحة الموجبة وليس مع موقع التخزين
ldan N->A
addn (A)+(N)->A
subn (A)-(N)->A
muln (A)*(N)->A
divn (A)/(N)->A
مثال
اكتب الاوامر لتنفيذ العمليات الاتية : اجمع الرقمين المخزنين في موقع 25 و26 وخزن النتيجة في موقع 25 وضع صفرا في الموقع 26
الحل
lda 25
add 26
sta 25
ldan 0
sta 26
ولمعظم لغات التجميع اوامر اكثر من ذلك و تتظمن وظائف متعددة مثل اوامر القفز او التعديل او الدالة والتي تسمح بتنفيذ عمليات اكثر تعقيدا
استجابة لاوامر رموز اسهل في الكتابة نسبيا
واحدى اللغات التجميع الشائعة الاستخدام هي الشفرة
ascii
اما اللغات المتطورة فهي لا تعتمد على الحاسب وهي سهلة التعلم وتسمح للمبرمج بالتركيز على المشكلة المراد برمجنها
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
اعرفوا ما البرمجة قبل نية تعلم اللغات البرمجية
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات الطير الفلسطيني :: ·:*¨`*:·المنتديات التقنية·:*¨`*:· :: «۩۞۩-الفوتوشوب والسويتش-۩۞۩»-
انتقل الى: