بوابة الثانوية العامة المصرية

بوابة الثانوية العامة المصرية (https://www.thanwya.com/vb/index.php)
-   كليه الحاسبات والمعلومات (https://www.thanwya.com/vb/forumdisplay.php?f=211)
-   -   الدرس الحادي عشر من دروس البرمجة للباشمهندس محمد نزل يا جماعة (https://www.thanwya.com/vb/showthread.php?t=76865)

همس 28-09-2008 07:19 PM

الدرس الحادي عشر من دروس البرمجة للباشمهندس محمد نزل يا جماعة
 
السلام عليكم ورحمة الله وبركاته

الدرس الحادي عشر في كورس البرمجة للباشمهندس محمد نزل يا جماعة

واللينك اهو


الدرس في آآآخر الصفحة المشاركة رقم 184


بالتوفيق جميعا


ان شاء الله هجدد عنوان الموضوع واللينك كل ما ينزل درس جديد


عشان الناس تآخد بالها وتتابع معانا


او الدرس فقط مباشر

اقتباس:

المشاركة الأصلية كتبت بواسطة msamido (المشاركة 1099198)
بسم الله الرحمن الرحيم

بداية أهلا ومرحبا بكم أعزائى واتمنى تكونوا انهيتم الترم الأول على خير الحمد لله وأهلا بكم فى النصف الثانى من العام الأول وإليكم الدرس الجديد ....
دلوقتى بعد ما كنا اتكلمنا عن الـ variables, conditional statements & loops بأنواع كل الحاجات دى مفروض دلوقتى هنتكلم عن درس جديد اسمه الـ functions وهنتكلم ازاى نعملها وازاى نستخدمها .. واحنا بالفعل استخدمنا نوع منها بيتمثل فى شكل الـ main واحنا قولنا قبل كده إن الـ main دى هى الـ function الرئيسية فى البرنامج اللى بيبدأ منها ... طيب إيه بقى function دى ؟؟؟
عامة بنعرف الـ functions على إنها block of code أو جزء كده من الكود على بعضه (هو يعنى إيه block بالعربى؟؟) عبارة عن مجموعة commands بتنفذ هدف معين. طيب شكلها إيه بقى طنط function دى ؟؟؟ أقولكم أنا شكلها إيه ؟؟ هى حلوة ولذيذة كده وبنت حلال وبتتكون من جزئين :
1- Prototype
2- Body
مصدقنا خلصنا من function يطلعلنا بـ prototype و body ؟؟؟
هنقول كل ده إن شاء الله حالاً .... بصوا بقى إحنا نمسك كل حاجه لوحدها أولا نشوف الـ prototype ده هو تعريف الـ function اللى الـ compiler هيبص عليه ويعرف الـ function دى بيه طيب عبارة عن إيه الـ prototype ده ولا يبقى ازاى ولا شكله إيه ؟؟
نقول بردوه .... هو عبارة عن 3 أجزاء ... أول جزء مهمته بيقول للـ compiler الـ function دى هترجع إيه ؟؟ أو إيه النوع اللى هترجعه أو إيه ال datatype اللى هترجعه . وده واحد من الـ datatypes اللى خدناها قبل كده ولو مش عايزينها ترجع حاجه بنقوله keyword اسمها void والأخت void دى معناها إن الـ function دى هتنفذ الكود اللى جواها بس مش هترجع حاجه تمام كده ؟؟؟
طيب هو يعنى ايه اصلا الـ function بترجع حاجه ؟؟
ده معناه إن الـ function دى هتنفذ كود وتكون نتيجة الـ function دى كلها variable من الـ data type اللى احنا قولناله انها هترجعه أو ممكن نقول بكل بساطه إن مجمل الـ function دى هيساوى قيمة المتغير اللى راجع ومن نوعه كمان. هنشوف كل ده بالتوضيح مع الأمثلة إن شاء الله.
الجزء التانى بقى .. هو إسم الـ function دى وبنسميها زى ما احنا عايزين بس يفضل يكون اسم معبر عنها يعنى اسم لما اقراه كده افهم هى عايزه ايه أو بتعمل ايه بس طبعا ليك مطلق الحرية تسميها زى ما انت عايز بس الإسم مفيش فيه مسافات بس ... حلو الجزء التانى مش كده ؟؟
طيب الجزء التالت بقى بيقول إيه ؟؟ بيقول ايه الـ arguments أو (مش عارف يعنى ايه بالعربى بردوه) المهم دى القيم اللى ممكن نباصيها للـ function دى أو نبعتهالها تنفذ عليها الكود بتاعها وترجعلنا نتيجة أو مترجعش هى حرة بقى حسب الجزء الأول ما قالها
تمام كده ؟؟ ده الـ prototype
أما بقى الـ Body فهو بنفتح قوسين مجموعة وبنكتب بينهم أى شوية code وكده تبقى خلصت الـ function كلام جميل ؟؟
طيب ناخد مثال بسيط جدا ونقول إننا عايزين نعمل function بتضرب رقمين صحيحين فى بعض وبترجع الناتج ونشوف شكلها هيبقى ازاى
كود:

#include <iostream.h>
#include <conio.h>
Int Multiply(int firstno, int secondno)                                                                                                                         
{
Int result = firstno * secondno;
Return result;
}
Void main(void)
{
Int x;
Cout<<”enter the first no. : “;
Cin<<x;
Int y;
Cout<<”enter the second no. : “;
Cin<<y;
Int z = Multiply(x,y);
Cout<<”the result is : “<<z;
Getch();
}

طيب تعالوا بقى نشوف الموضوع ده ايه ونتكلم واحده واحده, طبعاً أول سطرين احنا عارفين بتوع ايه ندخل فى اللى بعد كده وده هيبقى أول جزء فى الـ function بتاعتنا وهو الـ prototype وقلنا إن الـ prototype بيتكون من 3 اجزاء وهى أول حاجه الـ return datatype أو هى الـ function دى هترجع ايه ؟ وزى ما قلنا إننا عايزين نعمل function بتضرب رقمين صحيحين فى بعض فالنتيجة هتكون أيضا رقم صحيح ولذلك قلنا إن الـ function دى هترجع حاجه من نوع int أو إن الـ datatype اللى راجع هيبقى int . طيب ولو مش عايزين الـ function دى ترجع حاجه قولنا نعمل ايه ؟؟ نكتب مكان الـ int datatype كلمة void ودى معناها إن الـ function مش هترجع حاجه.
ده كان أول جزء فى الـ prototype طيب تانى جزء للـfunction ايه ؟؟ قلنا هو اسم الـ function وده اللى احنا هناديها بيه فى أى مكان واحنا هنا سميناها Multiply .... تمام ؟؟
طيب الجزء الثالث إيه هو بقى ؟؟
قلنا إنه ايه هى الـ arguments اللى هنباصيها للـ function دى أو إيه المتغيرات اللى محتاجاها الـ function دى , وبما إننا عايزينها ترجع لنا حاصل ضرب رقمين صحيحين يبقى لازم نباصيلها الرقمين الصحيحين دول وإلا هى هتجيبهم منين؟
وبنكتب الـ arguments دى بالشكل اللى شوفناه وهو بنفتح قوس بعد اسم الـ function ونكتب الـ datatype ومسافه واسم الـ variable وبعدين "," وهكذا الـ argument الثانى والثالث وأى عدد .... طيب لو مش عايزين نباصى للـ function دى حاجه نعمل ايه ؟؟؟ نفتح القوس ونقفله وخلاص وكده يبقى الـ prototype انتهى ... تمام؟؟
نيجى بقى للجزء الثانى من الـ function وهو الـ body .... وقلنا بنفتح قوسين مجموعة وبينهما الكود اللى عايزينه يتنفذ ... وهنا المثال واضح جدا بيعرف variable اسمه result وبيساويه بحاصل ضرب الأرقام اللى جاياله وبكون يكون عندنا حاصل ضرب الرقمين المطلوبين ... طيب نرجع النتيجة دى ازاى بقى ؟؟؟ هى دى الجملة الجديدة فى الموضوع وهى إننا بنقوله return وبعدها الـ variable اللى عايزين نرجعه... كويس كده ؟؟؟
وبعدين قوس المجموعة اتقفل وده معناه إن الـ function خلصت خلاص ..
ونكمل هنلاقى بعد كده الـ main بتاعتنا ودى بردوه زى ما قلنا هى اصلا عباره عن function ولو راجعناها زى اللى فاتت هنلاقى إنها بردوه بتتكون من prototype وهو عباره عن 3 اجزاء أول جزء هى مفروض ترجع ايه وقلنا إنها مش هترجع حاجه علشان كاتبين void وبعدين اسم الـ function وهو main وبعدين مش هنباصيلها arguments زى ما شايفين القوسين الفاضيين ... وبعدين الـ body والكلام اللى جواه عادى جدا مفيش جديد غير ازاى هننادى على الـ function بتاعتنا وده كان بالشكل ده ... Multiply(x,y) .... وساوينا النتيجة بالمتغير z اللى هو من نفس نوع الـ return type .... يعنى زى ما قلنا هنا الـfunction كلها على بعضها حلت محل قيمة للمتغير z ...
إذن احنا علشان ننادى الـ function بنكتب اسمها ونفتح قوسين وبينهم نباصى الـ arguments بتاعتها ولاحظوا إنها لازم تكون من نفس نوع الـ arguments اللى احنا معرفينها فى الـ function فوق ...
طيب السؤال دلوقتى بقى ؟؟؟ يا ترى خط سير البرنامج ده هيبقى ازاى ؟؟؟ أو ازاى الـ compiler هينفذ البرنامج ده ؟؟؟؟
إحنا قولنا قبل كده إن الـ compiler علشان ينفذ اي برنامج بيدور على الـ main function بتاعته ويبدأ ينفذ من عندها واللى هيحصل فى حالتنا إنه هيوصل للـ main ويعرف المتغير x ويطلبه من اليوزر وهكذا الـ y وبعدين يعرف z وينادى الـ multiply function بتاعتنا وهنا ينتقل للـ function ويبدأ ينفذ وياخد معاه قيمة الـ arguments اللى الـ function محتاجاها وهى قيمة x,y ويبدأ ينفذها فهياخد قيمة x يحطها فى الـ firstno وياخد قيمة y يحطها فى الـ secondno وبعدين يعرف result ويساويه بحاصل ضرب القيمتين ويرجع النتيجة وأول الـ compiler ما يقابل return ياخد علطول الناتج وينهى الـ function ويرجع من مكان ما جه وهو عند السطر اللى كان بينادى فيه عليها ويكون معاه النتيجة يساوى بيها المتغير z وينتقل للسطر اللى بعده , فيطبع z على الشاشه ويستنى امر علشان يقفل وكده انتهى البرنامج ..... حد فاهم حاجه ؟؟؟؟؟؟؟؟ يارب يكون حد فهم....
طيب بكده انا انتهيت من الكلام النهارده ومستنيكم تقولولى فهمتم حاجه ولا لأ علشان هنشوف بقى اشكال تانيه للـ function واختلافات اخرى وملاحظات وهكذا .. إلخ إلخ إلخ...

شكرا وإلى لقاء فى حلقة قادمة إن شاء الله....


mR . mOstafa Fathi 29-09-2008 02:50 AM

بجد الف شكر للبشمهندس محمد
وشكراً ليكى ياهمس المشاعر

همس 29-09-2008 05:26 AM

متشكرة يا مصطفى على المساعدة

نعمل ايه مبتدئة بقى:lol:

شكرا على مساعدتك :)

!!!دمعة حزن!!! 29-09-2008 05:46 AM

انا لسه محلصتش الدرس التانى اصبروا شويه:confused::confused:

يعنى فرق بين الدرس الاول والتانى اسبوعين تقريبا

وبين التانى والتالت كام يوم بس:(

همس 29-09-2008 06:33 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة !!!دمعة حزن!!! (المشاركة 803388)
انا لسه محلصتش الدرس التانى اصبروا شويه:confused::confused:


يعنى فرق بين الدرس الاول والتانى اسبوعين تقريبا

وبين التانى والتالت كام يوم بس:(


ولا يهمك هنستناكي

بس كل ما مشينا اسرع كل ما كان احسن

بس هنصبر شوية لحد ما كله يطبق الدرس التاني والثالث سوا

على فكرة هما الاتنين متربطين ببعض

يعني اول ما تعملي التاني .. احفظي الكود بتاعه عندك

واقراي الدرس الثالث

هتلاقي ان تطبيق الدرس الثالث عبارة عن تعديلات على واجب الدرس التاني:)

ربنا معاكي يا باشمهندسة

همس 29-09-2008 06:33 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة !!!دمعة حزن!!! (المشاركة 803388)
انا لسه محلصتش الدرس التانى اصبروا شويه:confused::confused:


يعنى فرق بين الدرس الاول والتانى اسبوعين تقريبا

وبين التانى والتالت كام يوم بس:(


ولا يهمك هنستناكي

بس كل ما مشينا اسرع كل ما كان احسن

بس هنصبر شوية لحد ما كله يطبق الدرس التاني والثالث سوا

على فكرة هما الاتنين متربطين ببعض

يعني اول ما تعملي التاني .. احفظي الكود بتاعه عندك

واقراي الدرس الثالث

هتلاقي ان واجب الدرس الثالث عبارة عن تعديلات على واجب الدرس التاني:)

ربنا معاكي يا باشمهندسة

msamido 29-09-2008 12:26 PM

اقتباس:

المشاركة الأصلية كتبت بواسطة mr . Mostafa fathi (المشاركة 803202)
بجد الف شكر للبشمهندس محمد
وشكراً ليكى ياهمس المشاعر


لا شكر على واجب يا استاذ مصطفى

وفعلا شكرا لهمس مجهودها فى متابعة القسم وتنظيم الموضووع

اقتباس:

المشاركة الأصلية كتبت بواسطة !!!دمعة حزن!!! (المشاركة 803388)
انا لسه محلصتش الدرس التانى اصبروا شويه:confused::confused:


يعنى فرق بين الدرس الاول والتانى اسبوعين تقريبا

وبين التانى والتالت كام يوم بس:(

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


اقتباس:

المشاركة الأصلية كتبت بواسطة همس المشاعر (المشاركة 803432)
ولا يهمك هنستناكي


بس كل ما مشينا اسرع كل ما كان احسن

بس هنصبر شوية لحد ما كله يطبق الدرس التاني والثالث سوا

على فكرة هما الاتنين متربطين ببعض

يعني اول ما تعملي التاني .. احفظي الكود بتاعه عندك

واقراي الدرس الثالث

هتلاقي ان تطبيق الدرس الثالث عبارة عن تعديلات على واجب الدرس التاني:)


ربنا معاكي يا باشمهندسة

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

!!!دمعة حزن!!! 02-10-2008 06:52 AM

اقتباس:

ولا يهمك هنستناكي

بس كل ما مشينا اسرع كل ما كان احسن

بس هنصبر شوية لحد ما كله يطبق الدرس التاني والثالث سوا

على فكرة هما الاتنين متربطين ببعض

يعني اول ما تعملي التاني .. احفظي الكود بتاعه عندك

واقراي الدرس الثالث

هتلاقي ان واجب الدرس الثالث عبارة عن تعديلات على واجب الدرس التاني:)

ربنا معاكي يا باشمهندسة




شكرا ليكى يانيدو


اقتباس:

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

معلش مش هقدر اكمل معاكم كفايه لغايه هنااا
لظروف الدراسه
وان شاء الله هتابع معاكم بس من بعيد لبعيد


ادعولى ربنا يوفقنى

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

همس 07-10-2008 01:00 AM

اقتباس:

المشاركة الأصلية كتبت بواسطة !!!دمعة حزن!!! (المشاركة 809908)
شكرا ليكى يانيدو




اوكى تقدروا تكملوا

معلش مش هقدر اكمل معاكم كفايه لغايه هنااا
لظروف الدراسه
وان شاء الله هتابع معاكم بس من بعيد لبعيد

ادعولى ربنا يوفقنى

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


ربنا معاكي يا قمر

ربنا يوفقك

احنا موجودين

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


حتى لو انتي مش باشمهدنسة

الاكيد انك منورانا

the goste 12-10-2008 09:24 PM

thanks ya hams

همس 18-11-2008 03:24 PM

تاسع درس نزل يا باشمهندين ويا باشمهندسات

بالتوفيق جميعا ان شاء الله

وجزاك الله خيرا يا باشمهندس محمد
__________________

همس 28-12-2008 01:22 PM

تنشيط للموضوع نظر لاهميته


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

بالتوفيق جميعا ان شاء الله

همس 16-02-2009 06:53 PM

تحديث .....


جميع الأوقات بتوقيت GMT +2. الساعة الآن 01:40 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.