عرض مشاركة واحدة
قديم 11-03-2007, 04:08 PM   #52
The KinGSofT
مشرف منتدى مبرمجين لغات البرمجة
»{ مبرمج }«
 
الصورة الرمزية The KinGSofT
 
تاريخ التسجيل: May 2006
الجنس : ذكر
المشاركات: 2,075
معدل تقييم المستوى: 92
The KinGSofT is on a distinguished road

افتراضي برنامجكم الأول بلغة c ...../دورة c / الدرس الثالث

لقد هيأنا الأرضية حتى الآن , وها قد حان الوقت لكي نبدأ بالجد ,فما رأيكم ؟

فهذا هو الهدف الحقيقي من الدرس !! في نهايته , ستكونون قادرين على كتابة جملة أو كلمة على الشاشة .
إذا , فبرنامجكم سيكون من أسود و أبيض و لن يصلح إلا لكي يقول لكم "السلام عليكم ", يمكنكم القول أن هذا ليس بشيئ الكبير و لا المهم لكنكم في النهاية ستكونون جد فرحين لوصولكم لهذه الدرجة فالكل مرة منها للوصول إلى الإحتراف .

و لنبدأ متى تشاؤون (أقصد أنتم :إذا أردتم تعلم البرامج فها قد بدأنا نغوص في صلب االموضوع ).

عنوان الدرس :

كونصول أو نافذة (console ou fenêtre).
أقل ما يمكن كتابته(minimum de code).
كتابة شيئ على الشاشة .
التعليقات (les commentaires).



كونصول أو نافذة (console ou fenêtre).


كونصول أو نافذة (console ou fenêtre)؟
لقد تكلمنا سابقا و بالتحديد في الدرس الثاني .. على أن برنامجنا IDE (Dev أو Visual) سيطلب منا نوع البرنامج الذي نريد عمله , و قد قلت لكم أن تقوموا بإختيار كونصول .

يجب علينا أن نعلم أن هناك نوعان من البرامج , لا أكثر:

+ البرامج التي تستخدم النوافذ للظهور : البرامج بالنوافذ.
+البرامج التي تستعمل نافذة تشبه الدوس : برامج الكونصول.

البرامج بالنوافذ

و هي البرامج التي نعرفها .
و هذا مثال حي لهذه البرامج و التي تعرفونها حقا :



هذه إذن هي البرامج بالنوافذ .
أعتقد أنكم تريدون كلكم إنشاء مثل هذه البرامج ...ممم؟ستتمكنون من ذلك في ما بعد .

بطبيعة الحال , إنشاء برامج بالنوافذ بلغة سي شيئ ممكن ...لكن بما أننا مبتدؤون ,سيكون هذا شيئا جد صعب !!!.
كنصيحة مني للبدء يجب البدء بعمل برامج الكونصول.

برامج الكونصول

لمعلوماتك :برامج الكونصول هي الأولى التي ظهرت . في هذا الزمن ,الحاسوب لم يكن يتعمل إلا بالأبيض و الأسود فلم يكن في هذه الأوقات قادرا على فتح نوافذ كما نفعل اليوم .

و مرت الأوقات . و ظهر النظام الجديد الذي سيقلب العالم و هو windows فكما يدل إسمه على النوافذ فقد كان هذا النظام النظام أشهر الأنظمة و ما يزال في الصدارة و ذلك لسهولة التعامل معه و لأنه لا يستعمل إلا النوافذ ...و في هذه الأثناء أصبحت الكونصول مهمشة تقريبا !
هي أنتم هناك , لا تستديرو فأنا أتحدث معكم ...

لدي خبر سعيد الكونصول لم تمت فقد أعاد نظام اللينكس لهذا التراث إذا لم نقل "أصل كل شيئ " و هذه صورة للكونصول على نظام لينكس :



إذا الآن عندكم فكرة إلى ماذا تشبه الكونصول .
لكن الكونصول تطورت و أصبحت قادرة على إظهار الألوان كالكتابة بالأحمر و الأزرق و عمل خلفيات دون الخلفية السوداء .(لكن هذا فقط على اللينكس ).



لكن إذا كنت على الويدوز ؟ألا توجد كونصول ؟

بلا توجد و لكن إنها ...."مخفية " إذا صح القول

يمكنكم الوصول إليها عن طريق
"Démarrer / Accessoires / Invite de commandes"

أو

"Démarrer / Exécuter" ثم نركب الأمر "cmd".

و ها هي الكونصول الفريدة من نوعها للويندوز :


إذا هنا سنقوم بعمل برامجنا لكن كونو على يقين أنه عندما يكون لدينا المستوى لعمل برامج النوافذ سنرى كيف يتم ذلك ؟؟.


أقل ما يمكن كتابته(minimum de code).

لإنشاء أي برنامج يجب علينا كتابة شيئ و هو ما يسمى ب minimum de code.
في الحقيقة هذا هذا الكود لن يقوم بأشياء مهمة نحن المبتدؤون لكنه يعتبر أساسيا.

أنا الآن سأتحدث على أنكم إخترتم code::blocks فأنا لحد الآن مازلت أشتغل به .

بعد فتح مشروع جديد كما شرحت من قبل إتبعو ما يلي لنرى هذا minimum de code كيف هو ..!!!





التحليل

فالنبدأ بالسطرين الأولين :
كود PHP:
Code C
#include <stdio.h>
#include <stdlib.h> 
إنها سطور متخصصة و التي نراها في أول البرنامج . تسمى هذه السطور ب directives de préprocesseur (إسم معقد أليس كذلك ).

فكما تعلمون أن الكلمة include تدل على الفعل أضف في العربية .. إذن فهذه البرامج تطلب من البرنامج إضافة ملفات إلى المشروع .
فكما نلاحظ هناك سطران أي ملفين مضافين .أسماء هذه الملفات هي stdio.h و stdlib.h
بإختصار شديد هذه الملفات تحتوي على أكواد سورس مهيئة من قبل يعني نحن لن نقم بإعادة كتابتها و سنرى فيما بعد ما يسمى ب librairies .(لن أثقل عليكم فلنتابع الدرس ).

دون هذين السطرين كتابة شيئ على الشاشة أو إظهاره شيئ مستحيل .

لنمر الآن للسطور الأخرى

كود PHP:
int main()
{
    
printf("Hello world!\n");
    return 
0;

ما نراه الآن هو عبارة عن ما يسمى بune fonction
بصفة عامة fonction تقوم بجمع عدة أوامر للحاسوب . هذه الأوامر تطلب من الحاسوب فعل شيئ محدد و واضح .
ال fonction لها حدود فهي تبدأ بلامة{ و تنتهي بها } و إذا كنتم معي فإن هذه الفونكسيون.
السطر الأول و يتضمن

كود PHP:
    printf("Hello world!\n"); 
هذا السطر سنتحدث عنه في بقية الدرس .

كود PHP:
    return 0
هذا السطر يسمى ب instructions و هو الأمر أو الأوامر التي تجمعها الفونكسيون .

ملاحظة جد مهمة : كل instructions تنتهي دائما ب" ; " النقطة الفاصلة هذا هو الخطأ الشائع الذي يقع فيه الكثيرون و الذي وقعت فيه أنا أيضا.




كتابة شيئ على الشاشة


مثلا نريد كتابة WwW.BramjNeT.CoM is the BesT

ما علينا إلا كتابة instructions تعطي للحاسوب أمر الكتابة و هذا الأمر هو :printf
بصفة عامة يكتب هذا الأمر على الشكل التالي :
كود PHP:
printf("ما نريد كتابته "); 
و بالتالي يصبح لدينا هذا البرنامج الذي يقول لنا WwW.BramjNeT.CoM is the BesT
كالتالي :
كود PHP:
#include <stdio.h>
#include <stdlib.h>

int main(int argcchar *argv[])
{
  
printf("WwW.BramjNeT.CoM is the BesT");
  
system("PAUSE");       
  return 
0;

نجرب هذا البرنامج فيعطينا التالي :



هناك ملاحظة واحدة لاحظها الكل و هي أن البرنامج عندما يكتب شيئا لا يعود إلى السطر لماذا هل هناك خطأ ؟؟؟ لا لا لن تقلقوا هناك بعد الكلمات التي ستساعدنا و هي :

\n : و هي للعودة إلى السطر (entrée).
\t : و هي تساعدنا في الجدولة .

إذا سيصبح الكود كالتالي :
كود PHP:
printf("WwW.BramjNeT.CoM is the BesT \n"); 
بعد التعديل





التعليقات (les commentaires).


التعليق و هو التعليق مثل اي تعليق في أي لغة أخرى و هو يستعمل إما للشرح أو للتفاهم بين المبرمجين .مثل التعليق في ...HTML

لكتابة تعليق هناك عدة طرق و التي تتعلق بمدى طول التعليق :

+لكتابة تعليق قصير(في سطر واحد) نستعمل الرمز التالي (//)

كود PHP:
Code C
// هذا تعليق 
+لكتابة تعليق يحتوي على أكثر من سطر نستعمل الرموز التالية (/*) و (*/) :
-(/*) لبداية التعليق
-(*/) لإنهاء التعليق

كود PHP:
/* هذا 
تعليق 
يتكون من عدة أسطر 
BramJneT
The KinGSofT */ 

و ننهي هذا الدرس بهذه المقولة من شركة IBM:
"Si après avoir lu uniquement les commentaires d'un programme vous n'en comprenez pas le fonctionnement, jetez le tout !"

مفاده : إذا قرأتم تعليقات برنامج فقط و لم تفهموا شيئا , فألقوا به !


أسئلة الدرس

1/ directive de préprocesseur هو سطر يبتدأ ب:
- #
- {
- //

2/ما هو الرمز الذي تنتهي به ال instruction؟
- /*
- ;
- }

3/ما هو إسم ال fonction التي نكتب بها نصا على الشاشة ؟
- printf
- print
- pinrft

4/ما هو الرمز الذي يساعدنا على الرجوع إلى السطر ؟

- \t
- \n
- يكفي أن نضغط على entrée , أيها الأحمق البليد !!!.

5/تغليق من سطر واحد يبدأ ب :

- /*
- */
- //


إنتظروا الدرس القادم تحت عنوان :عالم من المتغيرات les variables







__________________
أشهد أن لا إله إلا الله و أن محمدا رسول الله




التعديل الأخير تم بواسطة The KinGSofT ; 02-08-2009 الساعة 10:42 AM
The KinGSofT غير متواجد حالياً   رد مع اقتباس