mcse
مرحباا بك في منتدى mcse
تشكرك الادارة على هده الزيارة


انضم إلى المنتدى ، فالأمر سريع وسهل

mcse
مرحباا بك في منتدى mcse
تشكرك الادارة على هده الزيارة
mcse
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

مدخلك الى تعلم البرمجة

2 مشترك

اذهب الى الأسفل

مدخلك الى تعلم البرمجة Empty مدخلك الى تعلم البرمجة

مُساهمة من طرف Aminos الأربعاء يونيو 16, 2010 7:14 am

هذا الموضوع بالذات تتفق فيه جميع لغات الكومبيوتر بلا استثناء وهناك بعض القواعد البسيطة التي يجب ان تعرفها
· لابد ان تحتوي المعادلة في طرفها الايسر على متغير واحد فقط واي عدد في الطرف الايمن
مثال


A = B + C * 5 –3
· جميع القيم الموجودة في الطرف الايمن تكون معلومة القيمة اي تم حسابها مثلا في معادلة سابقة
مثال


B = 5

C = 10

A = B + C * 5 –3
فقد تم تخصيص قيمة للمتغير B و للمتغير C
ثم دخل البرنامج الى المعادلة الاخيرة لحساب قيمة A وقد علم تماما قيم الطرف الايسر
اي قيم B و C
فاءذا كتبت مايلي سيكود خطأ قاتل


B = 5

A = B + C * 5 –3

C = 10
لان البرنامج عرف قيمة المتغير بي ثم دخل الى المعادله ليحسب ايه وهو لا يعرف قيمة المتغير سي حيث سيعلمها فيما بعد فرتب خطواتك لتون منطقية
· كل من درس مبادئ الرياضيات يعلم ان القسمة على الصفر خطأ فادح واذا حدثت سيتعطل البرنامج ويعطيك نظام التشغيل الرسالة المعروفة هذا البرنامج قام بعملية ممنوعة
مثال


B = 7

C = 7

D = B-C

A = B/D
قام البرنامج بالقسمة على صفر حيث ان قيمة بي = 7 وسي = 7 ودي = بي – سي اي 7-7 وتساوي بذلك صفر ثم تأتي مرحلة انهيار البرنامج عندما يقسم بي على دي وقيمتها صفر بعد الحسابات السابقة (احذر ذلك )
كل ماهو خطأ رياضي سيكون خطأ في البرنامج مثل حساب الجذر التربيعي لعدد اقل من الصفر وهكذا
· حافظ دائما على ان يكون عدد الاقواس المفتوحة يساوي عدد الاقواس المغلقه
· اقصد عدد الاقواس ذات الاتجاه اليمين = عدد الاقواس ذات الاتجاه اليسار
· لان الكوميوتر عندما تفتح له قوس ايسر معناها بدء عملية حسابية منفصلة
· حتى لوكانت داخل معادلة واحدة فاءذا لم تغلق بالقوس الايمن فمعنى ذلك عملية
· لم تغلق وتنهار المعادلة وبالتالي البرنامج.
مثال لاحظ فيه ان عدد الاقواس متساوي


A = (A+B) * ( C – D) – (Q * M)

رابعا : يجب ان تعرف اوامر القفز داخل اللغة التي تتعلمها
عمليات القفز المقصود بها ان البرنامج سيقوم بالقفز على مجموعة من الامر دون تنفيذها
ليتجه الى اجزاء اخرى داخل البرنامج لها أولوية حسب فكر المبرمج
مثال




A = (A+B) * ( C – D) – (Q * M);

goto final;

Z = 3 * m;

U = Z + 4;

final :

I = A * 10;
اوامر القفز مثل goto يليها عنوان لايتكرر حتى لايضل البرنامج طريقه وهو في مثالنا العنوان final جعلت البرنامج يقفز فوق المعادلتين


Z = 3 * m;

U = Z + 4;
ولا ينفذهم او يجري حساباتهم وقفز مباشرة حيث يوجد العنوان final
ليستكمل عمله من هناك وسوف تعرف فوائد ذلك في ختام هذا الشرح مع التطبيق الكامل

خامسا : يجب ان تعرف اوامر الدوران داخل اللغة التي تتعلمها
الدوران او عمل looping من الاوامر الاساسية في جميع لغات البرمجة فمثلا اذا كان البرنامج سيدخل اسماء الف موظف هل تعتقد انك ستكتب الف امر لادخال هذه الاسماء بالطبع ستكون حماقه ولكن لو وضعنا امر واحد فقط لادخال اسم الموظف وطلبنا من البرنامج الدوران الف مرة حول هذا الامر بالطبع سيكون شئ جميل ان يدخل الف بيان بمجهود بسيط نتيجة تسهيل اعطته لغة البرمجة مثال لبرنامج غبي جدا جدا


gets (employer1);

gets (employer2);

gets (employer3);

gets (employer4);

gets (employer5);

gets (employer6);

gets (employer7);
:
اكتب نفس الاوامر حتى تصل للعدد الف شئ استفزازي بالفعل
:
:


gets (employer1000);
ولكن مع الدوران




for (I = 0 ; I < 1000 ; I++){

gets (employer [I]);

}
ياله من شئ جميل فعلا حسب صيغة اللغة التي تستخدمها طلبنا من الكومبيوتر انشاء عداد يعد من صفر الى الف ورمزنا لها بالرمز I
ثم داخل العداد طلبنا منه ادخال الموظف رقم I وهو عداد متغير حتى يكتمل العداد بوصوله للالف ويكون قد تم تنفيذ الامر معه الف مرة بأدنى مجهود وكلما تغير العد من 1 الى 2 الى 1000 تغير معه رقم الموظف بنفس الطريقة
الخلاصة
لاتلتفت الى صيغة الكود المكتوب فهو بلغة سي ونحن نتحدث عن اللغات عموما
فقط افهم الفكرة وابحث في كتب اللغة التي تتعلمها عن الصيغة المعتمدة لهذه اللغة

سادسا : يجب ان تعرف اوامر الشروط داخل اللغة التي تتعلمها
الشرط هو افتراض معين يتوقف عليه عمليات اخرى فمثلا تريد ان تضع شرط الا يدخل رقم موظف اكبر من الف لان عدد موظفين الشركة لايزيدون عن الف وبالتالي اذا ادخل من يعمل على البرنامج رقم موظف اكبر من الف
يقوم البرنامج باصدار رسالة تفيد بذلك وهكذا لها حالات كثيرة حسب فكرة البرنامج
مثال


scanf (“%d”,EmployerNumber);

if (EmployerNumber > 1000 )

cprintf (“ثكلتك امك لايوجد موظف بهذا الرقم الا تعرف عدد زملائك اعد الادخال “);
وتستخدم الشروط ايضا في عمليات القفز اي عند شرط معين يتم القفز بالطبع تعلم شكل اكبر من واصغر من ويساوي وصيغة كتابتها حسب اللغة التي تتعلمها

سابعا : يجب ان تعرف كيف تبني دوال فرعية داخل اللغة التي تتعلمها
الدوال الفرعية subroutines هي شبه برنامج صغير اذا كان عندك سلسله عمليات متشابهه سوف تجريها داخل البرنامج كثيرا وتكررها كثيرا فلا داعي لاعادة كتابتها كل مرة بل يكفيك ان تكتبها مرة واحدة وتطلق عليها اسم وكلما ذكرت هذا الاسم داخل البرنامج تتم تلك العمليات ويصبح هذا الاسم كأنه من اوامر اللغة ايضا مثال اخر
لنفرض ان هناك اوامر لرسم جدوال بأبعاد ومساحة معينة وتحتاج الى رسمة كثيرا فليس معنى هذا انك كل مرة تريد رسم الجدول ستعيد كتابة اوامره الكثيرة في كل مكان داخل البرنامج فقط جمع اوامر رسمه في روتين فرعي وسميه اسم وكلما ذكرت الاسم يتم رسم الجدول انه شئ رائع اليس كذلك انا اظن ذلك
كل ماعليك ان تبحث في تعليمات اللغة التي تتعلمها عن اسلوب وشكل بناء
هذه الروتينات في الابواب المخصصة لذلك
Aminos
Aminos
.:: V I P ::.
.:: V I P ::.

عدد المساهمات : 14
السٌّمعَة : 50
تاريخ التسجيل : 11/06/2010

الرجوع الى أعلى الصفحة اذهب الى الأسفل

مدخلك الى تعلم البرمجة Empty رد: مدخلك الى تعلم البرمجة

مُساهمة من طرف younes-bcr الأربعاء يونيو 16, 2010 10:21 am

تباركلاه عليك خاي آمين

تسلم الأيادي ما قصرت

الله يعطيك الصحة

younes-bcr
younes-bcr
.::|| الإدارة ||::.
.::|| الإدارة ||::.

عدد المساهمات : 93
السٌّمعَة : 0
تاريخ التسجيل : 09/06/2010
العمر : 36

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى