Bannar

اشتباكات بين جماهير المصرى وجماهير الاهلى واصابه 10 اشخاص



أصيب ظهر الجمعة 10 أشخاص بينهم 5 مجندين بقوات الشرطة اثر نشوب اشتباكات وقذف بالحجارة بين جماهير النادي المصري البورسعيدي وبين جماهير النادي الأهلي أمام محطة سكة الحديد الواقعة في دائرة نطاق حي الشرق ببورسعيد .

وقد تمت السيطرة علي الموقف ونقل المصابين عبر 10 سيارات اسعاف الي مستشفي بورسعيد العام لتلقي العلاج .

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

وأضاف المحافظ , فى تصريح له عقب أحداث الشغب التي شهدها ميدان السكة الحديد بالمحافظة بين مشجعى النادى الأهلى والمصرى , أنه طالب قوات الأمن باستمرار محاصرة محطة السكة الحديد لحين مغادرة مشجعى الأهلى المشاغبين.

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

وكان ميدان السكة الحديد ببورسعيد شهد بعد ظهر اليوم أحداثا مؤسفة فور وصول القطار القادم من القاهرة وعلى متنه أكثر من 500 مشجع من مشجعى النادى الأهلى حيث قاموا فور أن وطأت أقدامهم أرض الميدان بقذف المارة والسيارات والمحلات بالحجارة.

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

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

وأسفر الحادث كذلك عن تكسير وجهات 7 محلات و5 أكشاك بالمنطقة من بينهم كشك لبيع الصحف وآخر لبيع الزهور وكذلك تهشم زجاج 12 سيارة ملاكى وأجرة تصادف وجودهم فى هذا المكان بالقرب من مبنى الهيئة العامة لميناء بورسعيد ومسجد الدمياطى.

وتمكنت القوات من السيطرة على الموقف بإعادة مشجعى الأهلى وإدخالهم إلى محطة السكة الحديد مرة أخرى بعد إحاطة المحطة بكردون أمنى منيع.
أصيب ظهر الجمعة 10 أشخاص بينهم 5 مجندين بقوات الشرطة اثر نشوب اشتباكات وقذف بالحجارة بين جماهير النادي المصري البورسعيدي وبين جماهير النادي الأهلي أمام محطة سكة الحديد الواقعة في دائرة نطاق حي الشرق ببورسعيد .

وقد تمت السيطرة علي الموقف ونقل المصابين عبر 10 سيارات اسعاف الي مستشفي بورسعيد العام لتلقي العلاج .

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

وأضاف المحافظ , فى تصريح له عقب أحداث الشغب التي شهدها ميدان السكة الحديد بالمحافظة بين مشجعى النادى الأهلى والمصرى , أنه طالب قوات الأمن باستمرار محاصرة محطة السكة الحديد لحين مغادرة مشجعى الأهلى المشاغبين.

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

وكان ميدان السكة الحديد ببورسعيد شهد بعد ظهر اليوم أحداثا مؤسفة فور وصول القطار القادم من القاهرة وعلى متنه أكثر من 500 مشجع من مشجعى النادى الأهلى حيث قاموا فور أن وطأت أقدامهم أرض الميدان بقذف المارة والسيارات والمحلات بالحجارة.

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

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

وأسفر الحادث كذلك عن تكسير وجهات 7 محلات و5 أكشاك بالمنطقة من بينهم كشك لبيع الصحف وآخر لبيع الزهور وكذلك تهشم زجاج 12 سيارة ملاكى وأجرة تصادف وجودهم فى هذا المكان بالقرب من مبنى الهيئة العامة لميناء بورسعيد ومسجد الدمياطى.

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


صور حفل زفاف الامير وليام وكيت ميدلتون



صور الامير وليام وكيت ميدلتون 
اثناء حفل الزفاف 












صور الامير وليام وكيت ميدلتون 
اثناء حفل الزفاف 












حفل زفاف الامير وليام وكيت ميدلتون



تشهد بريطانيا منذ صباح اليوم الجمعة اعتبارا من الساعة العاشرة بتوقيت جرينتش اكبر حفل زواج في العالم والتى يرتقبه حوالى ملياري مشاهد حول العالم وهو حفل زواج الأمير وليام حفيد ملكة انجلترا اليزابيث الثانية وكاثرين ميدلتون وهى من عامة الشعب .

صور الاحتفال بحفل زفاف 
الامير وليام وكيت ميدلتون
















تشهد بريطانيا منذ صباح اليوم الجمعة اعتبارا من الساعة العاشرة بتوقيت جرينتش اكبر حفل زواج في العالم والتى يرتقبه حوالى ملياري مشاهد حول العالم وهو حفل زواج الأمير وليام حفيد ملكة انجلترا اليزابيث الثانية وكاثرين ميدلتون وهى من عامة الشعب .

صور الاحتفال بحفل زفاف 
الامير وليام وكيت ميدلتون
















توقف صادرات الغاز المصري إلي الأردن وإسرائيل وسوريا




هاجم ملثمون فجر أمس محطة تجميع الغاز الطبيعي جنوب مدينة العريش‏,‏ ونجحوا في تفجير المحطة بعد اختطاف حارسين مكلفين بالتمركز فيها‏.‏ وأدي الانفجار إلي اندلاع حريق هائل بالموقع‏,‏وارتفعت ألسنة النيران نحو مائة متر, بينما هرع سكان حي المساعيد القريب من المحطة إلي خارج منازلهم تحسبا لانهيارها, بعد أن اعتقدوا أن صوت الانفجار ناجم عن زلزال.
وأعلن عبدالوهاب مبروك محافظ شمال سيناء أن المحطة تعرضت لعمل تخريبي, ولم يتسبب في سقوط قتلي أو جرحي. وأوضح مبروك أن هذه المحطة تغذي محطة توليد الكهرباء, ومنازل العريش, ومصنع الأسمنت بوسط سيناء, فضلا عن التصدير إلي الأردن وإسرائيل وسوريا.
وأعلنت الشركة المصرية للغازات الطبيعية( جاسكو) المسئولة عن إدارة وتشغيل محطة التجميع وخط الغاز أن فنييها سارعوا بغلق محابس الغاز قبل منطقة الهجوم وبعدها لحصر كميات الغاز, وضمان السيطرة علي الحريق. كما أغلقت محابس محطة الغاز الرئيسية في مدينة بورسعيد.
ونقلت وكالة الأنباء الأردنية بترا عن مسئول بوزارة الطاقة والثروة المعدنية قوله إن إمدادات الغاز المصري توقفت اعتبارا من صباح أمس, نتيجة الانفجار. ويستقبل الأردن150 مليون قدم مكعبة من الغاز المصري يوميا لتوليد الكهرباء. وأكد المسئول الأردني أن محطات القوي المحلية ستتحول إلي العمل بالوقود الثقيل لتعويض الفاقد. وأشار إلي وجود اتصالات بين عمان ووزارة الكهرباء المصرية لتعويض جانب من الطاقة عن طريق خط الربط الكهربائي العربي.

هاجم ملثمون فجر أمس محطة تجميع الغاز الطبيعي جنوب مدينة العريش‏,‏ ونجحوا في تفجير المحطة بعد اختطاف حارسين مكلفين بالتمركز فيها‏.‏ وأدي الانفجار إلي اندلاع حريق هائل بالموقع‏,‏وارتفعت ألسنة النيران نحو مائة متر, بينما هرع سكان حي المساعيد القريب من المحطة إلي خارج منازلهم تحسبا لانهيارها, بعد أن اعتقدوا أن صوت الانفجار ناجم عن زلزال.
وأعلن عبدالوهاب مبروك محافظ شمال سيناء أن المحطة تعرضت لعمل تخريبي, ولم يتسبب في سقوط قتلي أو جرحي. وأوضح مبروك أن هذه المحطة تغذي محطة توليد الكهرباء, ومنازل العريش, ومصنع الأسمنت بوسط سيناء, فضلا عن التصدير إلي الأردن وإسرائيل وسوريا.
وأعلنت الشركة المصرية للغازات الطبيعية( جاسكو) المسئولة عن إدارة وتشغيل محطة التجميع وخط الغاز أن فنييها سارعوا بغلق محابس الغاز قبل منطقة الهجوم وبعدها لحصر كميات الغاز, وضمان السيطرة علي الحريق. كما أغلقت محابس محطة الغاز الرئيسية في مدينة بورسعيد.
ونقلت وكالة الأنباء الأردنية بترا عن مسئول بوزارة الطاقة والثروة المعدنية قوله إن إمدادات الغاز المصري توقفت اعتبارا من صباح أمس, نتيجة الانفجار. ويستقبل الأردن150 مليون قدم مكعبة من الغاز المصري يوميا لتوليد الكهرباء. وأكد المسئول الأردني أن محطات القوي المحلية ستتحول إلي العمل بالوقود الثقيل لتعويض الفاقد. وأشار إلي وجود اتصالات بين عمان ووزارة الكهرباء المصرية لتعويض جانب من الطاقة عن طريق خط الربط الكهربائي العربي.

النيابة تعيد مرتضى منصور للسجن على ذمة قضية "موقعة الجمل"



استأنفت النيابة العامة ضد قرار الإفراج المؤقت عن مرتضى منصور رئيس نادي الزمالك الأسبق، وقررت النيابة استمرار حبسه في سجن طره بتهمة التحريض على قتل المتظاهرين يوم 2 شباط/فبراير الماضي فيما عرف إعلاميا بموقعة "الجمل".
كان منصور قد استشكل بسبب استمرار حبسه على ذمة التحقيقات لمدة 15 يوما بعد انتهاء المدة دون صدور قرار مد حبسه لمدة 15 يوما أخرى على ذمة التحقيقات حسب ما نشرته تقارير صحفية
كانت التهمة الأساسية الموجهة للمحامي المخضرم هي تحريضه في اليوم المذكور للجماهير التي كانت في ميدان مصطفى محمود بضاحية المهندسين الراقية بالذهاب إلى ميدان التحرير وإخراج المتظاهرين المتواجدين به، وذلك بعد كلمة الرئيس المخلوع حسني مبارك والتي أكد خلالها أنه سوف يموت على أرض مصر.
هذا وقد وجهت النيابة ذات التهمة للعديد من قيادات الحزب الوطني الحاكم سابقا في مصر منهم صفوت الشريف رئيس مجلس الشورى السابق وفتحي سرور رئيس مجلس الشعب السابق.
استأنفت النيابة العامة ضد قرار الإفراج المؤقت عن مرتضى منصور رئيس نادي الزمالك الأسبق، وقررت النيابة استمرار حبسه في سجن طره بتهمة التحريض على قتل المتظاهرين يوم 2 شباط/فبراير الماضي فيما عرف إعلاميا بموقعة "الجمل".
كان منصور قد استشكل بسبب استمرار حبسه على ذمة التحقيقات لمدة 15 يوما بعد انتهاء المدة دون صدور قرار مد حبسه لمدة 15 يوما أخرى على ذمة التحقيقات حسب ما نشرته تقارير صحفية
كانت التهمة الأساسية الموجهة للمحامي المخضرم هي تحريضه في اليوم المذكور للجماهير التي كانت في ميدان مصطفى محمود بضاحية المهندسين الراقية بالذهاب إلى ميدان التحرير وإخراج المتظاهرين المتواجدين به، وذلك بعد كلمة الرئيس المخلوع حسني مبارك والتي أكد خلالها أنه سوف يموت على أرض مصر.
هذا وقد وجهت النيابة ذات التهمة للعديد من قيادات الحزب الوطني الحاكم سابقا في مصر منهم صفوت الشريف رئيس مجلس الشورى السابق وفتحي سرور رئيس مجلس الشعب السابق.

دروس تعليم لغة السى بلس بلس C++



الدرس الخامس لتعليم لغة السى بلس بلس c++



الدرس الخامس لتعليم لغة السى بلس بلس c++
سندرس طريقة جديدة من طرق حفظ البيانات , وهذه الطريقة والحق يقال من الطرق المهمة للغاية , وهذا قول ناتج عن خبرة شخصية وتجربة عملية في لغات البرمجة  .

الدرس وباختصار يتعلق بالمصفوفات , وطرق التعامل معها , والفائدة المرجوة منها في المستقبل .

وسنقوم بطرح فكرة مبسطة عن مصفوفة البعد الواحد , ومصفوفة البعدين , حيث أن هذان النوعان هما من أكثر الأنواع شيوعاً واستعمالاً .

مصفوفة البعد الواحد :

الشكل العام للمصفوفة :
كود:
int array_name[index];
[c]Or[/c]
كود:
type array_name[index];
لا يخفى عليكم أعزائي أنني قد قمت بوضع شكلان عامان للمصفوفة , أحدهما بالصورة التقليدية كما تعودنا في الصورة الأولى , وذلك بتعريف المصفوفة كعنصر صحيح , أو حقيقي , , حيث أن array_name هوا عبارة عن اسم المصفوفة , ونستطيع ترميزه بأي رمز مثل ( x,y,z,xyz,array1 ) , ثم كلمة index , وهيا عناصر المصفوفة .

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

والآن وكما تعودنا نقوم بوضع مثال يوضح فائدة المصفوفة , وطريقة تعامل معالج لغة الـ C مع المصفوفة .

كمثال بسيط يوضح فائدة كبيرة للمصفوفة , نقوم مثلاً ببرمجة برنامج حسابي بسيط يقوم بقراءة 10 أعداد صحيحة , وجمع هذه الأعداد وطباعة ناتج جمعها على الشاشة .

في السابق كنا نقوم بتعريف 10 متغيرات كأعداد صحيحة , ولكن الآن وبفضل المصفوفة , سنقوم باختصار هذه الـ 10 أعداد إلى تعريف مصفوفة واحدة فقط , وهذه فائدة رائعة للمصفوفات , إذ أنها توفر الوقت والجهد في بناء البرامج والمنظومات الكبيرة , وهذا ما سنطرحه في المستقبل إن شاء الله بعد إنهائنا لدروس لغة الـ C ( إن شاء الله إذا عشنا حتى ذلك الوقت ) .

والآن , طريقة البرنامج كما يلي :

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>

void main()
{
 clrscr();
 int x[10],i,sum=0;
 for (i=0;i<10;i++)
 {
  printf("\n Enter X[%d] = ",i);
  scanf("%d",&x[i]);
  sum+=x[i];
 }
 printf("\n Sum = %d ",sum);
 getch();
}
والآن نشرح البرنامج بالتفصيل :

في أول البرنامج قمنا بتعريف متغيرات , منها [10]x , وهذا يعني أن اسم المصفوفة هوا x , وأن هذه المصفوفة تحوي داخلها عشرة متغيرات , وكل هذه المتغيرات من النوع الصحيح , وذلك لأننا قمنا بتعريف المصفوفة كمتغير صحيح , ثم قمنا بتعريف عداد للمصفوفة Counter , ورمزنا لهذا العداد بالرمز i , ثم قمنا بتعريف المتغير sum , وهوا اختصار لكلمة summation , والتي تعني مجموع , وهوا الذي سنحفظ فيه مجموع عناصر المجموعة .

والآن إلى الخطوة التالية , أرجو الإهتمام والتركيز في هذه الخطوة , حتى نوضع فائدة العداد :

نقوم بوضع المتغير i في جملة for , وذلك لأننا سنعرف i كعداد للمصفوفة , ونقوم بوضع قيمة ابتدائية لـ i وهيا صفر ( 0 ) , لأنه للحصول على 10 عناصر للمصفوفة أو أي عدد في لغة الـ C , تبدأ المصفوفة من المتغير [10]x , وتنتهي عند المتغير [10]x , وعند حسابنا نجدهم 10 عناصر .

والآن نقوم بتحديد الدورة التي سنقوم بها , في أول حالة سيقوم المعالج بوضع قيمة صفر للمتغير i , ثم يقوم بمقارنتها بالعدد 10 , فيجدها أقل منه , لذا يستمر في الدورة أو الحلقة , فيقوم بطباعة جملة
كود:
printf(“\n Enter x[%d] = “,i);
وهذه الجملة هيا مجرد جملة توضيحية للمبرمج , توضح له أنه عليه أن يقوم بإدخال قيمة المتغير المراد تخزينه في الصف [x[%d , حيث أن %d تتغير بتغير i .

ثم يقوم البرنامج باستقبال قيمة المتغير ويضعه في المصفوفة حسب التريب , يستقبله في الخانة [x[i , ونتيجة لذلك فأنه من المستحيل أن يضع قيمتين في نفس الخانة , لأن i تتغير وتزيد بمقدار واحد كل دورة i++ , وهذه فائدة العداد  .
ثم يقوم المعالج بالعملية الحاسبة التالية :
كود:
sum+=x[i];
وهذه العملية هيا نفس العملية :
كود:
sum=sum+x[i];
حيث شرحنا معناها في السابق , ونحيطكم علماً مرة أخرى بأن معناها أن المجموع سيقوم في كل دورة بإضافة قيمة العدد الجديد إلى المجموع , حتى نتحصل على المجموع الكلي .

ويستمر البرنامج بهذه العملية حتى تصل قيمة i للعدد 10 , وفي هذه الحالة يقوم البرنامج بالخروج من الحلقة , ويطبع رسالة النهاية التي توضح قيمة المجموع النهائية على الشاشة .

طبعاً أرجو من الإخوة تجربة البرنامج حتى تتمكنوا من فهمه بطريقة أفضل , فالتجربة خير دليل على صحة البرنامج وأفضل طريقة لفهمه .


المصفوفات ذات البعدين :

الشكل العام :
كود:
int array_name[index1][index2]
نلاحظ زيادة قوسان جديدان , ومعناهما كالتالي :
[l]
array_name = اسم المصفوفة
index1 = عدد الصفوف
index2= عدد الأعمدة
[/l]

لأن المصفوفة الثنائية مكونة من صفوف وأعمدة , وليس صفوف فقط كالأحادية ذات البعد الواحد .

والآن نقوم بكتابة برنامج يقوم بقراءة عدد من القيم وتخزينها في مصفوفة ذات بعدين , ثم يقوم بطباعة هذه القيم على هيئة مصفوفة .

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>
#define row 2
#define col 2

void main()
{
 int i,j;
 int x[row][col];
 clrscr();
 for (i=0;i<row;i++)
  for (j=0;j<col;j++)
   {
    printf("\n x[%d][%d] = ",i,j);
    scanf("%d",&x[i][j]);
   }
  printf("\n");
  for (i=0;i<row;i++)
  {
   for (j=0;j<col;j++)
    printf("%d \t ",x[i][j]);
    printf("\n");
  }
  getch();
}
قد يبدو لكم البرنامج معقداً , ولكنه في الحقيقة بسيط وسهل , يحتاج إلى شرح بسيط وبإذن الله ستفهمونه .

البرنامج يبدأ بداية تقليدية , ويقوم بالتعرف على المتغيرات المعطاة , ونلاحظ هنا وجود اثنان for , وهذا التعقيد الوحيد , ولكن لنفهم هذا التعقيد يجب أن نعرف طريقة تعبئة المصفوفات , فالمصفوفات تقوم بتعبئة العنصر الأول في الصف الأول والعمود الأول , ثم العنص الثاني في الصف الأول والعمود الثاني , وهكذا , حتى تصل للعنصر الأخير في الصف الأول العمود الأخير , بمعنى أنها تقوم بتعبئة جميع الأعمدة في الصف الأول , ثم عند انتهائها تنزل للصف التالي وتقوم بتعبئة جميع الأعمدة , وهكذا حتى تقوم بتخزين جميع عناصر المصفوفة .

الدرس الخامس لتعليم لغة السى بلس بلس c++
سندرس طريقة جديدة من طرق حفظ البيانات , وهذه الطريقة والحق يقال من الطرق المهمة للغاية , وهذا قول ناتج عن خبرة شخصية وتجربة عملية في لغات البرمجة  .

الدرس وباختصار يتعلق بالمصفوفات , وطرق التعامل معها , والفائدة المرجوة منها في المستقبل .

وسنقوم بطرح فكرة مبسطة عن مصفوفة البعد الواحد , ومصفوفة البعدين , حيث أن هذان النوعان هما من أكثر الأنواع شيوعاً واستعمالاً .

مصفوفة البعد الواحد :

الشكل العام للمصفوفة :
كود:
int array_name[index];
[c]Or[/c]
كود:
type array_name[index];
لا يخفى عليكم أعزائي أنني قد قمت بوضع شكلان عامان للمصفوفة , أحدهما بالصورة التقليدية كما تعودنا في الصورة الأولى , وذلك بتعريف المصفوفة كعنصر صحيح , أو حقيقي , , حيث أن array_name هوا عبارة عن اسم المصفوفة , ونستطيع ترميزه بأي رمز مثل ( x,y,z,xyz,array1 ) , ثم كلمة index , وهيا عناصر المصفوفة .

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

والآن وكما تعودنا نقوم بوضع مثال يوضح فائدة المصفوفة , وطريقة تعامل معالج لغة الـ C مع المصفوفة .

كمثال بسيط يوضح فائدة كبيرة للمصفوفة , نقوم مثلاً ببرمجة برنامج حسابي بسيط يقوم بقراءة 10 أعداد صحيحة , وجمع هذه الأعداد وطباعة ناتج جمعها على الشاشة .

في السابق كنا نقوم بتعريف 10 متغيرات كأعداد صحيحة , ولكن الآن وبفضل المصفوفة , سنقوم باختصار هذه الـ 10 أعداد إلى تعريف مصفوفة واحدة فقط , وهذه فائدة رائعة للمصفوفات , إذ أنها توفر الوقت والجهد في بناء البرامج والمنظومات الكبيرة , وهذا ما سنطرحه في المستقبل إن شاء الله بعد إنهائنا لدروس لغة الـ C ( إن شاء الله إذا عشنا حتى ذلك الوقت ) .

والآن , طريقة البرنامج كما يلي :

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>

void main()
{
 clrscr();
 int x[10],i,sum=0;
 for (i=0;i<10;i++)
 {
  printf("\n Enter X[%d] = ",i);
  scanf("%d",&x[i]);
  sum+=x[i];
 }
 printf("\n Sum = %d ",sum);
 getch();
}
والآن نشرح البرنامج بالتفصيل :

في أول البرنامج قمنا بتعريف متغيرات , منها [10]x , وهذا يعني أن اسم المصفوفة هوا x , وأن هذه المصفوفة تحوي داخلها عشرة متغيرات , وكل هذه المتغيرات من النوع الصحيح , وذلك لأننا قمنا بتعريف المصفوفة كمتغير صحيح , ثم قمنا بتعريف عداد للمصفوفة Counter , ورمزنا لهذا العداد بالرمز i , ثم قمنا بتعريف المتغير sum , وهوا اختصار لكلمة summation , والتي تعني مجموع , وهوا الذي سنحفظ فيه مجموع عناصر المجموعة .

والآن إلى الخطوة التالية , أرجو الإهتمام والتركيز في هذه الخطوة , حتى نوضع فائدة العداد :

نقوم بوضع المتغير i في جملة for , وذلك لأننا سنعرف i كعداد للمصفوفة , ونقوم بوضع قيمة ابتدائية لـ i وهيا صفر ( 0 ) , لأنه للحصول على 10 عناصر للمصفوفة أو أي عدد في لغة الـ C , تبدأ المصفوفة من المتغير [10]x , وتنتهي عند المتغير [10]x , وعند حسابنا نجدهم 10 عناصر .

والآن نقوم بتحديد الدورة التي سنقوم بها , في أول حالة سيقوم المعالج بوضع قيمة صفر للمتغير i , ثم يقوم بمقارنتها بالعدد 10 , فيجدها أقل منه , لذا يستمر في الدورة أو الحلقة , فيقوم بطباعة جملة
كود:
printf(“\n Enter x[%d] = “,i);
وهذه الجملة هيا مجرد جملة توضيحية للمبرمج , توضح له أنه عليه أن يقوم بإدخال قيمة المتغير المراد تخزينه في الصف [x[%d , حيث أن %d تتغير بتغير i .

ثم يقوم البرنامج باستقبال قيمة المتغير ويضعه في المصفوفة حسب التريب , يستقبله في الخانة [x[i , ونتيجة لذلك فأنه من المستحيل أن يضع قيمتين في نفس الخانة , لأن i تتغير وتزيد بمقدار واحد كل دورة i++ , وهذه فائدة العداد  .
ثم يقوم المعالج بالعملية الحاسبة التالية :
كود:
sum+=x[i];
وهذه العملية هيا نفس العملية :
كود:
sum=sum+x[i];
حيث شرحنا معناها في السابق , ونحيطكم علماً مرة أخرى بأن معناها أن المجموع سيقوم في كل دورة بإضافة قيمة العدد الجديد إلى المجموع , حتى نتحصل على المجموع الكلي .

ويستمر البرنامج بهذه العملية حتى تصل قيمة i للعدد 10 , وفي هذه الحالة يقوم البرنامج بالخروج من الحلقة , ويطبع رسالة النهاية التي توضح قيمة المجموع النهائية على الشاشة .

طبعاً أرجو من الإخوة تجربة البرنامج حتى تتمكنوا من فهمه بطريقة أفضل , فالتجربة خير دليل على صحة البرنامج وأفضل طريقة لفهمه .


المصفوفات ذات البعدين :

الشكل العام :
كود:
int array_name[index1][index2]
نلاحظ زيادة قوسان جديدان , ومعناهما كالتالي :
[l]
array_name = اسم المصفوفة
index1 = عدد الصفوف
index2= عدد الأعمدة
[/l]

لأن المصفوفة الثنائية مكونة من صفوف وأعمدة , وليس صفوف فقط كالأحادية ذات البعد الواحد .

والآن نقوم بكتابة برنامج يقوم بقراءة عدد من القيم وتخزينها في مصفوفة ذات بعدين , ثم يقوم بطباعة هذه القيم على هيئة مصفوفة .

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>
#define row 2
#define col 2

void main()
{
 int i,j;
 int x[row][col];
 clrscr();
 for (i=0;i<row;i++)
  for (j=0;j<col;j++)
   {
    printf("\n x[%d][%d] = ",i,j);
    scanf("%d",&x[i][j]);
   }
  printf("\n");
  for (i=0;i<row;i++)
  {
   for (j=0;j<col;j++)
    printf("%d \t ",x[i][j]);
    printf("\n");
  }
  getch();
}
قد يبدو لكم البرنامج معقداً , ولكنه في الحقيقة بسيط وسهل , يحتاج إلى شرح بسيط وبإذن الله ستفهمونه .

البرنامج يبدأ بداية تقليدية , ويقوم بالتعرف على المتغيرات المعطاة , ونلاحظ هنا وجود اثنان for , وهذا التعقيد الوحيد , ولكن لنفهم هذا التعقيد يجب أن نعرف طريقة تعبئة المصفوفات , فالمصفوفات تقوم بتعبئة العنصر الأول في الصف الأول والعمود الأول , ثم العنص الثاني في الصف الأول والعمود الثاني , وهكذا , حتى تصل للعنصر الأخير في الصف الأول العمود الأخير , بمعنى أنها تقوم بتعبئة جميع الأعمدة في الصف الأول , ثم عند انتهائها تنزل للصف التالي وتقوم بتعبئة جميع الأعمدة , وهكذا حتى تقوم بتخزين جميع عناصر المصفوفة .

الدرس الرابع لتعليم لغة السى بلس بلس c++



الدرس الرابع يتحدث عن بعض الجمل الهامة جداً في لغة الـ C ونستطيع تسميتها بجمل الاختيار والتبديل , وهيا شائعة الاستخدام في الكثير من البرامج , ومتشابهة من حيث الفكرة في كل لغات البرمجة , لما لها من أهمية في هذه اللغات .

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


والآن نقوم بشرح أول جملة .


الشكل العام لهذه الجملة :
كود:

   statement;
next statement;
نشرح الآن الشكل العام :

يتكون الشكل العام لهذه الجملة من الصيغة الرئيسية المتمثلة في if , والذي يعني إذا , وبعد ذلك كلمة نقوم بفتح قوس وإغلاق قوس , ومحتوى القوسين يكون شرط التنفيذ Condition , وهذا الشرط هوا الذي تتوقف عليه تنفيذ الجملة Statement إذا ما كان الشرط صحيح , أو ينتقل إلى الجملة Next statement إذا ما كان الشرط غير صحيح .

وحتى تضح لكم الرؤية , نقوم بتنفيذ برنامج بسيط يحتوي على هذه الجملة الجديدة , وظيفة هذا البرنامج هوا قراءة أي عدد تدخله أنت إليه , ثم يقوم باختبار هذه العدد ما إذا كان أكبر من الصفر أو أقل منه عن طريق جملة if , ثم يطبع رسالة في حالة أن العدد موجب تقول أن هذا العدد موجب , وتجاهل طبع هذه الرسالة في حالة كون العدد سالب أو يساوي صفر .

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
main()
{
int number;
clrscr();
printf(“\n Enter the number : “);
scanf(“%d”,&number);
if ( number > 0 )
 printf(“The %d is positive number “,number);
getch();
return 0;
والآن نقوم بشرح البرنامج :

بعد أن قمنا بتعريف مكتبتين في السطر الأول والثاني نقوم بتعريف المتغير number في السطر الخامس , ثم نقوم بمسح شاشة الإخراج لمسح أي مخرجات قديمة عن طريق clrscr() في السطر السادس , ثم يقوم البرنامج بطبع رسالة معنى مضمونها هوا أدخل الرقم Enter the number , وبعد ذلك يقوم البرنامج باستقبال الرقم من لوحة المفاتيح وتخزينه في ذاكرة البرنامج , وبعد ذلك يقوم البرنامج باختبار هذا الرقم عن طريق جملة if , وذلك كما رأينا في البرنامج بمقارنة هذا الرقم مع الصفر مقارنة منطقية , فإذا كان الرقم أكبر من صفر يقوم البرنامج بطباعة رسالة إخراج معناها أن الرقم موجب , وإذا كان الرقم صفر أو أقل من الصفر يتجاهل طبع هذه الرسالة وينتقل إلى الجملة التالية والتي هيا جملة إيقاف الشاشة حتى ترى النتائج getch() , وبعد ذلك يصل إلى نهاية البرنامج .

[color=red ملاحظة : [/color] أرجو أن تقوموا بإدخال عدد موجب , وعدد سالب , وصفر حتى تتأكدوا بأنفسكم من صحة البرنامج وطريقة عمله , وتستوعبون فكرته .

قد يقوم البرنامج بتنفيذ أكثر من جملة في حالة صحة الشرط , وتتمل هذه العملية بوضع هذه الجمل بين قوسين { , وقوس } , وهوا ما يعرف في لغات البرمجة بالـ Block , أو الحصر .

الشكل العام في هذه الحالة :
كود:

{
 statement 1;
 statement 2;
 :
 :
 statement n;
}
ويمكن رؤية ذلك بعد تعديل البرنامج السابق بعض الشيء :

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
main()
{
int number;
clrscr();
printf(“\n Enter the number : “);
scanf(“%d”,&number);
if ( number > 0 )
{
printf(“The number is bigger than zero ( %d > 0 )”,number);
printf(“The %d is positive number”,number);
}
getch();
return 0;

والآن ننتقل إلى جملة جديدة .



الشكل العام :
كود:

 statement 1;
else
 statement 2;

هذه الجملة لا تختلف كثيرا عن السابقة , لذا لن نكرر ما شرحنا عن الجزء الأول من هذه الجملة عن معنى if .

وسنشرح الجزء المختص بـ else , والذي هوا جديد علينا , ولكنه بسيط .

المقصود بكلمة else في هذه الجملة هوا حالة عكس الشرط , فمثلا يقوم البرنامج باختبار شرط معين , وفي حالة صحة هذا الشرط يقوم بتنفيذ جملة التالية للشرط مباشرة , وفي حالة خطأ الشرط يقوم بتنفيذ الجملة التالية لكلمة else .

برنامج توضيحي لعمل هذه الجملة :

[l]The Program : [/l]
كود:
#include<stdio.h>
#include<conio.h>
main()
 {
  int n;
  clrscr();
  printf("Enter the number :");
  scanf("%d",&n);
  if ( n>0 )
   printf("The %d is positive number",n);
  else
   printf("The %d is negative number",n);
  getch();
  return 0;
 }

البرنامج السابق يقوم بنفس خطوات البرنامج الأول , ولكن عند وصوله في الجملة الشرطية يقوم بالتأكد من صحة الشرط , فإذا ما كان الشرط صحيح يقوم بطبع الرسالة أن العدد موجب Positive number , وإذا كان الشرط خطأ يتجاهل جملة الطباعة ويوجه إلى كلمة else , ويقوم بتنفيذ جملتها , والتي هيا في هذا البرنامج طباعة رسالة negative number .

3 ) جملة إذا المتداخلة Nested if statement :

الشكل العام :
كود:

{
 statement 1;
 statement 2;
}
else
 if ( condition 2 )
  {
    statement 3;
    statement 4;
   }

كما رأينا من الشكل العام لهذه الجملة أنه لا فرق بينها وبين جملة if – else statement , ولكنها تحتوي على الكثير من الشروط , ونستعمل هذه الجملة في حالة وجود عدد من الشروط التي تحتاج للكثير من جمل if وتكون مرتبطة ببعض .

وكمثال على ذلك نقوم بتنفيذ نفس البرنامج السابق ولكن بإضافة طباعة رسالة تفيد أن العدد يساوي صفر في حالة كون مساوي للصفر .
[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
main()
{
int number;
clrscr();
printf(“\n Enter the number : “);
scanf(“%d”,&number);
if ( number > 0 )
 printf(“The %d is positive number “,number);
else
if ( number <0 )
printf("The %d is negative number",n);
else
printf(“The %d is Zero”,n);
getch();
return 0;

وهذا البرنامج لا يختلف في شرحه عن البرامج السابقة إلا في أشياء بسيطة من الناحية الشرطية .

إذ أن البرنامج يقوم بالتحقق واختبار ما إذا كان العدد أكبر من صفر , في حالة صحة هذا الشرط يطبع رسالة تفيد بأن العدد هوا عدد موجب positive number , ويخرج من الجملة الشرطية دون المرور على باقي جمل else , وذلك لكونه صواباً من الأول .

وفي حالة كون الشرط الأول خطأ يتوجه إلى جملة else , ويقوم بالتحقق من الشرط الثاني , فإذا كان العدد أصغر من الصفر يقوم بطبع رسالة negative number , ويخرج من الجملة الشرطية دون المرور على else وذلك لكون الشرط صحيح .

أما إذا كانت كل الشروط السابقة خطأ يمر على الشرط الأخير والذي يفيد بأن العد هوا صفر Zero ويقوم بطاعة رسالة تفيد بأن العديد هوا صفر Zero , وذلك لعدم تحقق الشرطين الأولين .

والآن ننتقل إلى جملة التبديل , والتي هيا آخر مواضيعنا لهذا الدرس إن شاء الله .



الشكل العام :
كود:

 {
   case constant 1 : statement  ;
                                break ;
   case constant 2 : statement ;
                                break ;
   default : statement ;
                  break;
 }

تحل هذه الجملة بدل جملة if في الحالات التي تكثر وتتنوع فيها قيم المتغير , قد نقوم بعملية حسابية لمتغير من نوع صحيح , ويكون ناتج هذه العملية هوا قيمة جديدة للمتغير يتوقف عليها عدد من العمليات , لذا بدل استعمال جملة if في كل قيمة للمتغير , نستعمل جملة switch , وتقوم هذه الجملة بتبديل التعبير المعطى expression بالقيمة لهذا التعبير أو هذا المتغير والمتمثلة في الثوابت الجديدة constant , حيث أنه من الممكن أن يكون هنالك أكثر من ثابت , لذا قمنا بترقيمها , وعند تماثل قيمة المتغير مع قيمة الثابت يقوم بتنفيذ الجملة المقابلة لجملة الثابتة , والتي تتوقف عليها طريقة التعامل مع المتغير .
ووظيفة جملة break; هيا تنبيه المعالج إلى انتهاء معالجة هذا الجزء من المتغير , والانتقال إلى باقي البرنامج .

ووظيفة جملة default هيا أنها في حالة عدم تطابق التعبير ( المتغير ) مع أي من الثوابت المعطية في البرنامج constants , يقوم بالدخول على جملة default , ومعالجة المتغير في هذه الجملة .

والآن حتى تضح طريقة عمل هذه الجملة سنعمل على تطبيقها في برنامج يقوم بقراءة متغير x من النوع الصحيح , وإيجاد قيم المعادلات الآتية عندما تكون قيمة x كالتالي :

[l]
x= -6 >>>-------> y = ( x*x ) – x .
x= 1 or 5 >>>-------> y = ( x*10 ) / 2 .
x=2 >>>-------> y = x + x .
x=4 or -4 >>>-------> y = x*x .
x= أي قيمة أخرى غير السابق >>>-------> y = x + 11 .
[/l]

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>

void main()
{
 int x,y;
 clrscr();
 printf("\n Enter Value Of X = ");
 scanf("%d",&x);
 switch (x)
 {
  case -6: y=(x*x)-x ;
        printf("X=%d and (x*x)-x=%d",x,y);
        break;
  case 1: case 5:y=(x*10)/2 ;
       printf("X=%d and (X*10)/2=%d",x,y);
       break;
  case 2: y=x+x;
      printf("X=%d and X+X=%d",x,y);
      break;
  case -4:
  case 4: y=x*x;
      printf("X=%d and X*X=%d",x,y);
      break;
  default: y=x+11;
       printf("X=%d and X+11=%d",x,y);
       break;
 }
 getch();
}
شرح البرنامج :

يقوم البرنامج في بادئ الأمر بقراءة قيمة x التي يتم إدخالها من قبل المبرمج , وبعد ذلك يقوم بتخزينها , ثم معالجتها في جملة switch , حيث يقارن قيمة x المدخلة بالقيمة الثابتة , وفي حالة تساوي قيمة x المدخلة مع أحد الثوابت , يقوم بتنفيذ الجملة المقابلة لهذا الثابت , وحساب العملية الحسابية , وطباعة رسالة بناتج هذه العملية .

في حالة عدم تساوي قيمة x مع أي من هذه الثوابت , يقوم بتنفيذ الجملة المقابلة لـ default , وحساب المعادلة الرياضية وطباعة الرسالة المعطاة .

ولكن قد يسألك أحدكم سؤال مهم , وهوا : ماذا يحدث إذا لم نكتب جملة break; في أحد جمل البرنامج ؟

كما سبق وشرحنا جملة break تحدد نهاية جملة case المخصصة لها , وفي حالة عدم كتابتها سيستمر البرنامج في تنفيذ كل الجملة حتى تقابله جملة break أخرى , أو يتفذ كل جمل البرنامج في حالة عدم وجود break نهايئاً . 3 ) جملة إذا المتداخلة Nested if statement . 1 ) جملة إذا if statement : if ( Condition ) if ( condition ) 2 ) جملة if – else statement ( لا تختلف كثيراً عن الجملة السابقة ) : if ( condition 1 ) switch ( expression ) 1 ) جملة إذا if statement . if ( condition ) 4 ) جملة التبديل Switch statement :
2 ) جملة if – else statement ( لا تختلف كثيراً عن الجملة السابقة ) . 4 ) جملة التبديل Switch statement .



نستعرض ثلاث أنواع من جمل التكرار , وهيا كالتالي .

1 ) جملة ( while statement ) .

2 ) جملة ( do … while statement ) .

3 ) جملة ( for statement ) .

نبدأ باسم الله في عرض أول الجمل وطريقة استعمالها :

جملة ( while statement ) :

الشكل العام للجملة :
كود:
while ( condition )
{
 statement 1;
 statement 2;
:
:
statement n;
}
والآن نشرح معنى هذا الكلام :

نلاحظ من بداية الشكل العام أن الجملة تبدأ بتنفيذ التعبير while , والذي يعني : عندما .

وتقول بالتحقق من الشرط Condition , فإذا وجد المعالج أن الشرط صحيح يقوم بتنفيذ باقي الجمل statements , وإذا وجد أن الشرط خطأ لا يقوم بتنفيذ باقي الجمل , ولا يمر على الجمل أصلاً في حالة الشرط الخطأ .

وحتى نعرف كيفية استخدام هذا الشرط وطريقة قيام المعالج بتنفيذه نقوم ببرمجة هذا البرنامج البسيط والذي يقوم بطباعة الأعداد من 1 ..... إلى 10 .

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int n=1;
while ( n<=10 )
 {
 printf(“n = %d \n “,n);
 ++n;
 }
getch() ;
}
والآن نشرح هذا البرنامج وطريقة قيام معالج اللغة بمعالجته :
يقوم المعالج في بادئ الأمر بتعريف المتغير الصحيح n , ويحجز له مساحة في الذاكرة , ويساوي قيمته بالعدد 1 .

ثم يقوم المعالج بالمرور على الجملة التالية , وهيا جملة while , ويقوم بالتحقق من الشرط , ولكن كيف ؟

يتم ذلك بأن يستعرض قيمة المتغير n , ويتحقق إذا كانت تساوي أو أقل من القيمة المعطاة في الشرط ( 10 ) وعندما يجد أن 1 أقل من عشرة يقوم بتنفيذ جمل الشرط , ويطبع قيمة n على الشاشة , ثم يقوم بتغيير قيمة n في الذاكرة , ويضع بدلها القيمة الجديدة الناتجة من الجملة ++n , والتي تعني زيادة العدد n مقداراً واحداً .

ويكرر البرنامج جملة التكرار while مرة أخرى , ويتحقق من الشرط , ويجد أن العدد 2 أقل من 10 , فيقوم بطباعة القيمة الجديدة لـ n على الشاشة , وزيادة القيمة الأولى عدداً صحيحاً واحداً .

وهكذا حتى يصل للعدد 10 , وهنا سيجد أن العدد n يساوي العدد 10 , ويقوم بطباعته كما سبق وذكرنا , ولكن عندما يزيد العدد n مقداراً واحداً , ستصبح قيمته 11 , وعند مقارنة هذه القيمة بالشرط سيجد أنها أكبر من الشرط ولا تساويه , لذا سيخرج المعالج من جملة التكرار , وسيتجه للجملة التالية لهذه الجملة , والتي هيا جملة getch() , والتي سبق وذكرنا فائدتها , ثم يتوجه إلى نهاية البرنامج .

هذه إخواني الأعزاء , أخواتي العزيزات جملة while باختصار وإيضاح .


2 ) جملة ( do … while statement ) :

الشكل العام :
كود:
do
{
 statement 1;
 statement 2;
 :
 :
 statement n;
} while ( condition ) ;
من المؤكد أنكم قد لاحظتم تشابه هذه الجملة مع جملة while السابقة , وهيا فعلا تتشابه معها تشابهاً جذرياً من حيث الأداء والشرط , ولكن تختلف عنها بعض الشيء , وهذا الاختلاف هوا كالتالي :

قد لا يمر المعالج على جملة while أبداً , وذلك في حالة عدم صحة الشرط من الأول .
بينما يمر المعالج على جملة do … while على الأقل مرة واحدة , حتى إذا كان الشرط غير صحيح .

كما أن جملة do … while تبدأ بتنفيذ جملة واحدة , أو عدة جمل , ويتم التحقق من هذه الجمل عند نهاية هذه الجملة , عن طريق الشرط .

وحتى تتضح الرؤية سنقوم بحل البرنامج السابق هذه المرة بجملة do while , حتى نستوعب الفرق الذي سيتضح في الشرط :

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int n=1;
do
 {
  printf(“n = %d \n “,n);
  ++n;
 } while ( n <= 10 ) ;
getch() ;
}
شرح البرنامج :

يقوم البرنامج بنفس الخطوات السابقة في البرنامج السابق حتى يصل إلى do , وهنا يقوم مباشرة بتنفيذ الجملة التالية لـ do دون التقيد بالشرط , لأن الشرط موجود في نهاية الجملة , وعند وصوله لنهاية الجملة يقوم بالتحقق من الشرط , فإذا وجد أن الشرط محقق , يكرر الجمل مرة أخرى , وإذا بطل الشرط , يخرج من جملة do … while نهايئاً , ويتجه إلى الجملة التالية .

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


3 ) جملة ( for statement ) :

وتعتبر من أهم جمل التحكم , وتستعمل لتكرار مجموعة من الجملة , وهذا التكرار يكون معلوم مقداره , بمعنى أن يتم تكرار الجمل مرة واحدة , أو مرتين , أو أكثر على حسب رغبة المبرمج , لذا تعتبر جملة تكرار , وفي نفس الوقت جملة تحكم , لقدرة المبرمج على التحكم في مقدار التكرار .

الشكل العام :
كود:
for ( expression 1; expression 2; expression 3 )
{
 statement 1;
 statement 2;
 :
 :
 statement n;
 }

والآن نشرح هذه الجملة البسيطة المهمة :

يقوم المعالج عند معالجة جملة for بالتعرف على التعبير الأول expression 1 , ثم يقوم بمقارنته بالشرط في التعبير الثاني expression 2 , ثم يقوم عملية حسابية في التعبير الثالث expression 3 , ونلاحظ أنه يمكن الاستغناء عن التعبير الثالث , وكتابته كجملة ملحقة بجملة for , أي تحت جملة for , وسنشرح هذا في المثال التالي :

نقوم ببرمجة برنامج لطباعة الأعداد من 1 إلى 10 ( نفس البرنامج السابق ) ولكن بجملة for :

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int n;
for (n=1;n<=10;n++)
 {
  printf(“n = %d \n “,n);
  }
getch() ;
}
والآن نشرح البرنامج السابق :
يقوم هذا البرنامج بنفس وظيفة البرامج السابقة في هذا الدرس , أي طباعة الأعداد من 1 إلى 10 .

ولكن كيف يقوم المعالج بمعالجة جملة for ؟

يقوم المعالج بذلك كالتالي : عندما يصل جملة for , يقوم في بادئ الأمر بالتأكد من expression 1 , والتأكد من وجود تعريف للمتغير ووجود قيمة له , وبعد ذلك يقوم باختباره بالشرط في expression 2 , وإذا ما كان الشرط صحيح ينفذ باقي الجمل , وعند نهاية الحلقة يقوم بتنفيذ expression 3 , ثم يعيد التكرار مرة أخرى .

سؤال هل يمكن تجاهل كتابة قيمة المتغير expression 1 في جملة for ؟

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

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int n=1;
for (;n<=10;n++)
 {
  printf(“n = %d \n “,n);
  }
getch() ;
}
نلاحظ في البرنامج السابق عدم كتابتنا للتعبير expression 1 , والذي كان فيما قبل n=1 , وقد استعضنا عن ذلك بوضع قيمة n في بداية البرنامج عند تعريفها int n=1 , ولكن نلاحظ أننا قد وضعنا الرمز ; الذي يدل على نهاية التعبير expression 1 , حتى وان لم يوجد هذا التعبير .

الدرس الخامس 
الدرس الرابع يتحدث عن بعض الجمل الهامة جداً في لغة الـ C ونستطيع تسميتها بجمل الاختيار والتبديل , وهيا شائعة الاستخدام في الكثير من البرامج , ومتشابهة من حيث الفكرة في كل لغات البرمجة , لما لها من أهمية في هذه اللغات .

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


والآن نقوم بشرح أول جملة .


الشكل العام لهذه الجملة :
كود:

   statement;
next statement;
نشرح الآن الشكل العام :

يتكون الشكل العام لهذه الجملة من الصيغة الرئيسية المتمثلة في if , والذي يعني إذا , وبعد ذلك كلمة نقوم بفتح قوس وإغلاق قوس , ومحتوى القوسين يكون شرط التنفيذ Condition , وهذا الشرط هوا الذي تتوقف عليه تنفيذ الجملة Statement إذا ما كان الشرط صحيح , أو ينتقل إلى الجملة Next statement إذا ما كان الشرط غير صحيح .

وحتى تضح لكم الرؤية , نقوم بتنفيذ برنامج بسيط يحتوي على هذه الجملة الجديدة , وظيفة هذا البرنامج هوا قراءة أي عدد تدخله أنت إليه , ثم يقوم باختبار هذه العدد ما إذا كان أكبر من الصفر أو أقل منه عن طريق جملة if , ثم يطبع رسالة في حالة أن العدد موجب تقول أن هذا العدد موجب , وتجاهل طبع هذه الرسالة في حالة كون العدد سالب أو يساوي صفر .

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
main()
{
int number;
clrscr();
printf(“\n Enter the number : “);
scanf(“%d”,&number);
if ( number > 0 )
 printf(“The %d is positive number “,number);
getch();
return 0;
والآن نقوم بشرح البرنامج :

بعد أن قمنا بتعريف مكتبتين في السطر الأول والثاني نقوم بتعريف المتغير number في السطر الخامس , ثم نقوم بمسح شاشة الإخراج لمسح أي مخرجات قديمة عن طريق clrscr() في السطر السادس , ثم يقوم البرنامج بطبع رسالة معنى مضمونها هوا أدخل الرقم Enter the number , وبعد ذلك يقوم البرنامج باستقبال الرقم من لوحة المفاتيح وتخزينه في ذاكرة البرنامج , وبعد ذلك يقوم البرنامج باختبار هذا الرقم عن طريق جملة if , وذلك كما رأينا في البرنامج بمقارنة هذا الرقم مع الصفر مقارنة منطقية , فإذا كان الرقم أكبر من صفر يقوم البرنامج بطباعة رسالة إخراج معناها أن الرقم موجب , وإذا كان الرقم صفر أو أقل من الصفر يتجاهل طبع هذه الرسالة وينتقل إلى الجملة التالية والتي هيا جملة إيقاف الشاشة حتى ترى النتائج getch() , وبعد ذلك يصل إلى نهاية البرنامج .

[color=red ملاحظة : [/color] أرجو أن تقوموا بإدخال عدد موجب , وعدد سالب , وصفر حتى تتأكدوا بأنفسكم من صحة البرنامج وطريقة عمله , وتستوعبون فكرته .

قد يقوم البرنامج بتنفيذ أكثر من جملة في حالة صحة الشرط , وتتمل هذه العملية بوضع هذه الجمل بين قوسين { , وقوس } , وهوا ما يعرف في لغات البرمجة بالـ Block , أو الحصر .

الشكل العام في هذه الحالة :
كود:

{
 statement 1;
 statement 2;
 :
 :
 statement n;
}
ويمكن رؤية ذلك بعد تعديل البرنامج السابق بعض الشيء :

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
main()
{
int number;
clrscr();
printf(“\n Enter the number : “);
scanf(“%d”,&number);
if ( number > 0 )
{
printf(“The number is bigger than zero ( %d > 0 )”,number);
printf(“The %d is positive number”,number);
}
getch();
return 0;

والآن ننتقل إلى جملة جديدة .



الشكل العام :
كود:

 statement 1;
else
 statement 2;

هذه الجملة لا تختلف كثيرا عن السابقة , لذا لن نكرر ما شرحنا عن الجزء الأول من هذه الجملة عن معنى if .

وسنشرح الجزء المختص بـ else , والذي هوا جديد علينا , ولكنه بسيط .

المقصود بكلمة else في هذه الجملة هوا حالة عكس الشرط , فمثلا يقوم البرنامج باختبار شرط معين , وفي حالة صحة هذا الشرط يقوم بتنفيذ جملة التالية للشرط مباشرة , وفي حالة خطأ الشرط يقوم بتنفيذ الجملة التالية لكلمة else .

برنامج توضيحي لعمل هذه الجملة :

[l]The Program : [/l]
كود:
#include<stdio.h>
#include<conio.h>
main()
 {
  int n;
  clrscr();
  printf("Enter the number :");
  scanf("%d",&n);
  if ( n>0 )
   printf("The %d is positive number",n);
  else
   printf("The %d is negative number",n);
  getch();
  return 0;
 }

البرنامج السابق يقوم بنفس خطوات البرنامج الأول , ولكن عند وصوله في الجملة الشرطية يقوم بالتأكد من صحة الشرط , فإذا ما كان الشرط صحيح يقوم بطبع الرسالة أن العدد موجب Positive number , وإذا كان الشرط خطأ يتجاهل جملة الطباعة ويوجه إلى كلمة else , ويقوم بتنفيذ جملتها , والتي هيا في هذا البرنامج طباعة رسالة negative number .

3 ) جملة إذا المتداخلة Nested if statement :

الشكل العام :
كود:

{
 statement 1;
 statement 2;
}
else
 if ( condition 2 )
  {
    statement 3;
    statement 4;
   }

كما رأينا من الشكل العام لهذه الجملة أنه لا فرق بينها وبين جملة if – else statement , ولكنها تحتوي على الكثير من الشروط , ونستعمل هذه الجملة في حالة وجود عدد من الشروط التي تحتاج للكثير من جمل if وتكون مرتبطة ببعض .

وكمثال على ذلك نقوم بتنفيذ نفس البرنامج السابق ولكن بإضافة طباعة رسالة تفيد أن العدد يساوي صفر في حالة كون مساوي للصفر .
[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
main()
{
int number;
clrscr();
printf(“\n Enter the number : “);
scanf(“%d”,&number);
if ( number > 0 )
 printf(“The %d is positive number “,number);
else
if ( number <0 )
printf("The %d is negative number",n);
else
printf(“The %d is Zero”,n);
getch();
return 0;

وهذا البرنامج لا يختلف في شرحه عن البرامج السابقة إلا في أشياء بسيطة من الناحية الشرطية .

إذ أن البرنامج يقوم بالتحقق واختبار ما إذا كان العدد أكبر من صفر , في حالة صحة هذا الشرط يطبع رسالة تفيد بأن العدد هوا عدد موجب positive number , ويخرج من الجملة الشرطية دون المرور على باقي جمل else , وذلك لكونه صواباً من الأول .

وفي حالة كون الشرط الأول خطأ يتوجه إلى جملة else , ويقوم بالتحقق من الشرط الثاني , فإذا كان العدد أصغر من الصفر يقوم بطبع رسالة negative number , ويخرج من الجملة الشرطية دون المرور على else وذلك لكون الشرط صحيح .

أما إذا كانت كل الشروط السابقة خطأ يمر على الشرط الأخير والذي يفيد بأن العد هوا صفر Zero ويقوم بطاعة رسالة تفيد بأن العديد هوا صفر Zero , وذلك لعدم تحقق الشرطين الأولين .

والآن ننتقل إلى جملة التبديل , والتي هيا آخر مواضيعنا لهذا الدرس إن شاء الله .



الشكل العام :
كود:

 {
   case constant 1 : statement  ;
                                break ;
   case constant 2 : statement ;
                                break ;
   default : statement ;
                  break;
 }

تحل هذه الجملة بدل جملة if في الحالات التي تكثر وتتنوع فيها قيم المتغير , قد نقوم بعملية حسابية لمتغير من نوع صحيح , ويكون ناتج هذه العملية هوا قيمة جديدة للمتغير يتوقف عليها عدد من العمليات , لذا بدل استعمال جملة if في كل قيمة للمتغير , نستعمل جملة switch , وتقوم هذه الجملة بتبديل التعبير المعطى expression بالقيمة لهذا التعبير أو هذا المتغير والمتمثلة في الثوابت الجديدة constant , حيث أنه من الممكن أن يكون هنالك أكثر من ثابت , لذا قمنا بترقيمها , وعند تماثل قيمة المتغير مع قيمة الثابت يقوم بتنفيذ الجملة المقابلة لجملة الثابتة , والتي تتوقف عليها طريقة التعامل مع المتغير .
ووظيفة جملة break; هيا تنبيه المعالج إلى انتهاء معالجة هذا الجزء من المتغير , والانتقال إلى باقي البرنامج .

ووظيفة جملة default هيا أنها في حالة عدم تطابق التعبير ( المتغير ) مع أي من الثوابت المعطية في البرنامج constants , يقوم بالدخول على جملة default , ومعالجة المتغير في هذه الجملة .

والآن حتى تضح طريقة عمل هذه الجملة سنعمل على تطبيقها في برنامج يقوم بقراءة متغير x من النوع الصحيح , وإيجاد قيم المعادلات الآتية عندما تكون قيمة x كالتالي :

[l]
x= -6 >>>-------> y = ( x*x ) – x .
x= 1 or 5 >>>-------> y = ( x*10 ) / 2 .
x=2 >>>-------> y = x + x .
x=4 or -4 >>>-------> y = x*x .
x= أي قيمة أخرى غير السابق >>>-------> y = x + 11 .
[/l]

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>

void main()
{
 int x,y;
 clrscr();
 printf("\n Enter Value Of X = ");
 scanf("%d",&x);
 switch (x)
 {
  case -6: y=(x*x)-x ;
        printf("X=%d and (x*x)-x=%d",x,y);
        break;
  case 1: case 5:y=(x*10)/2 ;
       printf("X=%d and (X*10)/2=%d",x,y);
       break;
  case 2: y=x+x;
      printf("X=%d and X+X=%d",x,y);
      break;
  case -4:
  case 4: y=x*x;
      printf("X=%d and X*X=%d",x,y);
      break;
  default: y=x+11;
       printf("X=%d and X+11=%d",x,y);
       break;
 }
 getch();
}
شرح البرنامج :

يقوم البرنامج في بادئ الأمر بقراءة قيمة x التي يتم إدخالها من قبل المبرمج , وبعد ذلك يقوم بتخزينها , ثم معالجتها في جملة switch , حيث يقارن قيمة x المدخلة بالقيمة الثابتة , وفي حالة تساوي قيمة x المدخلة مع أحد الثوابت , يقوم بتنفيذ الجملة المقابلة لهذا الثابت , وحساب العملية الحسابية , وطباعة رسالة بناتج هذه العملية .

في حالة عدم تساوي قيمة x مع أي من هذه الثوابت , يقوم بتنفيذ الجملة المقابلة لـ default , وحساب المعادلة الرياضية وطباعة الرسالة المعطاة .

ولكن قد يسألك أحدكم سؤال مهم , وهوا : ماذا يحدث إذا لم نكتب جملة break; في أحد جمل البرنامج ؟

كما سبق وشرحنا جملة break تحدد نهاية جملة case المخصصة لها , وفي حالة عدم كتابتها سيستمر البرنامج في تنفيذ كل الجملة حتى تقابله جملة break أخرى , أو يتفذ كل جمل البرنامج في حالة عدم وجود break نهايئاً . 3 ) جملة إذا المتداخلة Nested if statement . 1 ) جملة إذا if statement : if ( Condition ) if ( condition ) 2 ) جملة if – else statement ( لا تختلف كثيراً عن الجملة السابقة ) : if ( condition 1 ) switch ( expression ) 1 ) جملة إذا if statement . if ( condition ) 4 ) جملة التبديل Switch statement :
2 ) جملة if – else statement ( لا تختلف كثيراً عن الجملة السابقة ) . 4 ) جملة التبديل Switch statement .



نستعرض ثلاث أنواع من جمل التكرار , وهيا كالتالي .

1 ) جملة ( while statement ) .

2 ) جملة ( do … while statement ) .

3 ) جملة ( for statement ) .

نبدأ باسم الله في عرض أول الجمل وطريقة استعمالها :

جملة ( while statement ) :

الشكل العام للجملة :
كود:
while ( condition )
{
 statement 1;
 statement 2;
:
:
statement n;
}
والآن نشرح معنى هذا الكلام :

نلاحظ من بداية الشكل العام أن الجملة تبدأ بتنفيذ التعبير while , والذي يعني : عندما .

وتقول بالتحقق من الشرط Condition , فإذا وجد المعالج أن الشرط صحيح يقوم بتنفيذ باقي الجمل statements , وإذا وجد أن الشرط خطأ لا يقوم بتنفيذ باقي الجمل , ولا يمر على الجمل أصلاً في حالة الشرط الخطأ .

وحتى نعرف كيفية استخدام هذا الشرط وطريقة قيام المعالج بتنفيذه نقوم ببرمجة هذا البرنامج البسيط والذي يقوم بطباعة الأعداد من 1 ..... إلى 10 .

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int n=1;
while ( n<=10 )
 {
 printf(“n = %d \n “,n);
 ++n;
 }
getch() ;
}
والآن نشرح هذا البرنامج وطريقة قيام معالج اللغة بمعالجته :
يقوم المعالج في بادئ الأمر بتعريف المتغير الصحيح n , ويحجز له مساحة في الذاكرة , ويساوي قيمته بالعدد 1 .

ثم يقوم المعالج بالمرور على الجملة التالية , وهيا جملة while , ويقوم بالتحقق من الشرط , ولكن كيف ؟

يتم ذلك بأن يستعرض قيمة المتغير n , ويتحقق إذا كانت تساوي أو أقل من القيمة المعطاة في الشرط ( 10 ) وعندما يجد أن 1 أقل من عشرة يقوم بتنفيذ جمل الشرط , ويطبع قيمة n على الشاشة , ثم يقوم بتغيير قيمة n في الذاكرة , ويضع بدلها القيمة الجديدة الناتجة من الجملة ++n , والتي تعني زيادة العدد n مقداراً واحداً .

ويكرر البرنامج جملة التكرار while مرة أخرى , ويتحقق من الشرط , ويجد أن العدد 2 أقل من 10 , فيقوم بطباعة القيمة الجديدة لـ n على الشاشة , وزيادة القيمة الأولى عدداً صحيحاً واحداً .

وهكذا حتى يصل للعدد 10 , وهنا سيجد أن العدد n يساوي العدد 10 , ويقوم بطباعته كما سبق وذكرنا , ولكن عندما يزيد العدد n مقداراً واحداً , ستصبح قيمته 11 , وعند مقارنة هذه القيمة بالشرط سيجد أنها أكبر من الشرط ولا تساويه , لذا سيخرج المعالج من جملة التكرار , وسيتجه للجملة التالية لهذه الجملة , والتي هيا جملة getch() , والتي سبق وذكرنا فائدتها , ثم يتوجه إلى نهاية البرنامج .

هذه إخواني الأعزاء , أخواتي العزيزات جملة while باختصار وإيضاح .


2 ) جملة ( do … while statement ) :

الشكل العام :
كود:
do
{
 statement 1;
 statement 2;
 :
 :
 statement n;
} while ( condition ) ;
من المؤكد أنكم قد لاحظتم تشابه هذه الجملة مع جملة while السابقة , وهيا فعلا تتشابه معها تشابهاً جذرياً من حيث الأداء والشرط , ولكن تختلف عنها بعض الشيء , وهذا الاختلاف هوا كالتالي :

قد لا يمر المعالج على جملة while أبداً , وذلك في حالة عدم صحة الشرط من الأول .
بينما يمر المعالج على جملة do … while على الأقل مرة واحدة , حتى إذا كان الشرط غير صحيح .

كما أن جملة do … while تبدأ بتنفيذ جملة واحدة , أو عدة جمل , ويتم التحقق من هذه الجمل عند نهاية هذه الجملة , عن طريق الشرط .

وحتى تتضح الرؤية سنقوم بحل البرنامج السابق هذه المرة بجملة do while , حتى نستوعب الفرق الذي سيتضح في الشرط :

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int n=1;
do
 {
  printf(“n = %d \n “,n);
  ++n;
 } while ( n <= 10 ) ;
getch() ;
}
شرح البرنامج :

يقوم البرنامج بنفس الخطوات السابقة في البرنامج السابق حتى يصل إلى do , وهنا يقوم مباشرة بتنفيذ الجملة التالية لـ do دون التقيد بالشرط , لأن الشرط موجود في نهاية الجملة , وعند وصوله لنهاية الجملة يقوم بالتحقق من الشرط , فإذا وجد أن الشرط محقق , يكرر الجمل مرة أخرى , وإذا بطل الشرط , يخرج من جملة do … while نهايئاً , ويتجه إلى الجملة التالية .

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


3 ) جملة ( for statement ) :

وتعتبر من أهم جمل التحكم , وتستعمل لتكرار مجموعة من الجملة , وهذا التكرار يكون معلوم مقداره , بمعنى أن يتم تكرار الجمل مرة واحدة , أو مرتين , أو أكثر على حسب رغبة المبرمج , لذا تعتبر جملة تكرار , وفي نفس الوقت جملة تحكم , لقدرة المبرمج على التحكم في مقدار التكرار .

الشكل العام :
كود:
for ( expression 1; expression 2; expression 3 )
{
 statement 1;
 statement 2;
 :
 :
 statement n;
 }

والآن نشرح هذه الجملة البسيطة المهمة :

يقوم المعالج عند معالجة جملة for بالتعرف على التعبير الأول expression 1 , ثم يقوم بمقارنته بالشرط في التعبير الثاني expression 2 , ثم يقوم عملية حسابية في التعبير الثالث expression 3 , ونلاحظ أنه يمكن الاستغناء عن التعبير الثالث , وكتابته كجملة ملحقة بجملة for , أي تحت جملة for , وسنشرح هذا في المثال التالي :

نقوم ببرمجة برنامج لطباعة الأعداد من 1 إلى 10 ( نفس البرنامج السابق ) ولكن بجملة for :

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int n;
for (n=1;n<=10;n++)
 {
  printf(“n = %d \n “,n);
  }
getch() ;
}
والآن نشرح البرنامج السابق :
يقوم هذا البرنامج بنفس وظيفة البرامج السابقة في هذا الدرس , أي طباعة الأعداد من 1 إلى 10 .

ولكن كيف يقوم المعالج بمعالجة جملة for ؟

يقوم المعالج بذلك كالتالي : عندما يصل جملة for , يقوم في بادئ الأمر بالتأكد من expression 1 , والتأكد من وجود تعريف للمتغير ووجود قيمة له , وبعد ذلك يقوم باختباره بالشرط في expression 2 , وإذا ما كان الشرط صحيح ينفذ باقي الجمل , وعند نهاية الحلقة يقوم بتنفيذ expression 3 , ثم يعيد التكرار مرة أخرى .

سؤال هل يمكن تجاهل كتابة قيمة المتغير expression 1 في جملة for ؟

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

[l]The Program :[/l]
كود:
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int n=1;
for (;n<=10;n++)
 {
  printf(“n = %d \n “,n);
  }
getch() ;
}
نلاحظ في البرنامج السابق عدم كتابتنا للتعبير expression 1 , والذي كان فيما قبل n=1 , وقد استعضنا عن ذلك بوضع قيمة n في بداية البرنامج عند تعريفها int n=1 , ولكن نلاحظ أننا قد وضعنا الرمز ; الذي يدل على نهاية التعبير expression 1 , حتى وان لم يوجد هذا التعبير .

الدرس الخامس 

الدرس الثالث لتعليم لغة السى بلس بلس c++



الدرس الثالث لتعليم لغة السى بلس بلس C++

درس اليوم يتحدث عن مؤثرات الزيادة والنقصان , وأولويات تنفيذ هذه المؤثرات , بالإضافة إلى بعض الأمثلة التوضيحية .


مؤثرات الزيادة والنقصان :

هذه المؤثرات هيا من أهم مميزات لغة الـ C , إذ أنها غير موجودة في أي لغة برمجة أخرى وهيا بسيطة الفكرة , سهلة الاستعمال , تحتاج إلى تركيز .

وتعرف بمؤثرات الزيادة والنقصان لأنها تزيد أو تنقص من قيمة المتغير , وهيا إما على صورة :

++ , --

وتكون مصحوبة قبل أو بعد المتغير , وقيمة المتغير تتوقف على مكان هذه المؤشرات ( أي إذا ما كانت قبله أو بعده ) .

مثال توضيحي على استعمال مؤثرات الزيادة والنقصان :

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
main ()
{
 int I,j,k;
clrscr();
i=2; j=2;
k= ++i;
printf(“I = %d \t K = %d \n”,i,k);
k= j++;
printf(“J = %d \t K = %d”,j,k);
getch();
return 0;
}
في المثال السابق قمنا بتعريف ثلاث متغيرات صحيحة وهيا حسب الترتيب i,j,k

ثم ثمنا بتحديد قيمتي كل من i,j=2

وبعد ذلك قمنا بتحديد قيمة k=++i

والآن ندرس طريقة قيام المعالج بهذه العملية :
يقوم المعالج بتخصيص قيمة المتغير i للمتغير k ولكن سيصتدم بمؤثر زيادة للمتغير i لذا سيعمل على زيادة هذه القيمة قبل تخصيصها للمتغير k .

وتتم معالجة القيمة i , بما أنه جاء مسبوقاً بمؤثر زيادة ++ , فهذا يعني زيادة قيمة المتغير بمقدار واحد , ويصبح i=3

وبعد تحديد قيمة المتغير i , يقوم المعالج بتخصيص هذه القيمة للمتغير k , فيصبح قيمة هذا المتغير k=3

وهذه طريقة التعامل مع مؤثر الزيادة , ونفس الشيء بالنسبة لمؤثر النقصان ( غير أن مؤثر النقصان طرح وليس جمع ) .

وبعد ذلك تقوم دالة الطباعة بطباعة النتائج على الشاشة .

والآن ندرس الخطوة الثانية وهيا k=j++

في هذه الحالة , يقوم المعالج بتخصيص قيمة j للمتغير k , وقيمة j=2 , إذاً k=2 أيضاً

ولكن المعالج يصدم بعد ذلك بمؤثر زيادة بعد j , لذا يعمل على زيادة قيمة j بمقدار واحد فتصبح j=3

وعند قيام البرنامج بالتنفيذ والعرض على الشاشة سنتأكد بأنفسنا من النتائج السابقة .
ملاحظة :

الأولوية دائماً لمؤثرات الزيادة والنقصان .


مثال آخر لتوضيح عمل المؤثرات في معادلة رياضية :
كود:
#include <stdio.h>
#include <conio.h>
main ()
{
int s1,s2,a=5,b=3;
clrscr();
s1= a + ++a ;
s2= b + b++ ;
printf(“S1 = %d \t S2 = %d”,S1,S2);
getch();
return 0;
}
في المثال السابق قمنا بتعريف أربع متغيرات , مع تحديد قيمتي متغيرين كما في المثال .

وبعد ذلك قمنا بعملية رياضية لـ S1 , والتي سنشرح معناها الآن :

يقوم المعالج في المثال بقراءة المعادلة , فيجد أمامه مؤثر الزيادة مصحوباً بقيمة a , فيعمل على تغير قيمة a , وزيادتها 1 لتصبح a=6

وبالتالي تصبح المعادلة
[l]S1= 6 + 6 [/l]

بينما في الحالة الثانية نقوم بحساب قيمة S2 :

حيث يقوم المعالج جمع b , مع b , وتخصيص القيمة الجديدة لـ S2 , وبعد ذلك يقوم بحساب قيمة b الجديدة من مؤثر الزيادة , وهيا b = 4 , ولكنها غير مطلوبة في البرنامج .

وبالتالي تصبح المعادلة
[l]S2 = 3 + 3[/l]

وسنجد أن نتائج البرنامج مساوية لكل من القيم السابقة .


بعض المؤثرات الجديدة :
كود:
x+=9;
العملية السابقة مساوية تماماً لعملية :
كود:
x=x+9;
وتعطي نفس النتائج بالضبط , ويمكن تجربة ذلك بنفسك .

وهيا ليست العملية الوحيدة , إذ يوجد بعض العمليات الأخرى مثل :
كود:
x-=10 ;
y*=5 ;
z/=11 ;
x%= 3;
والعمليات السابقة مساوية للعمليات :
كود:
x=x-10 ;
y=y*5 ;
z=z/11 ;
x=x %3;
ولكنها مختصرة , وهذه إحدى مميزات لغة الـ C .

مثال توضيحي على أحد العمليات السابقة :
كود:
#include <stdio.h>
#include <conio.h>
void main ()
{
int a,b;
clrscr();
a= 10 ;
b= 5 ;
a-=b ;
printf(“a = %d “,a);
getch();
}
في المثال السابق قمنا بتعريف متغيرين a,b , ثم بتحديد قيمتين للمتغيريت كما في المثال .

ثم قمنا بعملية رياضية كالتالي :
كود:
a-=b;
وهيا مساوية للمعادلة :
كود:
a=a-b;
وتعطي نفس النتائج دون أي فرق , ويمكنك تجريب المعادلتين والتأكد من نتائجك بنفسك .

طبعاً الأمثلة السابقة أمثلة توضيحية فقط , و سأوضح لكم بإذن الله أمثلة تطبيقية تستطيعون بها الاستفادة من جميع المؤثرات السابقة , وذلك بعد أن نأخذ بعض الدوال والجمل الجديدة في لغة الـ C , وسنوضح أكثر وظائف هذه الجمل وطرق عملها في البرامج في الدرس القادم إن شاء الله .



الدرس الرابع 
من هنا

الدرس الثالث لتعليم لغة السى بلس بلس C++

درس اليوم يتحدث عن مؤثرات الزيادة والنقصان , وأولويات تنفيذ هذه المؤثرات , بالإضافة إلى بعض الأمثلة التوضيحية .


مؤثرات الزيادة والنقصان :

هذه المؤثرات هيا من أهم مميزات لغة الـ C , إذ أنها غير موجودة في أي لغة برمجة أخرى وهيا بسيطة الفكرة , سهلة الاستعمال , تحتاج إلى تركيز .

وتعرف بمؤثرات الزيادة والنقصان لأنها تزيد أو تنقص من قيمة المتغير , وهيا إما على صورة :

++ , --

وتكون مصحوبة قبل أو بعد المتغير , وقيمة المتغير تتوقف على مكان هذه المؤشرات ( أي إذا ما كانت قبله أو بعده ) .

مثال توضيحي على استعمال مؤثرات الزيادة والنقصان :

[l]The Program : [/l]
كود:
#include <stdio.h>
#include <conio.h>
main ()
{
 int I,j,k;
clrscr();
i=2; j=2;
k= ++i;
printf(“I = %d \t K = %d \n”,i,k);
k= j++;
printf(“J = %d \t K = %d”,j,k);
getch();
return 0;
}
في المثال السابق قمنا بتعريف ثلاث متغيرات صحيحة وهيا حسب الترتيب i,j,k

ثم ثمنا بتحديد قيمتي كل من i,j=2

وبعد ذلك قمنا بتحديد قيمة k=++i

والآن ندرس طريقة قيام المعالج بهذه العملية :
يقوم المعالج بتخصيص قيمة المتغير i للمتغير k ولكن سيصتدم بمؤثر زيادة للمتغير i لذا سيعمل على زيادة هذه القيمة قبل تخصيصها للمتغير k .

وتتم معالجة القيمة i , بما أنه جاء مسبوقاً بمؤثر زيادة ++ , فهذا يعني زيادة قيمة المتغير بمقدار واحد , ويصبح i=3

وبعد تحديد قيمة المتغير i , يقوم المعالج بتخصيص هذه القيمة للمتغير k , فيصبح قيمة هذا المتغير k=3

وهذه طريقة التعامل مع مؤثر الزيادة , ونفس الشيء بالنسبة لمؤثر النقصان ( غير أن مؤثر النقصان طرح وليس جمع ) .

وبعد ذلك تقوم دالة الطباعة بطباعة النتائج على الشاشة .

والآن ندرس الخطوة الثانية وهيا k=j++

في هذه الحالة , يقوم المعالج بتخصيص قيمة j للمتغير k , وقيمة j=2 , إذاً k=2 أيضاً

ولكن المعالج يصدم بعد ذلك بمؤثر زيادة بعد j , لذا يعمل على زيادة قيمة j بمقدار واحد فتصبح j=3

وعند قيام البرنامج بالتنفيذ والعرض على الشاشة سنتأكد بأنفسنا من النتائج السابقة .
ملاحظة :

الأولوية دائماً لمؤثرات الزيادة والنقصان .


مثال آخر لتوضيح عمل المؤثرات في معادلة رياضية :
كود:
#include <stdio.h>
#include <conio.h>
main ()
{
int s1,s2,a=5,b=3;
clrscr();
s1= a + ++a ;
s2= b + b++ ;
printf(“S1 = %d \t S2 = %d”,S1,S2);
getch();
return 0;
}
في المثال السابق قمنا بتعريف أربع متغيرات , مع تحديد قيمتي متغيرين كما في المثال .

وبعد ذلك قمنا بعملية رياضية لـ S1 , والتي سنشرح معناها الآن :

يقوم المعالج في المثال بقراءة المعادلة , فيجد أمامه مؤثر الزيادة مصحوباً بقيمة a , فيعمل على تغير قيمة a , وزيادتها 1 لتصبح a=6

وبالتالي تصبح المعادلة
[l]S1= 6 + 6 [/l]

بينما في الحالة الثانية نقوم بحساب قيمة S2 :

حيث يقوم المعالج جمع b , مع b , وتخصيص القيمة الجديدة لـ S2 , وبعد ذلك يقوم بحساب قيمة b الجديدة من مؤثر الزيادة , وهيا b = 4 , ولكنها غير مطلوبة في البرنامج .

وبالتالي تصبح المعادلة
[l]S2 = 3 + 3[/l]

وسنجد أن نتائج البرنامج مساوية لكل من القيم السابقة .


بعض المؤثرات الجديدة :
كود:
x+=9;
العملية السابقة مساوية تماماً لعملية :
كود:
x=x+9;
وتعطي نفس النتائج بالضبط , ويمكن تجربة ذلك بنفسك .

وهيا ليست العملية الوحيدة , إذ يوجد بعض العمليات الأخرى مثل :
كود:
x-=10 ;
y*=5 ;
z/=11 ;
x%= 3;
والعمليات السابقة مساوية للعمليات :
كود:
x=x-10 ;
y=y*5 ;
z=z/11 ;
x=x %3;
ولكنها مختصرة , وهذه إحدى مميزات لغة الـ C .

مثال توضيحي على أحد العمليات السابقة :
كود:
#include <stdio.h>
#include <conio.h>
void main ()
{
int a,b;
clrscr();
a= 10 ;
b= 5 ;
a-=b ;
printf(“a = %d “,a);
getch();
}
في المثال السابق قمنا بتعريف متغيرين a,b , ثم بتحديد قيمتين للمتغيريت كما في المثال .

ثم قمنا بعملية رياضية كالتالي :
كود:
a-=b;
وهيا مساوية للمعادلة :
كود:
a=a-b;
وتعطي نفس النتائج دون أي فرق , ويمكنك تجريب المعادلتين والتأكد من نتائجك بنفسك .

طبعاً الأمثلة السابقة أمثلة توضيحية فقط , و سأوضح لكم بإذن الله أمثلة تطبيقية تستطيعون بها الاستفادة من جميع المؤثرات السابقة , وذلك بعد أن نأخذ بعض الدوال والجمل الجديدة في لغة الـ C , وسنوضح أكثر وظائف هذه الجمل وطرق عملها في البرامج في الدرس القادم إن شاء الله .



الدرس الرابع 
من هنا

الدرس الثانى لتعليم لغة السى بلس بلس C++



الدرس الثانى لتعليم لغة السى بلس بلس C++

اليوم وفي الدرس الثاني نقوم بعرض برنامج جديد لإيضاح ما سبق دراسته في الدرس الأول من دوال ومكتبات .

كما نقوم بدراسة الجمل والتعبيرات التي سنتعامل مع بعضها في البرمجة بلغة الـ C .

أولا برنامج للمراجعة , يقوم هذا البرنامج البسيط بقراءة أربع قيم حقيقية , مع إيجاد متوسطها .

[L]The Program : [/L]
كود:
#include
#include

main()
{
float n1,n2,n3,n4,avg,sum=0;
printf(“ Enter four numbers : “);
scanf(“%f%f%f%f”,&n1, &n2, &n3, &n4) ;
sum=n1+n2+n3+n4 ;
avg=sum/4 ;
printf(\n Sum = %.3f \n Avg = %.2f”,sum,avg);
getch();
return 0;
}
حيث يقوم البرنامج بقراءة أربع قيم حسب الترتيب وهيا n1 , n2 , n3 , n4 , وبعد ذلك يقوم بجمع هذه القيم وتخصيصها للمتغير sum , وبعد ذلك يقوم بايجاد متوسط هذه القيم وتخصيص هذه القيمة للمتغير avg , ثم يقوم بطباعة ناتج البرنامج , وذلك بطباعة قيمتي كل من المجموع والمتوسط .

نلاحظ في البرنامج أننا استعملنا طريقة جديدة في الناتج , وهيا :
كود:

نلاحظ وجود الرقم .3 , ومعنى هذا الرقم هوا طبع النتيجة بوجود ثلاث أرقام فقط بعد الفاصلة , لأن النتيجة ستكون عدد حقيقي .

ونلاحظ أيضاً وجود الرقم 2. , وله نفس المعنى السابق .

ومن هنا نلاحظ أنه يمكننا التحكم في عدد الأرقام بعد الفاصلة في نتائج الأعداد الحقيقة , وذلك كما في المثال السابق .



الجمل والمؤثرات والتعبيرات في لغة الـ C :

1 ) التعبيرات Expressions :

2.5 >>>===> ثابت >>>===> Constent
X >>>===> متغير >>>===> Variable
x+y >>>===> تعبير حسابي >>>===> Arithmetic Expression
grade>=50 >>>===> تعبير منطقي >>>===> Logical Expression

2 ) الجمل Statements :

جملة التخصيص :
[L]
Variable = Expression ;
[/L]

وستتضح أكثر في الأمثلة التالية .



أ ) المؤثرات الحسابية Arithmetic Operators :

+ جمع
- طرح
* ضرب
/ قسمة
باقي القسمة

ب) المؤثرات العلائقية ( ذات العلاقات ) :

== يساوي
=! لا يساوي
> أقل من
=> أقل من أو يساوي
< أكير من =< أكير من أو يساوي جـ ) المؤثرات المنطقية Logical operators : && and || or ! not [c]***********[/c] عذراً لذكري لما سبق دون إيضاح , ولكن سأعمل على الإيضاح في الأمثلة القادمة إن شاء الله . مثال توضيحي : اكتب برنامج لقراءة أطوال أضلاع مستطيل n,m مع حساب : 1 ) محيط المستطيل V . 2 ) مساحة المستطيل A . [L] The Program : [/L] كود: #include
printf(\n Sum = %.3f \n Avg = %.2f”,sum,avg); 3 ) المؤثرات Operator :
#include


void main()
clrscr();
int n,m,v,a ;
printf(“Enter the value of N = “);
scanf(“%d”,&n);
printf(“Enter the value of M “);
scanf(“%d”,&m);
v=(n*2)+(m*2) ;
a=n*m ;
printf(“V = %d \t A = %d”,v,a) ;
getch() ;
}
يقوم البرنامج السابق بقراءة طولي ضلع المستطيل , وتخصيص القيمتين لكل من المتغيرين n,m .

وبعد ذلك يقوم بعملية حسابية , يحسب فيها محيط المستطيل , ومساحته .

ثم يقوم بطباعة ناتج هذه العملية كما في المثال .

ولكن توجد طريقة أخرى لاختصار البرنامج , دون التأثير في نتائجه , وهيا كالتالي :

[L]
The Program :
[/L]
كود:
#include

#include


void main()
clrscr();
int n,m ;
printf(“Enter the value of N = “);
scanf(“%d”,&n);
printf(“Enter the value of M “);
scanf(“%d”,&m);
printf(“\n V = %d \n A = %d”,n*2+m*n,n*m);
getch() ;
}
وقمنا في المثال السابق بنفس الخطوات السابقة , ولكن باستثناء أننا قد ألغينا العمليات الحسابية لكل من المحيط والمساحة في البرنامج الرئيسي , وقمنا بهذه العمليات في دالة الطباعة printf في نهاية البرنامج , وذلك اختصاراً لطول البرنامج في مثل هذه النوعية من البرامج البسيطة .

ملاحظة : يجب كتابة البرنامج بحروف صغيرة ( عدا التعليقات والرسائل الإخراج لدالة printf ) وذلك حتى يتمكن معالج البرنامج من قراءة البرنامج وتنفيذه . 

الدرس الثالث
الدرس الثانى لتعليم لغة السى بلس بلس C++

اليوم وفي الدرس الثاني نقوم بعرض برنامج جديد لإيضاح ما سبق دراسته في الدرس الأول من دوال ومكتبات .

كما نقوم بدراسة الجمل والتعبيرات التي سنتعامل مع بعضها في البرمجة بلغة الـ C .

أولا برنامج للمراجعة , يقوم هذا البرنامج البسيط بقراءة أربع قيم حقيقية , مع إيجاد متوسطها .

[L]The Program : [/L]
كود:
#include
#include

main()
{
float n1,n2,n3,n4,avg,sum=0;
printf(“ Enter four numbers : “);
scanf(“%f%f%f%f”,&n1, &n2, &n3, &n4) ;
sum=n1+n2+n3+n4 ;
avg=sum/4 ;
printf(\n Sum = %.3f \n Avg = %.2f”,sum,avg);
getch();
return 0;
}
حيث يقوم البرنامج بقراءة أربع قيم حسب الترتيب وهيا n1 , n2 , n3 , n4 , وبعد ذلك يقوم بجمع هذه القيم وتخصيصها للمتغير sum , وبعد ذلك يقوم بايجاد متوسط هذه القيم وتخصيص هذه القيمة للمتغير avg , ثم يقوم بطباعة ناتج البرنامج , وذلك بطباعة قيمتي كل من المجموع والمتوسط .

نلاحظ في البرنامج أننا استعملنا طريقة جديدة في الناتج , وهيا :
كود:

نلاحظ وجود الرقم .3 , ومعنى هذا الرقم هوا طبع النتيجة بوجود ثلاث أرقام فقط بعد الفاصلة , لأن النتيجة ستكون عدد حقيقي .

ونلاحظ أيضاً وجود الرقم 2. , وله نفس المعنى السابق .

ومن هنا نلاحظ أنه يمكننا التحكم في عدد الأرقام بعد الفاصلة في نتائج الأعداد الحقيقة , وذلك كما في المثال السابق .



الجمل والمؤثرات والتعبيرات في لغة الـ C :

1 ) التعبيرات Expressions :

2.5 >>>===> ثابت >>>===> Constent
X >>>===> متغير >>>===> Variable
x+y >>>===> تعبير حسابي >>>===> Arithmetic Expression
grade>=50 >>>===> تعبير منطقي >>>===> Logical Expression

2 ) الجمل Statements :

جملة التخصيص :
[L]
Variable = Expression ;
[/L]

وستتضح أكثر في الأمثلة التالية .



أ ) المؤثرات الحسابية Arithmetic Operators :

+ جمع
- طرح
* ضرب
/ قسمة
باقي القسمة

ب) المؤثرات العلائقية ( ذات العلاقات ) :

== يساوي
=! لا يساوي
> أقل من
=> أقل من أو يساوي
< أكير من =< أكير من أو يساوي جـ ) المؤثرات المنطقية Logical operators : && and || or ! not [c]***********[/c] عذراً لذكري لما سبق دون إيضاح , ولكن سأعمل على الإيضاح في الأمثلة القادمة إن شاء الله . مثال توضيحي : اكتب برنامج لقراءة أطوال أضلاع مستطيل n,m مع حساب : 1 ) محيط المستطيل V . 2 ) مساحة المستطيل A . [L] The Program : [/L] كود: #include
printf(\n Sum = %.3f \n Avg = %.2f”,sum,avg); 3 ) المؤثرات Operator :
#include


void main()
clrscr();
int n,m,v,a ;
printf(“Enter the value of N = “);
scanf(“%d”,&n);
printf(“Enter the value of M “);
scanf(“%d”,&m);
v=(n*2)+(m*2) ;
a=n*m ;
printf(“V = %d \t A = %d”,v,a) ;
getch() ;
}
يقوم البرنامج السابق بقراءة طولي ضلع المستطيل , وتخصيص القيمتين لكل من المتغيرين n,m .

وبعد ذلك يقوم بعملية حسابية , يحسب فيها محيط المستطيل , ومساحته .

ثم يقوم بطباعة ناتج هذه العملية كما في المثال .

ولكن توجد طريقة أخرى لاختصار البرنامج , دون التأثير في نتائجه , وهيا كالتالي :

[L]
The Program :
[/L]
كود:
#include

#include


void main()
clrscr();
int n,m ;
printf(“Enter the value of N = “);
scanf(“%d”,&n);
printf(“Enter the value of M “);
scanf(“%d”,&m);
printf(“\n V = %d \n A = %d”,n*2+m*n,n*m);
getch() ;
}
وقمنا في المثال السابق بنفس الخطوات السابقة , ولكن باستثناء أننا قد ألغينا العمليات الحسابية لكل من المحيط والمساحة في البرنامج الرئيسي , وقمنا بهذه العمليات في دالة الطباعة printf في نهاية البرنامج , وذلك اختصاراً لطول البرنامج في مثل هذه النوعية من البرامج البسيطة .

ملاحظة : يجب كتابة البرنامج بحروف صغيرة ( عدا التعليقات والرسائل الإخراج لدالة printf ) وذلك حتى يتمكن معالج البرنامج من قراءة البرنامج وتنفيذه . 

الدرس الثالث

الدرس الاول لتعليم لغة السى بلس بلس C++



 الدرس الاول 
لتعليم لغة السى بلس بلس C++

أولا وقبل البدء في تعلم البرمجة , علينا أن نوضح بعض الأشياء , مثل خصائص البرنامج الجيد :

1) البساطة والوضوح .
2 ) الدقة ( صحة الخطوات ) .
3 ) التوفيق .

والآن وبعد تعريف البرنامج الجيد نقوم بتعريف أنواع البيانات , والتي تنقسم إلى بيانات بسيطة , وبيانات مركبة .

البيانات البسيطة : مثل الأعداد , والرموز ( الحروف ) والبيانات المنطقية , وغير ذلك من البيانات البسيطة المشابهة .

البيانات المركبة : مثل المصفوفات , السلاسل الرمزية , وغير ذلك من البيانات المركبة المشابهة .

نقوم الآن بشرح وصف البيانات العددية , وهيا كالتالي :

المتغيرات Variables :

1 ) متغيرات صحيحة Integer variables :

ويتم تعريفها في البرنامج كالتالي <===<< ; int x,y,z

حيث ترمز كلمة int للمتغير الصحيح , وباقي الرموز هيا تعريف المتغير في البرنامج الرئيسي .

مثل :

;x=3
;y=-4
;z=0

2 ) متغيرات حقيقية Float variables :

ويتم تعريفها في البرنامج كالتالي <===<< ; float a,b,c

حيث ترمز كلمة float للمتغير الحقيقي , وباقي الرموز هيا تعريف المتغير في البرنامج الرئيسي .

مثل :

; a=5.5
; b=1.3
; c=-1.1

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

والآن نستعرض بعض الرموز التي تستخدم في تعريف المتغيرات :

c% ===== للحرف
s% ===== للسلسة الرمزية
f% ===== للعدد الحقيقي
d% =====للعدد الصحيح
x% =====للعدد الصحيح بالنظام السادس عشر
o% =====للعدد الصحيح بالنظام الثماني
n\ ===== القفز إلى سطر جديد
r\ ===== البدء من أول السطر
t\ =====التقدم سبع ( 7 ) مسافات

وسأتقدم بشرح طريقة استعمال كل رمز لاحقاً إن شاء الله .


والآن , نقوم بتعريف بعض الدوال والأكواد المستعملة في هذه اللغة , ونبدأ بدالة القراءة scanf .

الشكل العام للدالة في البرنامج :
;(Scanf(“Format”,&Varibale

Format : تعني تعريف نوع المتغير ( أحد الرموز السابق ذكرها , مثل f% ,أو d% أو غير ذلك من الرموز السابقة ) .

Variable : رمز المتغير الذي تم تعريفه ( وهو الرمز الذي تم تعريف المتغير به في بداية البرنامج ) .

وستتضح الرؤية بإذن الله عند شرح أول برنامج بسيط للتوضيح .

دالة الطباعة أو دالة الإخراج printf .

الشكل العام للدالة في البرنامج :

هناك شكلان لهذه الدالة , الأول شكل يقوم بطباعة جملة معينة فقط أو تعليق معين مثل :

;("printf("Comments

حيث Comments : أي جملة أو تعليق يرغب المبرمج في إضافته .

والشكل الآخر لدالة printf لا يختلف كثيراً عن الشكل الأول , إلا أنه مصحوب بقيم للمتغيرات أو نتائج معينة , مثل :

;(Printf(“Comments and Formats”,variable

حيث Comments : جملة أو تعليق مناسب لرسالة الطباعة .

Formats : نوع المتغير المطلوب طباعته .

Variable: رمز المتغير حسب تعريفه في البرنامج .


والآن نقوم بكتابة برنامج يقوم باستقبال قيمة عددية x,y مع إيجاد مجموعهما .


The Program :
كود:
#include <stdio.h>
#include <conio.h>

void main()
{
int x,y,sum=0;
clrscr();
printf(“Enter Value Of X = “);
scanf(“%d”,&x);
printf(“Enter Value Of Y = “);
ScanF(“%d”,&y);
Sum=x+y;
Printf(“ Sum = X + y = %d + %d = %d ”,x,y,sum) ;
getch();
}
[C]************[/C]

في المثال السابق قمنا بتعريف مكتبين هما :

مكتبة : <stdio.h> وهذه المكتبة مهمة حتى تقوم كل من دالتي scanf , و printf بالعمل .

وكتبة : <conio.h> وهذه المكتبة مهمة حتى تقوم كل من دالتي clrscr , و getch بالعمل , والأولى تقول بتنظيف الشاشة , والتانية تقوم بإيقاف الشاشة عند نهاية البرنامج حتى يتمكن المبرمج من رؤية نتائج برامجه .

طبعا كل مكتبة تحتوي على عدد من الدوال , ولا تعمل هذه الدوال من دون مكتابتها الخاصة , ويمكن للمبرمج معرف هذه المكتبات والدوال من المساعدة الخاصة بالبرنامج ( Help ) .

بعد تعريف المكتبتين قمنا بتعريف المتغيرات , وهيا :

x : المتغير الأول .
y : المتغير الثاني .
sum : حاصل جمع المتغيرين , وقمنا بتصفيره حتى لا يتم الأخذ بأي قيمة أخرى له قد تكون عالقة في ذاكرة الجهاز .

بعد تعريف المتغيرين قمنا بطباعة جملة توضيحية وظيفتها طباعة جملة على الشاشة توضح للمبرمج ضرورة إدخال قيمة للمتغير X , وهيا توضيحية .

وبعد ذلك قمنا بكتابة دالة scanf وظيفتها استقبال قيمة X وتخزينها في ذاكرة الجهاز .

ونفس الشيء بالنسبة للمتغير Y .

وبعد ذلك قمنا بإيجاد حاصل جمع كل من x,y , وتخصيص قيمة الجمع للمتغير sum في جملة رياضية منطقية .

وبعد ذالك قمنا بكتابة جملة طباعة printf , وظيفتها طباعة رسالة معينة عن جمع العددين , وحاصل هذا الجمع .

وبعد ذلك قمنا بكتابة جملة getch ووظيفتها كما سبق وذكرها إيقاف الشاشة حتى يتمكن المبرمج من رؤية نتائج برنامجه .

الدرس الثانى 
 الدرس الاول 
لتعليم لغة السى بلس بلس C++

أولا وقبل البدء في تعلم البرمجة , علينا أن نوضح بعض الأشياء , مثل خصائص البرنامج الجيد :

1) البساطة والوضوح .
2 ) الدقة ( صحة الخطوات ) .
3 ) التوفيق .

والآن وبعد تعريف البرنامج الجيد نقوم بتعريف أنواع البيانات , والتي تنقسم إلى بيانات بسيطة , وبيانات مركبة .

البيانات البسيطة : مثل الأعداد , والرموز ( الحروف ) والبيانات المنطقية , وغير ذلك من البيانات البسيطة المشابهة .

البيانات المركبة : مثل المصفوفات , السلاسل الرمزية , وغير ذلك من البيانات المركبة المشابهة .

نقوم الآن بشرح وصف البيانات العددية , وهيا كالتالي :

المتغيرات Variables :

1 ) متغيرات صحيحة Integer variables :

ويتم تعريفها في البرنامج كالتالي <===<< ; int x,y,z

حيث ترمز كلمة int للمتغير الصحيح , وباقي الرموز هيا تعريف المتغير في البرنامج الرئيسي .

مثل :

;x=3
;y=-4
;z=0

2 ) متغيرات حقيقية Float variables :

ويتم تعريفها في البرنامج كالتالي <===<< ; float a,b,c

حيث ترمز كلمة float للمتغير الحقيقي , وباقي الرموز هيا تعريف المتغير في البرنامج الرئيسي .

مثل :

; a=5.5
; b=1.3
; c=-1.1

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

والآن نستعرض بعض الرموز التي تستخدم في تعريف المتغيرات :

c% ===== للحرف
s% ===== للسلسة الرمزية
f% ===== للعدد الحقيقي
d% =====للعدد الصحيح
x% =====للعدد الصحيح بالنظام السادس عشر
o% =====للعدد الصحيح بالنظام الثماني
n\ ===== القفز إلى سطر جديد
r\ ===== البدء من أول السطر
t\ =====التقدم سبع ( 7 ) مسافات

وسأتقدم بشرح طريقة استعمال كل رمز لاحقاً إن شاء الله .


والآن , نقوم بتعريف بعض الدوال والأكواد المستعملة في هذه اللغة , ونبدأ بدالة القراءة scanf .

الشكل العام للدالة في البرنامج :
;(Scanf(“Format”,&Varibale

Format : تعني تعريف نوع المتغير ( أحد الرموز السابق ذكرها , مثل f% ,أو d% أو غير ذلك من الرموز السابقة ) .

Variable : رمز المتغير الذي تم تعريفه ( وهو الرمز الذي تم تعريف المتغير به في بداية البرنامج ) .

وستتضح الرؤية بإذن الله عند شرح أول برنامج بسيط للتوضيح .

دالة الطباعة أو دالة الإخراج printf .

الشكل العام للدالة في البرنامج :

هناك شكلان لهذه الدالة , الأول شكل يقوم بطباعة جملة معينة فقط أو تعليق معين مثل :

;("printf("Comments

حيث Comments : أي جملة أو تعليق يرغب المبرمج في إضافته .

والشكل الآخر لدالة printf لا يختلف كثيراً عن الشكل الأول , إلا أنه مصحوب بقيم للمتغيرات أو نتائج معينة , مثل :

;(Printf(“Comments and Formats”,variable

حيث Comments : جملة أو تعليق مناسب لرسالة الطباعة .

Formats : نوع المتغير المطلوب طباعته .

Variable: رمز المتغير حسب تعريفه في البرنامج .


والآن نقوم بكتابة برنامج يقوم باستقبال قيمة عددية x,y مع إيجاد مجموعهما .


The Program :
كود:
#include <stdio.h>
#include <conio.h>

void main()
{
int x,y,sum=0;
clrscr();
printf(“Enter Value Of X = “);
scanf(“%d”,&x);
printf(“Enter Value Of Y = “);
ScanF(“%d”,&y);
Sum=x+y;
Printf(“ Sum = X + y = %d + %d = %d ”,x,y,sum) ;
getch();
}
[C]************[/C]

في المثال السابق قمنا بتعريف مكتبين هما :

مكتبة : <stdio.h> وهذه المكتبة مهمة حتى تقوم كل من دالتي scanf , و printf بالعمل .

وكتبة : <conio.h> وهذه المكتبة مهمة حتى تقوم كل من دالتي clrscr , و getch بالعمل , والأولى تقول بتنظيف الشاشة , والتانية تقوم بإيقاف الشاشة عند نهاية البرنامج حتى يتمكن المبرمج من رؤية نتائج برامجه .

طبعا كل مكتبة تحتوي على عدد من الدوال , ولا تعمل هذه الدوال من دون مكتابتها الخاصة , ويمكن للمبرمج معرف هذه المكتبات والدوال من المساعدة الخاصة بالبرنامج ( Help ) .

بعد تعريف المكتبتين قمنا بتعريف المتغيرات , وهيا :

x : المتغير الأول .
y : المتغير الثاني .
sum : حاصل جمع المتغيرين , وقمنا بتصفيره حتى لا يتم الأخذ بأي قيمة أخرى له قد تكون عالقة في ذاكرة الجهاز .

بعد تعريف المتغيرين قمنا بطباعة جملة توضيحية وظيفتها طباعة جملة على الشاشة توضح للمبرمج ضرورة إدخال قيمة للمتغير X , وهيا توضيحية .

وبعد ذلك قمنا بكتابة دالة scanf وظيفتها استقبال قيمة X وتخزينها في ذاكرة الجهاز .

ونفس الشيء بالنسبة للمتغير Y .

وبعد ذلك قمنا بإيجاد حاصل جمع كل من x,y , وتخصيص قيمة الجمع للمتغير sum في جملة رياضية منطقية .

وبعد ذالك قمنا بكتابة جملة طباعة printf , وظيفتها طباعة رسالة معينة عن جمع العددين , وحاصل هذا الجمع .

وبعد ذلك قمنا بكتابة جملة getch ووظيفتها كما سبق وذكرها إيقاف الشاشة حتى يتمكن المبرمج من رؤية نتائج برنامجه .

الدرس الثانى 

كيفية القضاء على الصداع سريعا



الانف له جانبان ,الايمن و الايسر, و نحن نستخدمهما معا" للشهيق و الزفير
.في الحقيقة انهما مختلفان,ويجب ان تكون قادرا"على الشعور بالفرق


وعند اصابتك بالصداع,حاول ان تغلق الجانب الايمن من الانف و استخدام الجانب الايسر للتنفس .وخلال 5 دقائق تقريبا" سيزول الصداع منك ؟


واذا كنت تشعر بالتعب,مجرد اعكس العملية و اغلق الجانب الايسر و تنفس خلال الجانب الايمن. بعد فترة قصيرة ستشعر بانتعاش دماغك


الجانب الايمن يعد الجانب " الحار", لذا يسخن بسهولة, الجانب الايسر يعد الجانب "البارد".إإ


اغلب الاناث يتنفسن بالجانب الايسر من انوفهن, لذا يهدئن بسرعة. و اغلب الذكور يتنفسون بالجانب الايمن من انوفهم


هل لاحظت في لحظة استيقاظك من النوم, من اي الجانبين تتنفس اسرع؟ اليسار ام اليمين ؟؟ اذا كان الجانب الايسر هو الاسرع ستجد نفسك تشعر بالتعب . لذا اغلق الجانب الايسر من الانف و استخدم الجانب الايمن للتنفس و ستشعر بالانتعاش بسرعة


احد الاصدقاء كان يعاني من صداع سيء و كان يراجع الطبيب دوما", وخلال فترة معاناته من الصداع كل ليلة تقريبا" لا يستطيع الدراسة. كان يتناول الادوية المزيلة للالام, و لكنها لم تكن نافعة له


فقرر ان يجرب علاج التنفس هذا: يغلق الممر الايمن من الانف و يتنفس من الممر الايسر للانف. و في اقل من اسبوع ذهب منه الصداع! و استمر على هذا التمرين لمدة شهر واحد


هذا العلاج الطبيعي البديل و بدون استخدام الادوية هو شيء تم اكتسابه بالخبرة
الانف له جانبان ,الايمن و الايسر, و نحن نستخدمهما معا" للشهيق و الزفير
.في الحقيقة انهما مختلفان,ويجب ان تكون قادرا"على الشعور بالفرق


وعند اصابتك بالصداع,حاول ان تغلق الجانب الايمن من الانف و استخدام الجانب الايسر للتنفس .وخلال 5 دقائق تقريبا" سيزول الصداع منك ؟


واذا كنت تشعر بالتعب,مجرد اعكس العملية و اغلق الجانب الايسر و تنفس خلال الجانب الايمن. بعد فترة قصيرة ستشعر بانتعاش دماغك


الجانب الايمن يعد الجانب " الحار", لذا يسخن بسهولة, الجانب الايسر يعد الجانب "البارد".إإ


اغلب الاناث يتنفسن بالجانب الايسر من انوفهن, لذا يهدئن بسرعة. و اغلب الذكور يتنفسون بالجانب الايمن من انوفهم


هل لاحظت في لحظة استيقاظك من النوم, من اي الجانبين تتنفس اسرع؟ اليسار ام اليمين ؟؟ اذا كان الجانب الايسر هو الاسرع ستجد نفسك تشعر بالتعب . لذا اغلق الجانب الايسر من الانف و استخدم الجانب الايمن للتنفس و ستشعر بالانتعاش بسرعة


احد الاصدقاء كان يعاني من صداع سيء و كان يراجع الطبيب دوما", وخلال فترة معاناته من الصداع كل ليلة تقريبا" لا يستطيع الدراسة. كان يتناول الادوية المزيلة للالام, و لكنها لم تكن نافعة له


فقرر ان يجرب علاج التنفس هذا: يغلق الممر الايمن من الانف و يتنفس من الممر الايسر للانف. و في اقل من اسبوع ذهب منه الصداع! و استمر على هذا التمرين لمدة شهر واحد


هذا العلاج الطبيعي البديل و بدون استخدام الادوية هو شيء تم اكتسابه بالخبرة

جميع اكواد واختصارات اتصالات



حصريا جميع اكواد اتصالات مصر

(1) لمعرفة رصيدك اطلب *555# مجانا او كلم 555 بـ 19قرش
(2) لشحن موبايلك بكارت شحن اطلب *556*الكود الشحن # او كلم 555
(3) لمعرفة نظامك الحالى وتفاصيل نظامك كلم 555
(4) لمعرفة رقم موبايلك كلم 555
(5) لمعرفة احدث عروض اتصالات كلم 500 مجانا
(6) لمعرفة رمز الباك الخاص بك او اى خط اتصالات اخر كلم 500 مجانا
(7)  للتحويل لأى نظام اخر كلم 525 بـ29قرش
(8) لاختيار تخصيص الـ 3 ارقام اتصالات على نظام yes كلم 535 او ابعت 3 رسايل في كل رسالة بـ 10قروش للرسالة
(9) للدخول على قائمة اتصالات اطلب *100# او #100# مجانا
(10) لمعرفة استهلاك الحالى من الانترنت اطلب *558*5# مجانا
(11) للأشتراك فى خدمة كولت كول[ الارقام التى حاولت الاتصال بك وتليفونك مغلق او غير متاح ] اطلب *787# بـ 5جينية فى شهر
(12) لأرسال كلمنى شكرا اطلب *111*رقم اتصالات# ليك رسالتين مجانا فى اليوم
(13) لتحويل رصيد من اتصالات لـ اتصالات اطلب *557*الرقم*المبلغ#
(14) للأشتراك فى خدمات الانترنت ابعت رسالة فاضية لـ 250مجانا حتوصلك رسالتين احفظ رسالة التكوين
(15) للأتصال على حساب الغير من اتصالات ضع # قبل الرقم واتصل
(16) للأستخدام خدمة سلفنى شكرا اطلب *911#
(17) للأشتراك فى خدمة كول تون اتصالات كلم 1500 بـ1.50قرش للدقيقة او ابعت كود الاغنية على رقم 1505
(18) للأتصال بخدمة العملاء كلم 333 من اى خط اتصالات او 0111234333 من اى شبكة اخرى او 35346333 من اى خط ارضى
حصريا جميع اكواد اتصالات مصر

(1) لمعرفة رصيدك اطلب *555# مجانا او كلم 555 بـ 19قرش
(2) لشحن موبايلك بكارت شحن اطلب *556*الكود الشحن # او كلم 555
(3) لمعرفة نظامك الحالى وتفاصيل نظامك كلم 555
(4) لمعرفة رقم موبايلك كلم 555
(5) لمعرفة احدث عروض اتصالات كلم 500 مجانا
(6) لمعرفة رمز الباك الخاص بك او اى خط اتصالات اخر كلم 500 مجانا
(7)  للتحويل لأى نظام اخر كلم 525 بـ29قرش
(8) لاختيار تخصيص الـ 3 ارقام اتصالات على نظام yes كلم 535 او ابعت 3 رسايل في كل رسالة بـ 10قروش للرسالة
(9) للدخول على قائمة اتصالات اطلب *100# او #100# مجانا
(10) لمعرفة استهلاك الحالى من الانترنت اطلب *558*5# مجانا
(11) للأشتراك فى خدمة كولت كول[ الارقام التى حاولت الاتصال بك وتليفونك مغلق او غير متاح ] اطلب *787# بـ 5جينية فى شهر
(12) لأرسال كلمنى شكرا اطلب *111*رقم اتصالات# ليك رسالتين مجانا فى اليوم
(13) لتحويل رصيد من اتصالات لـ اتصالات اطلب *557*الرقم*المبلغ#
(14) للأشتراك فى خدمات الانترنت ابعت رسالة فاضية لـ 250مجانا حتوصلك رسالتين احفظ رسالة التكوين
(15) للأتصال على حساب الغير من اتصالات ضع # قبل الرقم واتصل
(16) للأستخدام خدمة سلفنى شكرا اطلب *911#
(17) للأشتراك فى خدمة كول تون اتصالات كلم 1500 بـ1.50قرش للدقيقة او ابعت كود الاغنية على رقم 1505
(18) للأتصال بخدمة العملاء كلم 333 من اى خط اتصالات او 0111234333 من اى شبكة اخرى او 35346333 من اى خط ارضى

اسرار ويندوز اكس بى XP



للدخول الى التشات من غير اسم
. ضع المؤشر على الاسم المستعار Nick Name ثم أبق ظاغطاً على Alt وأكتب 15 . ثم أنقر OK .
------------------------------------------------------
لكي تعرف من يتجسس على جهازك :
أدخل على محرك الدوس وأنت متصل على الأنترنت وأكتب C > netstat ثم أظغط Enter .
-------------------------------------------------------
للحصول على أسرع أتصال أتبع ما يلي
عمل أتصال من لوحة التحكم ثم أختيار شبكة الطلب الهاتفي وفتحها ثم أختيار أيقون الأتصال التي عليها بروتوكلاته وعمل
أتصال بفتحها وضغط زر أتصال والأنتظار الى أن يتم الأتصال بظهور أشارة الأتصال على شريط المهام في الجهة اليسرى
ثم أفتح الأكسبلورر .
--------------------------------------------------------
إضافة عنصر جديد فعال لمفتاح إبدأ
1: شغل برنامج مسجل النظام ريجستري regedit.exe .
2: قم بالأنتقال الى المفتاح التالي وكن حذراً في التعامل مع هذا البرنامج لأن أي غلطة فيه قد تسبب لك مشاكل كبيرة في
الويندوز أنت في غنى عنها HKEY_CLASSES_ROOT\Folder\.
3: سوف تجد بعض العناصر الفعالة متوفرة ، أضغط بالزر الأيمن على وأختر New ثم Key .
4: أكتب عنواناً للبرنامج الفعال الذي تريده وليكن Ms Word .
5: أضغط بالزر الأيمن على العنوان الجديد وأختر New ثم Key .
6: عنون المفتاح الجديد سوف يكون Command أجبارياً .
7: في الجهة اليمنى ستجد عبارة Defult بين قوسين أضغط عليها بالزر الأيسر دبل كليك .
8: سوف يفتح لك نافذة صغيرة ومكان خاص بالكتابة عليك بكتابة موقع الملف التنفيذي الخاص بالبرنامج الفعال الذي تريده
وليكن ' C > Program Files \ Microsoft Office \ Office \ Winword.exe ' .
9: الآن قم بإغلاق مسجل النظام وأضغط بالزر الأيمن على أبدأ وستجد Ms Word بين عناصر إبدأ التفاعلية .
---------------------------------------------------
لكتابة مستند بدون اسم
بكل بساطة حين تعدل الإسم أو تضيفه إضغط على Aalt ومع ضغطك عليه إ ضغط 15 . وسيبقى الملف بدون اسم .
--------------------------------------------------
لعمل لوحة تحكم سهلة كل ماعليك عمله هو
1: إضغط على إبدأ بالزر الأيمن للفأرة ثم أختر فتح ( Open )
2: ستفتح لك نافذة أنت تعرف محتواها جيداً ثم قم بعمل مجلد جديد
3: قم بنسخ السطر التالي ولصقه في خانة اسم المجلد الجديد
control panel .{21EC2020-3AEA-1069-A2DD-08002B30309D}
4. الآن أذهب الى زر إبدأ وسوف تجد لوحة التحكم السهلة .
-----------------------------------------------------
لإضافة مساند الى قائمة Send To ماعليك إلا
1: اذهب الى فولدر الوندوز
2 اذهب الى فولدر ( Send To )
3: هناك يمكنك وضع أي مكان ترغب في ارسال ملفاتك إليه مثل ( C . )
------------------------------------------------------
لتسريع جهازك بشرط أن يكون جهازك من نوع بانتيوم ماعليك إلا
1: إفتح ملف config.sys وبعد السطر DEVIS=C WINDOWS\HIMEM.SYS أضف السطور التالية :
Files=100
Buffers=30
Stacks=9,256
2: إفتح ملف win.ini وبعد السطر ENH368 أضف السطرين
PageBuffers=32
DMBuffersize=64
مع الملاحظة تكون الإضافة عن طريق EDIT ثم أعد تشغيل الجهاز .
--------------------------------------------------
لكي تتعرف على أسماء أشهر براكين العالم من خلال خافة الشاشة ماعليك إلا:
1. اذهب الى Control Panel ثم Display .
2. اضغط على قائمة Screen saver
3. اختر 3D
4. اضغط على Sittings .
5. في مستطيل الحوار أكتب Volcano .
6. إبدأ حافظة الشاشة ستجد أنها تعرض لك أسماء البراكين الشهيرة .
---------------------------------------------------
لإيقاف الجهاز عن العمل بنقرة واحدة نعم نقرة واحدة فقط لكي تعملها ماعليك إلا
1. إضغط بزر الفأرة الأيمن على سطح المكتب وأختر Shortcut .
2. ستظهر لك بعد نافذة أكتب تحت Command line مايلي C windows\rundll.exe user.exe,exitwindows
مع ملاحظة المسافة بين rundll.exe و user.exe والفاصلة بين user.exe و exitwindows أضغط بعد ذلك
على Next سيطلب منك تسمية هذا الأختصار وليكن Shut Down وأخيراً إضغط على Finish فيصبح لديك
إختصار لإ قفال الويندوز بنقرة واحدة .
------------------------------------------------------
لتحسين عمل الذاكرة في جهازك اتبع مايلي :
1. انقر بالزر الأيمن على My Computer .
2. اختر Properties .
3. اذهب الى علامة التبويب Perance .
4. اضغط زر File System .
5. في المربع Typical Role of this computer اختر Network Server .
6. اضغط OK ثم Colse .
7. سوف يطا لبك ويندوز بإعادة التشغيل .
------------------------------------------------------
لتسريع بداية تشغل جهازك ماعليك إلا :
1. انقر باليمين على جهار الكومبيوتر My Computer الموجود على سطح المكتب .
2. اختر خصائص Properties .
3. ثم اختر لسان التبويب الأداء Ability .
4. اضغط على نظام الملفات File System .
5. ثم لسان تبويب القرص المرن Floppy Disk .
6. ألغ إشارة الصح بجانب البحث عن محركات أقراص مرنة في كل مرة تقوم بتشغيل الكومبيوتر Search For New Floppy Disks When Starting .
-------------------------------------------------------
إذا نسيت في يوم ما كلمة المرور الخاصة بك فما عليك إلا أن :
1. اخرج من مربع حوار كلمة السر أولاً بضغط خروج Escape .
2. أحظر سطر أوامر دوس في مجلد ويندوز وأطبع C > dir *.pwl .
3. إمسح الملف الذ يضم أسمك فيه ثم أعد تشغيل ويندوز لتدخل كلم سر جديدة .
------------------------------------------------
إذامللت يوماً من العمل ولم تجد لعبة في جهازك لكي تتسلى إذاً تعال لأعلمك كيف تلعب لعبة بسيطة ومسلية :
1. افتح مستند جديد .
2. حول الكتابة الى اللغة الأنجليزية ثم أكتب كلمة Bluc .
3. ظلل الكلمة ثم أختار تنسيق at ثم خط Font .
4. اختر نمط الخط Font Style وحدد عريض Bold ثم أضغط OK .
5. اضغط مفتاح المسافة بعد كلمة Bluue مباشرة .
6. اذهب الى قائمة مساعدة Help ثم أختار حول About .
7. ابق إضغط على كبستي Ctrl و Alt الموجودتين على يسار لوحة المفاتيح وأنقر على علامة الورورد .
8. استعمل حرف M لجهة اليمين و Z لجهة اليسار .
-------------------------------------------------------------
هذه إيعازات مخفية ولكنها قوية أرجوا أن تتعلموها :
1. Tracert يقوم هذا الأمر الذي يشتغل من سطر الأوامر ( دوس ) بتتبع خطوات الموقع الذي تكتبه
مثال
c tracet cnn.com
يقوم بأظهار جميع الخطوات التي يمر فيها طلبك لموقع cnn من مزود الخدمة الى الهدف .
2. ftp وظيفته
3. telnet
4. scanreg يقوم بفحص سجل الويندوز Registry والتأكد من خلوه من الأخطاء ويقوم بعمل نسخة إحتياطية منه .
5. sfc يقوم بعملية فحص ملفات ويندوز والتأكد من خلوها من الأخطاء ، وإذا وجد خطأ فإنه يطالبك بإدخال قرص الـ Windows
لتصحيح الخطأ .
6. Msconfig
7. regeit
8، sysedit
-----------------------------------------------------
1 . التخلص من ملفات النظام المؤقته آلياً :
عند العمل على برنامج معين يقوم النظام بإنشاء ملفات مؤقته .. ويعطيها إمتداد TMP .. وطبعاً يقوم النظام بحذف هذه الملفات عادةً بشكل آلي عند إغلاق البرنامج .. لكن في بعض الأحيان لا يقوم بذلك نتيجة خطأ معين كإغلاق الجهاز بشكلٍ مفاجئ .. مما يجعل هذه الملفات تتراكم في القرص الصلب .. ويسبب ذلك إستنزاف لسعة القرص وكذلك لذاكرة الجهاز .. ويفضل حذف هذه الملفات بشكلٍ دوري .. وهناك عدة طرق لذلك .. فمنها برنامج Disk Clean Up الملحق مع نظام الويندوز .. أو بالطريقة اليدوية وذلك بفتح المجلد C windows\temp وحذف الملفات منه .
وبدون شك أن هذه العمليه وتكرارها دائماً يعتبر مضيعة لبعض الوقت .. لكن يوجد حل بسيط .. يجعل النظام يحذف هذه الملفات بشكلٍ آلي في كل مره تعيد تشغيل الجهاز .. وذلك بإتباع ما يلي :
1. Start ..
2. Run ..
3. اكتب الأمر التالي : sysedit
4. واضغط على Ok وستشاهد شاشة برنامج System Configuration Editor ..
5. أختر نافذة ملف Autoexec.bat .. وإكتب بعد السطر الأخير .. الأمرين التاليين :
@DelTree /Y C WINDOWS\Temp
@MD C WINDOWS\Temp
(( حيث يقوم السطر الأول بإعطاء أمر لحذف مجلد 'C Windows\Temp' .. ويقوم السطر الثاني منه بإعطاء أمر بإنشاء ذلك المجلد من جديد .. وبتلك الطريقه تتخلص تلقائياً من الملفات المؤقته المزعجه )) .
6. وبعد ذلك إضغط على File واختر Save ثم أعد تشغيل الجهاز .
---------------------------------------------------
2. برامج بداية التشغيل .
توجد بعض البرامج والتي تعمل تلقائياً عند تشغيل النظام .. وتشاهد البعض منها في شريط المهام بجانب الساعه مثل هذه الصورة .. والبعض الآخر يعمل بالخلفية .. ويمكنك معرفتها بالضغط على الأزرار Ctrl+Alt+Del وستظهر لك نافذه وفيها أسماء جميع البرامج العاملة بالذا
وفي بعض الأحيان تتراكم الكثير من البرامج .. مما يسبب بطء الجهاز ويستنزف الكثير من الذاكرة .. وأغلب تلك البرامج ليست ضرورية .. أو أنك لا تحتاجها كلها .
ويمكن التغلب على هذه المشكله عبر برنامج System Configuration Utility والملحق مع نظام الويندوز ..:
1. Start ..
2. Run ..
3. أكتب الأمر التالي : msconfig
4. واختر نافذة Startup
5. أزل العلامة من أمام اسم البرنامج لمنعه من العمل في بداية تشغيل الجهاز .
6. إضغط على Ok .. ثم أعد تشغيل الجهاز .
ويمكنك في أي وقت آخر إعادة ميزة التشغيل التلقائيه لأي برنامج .. وذلك بتكرار العملية السابقة .. والتأشير بعلامة أمام اسم البرنامج .. وستجده عادة مجدداً للعمل تلقائياً في بداية التشغيل596
للدخول الى التشات من غير اسم
. ضع المؤشر على الاسم المستعار Nick Name ثم أبق ظاغطاً على Alt وأكتب 15 . ثم أنقر OK .
------------------------------------------------------
لكي تعرف من يتجسس على جهازك :
أدخل على محرك الدوس وأنت متصل على الأنترنت وأكتب C > netstat ثم أظغط Enter .
-------------------------------------------------------
للحصول على أسرع أتصال أتبع ما يلي
عمل أتصال من لوحة التحكم ثم أختيار شبكة الطلب الهاتفي وفتحها ثم أختيار أيقون الأتصال التي عليها بروتوكلاته وعمل
أتصال بفتحها وضغط زر أتصال والأنتظار الى أن يتم الأتصال بظهور أشارة الأتصال على شريط المهام في الجهة اليسرى
ثم أفتح الأكسبلورر .
--------------------------------------------------------
إضافة عنصر جديد فعال لمفتاح إبدأ
1: شغل برنامج مسجل النظام ريجستري regedit.exe .
2: قم بالأنتقال الى المفتاح التالي وكن حذراً في التعامل مع هذا البرنامج لأن أي غلطة فيه قد تسبب لك مشاكل كبيرة في
الويندوز أنت في غنى عنها HKEY_CLASSES_ROOT\Folder\.
3: سوف تجد بعض العناصر الفعالة متوفرة ، أضغط بالزر الأيمن على وأختر New ثم Key .
4: أكتب عنواناً للبرنامج الفعال الذي تريده وليكن Ms Word .
5: أضغط بالزر الأيمن على العنوان الجديد وأختر New ثم Key .
6: عنون المفتاح الجديد سوف يكون Command أجبارياً .
7: في الجهة اليمنى ستجد عبارة Defult بين قوسين أضغط عليها بالزر الأيسر دبل كليك .
8: سوف يفتح لك نافذة صغيرة ومكان خاص بالكتابة عليك بكتابة موقع الملف التنفيذي الخاص بالبرنامج الفعال الذي تريده
وليكن ' C > Program Files \ Microsoft Office \ Office \ Winword.exe ' .
9: الآن قم بإغلاق مسجل النظام وأضغط بالزر الأيمن على أبدأ وستجد Ms Word بين عناصر إبدأ التفاعلية .
---------------------------------------------------
لكتابة مستند بدون اسم
بكل بساطة حين تعدل الإسم أو تضيفه إضغط على Aalt ومع ضغطك عليه إ ضغط 15 . وسيبقى الملف بدون اسم .
--------------------------------------------------
لعمل لوحة تحكم سهلة كل ماعليك عمله هو
1: إضغط على إبدأ بالزر الأيمن للفأرة ثم أختر فتح ( Open )
2: ستفتح لك نافذة أنت تعرف محتواها جيداً ثم قم بعمل مجلد جديد
3: قم بنسخ السطر التالي ولصقه في خانة اسم المجلد الجديد
control panel .{21EC2020-3AEA-1069-A2DD-08002B30309D}
4. الآن أذهب الى زر إبدأ وسوف تجد لوحة التحكم السهلة .
-----------------------------------------------------
لإضافة مساند الى قائمة Send To ماعليك إلا
1: اذهب الى فولدر الوندوز
2 اذهب الى فولدر ( Send To )
3: هناك يمكنك وضع أي مكان ترغب في ارسال ملفاتك إليه مثل ( C . )
------------------------------------------------------
لتسريع جهازك بشرط أن يكون جهازك من نوع بانتيوم ماعليك إلا
1: إفتح ملف config.sys وبعد السطر DEVIS=C WINDOWS\HIMEM.SYS أضف السطور التالية :
Files=100
Buffers=30
Stacks=9,256
2: إفتح ملف win.ini وبعد السطر ENH368 أضف السطرين
PageBuffers=32
DMBuffersize=64
مع الملاحظة تكون الإضافة عن طريق EDIT ثم أعد تشغيل الجهاز .
--------------------------------------------------
لكي تتعرف على أسماء أشهر براكين العالم من خلال خافة الشاشة ماعليك إلا:
1. اذهب الى Control Panel ثم Display .
2. اضغط على قائمة Screen saver
3. اختر 3D
4. اضغط على Sittings .
5. في مستطيل الحوار أكتب Volcano .
6. إبدأ حافظة الشاشة ستجد أنها تعرض لك أسماء البراكين الشهيرة .
---------------------------------------------------
لإيقاف الجهاز عن العمل بنقرة واحدة نعم نقرة واحدة فقط لكي تعملها ماعليك إلا
1. إضغط بزر الفأرة الأيمن على سطح المكتب وأختر Shortcut .
2. ستظهر لك بعد نافذة أكتب تحت Command line مايلي C windows\rundll.exe user.exe,exitwindows
مع ملاحظة المسافة بين rundll.exe و user.exe والفاصلة بين user.exe و exitwindows أضغط بعد ذلك
على Next سيطلب منك تسمية هذا الأختصار وليكن Shut Down وأخيراً إضغط على Finish فيصبح لديك
إختصار لإ قفال الويندوز بنقرة واحدة .
------------------------------------------------------
لتحسين عمل الذاكرة في جهازك اتبع مايلي :
1. انقر بالزر الأيمن على My Computer .
2. اختر Properties .
3. اذهب الى علامة التبويب Perance .
4. اضغط زر File System .
5. في المربع Typical Role of this computer اختر Network Server .
6. اضغط OK ثم Colse .
7. سوف يطا لبك ويندوز بإعادة التشغيل .
------------------------------------------------------
لتسريع بداية تشغل جهازك ماعليك إلا :
1. انقر باليمين على جهار الكومبيوتر My Computer الموجود على سطح المكتب .
2. اختر خصائص Properties .
3. ثم اختر لسان التبويب الأداء Ability .
4. اضغط على نظام الملفات File System .
5. ثم لسان تبويب القرص المرن Floppy Disk .
6. ألغ إشارة الصح بجانب البحث عن محركات أقراص مرنة في كل مرة تقوم بتشغيل الكومبيوتر Search For New Floppy Disks When Starting .
-------------------------------------------------------
إذا نسيت في يوم ما كلمة المرور الخاصة بك فما عليك إلا أن :
1. اخرج من مربع حوار كلمة السر أولاً بضغط خروج Escape .
2. أحظر سطر أوامر دوس في مجلد ويندوز وأطبع C > dir *.pwl .
3. إمسح الملف الذ يضم أسمك فيه ثم أعد تشغيل ويندوز لتدخل كلم سر جديدة .
------------------------------------------------
إذامللت يوماً من العمل ولم تجد لعبة في جهازك لكي تتسلى إذاً تعال لأعلمك كيف تلعب لعبة بسيطة ومسلية :
1. افتح مستند جديد .
2. حول الكتابة الى اللغة الأنجليزية ثم أكتب كلمة Bluc .
3. ظلل الكلمة ثم أختار تنسيق at ثم خط Font .
4. اختر نمط الخط Font Style وحدد عريض Bold ثم أضغط OK .
5. اضغط مفتاح المسافة بعد كلمة Bluue مباشرة .
6. اذهب الى قائمة مساعدة Help ثم أختار حول About .
7. ابق إضغط على كبستي Ctrl و Alt الموجودتين على يسار لوحة المفاتيح وأنقر على علامة الورورد .
8. استعمل حرف M لجهة اليمين و Z لجهة اليسار .
-------------------------------------------------------------
هذه إيعازات مخفية ولكنها قوية أرجوا أن تتعلموها :
1. Tracert يقوم هذا الأمر الذي يشتغل من سطر الأوامر ( دوس ) بتتبع خطوات الموقع الذي تكتبه
مثال
c tracet cnn.com
يقوم بأظهار جميع الخطوات التي يمر فيها طلبك لموقع cnn من مزود الخدمة الى الهدف .
2. ftp وظيفته
3. telnet
4. scanreg يقوم بفحص سجل الويندوز Registry والتأكد من خلوه من الأخطاء ويقوم بعمل نسخة إحتياطية منه .
5. sfc يقوم بعملية فحص ملفات ويندوز والتأكد من خلوها من الأخطاء ، وإذا وجد خطأ فإنه يطالبك بإدخال قرص الـ Windows
لتصحيح الخطأ .
6. Msconfig
7. regeit
8، sysedit
-----------------------------------------------------
1 . التخلص من ملفات النظام المؤقته آلياً :
عند العمل على برنامج معين يقوم النظام بإنشاء ملفات مؤقته .. ويعطيها إمتداد TMP .. وطبعاً يقوم النظام بحذف هذه الملفات عادةً بشكل آلي عند إغلاق البرنامج .. لكن في بعض الأحيان لا يقوم بذلك نتيجة خطأ معين كإغلاق الجهاز بشكلٍ مفاجئ .. مما يجعل هذه الملفات تتراكم في القرص الصلب .. ويسبب ذلك إستنزاف لسعة القرص وكذلك لذاكرة الجهاز .. ويفضل حذف هذه الملفات بشكلٍ دوري .. وهناك عدة طرق لذلك .. فمنها برنامج Disk Clean Up الملحق مع نظام الويندوز .. أو بالطريقة اليدوية وذلك بفتح المجلد C windows\temp وحذف الملفات منه .
وبدون شك أن هذه العمليه وتكرارها دائماً يعتبر مضيعة لبعض الوقت .. لكن يوجد حل بسيط .. يجعل النظام يحذف هذه الملفات بشكلٍ آلي في كل مره تعيد تشغيل الجهاز .. وذلك بإتباع ما يلي :
1. Start ..
2. Run ..
3. اكتب الأمر التالي : sysedit
4. واضغط على Ok وستشاهد شاشة برنامج System Configuration Editor ..
5. أختر نافذة ملف Autoexec.bat .. وإكتب بعد السطر الأخير .. الأمرين التاليين :
@DelTree /Y C WINDOWS\Temp
@MD C WINDOWS\Temp
(( حيث يقوم السطر الأول بإعطاء أمر لحذف مجلد 'C Windows\Temp' .. ويقوم السطر الثاني منه بإعطاء أمر بإنشاء ذلك المجلد من جديد .. وبتلك الطريقه تتخلص تلقائياً من الملفات المؤقته المزعجه )) .
6. وبعد ذلك إضغط على File واختر Save ثم أعد تشغيل الجهاز .
---------------------------------------------------
2. برامج بداية التشغيل .
توجد بعض البرامج والتي تعمل تلقائياً عند تشغيل النظام .. وتشاهد البعض منها في شريط المهام بجانب الساعه مثل هذه الصورة .. والبعض الآخر يعمل بالخلفية .. ويمكنك معرفتها بالضغط على الأزرار Ctrl+Alt+Del وستظهر لك نافذه وفيها أسماء جميع البرامج العاملة بالذا
وفي بعض الأحيان تتراكم الكثير من البرامج .. مما يسبب بطء الجهاز ويستنزف الكثير من الذاكرة .. وأغلب تلك البرامج ليست ضرورية .. أو أنك لا تحتاجها كلها .
ويمكن التغلب على هذه المشكله عبر برنامج System Configuration Utility والملحق مع نظام الويندوز ..:
1. Start ..
2. Run ..
3. أكتب الأمر التالي : msconfig
4. واختر نافذة Startup
5. أزل العلامة من أمام اسم البرنامج لمنعه من العمل في بداية تشغيل الجهاز .
6. إضغط على Ok .. ثم أعد تشغيل الجهاز .
ويمكنك في أي وقت آخر إعادة ميزة التشغيل التلقائيه لأي برنامج .. وذلك بتكرار العملية السابقة .. والتأشير بعلامة أمام اسم البرنامج .. وستجده عادة مجدداً للعمل تلقائياً في بداية التشغيل596

اجمد واجدد رسائل موبيل 2011



الشاى قال للسكر يا أبيض يا تاعبنى ردالسكر وقاله يا أسمر يا مدوبنى.

-----------------------------

حبيتك ومش بايدى وخلصت عليك رصيدى عبرنى ب missed call او حتى بكيس هريدي.

-----------------------------

غلبت ارنلك وانت قلبك حديد يا ترى ده تقل منك ولا قلة رصيد.

-----------------------------

حبيبى يا مدلع حبك عندى مولع نفسى اخدك ونخلع ونسيب المذاكرة تولع.

-----------------------------

معرفش ليه وحشنى يا واد يا ابو دم خفيف كانك حتة لحمه محشيه فى نص رغيف.

-----------------------------

اشوف القمر يرتاح البال اشوف النجم يطيب الحال اشوف وشك يجينى اسهال

حب حبيتك...عشق عشقتك كل ما عندى اديتك روح الله يخرب بيتك.
-----------------------------

حبيبى ماشى حافى والارض بتلسعه يارتنى كنت شبشب كنت أقدر انفعه .

-----------------------------

هاقطع هدوى وأنكش شعرى و أصوت وأقول..ياناس ياناس يا هوة باموت فيك.

-----------------------------

حيوان..حقير..سافل..قليل الادب اللى مايحبك ياقمر

-----------------------------

أحبك ياراوشى عبرنى وأنعشنى دلعنى وهشكنى كسرنى و فرفشنى بس أوعى فى يوم تطنشنى

-----------------------------

أتقل على حبيبك وأرمية فى بلاعة يرجعلك مستحمى وفى بقة نعناعة .

-----------------------------

طلعت فوق السطوح هز الهوا كمى كل العيال أتجوزوا وأنا لسة قاعدجنب أمى.

-----------------------------

ممكن أطلعك من بين مليون تيس لأنك الغزال الوحيد فيهم.

------------------------------------------

اللى يشوفك يقول إنك فارس فىساحته وماحدش عارف إنك حتى الشراب شاحتة.

-----------------------------

عشمنى بالمحبةوشعلقنى بالهوا حايلتة حبة حبة زودها وأتلوى.

-----------------------------

أمى بتسلم عليك وبتقول لك بلاش تيجى بكرةعلشان جبنا غسالة بالكهربة.

-----------------------------

مشتاق لك واحشنى ميعادك قرب الامضاء...عزرائيل
-----------------------------

أفعل ما تريد فالجنة COMPLET مع تحيات إبليس

-----------------------------

موش مهم أنك حلو وموش مهم أنك شيك المهم أنك مؤدب وده اللى عاجبنى فيك
-----------------------------
الشاى قال للسكر يا أبيض يا تاعبنى ردالسكر وقاله يا أسمر يا مدوبنى.

-----------------------------

الرسالة دى مش حب فيك دى علشان تفكرك إن فيه حد معبرك.

-----------------------------


بكبورت قلبى انفتح طرطش على كمى ابعتلى رسالة وارحم عذاب امى.

-----------------------------

حبيتك ومش بايدى وخلصت عليك رصيدى عبرنى بمسد كول او حتى بكيس هريدى.

-----------------------------

عازمك على العشاء بكرة الصبح الساعه12 العصر يوم الاحد بعد صلاة الجمعه لازم تيجى
-----------------------------
بحبك اد روبى ونانسى يووووووووو قصدى اد روحى ونفسى.

-----------------------------

يا متلقح جوه قلبى وانا قلبى مش متين من حلاوتك جانى سكر ادينى انسولين.

-----------------------------


ارمينى فى بير غويط واحدف ورايا ديناميت تطلع روحى تقولك وحشتنى يا عفريت.

-----------------------------

بثراحة وحثتنى رثايلك من زمان يعنى علثان انكثر ثنى تطنثنى يا عثل.

-----------------------------

غلبت ارنلك وانت قلبك حديد يا ترى ده تقل منك ولا قلة رصيد.
-----------------------------

نفسى اكون جمبك واهمس فى اذنك واقولك من كل قلبى وبكل مشاعرى معاك لب.

-----------------------------
الشاى قال للسكر يا أبيض يا تاعبنى ردالسكر وقاله يا أسمر يا مدوبنى.

-----------------------------

حبيتك ومش بايدى وخلصت عليك رصيدى عبرنى ب missed call او حتى بكيس هريدي.

-----------------------------

غلبت ارنلك وانت قلبك حديد يا ترى ده تقل منك ولا قلة رصيد.

-----------------------------

حبيبى يا مدلع حبك عندى مولع نفسى اخدك ونخلع ونسيب المذاكرة تولع.

-----------------------------

معرفش ليه وحشنى يا واد يا ابو دم خفيف كانك حتة لحمه محشيه فى نص رغيف.

-----------------------------

اشوف القمر يرتاح البال اشوف النجم يطيب الحال اشوف وشك يجينى اسهال

حب حبيتك...عشق عشقتك كل ما عندى اديتك روح الله يخرب بيتك.
-----------------------------

حبيبى ماشى حافى والارض بتلسعه يارتنى كنت شبشب كنت أقدر انفعه .

-----------------------------

هاقطع هدوى وأنكش شعرى و أصوت وأقول..ياناس ياناس يا هوة باموت فيك.

-----------------------------

حيوان..حقير..سافل..قليل الادب اللى مايحبك ياقمر

-----------------------------

أحبك ياراوشى عبرنى وأنعشنى دلعنى وهشكنى كسرنى و فرفشنى بس أوعى فى يوم تطنشنى

-----------------------------

أتقل على حبيبك وأرمية فى بلاعة يرجعلك مستحمى وفى بقة نعناعة .

-----------------------------

طلعت فوق السطوح هز الهوا كمى كل العيال أتجوزوا وأنا لسة قاعدجنب أمى.

-----------------------------

ممكن أطلعك من بين مليون تيس لأنك الغزال الوحيد فيهم.

------------------------------------------

اللى يشوفك يقول إنك فارس فىساحته وماحدش عارف إنك حتى الشراب شاحتة.

-----------------------------

عشمنى بالمحبةوشعلقنى بالهوا حايلتة حبة حبة زودها وأتلوى.

-----------------------------

أمى بتسلم عليك وبتقول لك بلاش تيجى بكرةعلشان جبنا غسالة بالكهربة.

-----------------------------

مشتاق لك واحشنى ميعادك قرب الامضاء...عزرائيل
-----------------------------

أفعل ما تريد فالجنة COMPLET مع تحيات إبليس

-----------------------------

موش مهم أنك حلو وموش مهم أنك شيك المهم أنك مؤدب وده اللى عاجبنى فيك
-----------------------------
الشاى قال للسكر يا أبيض يا تاعبنى ردالسكر وقاله يا أسمر يا مدوبنى.

-----------------------------

الرسالة دى مش حب فيك دى علشان تفكرك إن فيه حد معبرك.

-----------------------------


بكبورت قلبى انفتح طرطش على كمى ابعتلى رسالة وارحم عذاب امى.

-----------------------------

حبيتك ومش بايدى وخلصت عليك رصيدى عبرنى بمسد كول او حتى بكيس هريدى.

-----------------------------

عازمك على العشاء بكرة الصبح الساعه12 العصر يوم الاحد بعد صلاة الجمعه لازم تيجى
-----------------------------
بحبك اد روبى ونانسى يووووووووو قصدى اد روحى ونفسى.

-----------------------------

يا متلقح جوه قلبى وانا قلبى مش متين من حلاوتك جانى سكر ادينى انسولين.

-----------------------------


ارمينى فى بير غويط واحدف ورايا ديناميت تطلع روحى تقولك وحشتنى يا عفريت.

-----------------------------

بثراحة وحثتنى رثايلك من زمان يعنى علثان انكثر ثنى تطنثنى يا عثل.

-----------------------------

غلبت ارنلك وانت قلبك حديد يا ترى ده تقل منك ولا قلة رصيد.
-----------------------------

نفسى اكون جمبك واهمس فى اذنك واقولك من كل قلبى وبكل مشاعرى معاك لب.

-----------------------------

اغبى اسئله في العالم



اغبى اسئله في العالم
لما يشوفوك متمدد و مغمض
يسألونك بدك تنام؟
لا بحاول أموت

.....................بتصلو على تليفون البيت
يسألونك وينك؟
بالسوق و ساحب السلك لهناك

يشوفوك طالع من الحمام مبلل
يسألونك متحمم؟
لا طالع من البحر

واقف عند الاصنصير بالدور الارضي
يسألونك طـِآلع؟
لا بستنى الشقة تنزلي

يشوفون سيارتك مصدومه
يسالونك حادث؟
لا والله نيو لوك
اغبى اسئله في العالم
لما يشوفوك متمدد و مغمض
يسألونك بدك تنام؟
لا بحاول أموت

.....................بتصلو على تليفون البيت
يسألونك وينك؟
بالسوق و ساحب السلك لهناك

يشوفوك طالع من الحمام مبلل
يسألونك متحمم؟
لا طالع من البحر

واقف عند الاصنصير بالدور الارضي
يسألونك طـِآلع؟
لا بستنى الشقة تنزلي

يشوفون سيارتك مصدومه
يسالونك حادث؟
لا والله نيو لوك
Google