بسم الله الرحمن الرحيم و الصلاة و السلام على سيدنا محمد صلى الله عليه و سلم
اجابة استشكالات الاعضاء تكون كل يوم جمعة فقط بسبب مشاغلى الخاصة
كما نوهت سابقا ان كل يوم اربعاء ستكون هناك اسئلة و الاجوبة الخاصة بها يوم الخميس و ايضا نوهت ان سيكون هناك مثاليين صعبين على ما اخذناه من دروس و ايضا سيكون هذا الموضوع لاستشكالتكم لكن الخاصة بالدروس المقدمة فقط!
اذا فلا تتعجل و تسأل اسئلة لم ندرسها و اذا وجدت فى اخير الدورة انه لم يتم تدريس شئ فعليك بالقول .
بداية سوف نأخذ مثالين و شرحهما بأذن الله
بسم الله نبدء:
فلنقول اننا بحاجة لعمل برنامج يحسب مرتب الموظف الاسبوعى , مدة العمل الاسبوعى هى 40 ساعة اى ساعة اخرى تحتسب وقت اضافى بمرتب اضافى الموظف يربح كل ساعة 18.25$ (مرتب حلو اوى ياسلام :D)
و للوقت الاضافى 27.78$ اذا فسوف يكون صافى الساعات 50 ساعة منهم 10 ساعات وقت اضافى بمرتب اخر
الخوارزمية التى سنعمل عليها هى التالى
اقتباسRegular wages = base pay rate * regular hours
Overtime = overtime pay rate * overtime hours
Total wages = regular wages + overtime
جرب ان تقوم ببرمجته بنفسك
هل قومت بذلك؟؟؟
اذ لم يكن فالكود التالى سيعمل
#include <iostream>
using namespace std;
int main()
{
double regularWages,
baseRatePay = 18.25,
baseHours = 40.0,
Overtime,
overtimePayRate=27.78,
overtimeHours=10,
TotalWages;
//يحسب المرتب الطبيعى
regularWages=baseRatePay * baseHours;
//يحسب المرتب الاضافى
Overtime = overtimePayRate * overtimeHours;
//يحسب المرتب الكامل
TotalWages = regularWages + Overtime;
//يعرض المرتب
cout << "Your employe : " << TotalWages << "!" << endl;
system("pause");
return 0;
}المخرجات:
اقتباسYour employe : 1007.8!
الشرح :
كما شاهدتم فى المثال لقد وضعت الملاحظات لكى تساعدكم على الفهم السريع يوجد 6 متغيرات من نوع:
regularWages,baseRatePay,baseHours,Overtime,overtimePayRate,overtimeHours,TotalWages.
اوكى فى السطر ال 16 قمنا بعمل عملية رياضية و هى ضرب ال baseRatePay بال baseHours اى المعدل الاساسى للمال فى المعدل الاساسى لساعات العمل و تم تخزين الناتج فى regularWages اى المرتب الثابت.
regularWages=baseRatePay * baseHours;
فى السطر ال 19 ضربنا ال overtimePayRate فى overtimeHours اى معدل المال للساعة الاضافية فى كمية الساعات الاضافية و تم التحزين فى Overtime اى الوقت الاضافى (اسف لم اختار اسم مناسب لهذا المتغير)
Overtime = overtimePayRate * overtimeHours;
فى السطر 21 قمنا باضافة المتغير regularWages مع Overtime و تخزينهم فى المتغير TotalWages
TotalWages = regularWages + Overtime;
فى السطر 23 تم عرض الناتج
تم الانتهاء من المثال الاول .
المثال الثانى:
قم بعمل برنامج يحسب النسبة و الخصم :
معرفة النسب فى الرياضيات هى شئ اساسى فى البرمجة ايضا و تُستخدم فى الواقع علامة % لكن فى البرمجة و من ضمنهم لغة السى++ لا نستخدم تلك العلامة (%) لكى تعرف النسبة فى البرمجة نقوم بعمل متغير من نوع floating point (يجب ان يكون floating point ) لأنه سيحمل رقم به كسر من ثم اذا اردنا حسابة 50 فى المئة من نسبة شئ ما اذا فسوف نضرب الشئ ما ذاك و مثال سيكون 100 جنيه اريد ان ارى نسبة ال 50 فى المئة بها سوف نقوم بالتالى
100*0.5
سوف يكون الناتج 50
اذا اردنا ان تكون النسبة هى 20 بالمئة فسوف يكون المثال اتالى
100*0.2
اذا اردنا ان تكون النسبة هى 3 بالمئة فسوف يكون المثال التالى:
100*0.03
اذا اردنا 19 بالمئة فسوف يكون المثال التالى :
100*0.019
اتمنى انها تكون وضحت
حسنا البرنامج المطلوب هو :
فلنقول انك بتكسب 6000 دولار فى الشهر و ان هناك نسبة من المال تذهب الى البنك حسنا سووف نقوم بعمل برنامج يحسب لنا ان كان المال الذى سيذهب الى البنك هو 5 فى المئة , 7 فى المئة و 10 فى المئة
اولا حسابة النسبة:
المثال:
#include <iostream>
using namespace std;
int main()
{
//المرتب الشهر و النسبة
double monthlyPay = 6000.0, Precentage;
//سوف نحسب الان 5 فى المئة و نعرضها
Precentage = monthlyPay * 0.05;
cout << "5 Precent is $" << Precentage
<< " per month.\n";
//سوف نحسب الان 7 فى المئة و نعرضها
Precentage = monthlyPay * 0.07;
cout << "7 Precent is $" << Precentage
<< " per month.\n";
//سوف نحسب الان 5 فى المئة و نعرضها
Precentage = monthlyPay * 0.1;
cout << "10 Precent is $" << Precentage
<< " per month.\n";
system("pause");
return 0;
}المخرجات:
اقتباس5 precent is $300 per month.
7 precent is $420 per month.
10 precent is $600 per month.
الشرح:
فى السطر ال 11 قمنا بعمل متغيران فقط monthlyPay و Precentage. ال monthlyPay سيتم وضع بداخله المرتب الشهرى اى 6000.0 , ال Precentage هذا سوف يتم وضع بداخله النسبة التى نريد ان نعرفها مثل ما رئينا فى المثال .
من السطر 14 الى 16 تم حسابة 5 فى المئة من المرتب الشهرى , العملية الحسابية انتهت فى السطر رقم 14 حين تم ضرب ال monthlyPay فى 0.05 اى 5 فى المئة و تم تخزين الناتج داخل Precentage و الذى يتم ظهوره على الشاشة فى السطر ال 15 و ال 16
فى السطر ال 18 الى 21 نقوم بنفس ما قولناه لكن لحسابة 7 فى المئة ثم من السطر 24 الى 26 نقوم بحسابة 10 فى المئة .
ثانيا حسابة الخصم:
شئ اخر هنقوم به و هو حسابة الخصم بالنسب مثال:
بائع بقالة يبيع شئ (معرفوش) ب 59.95$ و سوف يقوم بخصم 20 بالمئة و طُلب منك ان تقوم بكتابة ذلك البرنامج
الخوارزمية :
اولا : تتعرف على كمية الخصم المرادة و هى 20 بالمئة من سعر القطعة الرئيسية
ثانيا : تقوم بعمل طرح للخصم من السعر الحقيقة
مثال البرنامج:
//هذا البرنامج يقوم بحسابة سعر القطعة
//سعر تلك القطعة هو 59.95$ و سوف نقوم بخصم 20 بالمئة من سعرها
//ثم نقوم بعمل الطرح
#include <iostream>
using namespace std;
int main()
{
//المتغير الذى سوف يُوجد به السعر الاساسى
//الخصم ثم سعر البيع
double regularPrice = 59.95, discount,salePrice;
//حسابة الخصم
discount = regularPrice * 0.2;
//حسابة سعر البيع بطرح الخصم من السعر الرئيسى
salePrice = regularPrice - discount;
//عرض النتائج
cout << "Regular price : $" << regularPrice << endl;
cout << "Discount amount : $" << discount << endl;
cout << "Sale price : $" << salePrice << endl;
system("pause");
return 0;
}اقتباسالمخرجات :
Regular price : $59.95
Discount amount : $11.99
Sale price : $47.96
الشرح :
فى السطر التالى :
double regularPrice = 59.95, discount,salePrice;
قمنا بعمل 3 متغيرات regularPrice لكى يحمل السعر الرئيسى للقطعة و قمنا بوضع داخلها الرقم 59.95 . ثم المتغير discount الذى سيتم وضع به نسبة الخصم عندما يقوم بعمل العملية الحسابية المطلوبة منه عند بدء البرنامج. ثم المتغير salePrice الذى سوف يحمل السعر النهائى للقطعة.
فى السطر التالى :
discount = regularPrice * 0.2;
لحسابة نسبة الخصم و هى 20 بالمئة بطريقة ضرب السعر الحقيقى ب 0.2 اى 20 بالمئة فى لغة البرمجة وتم تخزين الناتج فى المتغير discount .
فى السطر التالى
salePrice = regularPrice - discount;
يتم وضع بداخله السعر النهائى للعميل كما رئينا.
الاسطر التالية:
cout << "Regular price : $" << regularPrice << endl; cout << "Discount amount : $" << discount << endl; cout << "Sale price : $" << salePrice << endl;
يقومون بعرض النتائج لنا.
الى هنا نكون قد انتتهينا من شرح الامثلة و فى المشاركات القادمة سوف يكون هناك الاسئلة
سيتم تقسيم الاسئلة الى الفروع التى درسناها فى الفصل الماضى ثم فى النهاية سيتم وضع اسئلة مجمعة عن كل الفصول و الطلب منك ان تقوم بعمل بعض الامثلة التى سوف نطرحها
اجزاء برنامج السى++
1 : البرنامج التالى لن يعمل لأننا قمنا بعمل تبديل فى الاسطر ,قم بترتيبها ثم تجربة البرنامج
Int main()
}
//برنامج تم عمل به ميكس(تبديل) فى الاسطر
return 0;
#include <iostream>
cout << "In 1492 Columbus sailed the ocean blue>";
{
system("pause");
using namespace std;الموجه
Include
2- البرنامج التالى لن يعمل ايضا لأننا قمنا بخلط الكود
cout << "Sucess\n";
cout << "Success\n\n";
int main()
cout << "Succes";
}
using namespace std;
//برنامج مُتعب
#include <iostream>
cout << "Success\n";
{
return 0;
system("pause");المخرجات هتكون كالتالى:
اقتباسSuccess
Success Success
Success
3-رتب الاسطر و شغل البرنامج و يجب ان يكون المخرجات كما شاهدنا.
ادرس الكود التالى و فكر منغير متشغل البرنامج المخرجات هتبقى ايه
// The Works of Wolfgang
#include <iostream>
using namespace std;
int main()
{
cout << "The works of Wolfgang\ninclude the following";
cout << "\nThe Turkish March" << endl;
cout << "and Symphony No. 40 ";
cout << "in G minor." << endl;
system("pause");
return 0;
}.
4- اكتب برنامج يقوم بطباعة التالى على الشاشة:
1-عنوانك
-مدينتك
3-الرمز البريدى
4-رقم التليفون
و لا تنس ان تقوم بعمل ملاحظة فى اعلى البرنامد.
الثوابت و المتغيرات
5- اولا اشرح ما سوف يقوم به البرنامج منغير متجربه
ثانيا اكتب كل المتغيرات الى فى البرنامج .
// This program uses variables and constants
#include <iostream>
using namespace std;
int main()
{
int little;
int big;
little = 2;
big = 2000;
cout << "The little number is " << little << endl;
cout << "The big number is " << big << endl;
system("pause");
return 0;
}6- من دون ان تقوم بتجربة البرنامج , ما الذى سوف يقوم بفعله البرنامج التالى:
#include <iostream>
using namespace std;
int main()
{
int number;
number = 712;
cout << "The value is " << "number" << endl;
system("pause");
return 0;
}انواع المتغيرات
(int)
7- ايا من تلك الاسماء القادمة لن يُقبل كمتغير , و لماذا
اقتباسx
99bottles
july97
theSalesFigureForFiscalYear98
r&d
grade_report
8- المتغير الذى له الاسم Sales هو هو برضك sales ؟ لماذا او لماذا لا؟
9-عرفنا من قبل احجام ال (integer types) اذا
1- لو المتغير يحتاج ان يكون بين رقم 32 و 6000 اى نوع سوف نأخذ ؟
2- لو المتغير يحتاج ان يكون بين رقم -40000 و +40000 اى نوع سوف نأخذ؟
3- ايا من الثوابت التالية يأخذ حجم اكبر؟ 20 ام 20L
اخير سؤال سهل جدا علشان عارف ناس هتقول صعب
10 – فى اى كمبيوتر اى نوع يأخذ اكثر فى المساحة الرئيسية ( RAM ) ال Integer ام ال Unsigned Integer
Char Data type
11 – ما هو الكود الرقمى للحروف التالية :
C
F
W
12- ايا من التالى هو ثوابت من نوع Character (Char)
'B'
"B"
13- كما نعرف فأن ال char data type تستخدم 1 بايت من المساحة الرئيسية , كم من المساحة تستخدم الثوابت التالية
'Q'
"Q"
"Sales"
'\n'
14- اكتب برنامج يوجد به 3 متغيرات من نوع Char و سميهم first,middle,last و ادخل اول حرف من اسمك ثم اسم والدك ثم اسم العائلة و اطبعهم على الشاشة
15- ما الخطاء مع البرنامج القادم
#include <iostream>
using namespace std;
int main()
{
char letter;
letter = "Z";
cout << letter << endl;
system("pause");
return 0;
}معرفة حجم انواع البيانات
16 – نعم ام لا: هل يوجد نوع unsigned floating point ؟؟ لو نعم ما هو؟
17- كيف تقوم بعمل الرقم التالى بالعملية العملية E ؟
6.31 * 10^17
18- اكتب برنامج و قم بعمل متغير من نوع Integer و سميه age و متغير من نوع float و سميه weight ادخل وزنك و سنك كثوابت فى المتغيرات , اجعل البرنامج يطبعهم على الشاشة . سوف يكونوا كالأتى
المخرجات:
My age is 26 and my weight is 180 pounts.
اكتب اى سن و اى وزن الكمبيوتر مش هيعرف :D
العلامات الرياضية
19- هل التنصيب التالى صحيح
72 = amount;
20- كيف تقوم بالمتغيرات الاتية فى نفس الجملة
int x = 7;
int y = 16;
int z = 28;
21- ما الخطاء فى البرنامج التالى , كيف نصححه
#include <iostream>
using namespace std;
int main()
{
number = 62.7;
double number;
cout << number << endl;
system("pause");
return 0;
}22-ها المثال التالى هو قسمة لل Integer ام قسمة لل floating point ؟ ما الناتج الذى سيخزن فى المتغير؟
الى الأن انتهينا من اسئلتنا حول كل درس محدد
فى المشاركة القادمة سوف اقوم بوضع اسئلة صعبة نوعا ما تتعلق بكل ما درسنها ثم بعض الاختبارات البرمجية