

يعني متل دورة 2004 (دورة الحملة)
شلون هاد


كمان اذا السؤال انو عاطينا هوو النمط المجرد وبدو نكتبلو التوابع يلي بتحققو
مو_نزار كتب:بالنسبة لبحث بنى المعطيات المجردة مدري ليش حاسس أنو في شوية (طلاسم) بالكتاب
رجعت اليوم قرأت المثال يلي بالصفحة 122 و طلع معي التالي
يا ريت يلي عندو تأكيد على الشرح أو تصحيح على أفكارو يتحفنا
شرح المثال ص 122
أولا:
Type Stack(T)
نمط مع وسيط (صوري ) //يعني وسيط من أي نمط كان//
فائدة الوسيط T من أجل التعميم
تعميم شو ؟؟
لا يوجد شيئ اسمو مكدس ............في مكدس عناصرو من نوع نمط معين (مكدس أرقام , مكدس سلسلة محارف ....) فالوسيط T يدل على النمط (الكيفي) للمكدس ي التوصيف المجرد له
ثانيا :
Kind Stack
ثالثا :المستورد Import
أحسن وصف له بأنه يكافئ الــ uses تبع الباسكال عند بناء الوحدات ...... حيث يمكن تشبيه عملنا هذا في توصيفنا للنمط المجرد ببناء وحدة واجهتا interface مع العالم الخارجي هي كل يلي كاتبينو بتوصيف النمط المجرد و الــ import تمكننا من استخدام أنماط خارجية لتوصيف نمطنا
رابعا : العلميات
Operator
توابع بوسطاء
** الباني :
بناء قيم النمط استنادا إلى قيمة
في نمط الأعداد الطبيعية نبني عناصر النمط اعتمادا على الصفر
0 :>>>>>>natN
(اعتمادا على الصفرر نبني النمط)
في مثالنا المكدس
نبني نمط مكدس (من نمط T ) اعتمادا عليه و هو فارغ
EmptyStack:>>>>>>>> Stack(T)
** الوصول (المراقب !!)
يمثل واجهةالنمط ................كيف ممكن نوصلو..................
بالرتل مثلا فينا نعتبر :هل الرتل فارغ
عند رأس الرتل ممكن نحصل على عنصر من نمط الرتل
عند الذيل ممكن نضيف عنصر من نمط الرتل إلى الرتل
بالشعاع :منوصل لعنصر الشعاع من خلال الشعاع و الدليل تبعو
بمثالنا تبع المكدس نصل للمكدس عن طريق رأسو
Top :Stack(t)>>>>>>>T
ومن خلال أنو هل قمته فارغة \و لا لأ (كأنو مشان هيك مثلا سميناه الواصل أو لامراقب ؟؟)
IsEmpty :Stack(t)>>>>>>>boolean
** المحول
و كأنو كيفية الإنتقال(عمليات الإنتقال الأساسية بين عناصر النمط) ؟
بالأعداد الطبيعية مننتقل لعنصر مكن نفس النمط عن طريق عملية الجمع
بمثال الشعاع عن طريق
خامسا :الشروط المسبقة
Per-Condition
و هي بمثابة حقائق و مسلمات محققة دوما من اجل أي عنصر من عناصر هذا النمط و تحققها جميع عناصر هذا النمط
مثلا :
بنمط الأعداد الطبيعية لا يوجد شروط مسبقة
بنمط الأعداد الحقيقية أنو مربع القسم التخيلي = -1 (يا ترى هل الحكي صح ؟)
بمثالنا تبع المكدس : حتى يكون في شي اسمو مكدس لازم يكون محقق (احتوائه على عنصر على الأقل مشان نقدر نشوفو ..............يعني يكون موجود)
-أن نتمكن من تنفيذ عملية Pop على المكدس
PerCond(pop(stack))== not IsEmpty
-أن تمكنا من الوصول إللى قمة المكدس (بمعنى مؤشر المكدس ليس Nil )
PerCond(top(stack))== not IsEmpty
سادسا: الحقائق
Axiom
نوصف العمليات الأساسية الممكنة على هذا النمط و التي تكون محققة على جميع عناصر النمط
و إذا انطلب منا أنو نعرف شي نمط مع العملية Somthing منعرفها هون ( متل مو عاملين بالمثال صــ 123)
الحقيقة الأولى التي تخققها جميع عناصر المكدس (هل المكدس الفارغ فارغ ؟؟- طبعا نعم!!)
IsEmpty(EmptyStack)== true
الحقيقة التانية التي تخققها جميع عناصر المكدس (هل المكدس يلي عم اقدر اسحب منو عنصر هلأ فارغ ؟؟- طبعا لا !!)
Pop(Push(stack,element)
الحقيقة التالتة لما بضيف عنصر و برجع بسحب من المدكس مباشرة عنصر فلح احصل عل العنصر يلي حطيتو
Top(push(stack,elsement))=stack
الحقيقة الرابعة العنصر يلي بضيفو هلأ لح يروح و يقعد على رأس المكدس
Top(push(stack,elsement))=element
هاد الحكي و الشرح مو أكيد 100 % ............هيك أنا فهمت الموضوع.................
أنتو كيف فهمتو.................
شو رأيكون نتناقش بنفس المثال السابق .لأانو إذا فهمنا تمام منصير نقدر نوصف إي نمط..المشكلة أنو لسا دلالات الكلمات الأساسية بتوصيف نمط مالي مستوعبها100 % متل هي الــ Transformer ؟
موفقين
pq is a PQ v and w are elements and p(v) is a value related to element v
min(insert(v,new()))=v
delmin(insert(v,new()))=new()
min(insert(v,insert(w,pq)))=if p(v)<p(nin(insert(w,pq)))then v else min(insert(w,pq)))
delmin(insert(v,insert(w,pq)))=if p(v)<p(min(insert(w,pq)))then
insert(w.pq)
else
insert(v,delmin(insert(w,pq)))
الأمير كتب:شلون الهمه .. أكيييد رووواق![]()
![]()
![]()
الأمير كتب:شلون الهمه .. أكيييد رووواق![]()
![]()
![]()
AreF_KhaLiL كتب:اذا اجى نمط مجرد انخرب بيتنا
وصعوبته بسهولة الزايدة
AreF_KhaLiL كتب:رواق ع الأخير
الحمد الله كل سؤال جريدة
الدورة مخصصة لتاريخ انظمة العد
الفواصل الترفيهة تسبب الإحباط
حتى الرسم العودي بده استنتاجات
بصراحة طبخة ماكنة
بس وقت مافي
لأنو بدك وقت لتفهم شو بده لأن السؤال غريب
و بدك وقت لتكشف الفكرة و تستقر عليها
وبدك وقت لحتى تكتب شو طلع معك
بس الأسئلة مو عادلة
البعض عم يقول سهلة
بس انا بقول نموذج جديد وبده وقت اكتر بكتير من 3 ساعات
يا ريت ما حلينا اسئلة دورات
ولا عذبنا حالنا
العودة إلى الخوارزميات وبنى المعطيات 1
المستخدمون المتصفحون لهذا المنتدى: لا يوجد أعضاء مسجلين متصلين و 1 زائر