540 likes | 1.04k Vues
خوارزميات و مبادئ برمجة. إعداد و تدريس/ محمود رفيـق الفـرَّا. بلغة جافا. الأسبـوع التاسع. المحاضرة السابعة و الثامنـة عشـر جمل الدوران و تطبيقاتها. شعبـة الطالبات. 2010-2011. في هذا الأسبـوع. تصنيفات البيانات مفهوم المصفوفات و تطبيقاته طرق تعريف المصفوفة
E N D
خوارزميات و مبادئ برمجة إعداد و تدريس/ محمود رفيـق الفـرَّا بلغة جافا الأسبـوع التاسع المحاضرة السابعة و الثامنـة عشـر جمل الدوران و تطبيقاتها شعبـة الطالبات 2010-2011
في هذا الأسبـوع إعداد / أ. محمود رفيق حمدي الفرا 2010-2011 • تصنيفات البيانات • مفهوم المصفوفات و تطبيقاته • طرق تعريف المصفوفة • التفاعل مع خلايا المصفوفة (طباعة و تغذية) • أمثلـة و حلول
تصنيفات البيانات إعداد / أ. محمود رفيق حمدي الفرا 2010-2011 • البيانات في الجـافـا تقسم إلى نوعين • Primitive types(الأنواع الأساسية) • int • float • char • Reference types (الأنواع المشتقـة) • Objects • Data Structures (تراكيب البيانات)
تصنيفات البيانات Top إعداد / أ. محمود رفيق حمدي الفرا 2010-2011 • يمكن تقسيم تراكيب البيانات لنوعين: • ثابتـة في الحجم و الشكل • مثل المصفوفات • متغيرة الحجم و الشكل • مثل الـ stack , Queue, Linked List
مفهوم المصفوفات و تطبيقاته واجبـــــــ 10.1 اذكري خمسة من التطبيقات في حياتنا التي نحتاج فيها للمصفوفات إعداد / أ. محمود رفيق حمدي الفـرَّا 2010-2011 • المصفوفة هي أحد أنواع البيانات و المكونة من مجموعة متصلة و متواصلة من مواقع الذاكرة لها نوع واحد و اسم واحد. • و يعتبر حجم المصفوفة ثابت فلا يسمح بتغيير حجمها أثناء وقت التنفيذ فتعرف باسم (Static data structure) • و تواصل خلايا المصفوفة يسمح بعمليات البحث و الترتيب للبيانات المختلفة. • و بذلك فيتم استخدامها في كافة التطبيقات التي نحتاج فيها إلى البحث أو الترتيب أو التخزين الممنهج (التخزين حسب شرط معين).
مفهوم المصفوفات و تطبيقاته اسم المصفوفة (كما تلاحظ جميع عناصر المصفوفة لها ذات الاسم وهو c) رقم المكان في المصفوفة و يسمى (index) أو (subscript) إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
أنــواع المصفوفات • المصفوفات لها نوعين: • أحاديــة الأبعــاد: يتم فيها تخزين البيانات في صف واحد فقط. • متعددة الأبعــاد: يتم فيها تخزين البيانات في صفوف و أعمدة. إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
طرق تعريف المصفوفة أحاديـة الأبعاد type[] array_name = newtype[ x ]; عدد العناصر التي نريد حجزها في الذاكرة نوع العناصرالتي ستحجز في الذاكرة type [] array_name; array_name = newtype[ x ]; إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
طرق تعريف المصفوفة متعددة الأبعاد type [,] array_name = newtype[ x, y ]; إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
تعريف أنواع من المصفوفات int[] grades = newint[ 70 ]; String[] employees = newString[ 10 ]; float[] salary = newfloat[ 30 ]; إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
التفاعل مع خلايا المصفوفة (طباعة و تغذية) • يمكن التفاعل مع أي عنصر من عناصر المصفوفـة من خلال التعبيـر البرمجي التالي و الذي يشمل على اسم المصفوفة بالإضافـة إلى رقم الخلية المراد التفاعل معها. Array [ i ] = k القيمة المراد وضعها في الخلية اسم المصفوفـة رقم الخلية المراد التفاعل معها و هو محدد من صفر إلى طول الخلية -1 إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
مثـالـ : تطبيق الدوران باستخدام For 9.1 9.2 واجبـــــــ اكتبي برنامج يقوم بإنشـاء مصفوفة تحتوي على نصوص 4 نصوص مع إعطاء كل خلية اسم إعداد / أ. محمود رفيق حمدي الفرا 2010-2011 اكتبي برنامج يقوم بإنشـاء مصفوفة تحتوي على 5 أرقام الصحيحة مع إعطاء قيمة بدائية لكل خلية بالرقم 2. الحل
مثـالـ : المصفوفات و عملياته 9.1 معلومة هامة كل مصفوفة تحتوي على متغير اسمه length يخرن فيه طول المصفوفة و يمكننا الاستفادة منه في كثير من التطبيقات كما تشاهد في المثال العلوي (Array.length) إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
ملاحظات وتنبيهات • كل التطبيقات التي نحتاج فيها للوصول لكافة خلايا المصفوفـة أو لعدد معين منها حسب شرط ما , نحتاج فيها إلى استخدام أحد أنواع الدوران. • الإشارة [ ] يمكن استخدامها خلال تعريف المصفوفة قبل الاسم أو بعده و كلاهما صحيح. • خطأ شائع: عدم تحديد عدد لعناصر المصفوفة عند تعريفها يعطي خطأ برمجي إلا إذا تم تعريفها بالطريقة التالية: int x []; و يمكن بعد ذلك خلال البرنامج إعطاء العدد بالصيغة التالية x = new [5];
مثـالـ : المصفوفات و عملياته 9.2 واجبـــــــ 9.3 اكتبي برنامج يتم من خلاله إنشاء مصفوفة لتخزين الحروف الإنجليزية إعداد / أ. محمود رفيق حمدي الفرا 2010-2011 اكتبي برنامج يتم من خلاله إنشاء مصفوفة لتخزين أرقام صحيحة محددة معروفة سلفا دون إعطاء القيمة لكل خلية على حدا الحل
مثـالـ : المصفوفات و عملياته 9.2 إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
مثـالـ : المصفوفات و عملياته 9.3 واجبـــــــ 9.4 أعيدي برمجة المثال السابق لتخزين الأرقام الفرديـة من 1إلى 100 إعداد / أ. محمود رفيق حمدي الفرا 2010-2011 اكتبي برنامج يقوم بإنشـاء مصفوفة لتخزين أرقام صحيحة , على أن يتم تخزين فيها مضاعفات الرقم 2 من 0 إلى 20 ثم يتم طباعتهم. الحل
مثـالـ : المصفوفات و عملياته 9.3 واجبـــــــ 9.5 أعيدي برمجة المثال العلوي مع تخزين الأرقام الأوليـة من 1 إلى 100. علما بأنَّ الرقم الأولي هو الذي لا يقبل القسمة إلا على نفسـه و الواحد. إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
مثـالـ : المصفوفات و عملياته 9.4 9.6 واجبـــــــ اكتبي الخوارزمية المناسبة للمثال العلوي بالطريقتين المعتمدتين. إعداد / أ. محمود رفيق حمدي الفرا 2010-2011 اكتب برنامج يقوم بإنشـاء مصفوفة لتخزين عشرة أرقام صحيحة يتم استقبالها من المستخدم , ثم يتم بعد ذلك جمع الأرقام الزوجيـة منها و طباعة الناتج الحل
مثـالـ : المصفوفات و عملياته 9.4 9.7 واجبـــــــ قومي بالتعديل على البرنامج السابق لطباعة مجموع الأعداد الفردية أيضا م طباعة عدد الأرقام الزوجية و الفردية المدخلة. إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
مثـالـ : المصفوفات و عملياته 9.5 9.8 واجبـــــــ أعيدي برمجة المثال السابق مع استبدال المصفوفة بمصفوفة أسماء إعداد / أ. محمود رفيق حمدي الفرا 2010-2011 مستفيدا من المثال السابق , قم بكتابة برنامج يسمح للمستخدم بالبحث عن احد القيم المدخلة و طباعة النتيجة (وجدتها في الخلية رقم ...) أو (لا أجدها) الحل
مثـالـ : المصفوفات و عملياته 9.5 إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
شكـرًا لإنصاتكم لنبدأ النقاش فنستفيـد... إعداد / أ. محمود رفيق حمدي الفرا 2010-2011
إيمانك × ميزانكـ قال الإمام بن تيمية رحمه الله تعالى: الإسناد من الدين و لولا الإسناد لقال من شاء ما شاء
في المحاضرة القادمـة إن شاء الله تدريبات شاملة على المصفوفات