الأحد، 24 يونيو 2012

Lecture 3 , Declaration and data types


Variable Types and Declaration

انواع المتغيرات وتعريفها :


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

اول تعريف : Integer

-         دا النوع اللي بنعرف بيه الداتا علي انها ارقام صحيحه يعني لو عايز تعرف متغير لرقم صحيح مثلا وليكن اسمه total  .

Int total ;
-         هنا هتبتدي اللغه تفهم انه فيه متغير داخلها علي انه رقم صحيح .

ملحوظه : في الاله الحاسبه بيبقي مدي الارقام بتاعتها digit-8  وبتتعامل مع الارقام من 99999999 الي
 - 99999999 ولو جربت تعمل مثلا 99999999+1 هتلاقي الاله الحاسبه جابت overflow error  نفس الكلام مع الحاسب له مدي يقبل فيه المتغيرات دي وبتختلف طبعا من حاسب لحاسب ومن نظام لنظام ولكن عشان نتكلم اكتر في الانظمه 32-bit بيبقي مدي نوع المتغير integer   4 بايت يعني 32 بت .


-         مثال عشان اعرف رقم ما او متغير هعرفه علي انه رقم صحيح :
-          Int total;
-          Total = 4502;


استدعاء المتغير :
-         لغة الـ C  دائما منظمه وبالتالي لو محتاجين اننا نستدعي متغير ما لازم نشير الي المتغير دا ونوعه ايضا .
-         مثال : دلوقتي انا هكتب كود بسيط عشان يحسب ضعف رقم معين ويطبعه علي الشاشه .

#include<stdio.h>

int main(){
   
    int number;
    int result;
    number = 45;
    result = 45 * 2 ;
    printf("Your number %d and it's twice is %d ", number , result);
   
    getch();
    }

طيب البرنامج دا مجرد بياخد متغير علي انه رقم صحيح وليكن 45 مثل ما في المثال و متغير اخر اللي هو result ودا هيستجل فيه النتيجه بتاعة ضعف الرقم .


-         اما بالنسبه لامر الطباعه ففي شئ غريب !! – مامعني %d  - ؟؟  - دي بتشير الي المتغيرات اللي هيتم طباعتها وطبعا كل نوع متغير وله رمز اشاره يعني مثلا في المتغير اللي نوعه integer  بنشير اليه بالرمز %d  طيب لو شغلنا البرنامج ونشوف النتيجه .



كتب Your number is 45 and it’s twice is 90  معني ذلك انه مكان الرموز %d بيطبع المتغيرات واحنا اللي بنحددله المتغيرات اللي يطبعها لانه في الكود بتاعنا .

كتبنا اسماء المتغيرات بعد الجمله اللي هيطبعها بالترتيب وبعد العلامه الفاصله ,  ومسافه .


الصوره بالاعلي للتوضيح كيف يتم استدعاء المتغيرات ولكن بالمرجع كان عامل المتغير اسمه term  .

ثاني نوع : Float types

  وهو بيشير للاعداد الغير صحيحه مثلا : 4.6 – 8.6 – 9.7 – 7.2 وهكذا وبالتالي لو عايز تدخل للبرنامج ارقام فيها كسور مستحيل تعرفها علي انها integer  لازم تكون float  .

-         بيتم تعريف المتغير من خلال float variable ;  ومكان الـ variable  ممكن نكتب المتغير بتاعنا زي ما احنا عايزين .
-         مثلا لو عايزين نعرف متغير بيحتوي علي الرقم 4.6
-         هيبقي الكود كالتالي :

Float number;
Number = 4.6;

-         طيب لو محتاجين نطبع رقم غير صحيح . يعني مثل الـ integer  كنا بنشير اليها من خلال %d  اما من هذا النوع فاننا بنشير له من خلال %f  .
-         طيب هنكتب نفس المثال السابق الخاص بالـ integer  ولكن باعداد كسريه يعني هنكتب مثلا برنامج يطبع ضعف رقم 4.6 .هو نفسه المثال الخاص بالـ integer ولكني غيرت تعريف المتغيرات .

-         طيب تجربه بسيطه كده لو حاولنا اننا نعرف الـرقم الكسر علي انه عدد صحيح وخليناه integer  الناتج ممكن يكون ايه ؟؟ .

-         

-         هنلاحظ انه ما اخدش الكسر اللي هو 0.6  وكتب 4 بس وجاب الضعف بتاعها 8 فقط .

ملحوظه هوا دا بقي الـ semantic error  اللي اتكلمت عليه في الدرس التاني . يعني يبقي المبرمج
كاتب البرنامج صح وميظهرش معاه اي اخطاء ولكن النتيجه بتكون متغيره تماما عما يريده

فيه ملحوظه مهمه : هو انك لما تستخدم عملية القسمه ي لغة الـ C  لازم تستخدم تعريف المتغيرات علي انه float  لانك لو اخترت integer مش هيجيبلك باقي عملية القسمه يعني مثلا لو قسمنا عددين صحيحين والناتج عدد صحيح مثل  : 4 = 2/8 دي مفيهاش اي مشكله اما بقي لو قسمنا 2.6=3/8 وبالتالي البرنامج هيطبع 2 بس وهيسيب الـ 0.6 لو عرفنا المتغير علي انه عدد صحيح –integer – فقط .

Assignment :
الكود التالي فيه خطأ . هل ممكن معرفة هذا الخطأ ؟؟ ولما لم يتم طباعة الناتج ؟؟ .
النوع التالت : character

ودا لتعريف متغير به حرف من الحروف وليكن A  . وطبعا اي رمز او اي علامه نوعهاcharacter  .
-         مثال : احنا هنكتب كود بسيطه لبرنامج يقوم بعكس مجموعة حروف مدخله للبرنامج يعني مثلا هندخله ABC  وهيطبعلنا CBA  .
-         
-         والناتج الخاص بالبرنامج .



ملحوظه : في انواع الـ char  يتم تعريفها بالـ single quotes  ‘’  مش double quotes  

يعني انا لما كتبت
First = ‘A’;
Not First = “A”;

Assignment :

-         اكتب برنامج لطباعة كلمة HELLO  ولكن يتم طباعتها في بلوكات من الحروف
-         اكتب برنامج لطباعة اسمك .
-         اكتب برنامج لحساب مساحة مستطيل طوله 4 وعرضه 7 ومره اخري طوله 8.4 وعرضه 5.2 .

- You Can Download PDF File From Here 

With My Best Wishes
Ahmed Sherif 

الاثنين، 18 يونيو 2012

Lesson 2 - Basics of programming




Lecture 2 – Basics of programming : أساسيات البرمجه


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

اولاّ : ماهو الـ IDE   :

هو اختصار لـ  Integrated development environment   عباره عن بيئة متكاملة للمبرمجين تحتوي علي Compiler , linker , project manager and debugger  وهندرس كل واحده منهم بالتفصيل . لكن الخطأ الشائع اللي عايز اصححه عند الناس هو انه هناك فرق بين الـ compiler  والـ IDE  . مثل ما ذكرت ان الثاني هو بيئه متكامله للمبرمج ويحتوي ايضا علي الـ compiler  .

-          مثال :  
الـ Dev C++  دا عباره عن IDE  وليس Compiler  كما يعتقد البعض فهو بيئه متكامله للمبرمج وليس مجرد برنامج لترجمة الاكواد .

مثل ماهو موضح بالصوره فبرنامج الـ Dev C++  به الكثير من الادوات التي قمت بذكرها في الاعلي . اما Dev C++  نفسه ليس كومبايلر ولكن يحتوي علي كومبايلر يسمي mingow32  وهذا هو الموقع الخاص بالكومبايلر :

ملحوظه : طبعا مش محتاجين تنزلوا الكومبايلر دا لانه بينزل جاهز مع الـ Dev C++  وبيقوم باستخدامه

-          طيب حاليا يوجد طريقتين للبرمجه :

طريقة الـ Command line  وطريقة الـ IDE  بالنسبه للاولي فهي عباره عن انك تكتب الاكواد في Text editor  عادي وبعد كده تعملها كومبايل .

-          مثال :
 انا دلوقتي نزلت برنامج notepad ++  دا برنامج بيسحملي باني اكتب اكود عليه برنامج محرر نصوص عادي جدا زيه زي الـ notepad  اللي موجود في الوندوز لكن متطور عنه طبعا .


دي صورة الـ notpad ++  .. طيب افترضنا اننا كتبنا كود بلغة الـ C  في المحرر دا .. ازاي نشغل البرنامج ونخليه برنامج تنفيذي يقدر يفهمه الوندوز ؟ .. طبعا دي مش مهمة الـ notepad ++  ابدا لانه مجرد محرر نصوص لكننا هنحتاج compiler  ممكن مثلا ننزل الكومبايلر اللي كان نازل مع الـ dev c++   -  mingw32 –ونعمل كومبايل ونترجم البرنامج ولكن طبعا الطريقه دي صعبه وadvanced  شويه دا غير انها هتضيع وقت ومجهود علي الفاضي  ودي كانت الطريقه المستخدمه في الاول .

اما بعد كده فتم توفير الـ IDE  برنامج منه نكتب الكود ونترجمه في نفس الوقت من غير ما نقعد ننزل برامج كتير عشان تترجم الكود بتاعنا للوندوز .

ثانيا : ماهي وظيفة لغة الـ C  :

طبعا احنا درسنا الاسمبلي وشفنا المعاناه اللي كان بيعاني منها مبرمجين زمان . وبالتالي فلغة الـ C  هي اللي بتقوم بتعريف البيانات المدخله للجهاز وتنظيمها . احنا عارفين ان الجهاز بيتسقبل input  علي هيئة بايتات – ارقام – ويتعامل معاها . ميزة لغة الـ C  انها بتقوم بتنظيم العملية بين المبرمج والجهاز بحيث انها بتقوم بتعريف البيانات المدخله للجهاز  Data Declaration  .

-          مثال :
  انا دلوقتي لو حبيت ادخل رقم للجهاز او أعرف مجموعة ارقام عايز ادخلها للجهاز . لغة الـ C  بتوفرلك دا من خلال تعريف البيانات فمثلا لو حبيت اقول للجهاز ان فيه 3 ارقام هيدخلولك .

int number1;   تعريف الرقم الاول
int number2;   تعريف الرقم التاني 
int number3; تعريف الرقم التالت 

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

ثالثا : انواع الاخطاء :

قرأت في كتاب لدكتور اسمه " Eric Grimson"  من معهد MIT  والكتاب كان اسمه "Thinks like Computer scientists " كان بيتكلم عن انواع الاخطاء اللي ممكن تحدث للمبرمج وان اي مبرمج لازم يكون عارف ايه الاخطاء اللي ممكن تواجهه فاتكلم عن 3 انواع من الاخطاء وهي :

1-Syntax Error: النوع دا من الاخطاء بسبب مشكلة في تركيبة الجمله واحيانا بنلاقي الخطأ دا في الالات الحاسبه . طيب يعني ايه خطأ في تركيبة الجمله ؟ يعني دلوقتي لغة الـسي معموله بتركيبة جمله معينه يقوم الكومبايلر بقرائتها وترجمتها مثل :


;printf("welcome)
دي جملة معناها في الـ C  امر الطباعه . طيب ازاي ممكن يحصل الخطأ دا .  دالة printf() لازم يكون اللي جواها محطوط جوه علامتين تنصيص ("") لو كان جمله . طيب لو شيلنا علمتين التنصيص دول هنلاقيه بيقولك syntax error  . طيب برده في نهاية كل جملة في السي في علامة الـ semicolon ;   دي لازم كل جمله في السي تنتهي بيها لو مكتبنهاش برده كده تركيبة الجمله خطأ وهيجيب نفس الخطأ .

2 – Run time error :   ودا خطأ اخر بيحصل لكن اثناء تشغيل البرنامج نتيجة عدم تقدير من المبرمج لامكانيات الجهاز او البرنامج . يعني البرنامج بيتعمله كومبايل وبيشتغل تمام لكن اثناء ماهو شغال بيحصل الخطأ نتيجه مثلا خطا في الميموري او حفظ البيانات او غيره .
3- Semantic Error :  ودا خطأ غير تقني يعني البرنامج بيبقي شغال تمام والجهاز مش بيعرض اي مشكله ولكن الناتج مش بيطلع زي ما المبرمج عايزه . يعني مثلا انا لو حبيت اعمل برنامج ياخد 3 ارقام من المستخدم ويجمعهم مع بعض وكتبت الاكواد صح ومفيش اي مشكله ولكني كتبت اشاره مثلا غلط في العمليات الحسابيه اثناء البرمجه وبالتالي البرنامج بدل ماهيجمع الـ 3 ارقام مثلا هيجمع واحد ويطرح اتنين او غير ذلك المهم انه مش هيطلع نفس الناتج اللي مبرمج عايزه .

ثالثا : ماهي الدوال    :     Functions

اي لغة برمجه ماهي الا دوال مبرمجه يتم استخدامها لانتاج البرنامج . مثلا لو محتاجين نعمل تربيع لرقم بنستخدم دالة sqrt() . يعني مثلا لو كتبنا sqrt(5)  يبقي هيجيب تربيع رقم 5 . مثلا لو عايزين نعمل رقم أس رقم تاني يعني مثلا 2 أس 3 بنستخدم دالة     pow(2,3) . طبعا زي ماقولت ان معظم الناس مش بتهتم بالاكواد قد ماتهتم بانها تخلص البرنامج وخلاص . احنا دلوقتي عايزين نفهم الدوال دي اخترعت ازاي ؟ . احنا ممكن نعمل دالة اسميها مثلا ahmed  واخليها تعمل نفس اللي بتعلمه دالة sqrt()  او pow() . طبعا فائدة الدوال دي انها بتوفر عليك كتير . بتكتب الدالة جاهزه وبتطلعلك الناتج . وهي دي ميزة لغة الـ C  ان ممكن مجموعة من المبرمجين ينزلوا مجموعه من الدوال الجاهزه اللي برمجوها عشان ناس تانيه تستخدمها جاهز . طيب عايزين نفهم بقي دالة مثلا زي دالة sqrt() اشتغلت ازاي ؟ او اللي برمجها فكر يعملها ازاي ؟؟ .
اي دالة عموما بيبقي داخلها حاجه اسمها بارامتر . parameter  دا بيبقي زي الـ input  اللي داخل للداله واللي بتقوم بعدها الداله باجراء العمليات الخاصه بيه وتطلع الناتج . يعني في مثال دالة sqrt()  اللي مهمتها في لغة السي تربيع الرقم . بتحتاج parameter  واحد فقط اللي هو الرقم اللي هتاخده تربعه بس . وبالتالي اللي برمج الداله دي عملها كالتالي .


Function sqrt(x){
  Result x * x ;
}

طبعا الدالة برمجتها كانت سهله جدا . ولكن خففت علينا كتير فبدل مانقعد نكتب الـ 3 سطور دول هي كلمة واحده وبتستدعي الداله وبتجيب الناتج . في السطر الاول الداله متعرفه باسم sqrt()  والبارامتر اللي داخلها هو x  اللي هوا هيدخله المبرمج عشان يجيب الناتج وبعد كده الداله بتاخد الرقم دا وبتضربه في نفسه مره تانيه عشان تجيب التربيع وبتبعته مره اخري للمبرمج كناتج .

مثال اخر للتوضيح في دالة pow() :

الدالة دي بتاخد 2 بارامتر بحيث انها بتخلي الرقم الاول أس التاني . يعني لو انا قلتله pow(2,3)  الداله بتاخد الرقم 2 وتضربه في نفسه 3 مرات عشان تطلع الناتج .

Function sqrt(x){
  Result x * x ;
}

 طبعا احنا مش بنشوف كل الكلام دا احنا مجرد بنستخدم الداله وبتطلعلنا الناتج وخلاص ولكن حبيت اوضح ازاي الدوال دي بتتعمل . وطبعا كل الدوال دي بتبقي جاهزه في الهيدر . فمثلا كل الدوال الحسابيه موجود في الهيدر math.h  ولازم عشان نستخدم الدوال دي نكتب في اول البرنامج -  #include <math.h>
لكن مش هتطرق لكل دا دلوقتي . دا مجرد للتوضيح .  ودا مرجع كامل للغة الـ C ++  علي الهيدرز والدوال اللي بتحتويها .


لو فتحنا الموقع هنلاقي  الدوال الرياضيه كلها اللي ممكن نستخدمها وموجوده في الهيدر دا زي cos , sin , tan ,exp ,sqrt , pow  دا غير كمان انه بيشرح كل داله وكيفية عملها وامثله عليها .


للتوضيح اكتر نختار علي سبيل المثال دالة cos  اول واحده ونضغط عليها ونشوف شرحها .


هنلاقيه جايبلنا كل حاجه عن الداله وكيفية استخدامها ومثال عليها . في مثال الكود المكتوب في الصوره .

هشرحها سطر سطر لمجرد التوضيح .

1 - /* دا مجرد تعليق مش بيدخل في اكواد البرنامج */
2-  دا عباره عن دمج مكتبات نظام التشغيل للبرنامج لاستدعاء الدوال وهو خاص بعملية الـدخل والخرج
3 -  عباره عن دمج مكتبات نظام التشغيل ولكنه بيستدعي هذه المره مكتبة الرياضيات والتي بها الدوال الحسابيه
4  
5 – بيقوم بتعريف الثابت  π 
6
7  -  هنا بيبتدي تعريف الداله الاساسيه لانه من غيرها مش هيشتغل البرنامج . لازم يكون فيه داله اساسيه يبتدي منها البرنامج .
8
9 زي ماشرحت قبل كده تعريف الداتا فهو هنا عرف 2 داتا علي انهم ارقام اللي هما
Param و   result  .


10    -  هنا عرف  علي انها الزاويه param = 60.0 ;
11    هنا بيحفظ الناتج بحيث انه بيجيب cos
12    امر طباعة الناتج وعرض النتيجه
13    خروج من البرنامج



طبعا مش محتاجين اننا نفهم الاكواد كلها او نطبقها . 

رابعا : Programmer Style  


الحقيقه لم اجد ترجمه عربيه للجمله دي فسبتها زي ماهي "ستايل المبرمج " . يعني ايه استايل المبرمج ؟؟! .
كل مبرمج وله استايله في كتابة البرنامج . ولكن فيه حاجه اسمها Best practice  يعني ايه ؟؟ .
يعني اننا نكتب اكواد البرنامج بطريقه مثاليه بحيث يقدر غيرنا يفهمها . طيب ازاي ممكن نخلي اكوادنا مثاليه ويقدر يفهمها غيرنا ؟؟ .  المثال اللي في الصوره بيوضح معني الستايل اللي قصدته .


طبعا انا كل اللي عملته اني اخدت الكود بالاعلي ونسخته وطبعته ولكن طبقت عليه نظرية الـ Best practice  . طيب . ماهي خطوات الـ .  BP
-          زي ما انتوا شايفين هو اني كتبت كومنت جنب كل سطر عشان اشرح كل كود بيعمل ايه .
-          لازم يكون فيه الكود منسق من خلال المسافات .

طيب ايه هي فايدة الـ Best practice   ؟؟ . اولا لما بتيجي تبرمج مشروع كبير وتقعد تفكر في الاكواد وتكتبها ممكن لما تيجي ترجع تاني للمشروع دا تنسي انت كتبت ايه او هتعدل علي جزئيه معينه انت مش فاكرها . ثانيا عشان دايما فيه نظرية في البرمجه اسمها " اليوزر دايما غبي ! J " يعني ايه !! يعني المستخدم اللي هياخد منك الكود دا مش مطلوب منه انه يفهم دماغك ماشيه ازاي ؟ وكتبت الاكود دي ازاي ؟؟ فعليك انك تشرح انت كتبتها ليه وفكرت فيها ازاي عشان يقدر بعد كده يطور في البرنامج لو اراد.

كان فيه قصة بسيطه بمناسبة الـ Best practice  قرأتها في احد الكتب : الكاتب فيها بيقول انه بعد تخرجه بفتره طُلب منه مشروع لاحد الجامعات . وبعد ما انتهي من المشروع دا ذهب بيه للجامعه ولما جه يشغله لقي فيه خطأ في البرنامج L ولسوء حظه طبعا انه مكنش متبع لطريقة الـ Best practice  فنسي الخطأ دا ممكن يكون موجود في انهي سطر .  وطبعا شكله كان وحش جدا امام الحاضرين J ولكنه بيقول لولا المسئوله هناك كانت بتتميز ببعض من روح المداعبه كان زمان مشروعه اترفض وراح ع الفاضي J.


خامسا-  عملية انتاج البرنامج :

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

-          اولا: اي مبرمج بيبقي عايز يعمل مشروع بيبتدي يفكر فيه ويكتب في ورقة تفاصيل المشروع .
-          ثانيا :بيبتدي يكتب اكواد المشروع اللي خططله في الاول .
-          ثالثا :بيقوم بعمل كومبايل.
-          رابعا: يقوم الكومايلر بتفسير وترجمة اكواد البرنامج اللي مكتوبه الي ملف obj file  .
-          خامسا: يجي الـ linker  باضافة وتضمين المكتبات الخاصه بنظام التشغيل الي الكود
-          سادسا : يتم تحويل البرنامج الي تنفيذي يستطيع الجهاز قرائته .



سادسا : تطبيق عملي :

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

-         اول حاجه هنفتح برنامج Dev C++  :

 وهننشئ ملف جديد من خلال قائمة File  ومن ثم New   واخيرا  Source file  
او نضغط ctrl + N  .


اول حاجه لازم عشان نطبع جمله يعني بنعمل برنامج يطلع output  فاحنا محتاجين مكتبة من مكتبات نظام التشغيل الجاهزه اللي تفهم الجهاز انه فيه دخل او خرج في البرنامج دا . فهنستخدم مكتبة   <stdio.h> من خلال الامر #include  . يعني في اول سطر هنكتب
#include <stdio.h>

 كما في الصوره الموضحه بالاسفل .



المكتبه دي  < stdio.h>اختصار لــــ standard input output  .

تاني حاجه محتاجين نعرف الداله الاساسيه لان الكومبايلر اول لما بيجي يترجم بيبص للداله الاساسيه ويشوف اللي تحتها . وتعريف الدالة الاساسيه من خلال الكود التالي .
Int main(){

 /* code will be here */

}



 تمام . دلوقتي احنا عايزين نكتب امر الطباعه وهو printf(). واحنا عايزين نطبع اي جمله مثلا "Hey everybody !  " . فهنكتب
Printf(“Hey Everybody ! ”);

تحذير : اهم حاجه تركيبة الجمله عشان ميحصلش syntax error  يعني جملة Hey everybody  تتكتب بين علامتين تنصيص  - ط+Shift  - ولازم الجمله تنتهي بـ semicolon  اللي هوا حرف الـ ك بالعربي .


تمام .. الان احنا قولنا للبرنامج اطبع جملة (“Hey everybody”)  لكن البرنامج لازم يكون له نهايه يعني يطبع الجمله ويقفل علي طول او يطبع الجمله ويستني من المستخدم انه يقفل ايا كان .
احنا امامنا طريقين J  

يا اما نستخدم return 0 ;  ودي هتطبع الجمله وتقفل البرنامج علي طول .

او ممكن نستخدم دالة getch();  وهي اختصار لـ get character  . ودي هتطبع الجمله وتستني من المستخدم انه يدوس اي زرار عشان البرنامج يقفل . وانا افضلها عشان نقدر نشوف الجمله زي ما احنا عايزين فهكتب الامر دا .

Getch();



حاليا .. انتهينا من كتابة البرنامج ولكن عايزين نبتدي نشغله ونعمله كومبايل .  هنختار من قائمة Execute  - compile and run
او نضغط علي F9  . هيحتاج مننا الاول اننا نحفظ الملف .


انا هحفظ الملف في الـ Desktop  وسميته ahmed.c  

ملحوظة مهمه جدا : لازم لما نيجي نحفظ الملف يكون الامتداد .c  عشان البرنامج دا بيعمل كومبايل لـ cpp  ايضا فعشان ميحصلش مشاكل .

وهيبتدي البرنامج يشتغل كما موضح بالصوره بالاسفل .


ولو ضغطنا علي اي زرار البرنامج هيقفل لوحده .

:Assignment  :

طبعا شفتم الامثله اللي موجوده وخصوصا الدوال الرياضيه . حاليا محتاج منكم تكتبوا برنامج بيطبق  sin(70)   .. يعني بيجيب sin  للزاويه 70 . J

You can download PDF From Here Or Here 


With my best wishes
Ahmed Sherif