مرحبا مرحبا بعودتك.
في هذه المحاضرة مظاهرة أريد أن أقدم حلاً لبرنامج الطقس الذي
تحدثت عنه حول في التحدي السابق لدينا.
لذلك دعونا نبدأ الكود كتل إنشاء مشروع.
سأقوم بتسمية هذا المشروع الطقس.
ومرة أخرى ، فقط للتذكير بهذا سيسمح لنا التطبيق
بالحصول على إجماليات سنوية وشهرية متوسطات كميات الأمطار.
حتى في الجزء العلوي ، تريد لتقديم تعليقات تخبرك ما
هو البرنامج.
مرة أخرى ، سيكون هذا البرنامج إيجاد مجاميع سنوية ومتوسط سنوي
ومتوسط شهري لعدة سنوات من بيانات هطول الأمطار ، 5 سنوات أساسًا.
لذا في القمة ، سأذهب لتحديد ثوابتين ، ولم نتجاوز التعريف توجيه
المعالج بالتفصيل حتى الآن ، لكنك على
دراية به هذا ، ليس معقدًا حقيقيًا.
لذلك سأقوم بتضمينه وأنا تريد كتابة رمز جودة لطيف.
لذلك سأقوم فقط بتحديد واحد يسمى الأشهر
يمكن أن يساوي 12 وثابت.
يمكنك أيضًا استخدام الثابت المعدل ، وسأحدد أيضًا واحدة
تسمى سنوات تساوي 5.
هذا نحن ذاهبون إلى النجوم.
وأول شيء نريده حقًا للقيام بوظيفتنا الرئيسية هو أننا
نريد إنشاء مصفوفة لدينا هي مصفوفة ثنائية الأبعاد ونريد تهيئة
البيانات.
لذلك سنقوم بالتهيئة كميات الأمطار وبيانات
هطول الأمطار لعام 2010 و 2011 و 2015 أو شيء من هذا القبيل.
وهكذا نعرف كيفية إنشاء ملف مصفوفة ثنائية الأبعاد
، حددنا اسم نوع البيانات و أعتقد أنه يجب أن
يكونوا عددًا عشريًا لأن العوامات تحتوي على نقاط عشرية ويمكن أن تكون كميات الأمطار العشرية.
لذلك سنقول فقط تعويم ، سنقوم بتسمية المطر
ثم نحدد ذلك نحن تريد أن يكون لديك 5 صفوف و 12 عمودًا.
لذلك سنقول سنوات وهو ثابتنا وشهورنا ، ثم سنبدأ في تهيئته.
لقد أعلنا عنها بهذا الحجم والآن نريد تهيئته.
ويمكنك تهيئته من خلال وجود أقواس مثل هذه تمامًا وبعد ذلك يمكن أن يكون
لديك أقواس داخلية لكل صف.
يمكننا أيضا أن نجعل هذا صفيف ثابت إذا أردنا
ذلك ولكننا لن نفعل ذلك.
الآن لقد فعلت هذا بالفعل البيانات ولا أريد
أن أكتب ماذا سيكون هذا.
سيكون هذا 10 ضرب 50 أو 12 ضرب 5 ، سيكون ذلك 60 عنصرًا.
لا أريد كتابة 60 عنصرًا الآن لأنه
سيستغرق وقتًا وأنت ذاهب للجلوس والنوم.
لذلك سأقوم بنسخ و لصق التهيئة وتهيئة
بعض البيانات.
هذه فقط بعض البيانات الوهمية. قد لا يكون ذلك صحيحًا.
لكن سترى أن لدينا أقواس لكل صف وبالتالي لدينا 5 صفوف.
نحن نفصل كل صف بواسطة a الفاصلة ولدينا هذه الأقواس المتعرجة
بالداخل لكل صف.
ثم داخل المجعد الأقواس ، فنحن نفصل
كل قيمة شهرية بفاصلة.
لذا فنحن نفصل الصفوف بمقدار فاصلات ونفصل القيم
داخل الصفوف بفاصلات.
هنا حفنة من كميات الأمطار السنوية.
لذلك على سبيل المثال هذا الصف الأول سيمثل عام 2011 وسيكون العمود
الأول يناير.
لذلك في كانون الثاني (يناير) 2011 ، نحن كان 4. 3 بوصات من المطر.
هنا بالأسفل إذا نظرنا إلى الرقم 6. 7 ، سيكون هذا لعام 2012 ، 13.
لشهر مارس نحن كان 6. 7 بوصات من المطر.
لذا يمكنك أن ترى كيف يمثل هذا سنوات وشهور لهطول الأمطار.
الآن بعد أن قمنا بتهيئة كل بياناتنا ، يمكننا في الواقع تهيئة أو إنشاء
متغيراتنا المحلية الأخرى.
لذلك سنقوم فقط بإنشاء سنة وشهر لأن
هذا سيساعدنا في الحفاظ على سنواتنا على التوالي وشهورنا على التوالي.
لذلك أنا أقول فقط سنة أنا شهر سأقوم
بإنشائها على نفس السطر ، وسأقوم أيضًا بإنشائها زوجان يطفو المجموع الفرعي والإجمالي.
سيكون المجموع الفرعي إجماليات سنوية ؛ سيكون الإجمالي هو إجمالي هطول الأمطار حتى أتمكن
من الحصول على المتوسط السنوي.
وسنكتشف أيضًا كيفية الحصول على المتوسطات الشهرية.
لذا فإن أول شيء أحتاج إليه أفعل هل
أحتاج إلى حلقة for التي ستطبع ملف هطول الأمطار لسنة معينة.
لذلك أولا أنا ذاهب اطبع على سطر واحد.
سأطبع العام فقط ، وسأضيف علامة تبويب ...
أضف علامة تبويب إليها لتحسين تنسيقها.
دعنا نضيف علامتي تبويب ، سنرى كيف هذا يبدو بمجرد عرضه.
ثم سأضع هطول الأمطار ، وسأضع ذلك بالبوصة وسأضيف خط
تغذية.
ومرة أخرى ، قد ترغب في الاختبار هذا لنرى كيف يبدو.
وبعد ذلك سأذهب إلى حلقي.
إذن ماذا أريد أن أفعل بالترتيب لحساب المجاميع
الفرعية لكل سنة عرضها ، أريد أن أذهب من خلال كل الصفوف ، كل السنوات ، ثم لكل عام
، أنا أريد أن أمضي كل الشهور لأنني بحاجة إلى إضافة
الشهور.
لذا فإن الحلقة الخارجية ستبدأ مع العام الأول ، وهو 2011 ولكنه
في الواقع 0 داخل مصفوفة لأن المصفوفات هي 0 مفهرسة.
وسأقوم أيضًا بالبدء متغير محلي آخر بالداخل هنا.
تذكر أن حلقات for مرنة جدًا.
يمكنك في الواقع إنشاء أخرى المتغيرات في بيان for.
لم أكن بحاجة إلى إنشاء متغير يتم استخدامه خارج
عبارة for في السطور 19 أو 20.
لذلك سأقوم هنا بالإنشاء متغير يسمى total أو تهيئة المتغير الإجمالي
الخاص بي.
وبعد ذلك سأستمر حتى سنتي أقل من سنواتي الثابتة ، وسأزداد السنة
المتغيرة للتحكم في حلقة العداد الخاصة بي.
إذن السنة والشهر حلقة متغيرات التحكم في السطور 19.
وهذا سوف تمثل الحلقة الخارجية الخاصة بي.
إنها مصفوفة ثنائية الأبعاد ، لذلك أنا كذلك سيحتاج إلى حلقة داخلية أيضًا.
وحلقتي الداخلية مستمرة للذهاب من خلال كل شهر.
لذلك سأقول الشهر يساوي 0 ، المجموع الفرعي لكل شهر يساوي
أيضًا 0 ، قم بتهيئته.
وسأواصل حتى لقد انتهيت من كل أشهري.
وسأزداد متغير التحكم في الحلقة الخاصة بي ، وستكون هذه الحلقة الداخلية
الخاصة بي.
لذلك في الحلقة الداخلية الخاصة بي أستطيع في الواقع تحديد المجاميع الفرعية ، لست
بحاجة لعرض أي شيء.
لذلك كل ما سأفعله في بلدي الحلقة الداخلية سأضيفها
إلى المجموع الفرعي لكل عام ، الإجمالي الفرعي الخاص بي هو الإجمالي السنوي الخاص بي.
وها أنا ذاهبة للتو للوصول إلى المصفوفة.
اسم المصفوفة الخاص بي سيكون ممطرًا.
لذا يمكنني أن أقول غواصة المطر العام ، لذلك سيكون هذا كله لعام 2011
في البداية لأن بلدي الخارجي حلقة ثم لكل شهر.
وأنا أضيف إليها.
لذلك أقول إن المجموع الفرعي يساوي المجموع الفرعي بالإضافة إلى المطر بالإضافة إلى قيمة الصفيف.
لذلك تمر الحلقة الداخلية كل شهور تلك السنة تنشئ مجموعًا
فرعيًا لها.
الآن أريد عرض ملف الإجمالي الفرعي خارج الحلقة لأنني
أريد فقط العرض المجموع الفرعي 5 مرات لمدة 5 سنوات.
حتى هنا يمكنني قليلا لطيف بيان طباعة يساعد على
تنسيق البيانات قليلاً وأيضًا يساعد في عرضه بشكل صحيح.
الآن سيكون هذا هو العام والمجموع الفرعي.
لذلك ربما نريد أن نضيف إلى المجموع الفرعي ، أود أن أقول علامتي تبويب ، لكننا سنرى ماذا
يبدو ، حتى مائل t مائل t.
ثم الشيء الآخر الوحيد نريد أن نضيف إلى الإجمالي
لأننا نحتاج إلى ذلك احصل على المجموع لجميع السنوات.
لذلك يمكننا أن نقول هنا فقط مجموع زائد يساوي المجموع الفرعي.
وبعد ذلك ستلاحظ المجموع الفرعي تتم إعادة التهيئة فعليًا في كل مرة تذهب فيها
إلى الحلقة الداخلية ، لذلك لا يتعين علينا إعادة ذلك إلى الوراء.
وهنا نريد فقط أن نصنع تأكد من أن المسافة البادئة جيدة.
مرة أخرى ، لاحظ المسافة البادئة لـ كل كتلة ، وأنا في الواقع لست
بحاجة إلى الأقواس في 27 و 29 لأنه بيان واحد لكنني سأتركهم
هناك.
الآن بعد أن فعلت ذلك بعد طبع هطول الأمطار السنوي أو هطول الأمطار لكل
عام ، يمكنني الآن عرض المتوسط السنوي لأن لدي بيانات كافية ، لدي الإجمالي
هطول الأمطار في كل شهر هطول الأمطار.
لذا سأعرض هنا المتوسط السنوي الذي يمثل فقط الإجمالي
مقسومًا على السنوات.
لذا أضف بيان طباعة آخر هنا.
مرة أخرى ، مكان جيد آخر للاختبار.
لذلك دعونا نمضي قدمًا ونبني هذا ، تأكد من عدم وجود أي أخطاء
لأنه يحتوي على الكثير من التعليمات البرمجية.
ولدينا ملف سنة متغيرة غير معلن عنها.
عندما ترى خطأ في المترجم ، يكون أحيانًا تحريفًا
لما هو الخطأ الفعلي.
لذلك في هذه الحالة أخبرني أنه كان لدي خطأ في السطر 19 ، ولكن السبب الحقيقي
وراء الخطأ هو العبارة السابقة التي لا تحتوي على
فاصلة منقوطة نهائية.
دعونا نجري هذا ونرى ما إذا كنا يمكنه رؤية هطول الأمطار السنوي ،
ومعرفة كيفية تنسيقه.
ها نحن ذا نذهب عام 2010 هطول الأمطار بالبوصة.
لذلك ربما نضيف عددًا كبيرًا جدًا من علامات التبويب بعد عرض المجاميع الفرعية ، فإن المتوسط
السنوي هو 39. 4.
لذلك ربما نريد إصلاح ذلك بمجرد التخلص من علامة تبويب هنا.
تذكر أنه يمكنك إضافة ملف علامة تبويب في الإخراج الخاص بك باستخدام
الهروب التسلسل المائل t.
لذلك يبدو ذلك جيدًا على الأقل.
الآن يجب أن يكون لدينا آخر حلقة ستعرض المتوسطات
الشهرية.
لذلك قبل أن أعرض الشهرية المتوسطات أريد
طباعة كل شيء على سطر واحد.
لذلك سأقوم فقط بطباعة بعض المعلومات باستخدام printf.
سأقوم بطباعة ملف متوسطات شهرية وإضافة خلاصات من سطرين
حتى يتم تنسيقها بشكل أفضل.
ثم سأطبع من معلوماتي الأخرى.
سننفصل فقط الأشهر بمسافات قليلة ثم أضف سطرًا جديدًا.
لذلك سنفعل نفس الشيء عندما نمر عبر حلقة for.
الآن نحن بحاجة إلى حلقة أخرى الآن للحصول على المتوسطات الشهرية.
لذلك في حلقة for هذه ، الجزء الخارجي الحلقة ستبدأ في الشهر.
بدلاً من المرور بكل صف ، ماذا سأفعل هنا هو أنني سأستعرض
كل عمود لأن أحتاج إلى الحصول على المتوسط الشهري.
لذلك سأبدأ وأنا كذلك سنذهب خلال كل عمود
وهو يناير فبراير مارس يمثل الأعمدة.
ولكل عمود ، سأقوم بذلك تمر بجميع السنوات
لهذا العمود وبعد ذلك يمكنني استخدام المجموع الفرعي ومجموع المتغيرات مرة أخرى.
لذلك سأقول الشهر يساوي 0 ، الشهر أقل
من شهر والشهر زائد.
ثم الحلقة الداخلية الخاصة بي هي سوف تمر عبر السنين.
لذلك أنا ذاهبة للتو أن نقول عن عام يساوي 0.
وتذكر أنني أريد أيضًا لإعادة تهيئة المجموع الفرعي الخاص بي.
لذا سأقول هنا المجموع الفرعي يساوي 0 لأنني
أريد أن أبدأ الساعة 0 بمجرد أن أحصل على سنتي الجديدة ، فمرر كل السنوات ثم
زيادة السنة ، متغير التحكم في قفزة.
والداخل هنا أريد ضع المجموع الفرعي الخاص بي والذي سيكون مساويًا لمجموعتي
مجموعة لمدة سنة وشهور.
ولذا فمن المهم أن فهم ما يحدث هنا هو أننا نغير الطريقة التي نحن عليها الهوية
من خلال المصفوفة.
وتكررت الحلقات الأولى من خلال استعراض كل صف والنظر إلى
كل عمود.
في هذا نحن في الواقع نذهب من خلال كل عمود
والنظر إلى هذا الصف المحدد لأننا حساب المتوسطات الشهرية.
إذن نحصل على المجموع الفرعي ، ثم نحصل عليه أريد فقط طباعة المجموع الفرعي مقسومًا
على السنوات لذلك الشهر.
بحيث يتطابق مع ناتجنا في السطر 37.
لذلك نحن سنفعل فقط شيء من هذا القبيل
، وسنفعله بـ 4. تنسيق واحد ، المجموع الفرعي مقسومًا على السنوات.
ونضيف مسافتين لذلك نحاول ترتيبها على أفضل وجه
، قد نرغب في إضافة مساحة أخرى.
ثم بعد أن طبعنا كل شيء ، يمكننا فقط إضافة سطر تغذية لسهولة القراءة
، وقد انتهينا.
وهذا سوف يعطينا المتوسطات الشهرية لأننا حصلنا على جميع المجاميع الفرعية بعد ذلك
قسمناها على مر السنين.
الآن دعونا نبني هذا ، لا توجد أخطاء وتشغيله.
والآن سنرى المزيد الناتج عن المجاميع الشهرية أو المتوسطات
الشهرية.
حتى هنا نرى ذلك شهريًا المتوسطات والشكل
لا يصطفان جيدًا.
لذلك كل هذا يتوقف بسبب من إخراج الشخصية.
نحن في الواقع ربما نريد التقليل المساحة ، أضف مساحة واحدة فقط هناك ، دعنا نرى ما إذا كان ذلك
يؤدي بعمل أفضل.
الآن عندما نقوم بتشغيله ، انظر ما إذا كان يبدو أفضل لأنك تريد أن
تكون قادرًا على الارتباط كل شهر بـ المتوسطات ، هذا أفضل قليلاً.
ما زلنا نحصل على القليل بسبب الأشهر 3 أحرف
والأعداد الصحيحة 2.
نحن بشكل رئيسي حصلنا على ثمل بين أكتوبر ونوفمبر لأن هناك مساحة
واحدة فقط.
الآن يمكنني إصلاح ذلك عن طريق مجرد الذهاب من هذا القبيل.
لذلك ينبغي أن تفعل شكل كل شيء جميل.
لكن يمكنك أن ترى كيف نحن فقط طباعة كميات الأمطار للسنوات
والمتوسطات الشهرية.
آمل أن يكون هذا قد جعلك على دراية المصفوفات ثنائية الأبعاد ، وكيفية التكرار من
خلالها ، وكيفية التخصيص المصفوفات وكيفية الوصول إلى البيانات.
شكرًا لك.