ساعدونا في البرمجة -1

أرسل من قبل jasmine في الجمعة, 2007/01/19 - 4:30am.
صورة jasmine

تاريخ التسجيل: 2006-12-28
مشاركات: 240

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثانية

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

لا تحزن إن الله معنا

 
دخول أو تسجيل لإرسال التعليقات | قراءة: 2023

خيارات عرض التعليقات

اختر طريقتك المفضلة لعرض التعليقات و اضغط "حفظ الإعدادات" لتفعيل تغييراتك.
الجمعة, 2007/01/19 - 5:16am
عضو فعال
صورة strontium90

تاريخ التسجيل: 2004-04-21
مشاركات: 3128

الجامعة: حلب
الكلية: الهندسة المعلوماتية
المرحلة: ماجستير
الاختصاص: ذكاء صنعي

للأسف ما عاد فيكي تساوي دبلوم بالجامعات السورية لأنو التغى، بس فيكي تساوي ماجستير بالسنة الأولى إذا حبيتي. Mr. Green

 

Read the rules
Use the search engine

Believe in healthy, hearty laughter, at the expense of the whole human race, if needs be.
H. Allen Smith

 
دخول أو تسجيل لإرسال التعليقات
الجمعة, 2007/01/19 - 4:47pm
صورة Rasha.88

تاريخ التسجيل: 2006-09-01
مشاركات: 369

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة
الاختصاص: ذكاء صنعي

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

      لو كان للعِلمِ من غَيرِِ التّقى شرفٌ          لكان أشرف خلق الله إبليسُ

 
دخول أو تسجيل لإرسال التعليقات
الجمعة, 2007/01/19 - 5:34pm
مشرف
صورة hanihh

تاريخ التسجيل: 2004-03-05
مشاركات: 1381

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

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

أنا جبت كتاب لتعليم الباسكال
إن شاء الله إذا لقيت فيه شي محرز بنزله فوراً .

إن شاء الله موفقين بالمواد الجاية وبطلوا هالأفكار التشاؤمية.

 

 
دخول أو تسجيل لإرسال التعليقات
الجمعة, 2007/01/19 - 6:11pm
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

والله يا شباب هاد الأستاذ هاني عمبيدرس .... مو عيب؟؟؟

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

الله يوفقنا ولا يضيعلنا تعب.

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات
الجمعة, 2007/01/19 - 6:29pm
صورة hasoOn89

تاريخ التسجيل: 2007-01-01
مشاركات: 38

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

الله يعطيكم العافيه شباب يعني ما بعرف كيف بدي اتشكركم هيك غمرتوني بلطفكم معقول حتساعدونا اذا بدنا شي في السؤال 22 بالكتاب اذا حدا بس يقدر يقلي اذا في طريقه احسن من طريقتي فيه بيكون فضل
هاد والله أنا قلت انو منحط متحول منطقي ومنعمل مصفوفه ثنائيه قلكم اذا حدا عنده الحل يبعتلي ياه
وشكرا

Thanx god

 
دخول أو تسجيل لإرسال التعليقات
الجمعة, 2007/01/19 - 6:42pm
صورة hasoOn89

تاريخ التسجيل: 2007-01-01
مشاركات: 38

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

مرحبا (أجين) أنا عندي سؤالين ظراف هنن عكس بعضهم وبتمنى يفيدوا واحد عطانا ياه الدكتور باسم قصيبه والتاني من أختي والله
1- المكدس هو شي متل الذاكره (بنيه لادخال المعطيات) يتم تخزين المعطيات فيها باستخدام تابع او اجرائيه تسمى push
حيث أن أول ادخال هو اخر خرج
ويجب استعادة قيمة اخر عنصر باستخدام التابع top
وحذف اخر عنصر تمت اضافته ب pop

2- queue هي كمان بنيه لتخزين المعطيات تخزن المطيات باستخدام push بس أول ادخال هو اول خرج
ويتم استعادة اول عنصر تم ادخاله ب top
وحذف اول عنصر تم ادخاله ب pop

تفضلوا هي سؤالين وسط لا صعبين ولا سهلين وانا عندي حلهم اذا حدا ما كتير عرفلهم

وعفوا....

Thanx god

 
دخول أو تسجيل لإرسال التعليقات
الجمعة, 2007/01/19 - 6:44pm
صورة hasoOn89

تاريخ التسجيل: 2007-01-01
مشاركات: 38

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

ايه كمان في سؤال 14 و 18 اذا بتقدروا تساعدوني فيهم

Thanx god

 
دخول أو تسجيل لإرسال التعليقات
الجمعة, 2007/01/19 - 8:13pm
عضو فعال
صورة M-Ramy

تاريخ التسجيل: 2004-03-28
مشاركات: 1283

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

بدك أسئلة..

دبر كتاب خوارزميات واحد

فتاح على بنى التخزين

بتلاقي طلبك

بعدين طولو بالكم الشغلة ما بتخوف

بكرا بتشوفو أنو البرمجة واحد ما بيتخوف إن شاء الله

{وماكان الله ليعذبهم وأنت فيهم وماكان الله معذبهم وهم يستغفرون}

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 12:36am
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

كتب hasoOn89:
الله يعطيكم العافيه شباب يعني ما بعرف كيف بدي اتشكركم هيك غمرتوني بلطفكم معقول حتساعدونا اذا بدنا شي في السؤال 22 بالكتاب اذا حدا بس يقدر يقلي اذا في طريقه احسن من طريقتي فيه بيكون فضل هاد والله أنا قلت انو منحط متحول منطقي ومنعمل مصفوفه ثنائيه قلكم اذا حدا عنده الحل يبعتلي ياه وشكرا

أول شي أهلا وسهلا, تاني شي : السؤال 22:

التابع الأول:

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

Type Matrix = Array [0..n] of Integer;
Function Frequency(Item:Integer;Ary:Matrix)Integer;
Var
I,Freq:Integer;
Begin
Freq := 0;
For I := 0 to n Do
 If Ary[I] = Item Then
   Freq := Freq + 1;
Frequency := Freq;
End;

أما بالنسبة لتابعنا الأساسي :

Function HFrequencyItem(Ary:Matrix)Integer;
Var
I,J,Item,Freq,HFreq:Integer;
Items : Array[0..n] of integer;
Bln : Boolean;
Begin
Bln := True;
Item := 0;
Freq := 0;
HFreq := 0;
For I := 0 to n Do
Begin
 Bln := True;
 J := 0;
 While (Bln AND J <= n) Do
 Begin
  If Items[J] = Ary[I] Then
   Bln := False;
  J := J +1;
 End;
 If Bln Then
 Begin
  Freq := Frequency(Ary[I],Ary);
  If Freq > HFreq Then
  Begin
   HFreq := Freq;
   Item := Ary[I];
  End;
 Items[I] := Ary[I];
 End;
End;
HFrequencyItem := Item;
End;

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 12:43am
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

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

HFrequencyItem(Ary:Matrix,var HFreq:Integer)Integer;
ومنحذف من كود التابع:
I,J,Item,Freq,HFreq:Integer;
وعند استدعاء التابع:
المتغير يلي بدنا نحفظ فيه العدد المتكرر أكتر شي = HFrequencyItem(Array,متغير منحط فيه التكرار)

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 1:07am
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

كتب hasoOn89:
ايه كمان في سؤال 14 و 18 اذا بتقدروا تساعدوني فيهم

السؤال 18:

على ما أعتقد أنو فكرتو غليظة شوي , محل الـ a منحط العدد يلي بدنا نحسب جذره التكعيبي , ومنفرض X1 = 1 ومنبلش حلقة يكون شرطها هو :

وبالنهاية بيكون Xn هو الجذر التكعيبي. !!!

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 1:30am
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

كتب hasoOn89:
ايه كمان في سؤال 14 و 18 اذا بتقدروا تساعدوني فيهم

السؤال 14:

طريقة غليظة كتير لحساب التكاملات , أخذنا مثيلتها بالباكالوريا:

 

طبعا ً في خطأ بالطلب أنو بدهم برنامج يقرأ a,b ويحسب التكامل لل

Sin(x)Cos2(x)

من 0 لـ π ( بي )  , المهم الطريقة هي أننا نقوم بعملية تقسيم b-a على n فنحصل على مقدار الزيادة في x وبعدها منفوت بحلقة من 0 لـ n , ونحسب الـ x عند كل مرة بحيث يكون الفرق بين كل x والـ x يلي قبلها هو حاصل القسمة السابقة , بعدها نحسب التابع عند الـ x ومنخزن النواتج بمصفوفة , بعدين نحسب قيمة التكامل علما ً أن :

Y(x) = F(x).

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 1:32am
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

كتب hasoOn89:
مرحبا (أجين) أنا عندي سؤالين ظراف هنن عكس بعضهم وبتمنى يفيدوا واحد عطانا ياه الدكتور باسم قصيبه والتاني من أختي والله 1- المكدس هو شي متل الذاكره (بنيه لادخال المعطيات) يتم تخزين المعطيات فيها باستخدام تابع او اجرائيه تسمى push حيث أن أول ادخال هو اخر خرج ويجب استعادة قيمة اخر عنصر باستخدام التابع top وحذف اخر عنصر تمت اضافته ب pop 2- queue هي كمان بنيه لتخزين المعطيات تخزن المطيات باستخدام push بس أول ادخال هو اول خرج ويتم استعادة اول عنصر تم ادخاله ب top وحذف اول عنصر تم ادخاله ب pop تفضلوا هي سؤالين وسط لا صعبين ولا سهلين وانا عندي حلهم اذا حدا ما كتير عرفلهم وعفوا....

بااااااايخة Laughing.

تصبحو على خير!

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 2:16pm
صورة jasmine

تاريخ التسجيل: 2006-12-28
مشاركات: 240

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثانية

صباح الياسمين ...والبرمجة...
كيفها معكن..انشأ الله لساكم على قيد الحياة...بدي أسال أنو إذا حصرنا مسائل البرمجة :
1ـ(مصفوفة(قطر رئيسي, ثانوي, min, max , جمع , فرز)
2ـ(حساب طول النص ـالكلمة ـالفراغ ـ ـ)
3ـ والمسائل الرياضية تبع العلاقات ــ
هلأ بيكون كتير عال ...بس أكل الهوا بالمسائل العامة تبع كرة القدم وتبع البلدان كتير صعبين وماحسنت أفهمهن ولابأي شكل ...لأنو حلن ـإذا معكن النوطة تبعن ـ محلولين بطرق مو أخدينها نحنا
المهم انت يا عبد الله تقلنا أيمتى بتفوت مشان نكسبك بكم سؤال وجزاك الله خيرا" .....
وبالنسبة لمسائل امتحان العملي تبع البرمجة لومعنا الحل يا الله كتير بيفيدونا بس منين يا حسرة .....
هلأ شو مشان العودية ما فهمتها وهذا الغبي التابع والإجرائية كل ما أسأل حدا بيقلي الأولاني بيرجع قيمة والتاني لأ.. واللهي فهمت بس كيف ؟ شو يعني ؟؟؟ حدا عندو مثال سهل يصلح لدخول معالج مخي بسهولة

لا تحزن إن الله معنا

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 2:19pm
صورة jasmine

تاريخ التسجيل: 2006-12-28
مشاركات: 240

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثانية

عنجد شكرا DR.Siko  ندرا" علي إذا برفع هالمادة لصوم 4 أيام وكل مادة بتترفع لصمو عليها يوم

لا تحزن إن الله معنا

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 5:20pm
عضو فعال
صورة M-Ramy

تاريخ التسجيل: 2004-03-28
مشاركات: 1283

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

كتب jasmine:
عنجد شكرا DR.Siko  ندرا" علي إذا برفع هالمادة لصوم 4 أيام وكل مادة بتترفع لصمو عليها يوم

خليها بينك و بين رب العالمين بيكون الثواب أكبر Wink

{وماكان الله ليعذبهم وأنت فيهم وماكان الله معذبهم وهم يستغفرون}

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 5:36pm
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

كتب jasmine:
المهم انت يا عبد الله تقلنا أيمتى بتفوت مشان نكسبك بكم سؤال وجزاك الله خيرا" ....

والله هاليومين ما في وقت محدد بس رح حاول فوت المسا شي 8 أو 9.

كتب jasmine:
وبالنسبة لمسائل امتحان العملي تبع البرمجة لومعنا الحل يا الله كتير بيفيدونا بس منين يا حسرة .....

إذا بدكم حطوا المسائل كلها وبحللكم ياها انشاء الله.

كتب jasmine:
هلأ شو مشان العودية ما فهمتها وهذا الغبي التابع والإجرائية كل ما أسأل حدا بيقلي الأولاني بيرجع قيمة والتاني لأ.. واللهي فهمت بس كيف ؟ شو يعني ؟؟؟ حدا عندو مثال سهل يصلح لدخول معالج مخي بسهولة

رح حاول بسط المفاهيم قدر الإمكان انشاء الله:

التابع:

برنامج صغير جزئي من برنامج أكبر منه, وهذا التابع كتوابع الرياضيات التي نعرفها, الفرق الوحيد بينهم أنه في الرياضيات وحتى الآن ما أخذنا تابع يأخذ أكثر من متحول واحد ( Parameter ) يعني طول عمرنا منعرف التابع بالرياضيات من الشكل :

y = f(x)

بينما بالبرمجة ممكن نلاقي تابع بياخد أكتر من متحول واحد, متل تابع القوة:

e ^ x = Power(e,x)

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

وممكن بالبرمجة أنو التابع يقوم بتغيير قيم المتغيرات يلي مررنالو ياها مثل:

Function Modulus(x:Integer;y:Integer):Integer;
Begin
 While x > y do
  x := x - y;
 Modulus := x;
End;

بالتابع السابق ( إيجاد باقي قسمة x على y ) المتغير x عمبيتغير, لكن لو اعتبرنا أنو أنا عندي متغير ولنفرض اسمه X1 وبدي أعرف باقي قسمته على Y1 وبعدها أطبع للمستخدم عبارة "إن باقي قسمة X1 على Y1 هو *** " مع تبديل كل من X1 و Y1 بقيمهم فرح نعمل التالي:

Modulo := Modulus(X1,Y1); 
WriteLn('The modulus of dividing ',X1,' by ',Y1,' is ',Modulo);

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

مثال:

X1 := 7;
Y1 := 3;
Modulo := Modulus(X1,Y1);
WriteLn('The modulus of dividing ',X1,' by ',Y1,' is ',Modulo);

فيكون خرج البرنامج:

The modulus of dividing 7 by 3 is 1

أما في حالة تعريف التابع Modulus بالطريقة التالية:

Function Modulus(var x:Integer;y:Integer):Integer;

فرح بيكون خرج البرنامج:

The modulus of dividing 1 by 3 is 1

والسبب أنو عندما أضفنا عبارة var اتغيرت قيمة المغير بالبرنامج الأساسي كمان, فبهي الحالة نحنا قدرنا ناخد من التابع خرجين واحد حطينا بالمتغير Modulo والتاني بالـ X1, فعمليا ً إذا كان بدنا ناخد أكتر من خرج من تابع واحد فرح منضيف كلمة var قبل المتغير يلي بدنا نستخدمو كخرج أيضا ً, متل الطلب الرابع بالمسألة 22 قدرنا نحصل على التواتر والقيمة ذات التواتر الأكبر من تابع واحد.

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

Function [Function Name] (P0 : Type0 ; P1 : Type1 ; .... ; Pn : Typen) : Type

فالتابع دائما ً بيعيد قيمة من النوع يلي بالسطر السلبق محطوط باللون الأحمر, متل التابع Modulus بيعيد قيمة من النوع Integer, بينما الإجرائية تعريفها من الشكل:

Procedure [Procedure Name] (P0 : Type0 ; P1 : Type1 ; .... ; Pn : Typen)

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

Type Matrix : Array [0..m,0..n] of Integer;

Procedure PrintArray(Ary:Matrix);
Var
I,J : Integer;
Begin
 For I := 0 to m Do
 Begin
  For J := 0 to n Do
   Write(Ary[I,J], '     ' ) ;
  WriteLn;
 End;
End;

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

Procedure AddOne(var Ary : Matrix);
Var
I,J : Integer;
Begin
 For I := 0 to m Do
  For J := 0 to n Do
   Ary[I,J] := Ary [I,J] + 1;
End;

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

العودية:
أبسط تعريف بعرفه للعودية هي استدعاء التابع ( أو الإجرائية ) لنفسه في الكود تبع التابع.
مثل:

Function [Function Name] ([Parameters]) : Type;
Begin
 [Function Name]([Parameters]);
End;

تستخدم العودية للقيام بعمليات منتهية عدد منته ٍ من المرات على متحولات, بحيث تكون العمليات نفسها لكل مرة عدا عدد معين من المرات ( المرة الأخيرة أو أكثر من مرة واحدة ), رح حط مثال عنها حساب قيمة العاملي لعدد معين (بعرف أنو مليتو منها بس هي أكتر شي سهلة):

Function Factorial(x:Integer):Integer;
Begin
 If x := 2  Then
  Factorial := 2;
 Factorial := Factorial (x-1) * x ;
End;

بالمثال السابق التابع يفحص قيمة المتحول x إذا كانت 2 قبيعيد قيمة 2, وإلا فإنه رح بيقوم بعملية فك العاملي يلي منعرفها :

(X)! = (X - 1)! * X

ولحساب القيمة (X - 1)! بيرجع التابع بيستدعي نفسه, وبيرجع بيتكرر اختبار إذا كانت x -1 تساوي 2 أو لا وهكذا بيضل التابع يستدعي نفسه ليوصل لتكون x = 2 وبالتالي ما بيعود بيستدعي حالو مرة تانية بل بيعيد قيمة 2.
صور توضيحية :

 

 

انشاء الله كون شرحتلكم منيح.

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 9:57pm
مشرف
صورة hanihh

تاريخ التسجيل: 2004-03-05
مشاركات: 1381

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

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

مشان مسائل العملي قصدكم المسائل يللي اشتغلناها عالحاسب ولا المذاكرة ؟

 

 
دخول أو تسجيل لإرسال التعليقات
السبت, 2007/01/20 - 11:08pm
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

ببساطة ما رح بيكون الخرج false , لأنو العلاقة صحيحة دائما ً.

انشاء الله بفوت بكرا الساعة 1.

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 1:26am
صورة HAMOOOODA

تاريخ التسجيل: 2007-01-13
مشاركات: 13

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الأولى

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

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 1:29am
صورة HAMOOOODA

تاريخ التسجيل: 2007-01-13
مشاركات: 13

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الأولى

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

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 1:43am
مشرف
صورة hanihh

تاريخ التسجيل: 2004-03-05
مشاركات: 1381

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

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

اكتب تابعاً find_f يأخذ وسيط بعدي المصفوفة m,n و المصفوفة T وهي مصفوفة ثنائية البعد ويعيد عدد صحيح يعبر عن النقطة العائمة إن وجدت حيث نقول عن عنصر في المصفوفة أنه يعبر عن النقطة العائمة إذا كان هذا العنصر أعظمي في سطره و أصغري في عموده.
اكتب برنامجاً يقرأ بعدي المصفوفة m,n ويقرأ المصفوفة tab ويستدعي التابع السابق ويطبع قيمة النقطة العائمة إن وجدت.

ملاحظة :الحل يجب أن يستغرق حوالي تلت ساعة +-5دقائق مع الناس الدراويش متلي.
ملاحظة كتبت هالرد على كيبورد ما في أزرار عربي (محارف)...

 

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 1:55am
صورة jasmine

تاريخ التسجيل: 2006-12-28
مشاركات: 240

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثانية

شكرا كتير يا عبد الله ... غلبناك ..المسألة اللي أجتني (أدخل رقمي عمودن بمصفوفة ثنائية وبدلن )..

لا تحزن إن الله معنا

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 12:25pm
صورة hasoOn89

تاريخ التسجيل: 2007-01-01
مشاركات: 38

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

أهلين عبدالله كيكف
شكرا كتيير على المساعده بس مو كأنه كتير طويل الحل ليك أنا عندي حل أحسن
مشان السؤال 22 انا عندي طريقه أحسن يمكن
وهي باختصار:
انو منعمل تابع يرد العنصر الأول بالمصفوفه
ومنعمل تابع تاني يرد باقي عناصر المصفوفه
بتابعنا منعمل هيك:
function freq (t:array,x:integer);
var
i:integer;
i:=0;
begin
if (x=begin(t)) then هي يعني التابع اللي بيرد العنصر الأول بالمصفوفه
i:=1+freq(end(t),x); هي يعني اللي بيرد العناصر الباقيه
else
i:= freq(end(t),x);
freq := i;
وهيك بنختصر هدول البوليان والشغلات الزايده مو؟؟؟
بس عنجد عبدالله شكرا كتير عذبتك معي

Thanx god

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 12:28pm
صورة hasoOn89

تاريخ التسجيل: 2007-01-01
مشاركات: 38

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

أهلين أستاذ أحمد كيفك
شكرا عالدعم
حاجه جنان قال بدك تنقل صحيح هي الكليه بت... بس مو مشكله وبعدين شو بدك تفوت
طب تعال شوف أخي 24 ساعه عم يحفظ وكل كتاب شي 500 صفحه بلا جنان سمعت واذا رسبنا سنه وسنتين و3 يا أخي مو مشكله شوفي وراك مستقبل اي حاجه يلا قعود دروس وشد حيلك وبعدين انت معروف شاطر
يلا سلام

Thanx god

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 2:14pm
صورة jasmine

تاريخ التسجيل: 2006-12-28
مشاركات: 240

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثانية

أصلا يا أحمد كل الهندسات فيها برمجة إذا بدك تهرب منها (المدني والطبية وكلو أصعب من بعضو)بالنسبة لمسألة المكدس طريقة الأستاذ ما فهمتا إذا حدا بيتكرم وبيبعتلنا الشرح وفي هي المسألة اللي بعدا بالدفتر الي فيها begin ,end كتوابع ااااخر وحدة اخدناها مافهمت نصالمسألة والعامة في المسألة تبع النص المشفر رقم 12 وهدول مسائل(10و19و17) مدري كيف ما عم يظبطوا بالنوطة اللي معي مستخدمين هي الطريقة بس ما عرفت ليش:
procedure print(o:country);
begin
case o of
syr: write('syr');
ومكملين لبقية البلدان وبعدين كاتبين
البرنامج الأصلي أصدي أنو هي مومطلوبة بنص المسألة ليش عم يكتبوها ؟؟؟

لا تحزن إن الله معنا

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 2:17pm
صورة jasmine

تاريخ التسجيل: 2006-12-28
مشاركات: 240

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثانية

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

لا تحزن إن الله معنا

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 2:23pm
صورة jasmine

تاريخ التسجيل: 2006-12-28
مشاركات: 240

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثانية

رجعة أريبة صحيح في مسألة ورة تبع (اكتب خوارزمية تقرأعددين صحيحين موجبين يتألف كل منهما من 6 خانات عشرية ويوجد عدد الخانات المتساوية في كل من هذين العددين ) مو بنفرض انو كل عدد بيتألف من مصفموفة احادية وبعدين بنقارنن بس بالطلب التاني في حالة شاملة طريقتي ما بتمشي معا بقا شو بنعمل بنفرض الأعداد string وكيف الحل

لا تحزن إن الله معنا

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 2:41pm
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

كتب HAMOOOODA:
شبك ياحسن محمل الشغلة اكتر من همها ولو بكره بيجي الفحص ومن نقدم وبناكل هوى خلص.........

دخيلك يا أحمد على هالتفاؤل.

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات
الأحد, 2007/01/21 - 2:51pm
مشرف
صورة mpcabd

تاريخ التسجيل: 2006-02-19
مشاركات: 2611

الجامعة: دمشق
الكلية: الهندسة المعلوماتية
المرحلة: السنة الثالثة

كتب hasoOn89:
أهلين عبدالله كيكف شكرا كتيير على المساعده بس مو كأنه كتير طويل الحل ليك أنا عندي حل أحسن مشان السؤال 22 انا عندي طريقه أحسن يمكن وهي باختصار: انو منعمل تابع يرد العنصر الأول بالمصفوفه ومنعمل تابع تاني يرد باقي عناصر المصفوفه بتابعنا منعمل هيك: function freq (t:array,x:integer); var i:integer; i:=0; begin if (x=begin(t)) then هي يعني التابع اللي بيرد العنصر الأول بالمصفوفه i:=1+freq(end(t),x); هي يعني اللي بيرد العناصر الباقيه else i:= freq(end(t),x); freq := i; وهيك بنختصر هدول البوليان والشغلات الزايده مو؟؟؟ بس عنجد عبدالله شكرا كتير عذبتك معي

صراحة ً ما فهمت شي من حكيك!!!!

‏‫إنطلاقتنا الكبرى معرض شام - بوابتي http://www.bawabaty.net بالتعاون مع الجمعية السورية للمعلوماتية

 
دخول أو تسجيل لإرسال التعليقات