THE LEGEND
22-03-2003, 06:32 AM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
اما بعد
لقد حلمت كثيراً بجعل فرع من المنتدى يناقش ويهتم ببرامج البرمجه الكثيرة والممتعه والمفيده ايضاً ولنتبادل فيه خبراتنا وليكون مرجعنا في لغات البرمجه . واتمنى ان يتحقق هذا الحلم ولذلك قمت بكتابه اول موضوع يحكي عن لغة البرمجه visual C++ وهو عباره عن شرح موجز عن برنامج C++، وهذا الشرح هو عبارة عن تلخيص عن مادرسته في الجامعه وارجوا الاستفاده للجميع كما سأقوم بعد ذلك بشرح برنامج visaul Basic والـ Delphi ومن باب اخر سأقوم بطرح شرح خطوة بخطوه لتعليم 3d studio max وتعلم الـفلاش بحرافه و photoshop ايضا ولكني اعلم ايضا ان هذا المشروع سيأخذ وقت طويلا لإعداده واتمنى من الجميع المساعدة بما يستطيعون .
وفي البدايه ياأخواني ارجوا التركيز على الملاحظات التي تكتب فهي ضرورية جدا ، سنبداء الشرح مع كيفيه التعامل مع الاوامر وكيفية كتابتها ثم سنطلع على غالبية الاوامر وبعض المسائل الحسابيه .
قم بفتح البرنامج ثم إذهب إلى file New ثم اختار اول تبويب من اليسار ثم قم بإختيار C++ file resource
ثم اختار اسما للملف بحيث يكون امتداده *.cpp
ملاحظه: // هذه العلامه والذي يأتي بعدها لا يساوي شيئاً وهي تستخدم للتعليق فقط .
في البدايه لابد من حفظ صيغ معينه للبرنامج وسأبداء بالصيغه الاولى والاسهل
#include<iostream.h>
main( )
{
//هنا ستكون اوامر البرنامج
return 0;
}
تعتبر هذه صيغه اساسيه ولابد من حفظها
فكلمه #include تعتبر من الاساسيات
ثم بعدها <iostream.h> هذا متغير على حسب البرنامج وهنا نستخدمه لان به وظائف مثل العرض او الادخال وسوف تتعرف على خصائصه لاحقاً عندما نبداء بكتابه برنامج
ثم يأتي main( )وتعتبر ايضاً من الاساسيات
وهذه العلامه { تعني انه قد تم فتح (باب على سبيل المثال) وبداخله ستكون الاوامر مع ضروره إغلاقه بعد الانتهاء بعلامة الاغلاق هذه }
ثم تأتي return 0 وهذه تعتبر مكمله البرنامج حيث لابد من وجودها ليتم ترصد جميع الاخطاء التي تنتج عند كتابه اي امر عن طريق الخطاء .
ثم تأتي بعدها ; وهي تعني توقف عن قراءة هذا السطر وانتقل إلى السطر الاخر
ملاحظه : لابد ان تكتب جميع الاوامر بحروف صغيره small latter
وقبل البدء بكتابه اي برنامج لابد من تحليل وظائفه اي لابد ان تكون هناك فكره للبرنامج ثم بعد ذلك البدء بكتابه البرنامج .
1- وحدة الاخراج او العرض OUTPUT
مثال 1: قم بكتابة برنامج يقوم بعرض رساله ترحيبيه للمستخدم ؟
الجواب التحليلي
1- لدينا فقط output 1
2- ، يعني مطلوب منا ان نقوم بعرض رساله (اي مخرج واحد وهو الرسالة الترحيبيه) .
كود البرنامج :
#include<iostream.h>
main ( )
{
cout <<”welcome to C++ programming” ;
return 0;
}
اعرف انه الان لديك اسئله كثيره حول هذا البرنامج دعني اوضح لك
هل تذكر عندما قلت لك اني سأقوم بشرح وظائف <iostream.h> ، الان سوف تتعرف على احدى وظائفها وهو امر الاخراج او العرض وهو cout .
وعندما نقوم بكتابته يكون على هذا النحو cout<<
ثم كل مايكتب بين " " يتم عرضه على الشاشه
ثم لاتنسي وضع ; لانهاء تقود البرنامج لانهاء قراءة السطر الحالي والانتقال إلي السطر التالي .
ملاحظه : لكي نقوم بتشغيل البرنامج نذهب إلى امر compiler ليتم الكشف عن اخطاء الكتابه او الاوامر ، من ثم بعد ذلك نقوم بالضغط على run او من لوحة المفاتيح نضغط على Ctrl + F9 كما اود ان اعلمكم بأن البرنامج لن يعمل بحالة وجود اي خطا صغير في البرنامج .
مثال 2-قم بكتابة برنامج يقوم بعرض رسالتين ترحيبيتين بحيث تكون كل رساله في سطر خاص بها ؟
الجواب التحليلي
1- لدينا 2 outputs
2- المطلوب عرض مخرجين وهما الرساله الترحيبيه الاولى والرسالة الترحيبيه الثانيه .
كود البرنامج
#include<iostream.h>
main ( )
{
cout<<”welcome to AhmedMask1 C++ \n”;
cout<<”welcome to AhmedMask2 C++”;
return 0;
}
في هذا المثال قمنا بإضافة \n وهي تعني إضافه سطر جديد ولاحظ انه لابد من كتابة \n بداخل " "
ملاحظه : توجد هناك اكثر من طريقه لكتابة برامج C++ فمثال رقم 2 يمكن ان يكتب بهذه الطريقه ايضاً
#include<iostream.h>
main ( )
{
cout<<”Welcome to AhmedMask1 C++\n Welcome to AhmedMask2”;
return 0;
}
بفهم هذين المثالين تكون قد اصبحت قادراً على عمل اي رساله تود عرضها للمستخدم من خلال برنامج C++
2- وحدة الادخال INPUT
من هنا ستتدرج بنا الصعوبات إلى الاعلى وارجوا التركيز أكثر
سنقوم بإستخدام امر int وهذا الامر عباره عن متغير وهو اختار لكلمه integer وتعني المتغير وضيفه هذا الامر هو اتاحه الفرصه لنا لكي نقوم بإضافة قيم وحروف وهذه القيم والحروف ستكون عباره عن فراغات في الذاكره وظيفتها حفظ هذا المتغير ويلزم ان لا تكون في بداية هذه المتغيرات ارقام فمثلا نستطيع إضافه اي متغير بعد كلمة int بهذا الشكل
int ahmed1
ولا نستطيع ان نضيفه بهذا الشكل
int 1ahmed
ففي المثال الاول كان المتغير يحتوي على رقم ولكنه لم يبداء به وفي المثال الثاني بداء بالرقم وذلك خطا .
مثال 1: قم بكتابة برنامج يتيح لك ادخال اي اسم او رقم ثم قم بعرض المدخل هذا ؟
التحليل :
1- عدد المدخلات : 1
2- عدد المخرجات :1
3- عرض الناتج .
كود البرنامج :
#include<iostream.h>
main ( )
{
int NM;
cout<<”pls enter any name or any number”;
cin>>NM
cout<<”your name or number is “ ;
cout<<NM;
return 0;
}
وفي هذا المثال قمنا بإضافة متغير بإسم NM
ملاحظه : ليس من الضرورة إضافة المتغير NM فتستطيع كتابة اي متغير اخر اي حروف اخرى او اي جمله قصيره ، ولكن كما قلنا سابقا لابد ان تبداء بحرف وليس برقم .
ثم بعد ذلك قمنا بعرض رسالة تحتوي على التالي : فضلا ادخل اسماً او رقماً
ثم بعد ذلك استخدمنا امر جديد وهو الامر الادخال cin
ويكتب بهذه الصيغه cin>> حيث ان المتغير يكتب مباشرة بعده بدون هذين الاقواس “ “ سواء في الـ cin او cout وطبعا مع ملاحظه كتابة بعد الامر ; لتدل على انك اكملت الامر الحالي وللأنتقال إلى الامر التالي .
ثم بعد ذلك قمنا بعرض جمله تقول : الاسم او الرقم هو : ثم تقوم بعرض المدخل الذي ادخله المستخدم
طريقة اخرى لكود البرنامج : نستطيع ان نستغنى عن الـcout الثانية وذلك بإضافه ما بعدها إلى السطر الي قبلها هكذا .
cout<<”your name or number is”<<NM;
وكلاهما صحيح .
مثال 2- قم بكتابة برنامج يقوم بقراءة رقمين ثم بعد قرائتهما يقوم بجمعهما ؟
(سنقوم بحله بعدة طرق)
التحليل :
1- عدد المدخلات : 2
2- عدد المخرجات : 1
3- العمليات الحسابيه : جمع المدخلين
4- عرض الناتج.
كود البرنامج :
#include<iostream.h>
main ( )
{
int N1,N2,N3;
cout<<"pls enter two numbers";
cin>>N1;
cin>>N2;
N3=N1+N2;
cout<<"the result after summation is " ;
cout<<N3;
return 0;
}
حيث قمنا بإضافه ثلاثة متغيرات وهي N1 , N2 , N3 وكما نلاحظ لابد من وجود العلامه هذه ( , ) تفصل بين كل متغير .
ثم بعد ذلك ننتقل إلى السطر الثاني وفيه يتم عرض رساله تحتوي على : فضلا قم بإدخال رقمين . ننتقل بعد ذلك ونلاحظ امر الادخال cin وفيه المتغير الاول N1 ثم بعد ذلك يأتي امر الادخال الثاني وفيه N2
بعد ذلك قمنا بعمل المعادله الحسابيه وهي جمع العددين او المدخلين الاول مع الثاني .
بعد ذلك عرض النتيجه والتي ستكون في المتغير الثالث N3. ويمكن حل ذلك بطرق اخرى منها
#include<iostream.h>
main ( )
{
int N1,N2,N3;
cout<<"pls enter two numbers";
cin>>N1>>N2;
N3=N1+N2;
cout<<"the result after summation is " <<N3;
return 0;
}
وهذه الطريقة تعتبر مختصره بالنسبه للطريقة الاولى وكلاهما صحيح .
ملاحظه : نستطيع تبديل علامة الجمع بأي علامه اخرى كالطرح والضرب والقسمه ، كما يمكننا زياده المتغيرات على حسب مطلوب البرنامج . وكما ذكرت لكم في السابق المتغيرات هذه عباره عن فراغ يتم حجزه في الذاكره . فمثلا في المثال السابق عندما عرفنا ثلاثة متغيرات N1,N2,N3 تكون لدينا ثلاثه مساحات فارغه
وعندما يقراء المستخدم عبارة (فضلا ادخل رقمين) وعلى فرض انه ادخل الرقم الاول 4 فسوف تتحول مساحه الـN1 إلى رقم 4 وذلك داخل برنامج C++ طبعاً وعلى فرض انه ادخل الرقم الثاني 5 فسوف يتحول فراغ او مساحة الـN2 إلى الرقم 5 وعند ذلك وبعد العملية الحسابية سيكون الناتج هو رقم 9.
مثال 3 – قم بكتابة برنامج يمكنك على ادخال ثواني ويحسب كم تساوي ساعات ودقائق وثواني ؟
التحليل :
1- لدينا مدخل واحد وهو الثواني
2- تحويل الثواني إلى ساعات وذلك يتم عند قسمه الساعات على 3600 لان الساعه الواحدة عبارة عن 3600 ثانيه (مع ملاحظة ان القسمه هذه بدون باقي ونستخدم لها هذا الرمز / وليس هذا %)
3- بعد ذلك تحويل الباقي من الثواني إلى دقائق وذلك بقسمة / الثواني على 3600 ثم قسمة الباقي % على 60 لان الساعه عبارة عن 60 دقيقه
4- بعد ذلك نقوم بقسمه باقي الدقائق %60 على باقي الساعات %3600 .
5- عرض الناتج .
كود البرنامج : (نستطيع اختصار البرنامج بهذه الطريقه (كما يمكننا انا نحلها بأكثر من طريقه))
#include<iostream.h>
main()
{
int sec1;
cout<<"Enter whate you have in second\n";
cin>>sec1;
cout<<"the time in hour min sec is"<<(sec1/3600)<<":"<<(sec1%3600)/60<<":"<<((sec1%3600)%60);
return 0;
}
وهنا قمنا بإدخال متغير واحد وهو الثواني ، ثم قنما بعرض شاشه تنص على "ادخل مالديك بالثواني" ثم امر الادخال cin مع المتغير sec1 ، ثم قمنا بعرض جملة (الوقت هو بالساعات : بالدقائق : بالثواني هو) ثم العمليات الحسابيه .
مع ملاحظة وجود هذا النص ":" وهو ليتم فصل الساعات والدقائق والثواني ولكي يتم عرضها على سبيل المثال بهذا الشكل 1:55:15
مثال (واجب عليكم هذا انتم حلوه ) ههههههههههههه يالله سوف اساعدكم فيه قليل
قم بعمل برنامج يقول يإدخال رقمين ثم يقسم الاول على الثاني ثم اعرض الناتج؟
بسيط صح
التحليل :
1- المدخلات 2
2- العملية الحسابيه القسمه : قسمة العدد الاول على الثاني
3- عرض الناتج
كود البرنامج
#include<iostream.h>
main ( )
{
int N1,N2,N3;
cout<<"pls enter two numbers";
cin>>N1>>N2;
N3=N1/N2;
cout<<"the result after Division is " <<N3;
return 0;
}
طبعاً إذا قمنا بكتابة البرنامج بهذه الطريقة سوف يكون الناتج خطأ ؟؟
حتى إذا استبدلنا علامه القمسة العادية / إلى باقي القسمه هذه % .
ساقول لكم لماذا سيكون الناتج خطا ، لاننا إذا ادخل الرقم الاول 5 والرقم الثاني 2 مفروض انه يعطينا الناتج 2.5
طيب قم بتطبيق البرنامج الان وقل لي هل الناتج 2.5 ؟؟ بالتأكيد لا . فالناتج طلع 2 فقط . وهنا نحتاج ان نتعامل مع متغير اخر غير متغير int ؟ وهو float وهذه مقارنه بين الاوامر التي يمكننا استخدامها بدلا عن int
مع ملاحظه اننا غالبا سوف نقوم بإستخدام الـint و الـfloat .
ارجوا التركيز على هذه القائمه .
int = 2 bytes في الخانه الواحده
مثلا
int N1
N1=2 bytes اي المتغير الذي بداخل الانتجر يحتوي على خانتين
float = 4 bytes
double = 8 bytes
char = 1 byte وهو خاص بالاحرف وليس بالارقام
والحل الصحيح في هذه الحاله سيكون هو :
#include<iostream.h>
main ( )
{
float N1,N2,N3;
cout<<"pls enter two numbers";
cin>>N1>>N2;
N3=N1/N2;
cout<<"the result after Division is " <<N3;
return 0;
}
ارجوا ان يكون الشرح كامل ومفيد ، وهذا كان درس اليوم ترقبوا المزيد غداً بإذن الله تعالى
كما اتمنى التعقيب على الموضوع
أخوكم أحمد
السلام عليكم ورحمة الله وبركاته
اما بعد
لقد حلمت كثيراً بجعل فرع من المنتدى يناقش ويهتم ببرامج البرمجه الكثيرة والممتعه والمفيده ايضاً ولنتبادل فيه خبراتنا وليكون مرجعنا في لغات البرمجه . واتمنى ان يتحقق هذا الحلم ولذلك قمت بكتابه اول موضوع يحكي عن لغة البرمجه visual C++ وهو عباره عن شرح موجز عن برنامج C++، وهذا الشرح هو عبارة عن تلخيص عن مادرسته في الجامعه وارجوا الاستفاده للجميع كما سأقوم بعد ذلك بشرح برنامج visaul Basic والـ Delphi ومن باب اخر سأقوم بطرح شرح خطوة بخطوه لتعليم 3d studio max وتعلم الـفلاش بحرافه و photoshop ايضا ولكني اعلم ايضا ان هذا المشروع سيأخذ وقت طويلا لإعداده واتمنى من الجميع المساعدة بما يستطيعون .
وفي البدايه ياأخواني ارجوا التركيز على الملاحظات التي تكتب فهي ضرورية جدا ، سنبداء الشرح مع كيفيه التعامل مع الاوامر وكيفية كتابتها ثم سنطلع على غالبية الاوامر وبعض المسائل الحسابيه .
قم بفتح البرنامج ثم إذهب إلى file New ثم اختار اول تبويب من اليسار ثم قم بإختيار C++ file resource
ثم اختار اسما للملف بحيث يكون امتداده *.cpp
ملاحظه: // هذه العلامه والذي يأتي بعدها لا يساوي شيئاً وهي تستخدم للتعليق فقط .
في البدايه لابد من حفظ صيغ معينه للبرنامج وسأبداء بالصيغه الاولى والاسهل
#include<iostream.h>
main( )
{
//هنا ستكون اوامر البرنامج
return 0;
}
تعتبر هذه صيغه اساسيه ولابد من حفظها
فكلمه #include تعتبر من الاساسيات
ثم بعدها <iostream.h> هذا متغير على حسب البرنامج وهنا نستخدمه لان به وظائف مثل العرض او الادخال وسوف تتعرف على خصائصه لاحقاً عندما نبداء بكتابه برنامج
ثم يأتي main( )وتعتبر ايضاً من الاساسيات
وهذه العلامه { تعني انه قد تم فتح (باب على سبيل المثال) وبداخله ستكون الاوامر مع ضروره إغلاقه بعد الانتهاء بعلامة الاغلاق هذه }
ثم تأتي return 0 وهذه تعتبر مكمله البرنامج حيث لابد من وجودها ليتم ترصد جميع الاخطاء التي تنتج عند كتابه اي امر عن طريق الخطاء .
ثم تأتي بعدها ; وهي تعني توقف عن قراءة هذا السطر وانتقل إلى السطر الاخر
ملاحظه : لابد ان تكتب جميع الاوامر بحروف صغيره small latter
وقبل البدء بكتابه اي برنامج لابد من تحليل وظائفه اي لابد ان تكون هناك فكره للبرنامج ثم بعد ذلك البدء بكتابه البرنامج .
1- وحدة الاخراج او العرض OUTPUT
مثال 1: قم بكتابة برنامج يقوم بعرض رساله ترحيبيه للمستخدم ؟
الجواب التحليلي
1- لدينا فقط output 1
2- ، يعني مطلوب منا ان نقوم بعرض رساله (اي مخرج واحد وهو الرسالة الترحيبيه) .
كود البرنامج :
#include<iostream.h>
main ( )
{
cout <<”welcome to C++ programming” ;
return 0;
}
اعرف انه الان لديك اسئله كثيره حول هذا البرنامج دعني اوضح لك
هل تذكر عندما قلت لك اني سأقوم بشرح وظائف <iostream.h> ، الان سوف تتعرف على احدى وظائفها وهو امر الاخراج او العرض وهو cout .
وعندما نقوم بكتابته يكون على هذا النحو cout<<
ثم كل مايكتب بين " " يتم عرضه على الشاشه
ثم لاتنسي وضع ; لانهاء تقود البرنامج لانهاء قراءة السطر الحالي والانتقال إلي السطر التالي .
ملاحظه : لكي نقوم بتشغيل البرنامج نذهب إلى امر compiler ليتم الكشف عن اخطاء الكتابه او الاوامر ، من ثم بعد ذلك نقوم بالضغط على run او من لوحة المفاتيح نضغط على Ctrl + F9 كما اود ان اعلمكم بأن البرنامج لن يعمل بحالة وجود اي خطا صغير في البرنامج .
مثال 2-قم بكتابة برنامج يقوم بعرض رسالتين ترحيبيتين بحيث تكون كل رساله في سطر خاص بها ؟
الجواب التحليلي
1- لدينا 2 outputs
2- المطلوب عرض مخرجين وهما الرساله الترحيبيه الاولى والرسالة الترحيبيه الثانيه .
كود البرنامج
#include<iostream.h>
main ( )
{
cout<<”welcome to AhmedMask1 C++ \n”;
cout<<”welcome to AhmedMask2 C++”;
return 0;
}
في هذا المثال قمنا بإضافة \n وهي تعني إضافه سطر جديد ولاحظ انه لابد من كتابة \n بداخل " "
ملاحظه : توجد هناك اكثر من طريقه لكتابة برامج C++ فمثال رقم 2 يمكن ان يكتب بهذه الطريقه ايضاً
#include<iostream.h>
main ( )
{
cout<<”Welcome to AhmedMask1 C++\n Welcome to AhmedMask2”;
return 0;
}
بفهم هذين المثالين تكون قد اصبحت قادراً على عمل اي رساله تود عرضها للمستخدم من خلال برنامج C++
2- وحدة الادخال INPUT
من هنا ستتدرج بنا الصعوبات إلى الاعلى وارجوا التركيز أكثر
سنقوم بإستخدام امر int وهذا الامر عباره عن متغير وهو اختار لكلمه integer وتعني المتغير وضيفه هذا الامر هو اتاحه الفرصه لنا لكي نقوم بإضافة قيم وحروف وهذه القيم والحروف ستكون عباره عن فراغات في الذاكره وظيفتها حفظ هذا المتغير ويلزم ان لا تكون في بداية هذه المتغيرات ارقام فمثلا نستطيع إضافه اي متغير بعد كلمة int بهذا الشكل
int ahmed1
ولا نستطيع ان نضيفه بهذا الشكل
int 1ahmed
ففي المثال الاول كان المتغير يحتوي على رقم ولكنه لم يبداء به وفي المثال الثاني بداء بالرقم وذلك خطا .
مثال 1: قم بكتابة برنامج يتيح لك ادخال اي اسم او رقم ثم قم بعرض المدخل هذا ؟
التحليل :
1- عدد المدخلات : 1
2- عدد المخرجات :1
3- عرض الناتج .
كود البرنامج :
#include<iostream.h>
main ( )
{
int NM;
cout<<”pls enter any name or any number”;
cin>>NM
cout<<”your name or number is “ ;
cout<<NM;
return 0;
}
وفي هذا المثال قمنا بإضافة متغير بإسم NM
ملاحظه : ليس من الضرورة إضافة المتغير NM فتستطيع كتابة اي متغير اخر اي حروف اخرى او اي جمله قصيره ، ولكن كما قلنا سابقا لابد ان تبداء بحرف وليس برقم .
ثم بعد ذلك قمنا بعرض رسالة تحتوي على التالي : فضلا ادخل اسماً او رقماً
ثم بعد ذلك استخدمنا امر جديد وهو الامر الادخال cin
ويكتب بهذه الصيغه cin>> حيث ان المتغير يكتب مباشرة بعده بدون هذين الاقواس “ “ سواء في الـ cin او cout وطبعا مع ملاحظه كتابة بعد الامر ; لتدل على انك اكملت الامر الحالي وللأنتقال إلى الامر التالي .
ثم بعد ذلك قمنا بعرض جمله تقول : الاسم او الرقم هو : ثم تقوم بعرض المدخل الذي ادخله المستخدم
طريقة اخرى لكود البرنامج : نستطيع ان نستغنى عن الـcout الثانية وذلك بإضافه ما بعدها إلى السطر الي قبلها هكذا .
cout<<”your name or number is”<<NM;
وكلاهما صحيح .
مثال 2- قم بكتابة برنامج يقوم بقراءة رقمين ثم بعد قرائتهما يقوم بجمعهما ؟
(سنقوم بحله بعدة طرق)
التحليل :
1- عدد المدخلات : 2
2- عدد المخرجات : 1
3- العمليات الحسابيه : جمع المدخلين
4- عرض الناتج.
كود البرنامج :
#include<iostream.h>
main ( )
{
int N1,N2,N3;
cout<<"pls enter two numbers";
cin>>N1;
cin>>N2;
N3=N1+N2;
cout<<"the result after summation is " ;
cout<<N3;
return 0;
}
حيث قمنا بإضافه ثلاثة متغيرات وهي N1 , N2 , N3 وكما نلاحظ لابد من وجود العلامه هذه ( , ) تفصل بين كل متغير .
ثم بعد ذلك ننتقل إلى السطر الثاني وفيه يتم عرض رساله تحتوي على : فضلا قم بإدخال رقمين . ننتقل بعد ذلك ونلاحظ امر الادخال cin وفيه المتغير الاول N1 ثم بعد ذلك يأتي امر الادخال الثاني وفيه N2
بعد ذلك قمنا بعمل المعادله الحسابيه وهي جمع العددين او المدخلين الاول مع الثاني .
بعد ذلك عرض النتيجه والتي ستكون في المتغير الثالث N3. ويمكن حل ذلك بطرق اخرى منها
#include<iostream.h>
main ( )
{
int N1,N2,N3;
cout<<"pls enter two numbers";
cin>>N1>>N2;
N3=N1+N2;
cout<<"the result after summation is " <<N3;
return 0;
}
وهذه الطريقة تعتبر مختصره بالنسبه للطريقة الاولى وكلاهما صحيح .
ملاحظه : نستطيع تبديل علامة الجمع بأي علامه اخرى كالطرح والضرب والقسمه ، كما يمكننا زياده المتغيرات على حسب مطلوب البرنامج . وكما ذكرت لكم في السابق المتغيرات هذه عباره عن فراغ يتم حجزه في الذاكره . فمثلا في المثال السابق عندما عرفنا ثلاثة متغيرات N1,N2,N3 تكون لدينا ثلاثه مساحات فارغه
وعندما يقراء المستخدم عبارة (فضلا ادخل رقمين) وعلى فرض انه ادخل الرقم الاول 4 فسوف تتحول مساحه الـN1 إلى رقم 4 وذلك داخل برنامج C++ طبعاً وعلى فرض انه ادخل الرقم الثاني 5 فسوف يتحول فراغ او مساحة الـN2 إلى الرقم 5 وعند ذلك وبعد العملية الحسابية سيكون الناتج هو رقم 9.
مثال 3 – قم بكتابة برنامج يمكنك على ادخال ثواني ويحسب كم تساوي ساعات ودقائق وثواني ؟
التحليل :
1- لدينا مدخل واحد وهو الثواني
2- تحويل الثواني إلى ساعات وذلك يتم عند قسمه الساعات على 3600 لان الساعه الواحدة عبارة عن 3600 ثانيه (مع ملاحظة ان القسمه هذه بدون باقي ونستخدم لها هذا الرمز / وليس هذا %)
3- بعد ذلك تحويل الباقي من الثواني إلى دقائق وذلك بقسمة / الثواني على 3600 ثم قسمة الباقي % على 60 لان الساعه عبارة عن 60 دقيقه
4- بعد ذلك نقوم بقسمه باقي الدقائق %60 على باقي الساعات %3600 .
5- عرض الناتج .
كود البرنامج : (نستطيع اختصار البرنامج بهذه الطريقه (كما يمكننا انا نحلها بأكثر من طريقه))
#include<iostream.h>
main()
{
int sec1;
cout<<"Enter whate you have in second\n";
cin>>sec1;
cout<<"the time in hour min sec is"<<(sec1/3600)<<":"<<(sec1%3600)/60<<":"<<((sec1%3600)%60);
return 0;
}
وهنا قمنا بإدخال متغير واحد وهو الثواني ، ثم قنما بعرض شاشه تنص على "ادخل مالديك بالثواني" ثم امر الادخال cin مع المتغير sec1 ، ثم قمنا بعرض جملة (الوقت هو بالساعات : بالدقائق : بالثواني هو) ثم العمليات الحسابيه .
مع ملاحظة وجود هذا النص ":" وهو ليتم فصل الساعات والدقائق والثواني ولكي يتم عرضها على سبيل المثال بهذا الشكل 1:55:15
مثال (واجب عليكم هذا انتم حلوه ) ههههههههههههه يالله سوف اساعدكم فيه قليل
قم بعمل برنامج يقول يإدخال رقمين ثم يقسم الاول على الثاني ثم اعرض الناتج؟
بسيط صح
التحليل :
1- المدخلات 2
2- العملية الحسابيه القسمه : قسمة العدد الاول على الثاني
3- عرض الناتج
كود البرنامج
#include<iostream.h>
main ( )
{
int N1,N2,N3;
cout<<"pls enter two numbers";
cin>>N1>>N2;
N3=N1/N2;
cout<<"the result after Division is " <<N3;
return 0;
}
طبعاً إذا قمنا بكتابة البرنامج بهذه الطريقة سوف يكون الناتج خطأ ؟؟
حتى إذا استبدلنا علامه القمسة العادية / إلى باقي القسمه هذه % .
ساقول لكم لماذا سيكون الناتج خطا ، لاننا إذا ادخل الرقم الاول 5 والرقم الثاني 2 مفروض انه يعطينا الناتج 2.5
طيب قم بتطبيق البرنامج الان وقل لي هل الناتج 2.5 ؟؟ بالتأكيد لا . فالناتج طلع 2 فقط . وهنا نحتاج ان نتعامل مع متغير اخر غير متغير int ؟ وهو float وهذه مقارنه بين الاوامر التي يمكننا استخدامها بدلا عن int
مع ملاحظه اننا غالبا سوف نقوم بإستخدام الـint و الـfloat .
ارجوا التركيز على هذه القائمه .
int = 2 bytes في الخانه الواحده
مثلا
int N1
N1=2 bytes اي المتغير الذي بداخل الانتجر يحتوي على خانتين
float = 4 bytes
double = 8 bytes
char = 1 byte وهو خاص بالاحرف وليس بالارقام
والحل الصحيح في هذه الحاله سيكون هو :
#include<iostream.h>
main ( )
{
float N1,N2,N3;
cout<<"pls enter two numbers";
cin>>N1>>N2;
N3=N1/N2;
cout<<"the result after Division is " <<N3;
return 0;
}
ارجوا ان يكون الشرح كامل ومفيد ، وهذا كان درس اليوم ترقبوا المزيد غداً بإذن الله تعالى
كما اتمنى التعقيب على الموضوع
أخوكم أحمد