Merhaba, tekrar hoş geldiniz.
Bu ders gösteriminde Konuştuğum hava durumu programımıza bir çözüm
sunmak istiyorum bir önceki yarışmamızda.
Öyleyse kodu başlatalım blokları bir proje oluşturur.
Bir isim vereceğim. bu proje hava durumu.
Ve yine, sadece bir hatırlatma uygulama yıllık toplamları
ve aylık toplamları almamıza izin verecek yağış miktarları için ortalamalar.
Yani en üstte, şunları istiyorsunuz programın ne olduğunu anlatan yorumlar
sağlamak için.
Tekrar ediyorum, bu program birkaç yıl için yıllık toplamları, yıllık
ortalamayı ve aylık ortalamayı bulma yağış verisi, esasen 5 yıllık.
Yani en üstte, ben gidiyorum birkaç sabit tanımlamak için, ve tanımlamanın üzerinden geçmedik
önişlemci yönergesini henüz ayrıntılı olarak bilmiyorsunuz,
ancak bu, gerçekten karmaşık değil.
Bu yüzden onu da ekleyeceğim ve güzel kaliteli kod yazmak istiyorum.
Bu yüzden sadece tanımlayacağım ay olarak adlandırılan
bir tanesi 12'ye ve bir sabite eşit olabilir.
Ayrıca şu sabiti de kullanabilirsiniz değiştiricisi ve ayrıca 5'e eşit yıllar olarak
adlandırılan bir tane tanımlayacağım.
Bu bizim yıldızımız olacak.
Ve gerçekten istediğimiz ilk şey ana fonksiyonumuzda yapmak istediğimiz
şey, dizimizi oluşturmaktır. iki boyutlu bir dizidir ve verileri başlatmak
istiyoruz.
Bu yüzden ilklendireceğiz Yağış miktarları, 2010,
2011 ve 2015 yıllarına ait yağış verileri ya da başka bir şey.
Ve bu yüzden nasıl bir iki boyutlu bir dizide, sadece
veri tipi adını belirttik ve Bence kayan nokta
olmalılar çünkü kayan noktaların ondalık noktaları vardır ve yağış miktarları ondalık olabilir.
Bu yüzden sadece yüzer diyeceğiz, yağmur adını
vereceğiz ve sonra da 5 satır ve 12 sütun olmasını istiyorum.
Bu yüzden sadece yıllar diyeceğiz sabitimiz ve aylarımızdır ve sonra onu başlatacağız.
Bu büyüklükte olduğunu ilan ettik ve şimdi onu başlatmak istiyoruz.
Ve bunu şu şekilde başlatabilirsiniz parantezler ve ardından her satır için iç parantezlere
sahip olabilirsiniz.
Bunu da yapabiliriz İsteseydik sürekli dizebilirdik
ama yapmayacağız.
Şimdi bunu zaten yaptım veri ve bunun ne olacağını
yazmak istemiyorum.
Bu 10 kere 50 ya da 12 eder. çarpı 5, bu da 60 eleman eder.
60 element yazmak istemiyorum çünkü bu zaman
alacak ve sen sadece orada oturup uykuya dalmak için.
Bu yüzden kopyalayacağım ve başlatma işlemimi yapıştırın
ve bazı verileri başlatın.
Bu sadece bazı kukla veriler; doğru olmayabilir.
Ama göreceksiniz ki parantezlerimiz var. her satır için ve böylece 5 satırımız var.
Her satırı bir virgül ve her satır için bu küme parantezleri
var.
Ve sonra kıvırcık içinde parantezler, her bir aylık
değeri virgülle ayırıyoruz.
Yani satırları şu şekilde ayırıyoruz ve satırların içindeki
değerleri virgüllerle ayırıyoruz.
Burada bir sürü yıllık yağış miktarları.
Örneğin bu ilk satır 2011 yılını temsil eder ve ilk sütun Ocak
ayı olur.
Ocak 2011'de, biz 4 tane vardı. 3 inç yağmur.
Burada 6'ya bakacak olursak. 7, bu 2012, 13 yılı için olacaktır.
Mart ayı için biz 6 tane vardı. 7 inç yağmur.
Yani bunun nasıl temsil ettiğini görebilirsiniz yağışlar için yıllar ve aylar.
Şimdi, tüm ilklendirdiğimiz verilerimizi, aslında diğer yerel değişkenlerimizi başlatabilir
veya oluşturabiliriz.
Bu yüzden sadece bir yıl ve bir ay
çünkü bu yıllarımızı korumaya yardımcı olacak düz ve aylarımız düz.
Bu yüzden sadece bir ay diyeceğim.
bunları aynı satırda oluşturacağım ve ayrıca birkaç şamandıra alt toplam ve toplam.
Alt toplam yıllık toplamlar olacaktır; toplam, yıllık ortalamayı alabilmem için
toplam yağış miktarı olacaktır.
Ve biz de anlayacağız aylık ortalamalar nasıl alınır.
Bu yüzden yapmam gereken ilk şey bir
for döngüsüne ihtiyacım var. Belirli bir yıl için yağış miktarı.
Bu yüzden önce tek bir satıra yazdırın.
Ben sadece yılın çıktısını alacağım, ve bir sekme ekleyeceğim...
daha iyi biçimlendirmek için bir sekme ekleyin.
2 sekme ekleyelim, nasıl olduğunu göreceğiz gösterdiğimde böyle görünecek.
Sonra da yağmur yağdıracağım, ve bunu inç cinsinden yazacağım ve bir satır beslemesi
ekleyeceğim.
Ve yine, test etmek istersiniz neye benzediğini görmek için.
Sonra da döngüye gireceğim.
Peki ne yapmak istiyorum her yıl için alt toplamları hesaplamak
için bunları görüntülemek, gitmek istiyorum tüm satırları, tüm yılları taradım ve sonra her yıl için
tüm ayları gözden geçirmek istiyorum çünkü ayları toplamam
gerekiyor.
Böylece dış döngümüz başlayacak ilk yıl olan 2011 ile başlar
ama aslında 0'dır. çünkü diziler 0 indislidir.
Ve aynı zamanda burada başka bir yerel değişken.
Unutmayın, for döngüleri çok esnektir.
Aslında başka for deyimindeki değişkenler.
Bir değişken oluşturmama gerek yoktu satır 19 veya 20'deki
for deyiminin dışında kullanılır.
Bu yüzden burada sadece toplam adında bir değişken oluşturun veya toplam değişkenimi
başlatın.
Ve sonra da benim yılım, sabit olan yıllarımdan daha az ve ben artışa
gidiyorum sayaç döngü kontrol değişken yılım.
Yani yıl ve ay döngüdür kontrol değişkenleri 19. satırda.
Ve bu da benim dış döngümü temsil eder.
İki boyutlu bir dizi, bu yüzden bir iç döngüye de ihtiyacımız olacak.
Ve benim iç döngüm her ay geçmesi için.
Bu yüzden burada ay diyeceğim 0'a eşitse, her ay için alt
toplam da 0'a eşittir.
Ve ben de Bütün aylarım bitti.
Ve ben artıracağım döngü kontrol değişkenim ve bu da benim iç döngüm
olacak.
Yani iç döngümde aslında alt toplamları belirlerken hiçbir şey görüntülememe
gerek yok.
Yani benim yapacağım tek şey İç döngüde her
yıl için alt toplamıma ekleme yapacağım, Ara toplamım yıllık toplamımdır.
Ve burada sadece gidiyorum diziye erişmek için.
Dizimin adı Yağmur olacak.
Bu yüzden sadece yağmur alt diyebilirim Bu yüzden başlangıçta tüm bunlar 2011 yılı için
olacak çünkü benim dış döngüsü ve ardından her ay için.
Ve ben de ekliyorum.
Yani diyorum ki alt toplam eşittir alt toplam artı yağmur artı dizi değeri.
Yani iç döngü o yıla ait tüm ayların bir alt toplamını
oluşturur.
Şimdi de şu adresi görüntülemek istiyorum alt toplamı
döngünün dışında çünkü yalnızca 5 yıl boyunca 5 kez alt toplam.
Bu yüzden burada küçük bir print deyimi, verileri biraz biçimlendirmeye
yardımcı olur ve ayrıca düzgün görüntülenmesine yardımcı olur.
Şimdi bu olacak yıl ve ara toplam.
Bu yüzden muhtemelen eklemek isteyeceğiz alt toplamda birkaç sekme diyebilirim, ama ne olacağını göreceğiz Göründüğü gibi,
bu yüzden eğik çizgi t eğik çizgi t.
Ve sonra diğer tek şey Yapmak istediğimiz
toplamı eklemek çünkü tüm yıllar için toplamı var.
Yani burada sadece şunu söyleyebiliriz toplam artı, alt toplama eşittir.
Ve sonra alt toplamı fark edeceksiniz aslında iç döngüye her gittiğinizde yeniden
başlatılıyor, böylece onu geri almak zorunda kalmayız.
Ve burada sadece yapmak istiyoruz girintinin iyi olduğundan emin olun.
Yine, girintilerime dikkat edin ve aslında 27 ve 29. bloklarda parantezlere
ihtiyacım yok. tek bir ifade olduğu için onları orada bırakacağım.
Şimdi bunu yaptıktan sonra yıllık yağış miktarını veya her yıl için yağış
miktarını yazdırdığımda, artık yıllık ortalamayı gösteriyorum çünkü yeterli
veriye sahibim, toplam her ay yağış miktarı.
Bu yüzden burada sadece yıllık ortalama, toplamın yıllara
bölünmesiyle elde edilir.
Bu yüzden buraya başka bir print deyimi ekleyin.
Yine, test etmek için başka bir iyi yer.
Öyleyse devam edelim ve inşa edelim Bu, çok fazla kod olduğu
için herhangi bir hata olmadığından emin olun.
Ve bizim bir beyan edilmemiş değişken yıl.
Bir derleyici hatası gördüğünüzde, bazen gerçek hatanın ne
olduğunu yanlış yansıtıyor.
Yani bu durumda bana satırında bir hata oluştu, ancak aslında hataya
neden olan şey Sonunda noktalı virgül bulunmayan
bir önceki ifade.
Bunu çalıştıralım ve bakalım yıllık yağış miktarını görebilir, nasıl biçimlendirildiğine
bakabilirsiniz.
İşte 2010 yılına giriyoruz. inç cinsinden yağış.
Yani muhtemelen çok fazla sekme ekliyoruz alt toplamları gösterdikten sonra yıllık
ortalama 39'dur. 4.
Bu yüzden muhtemelen bunu düzeltmek istiyoruz sadece buradaki bir sekmeden kurtularak.
Unutmayın, ekleyebileceğiniz kaçış dizisi eğik çizgi t kullanarak
çıktınızda sekme.
Yani en azından bu oldukça iyi görünüyor.
Şimdi bir tane daha döngüsü aylık ortalamaları
gösterecektir.
Bu yüzden aylık verileri göstermeden önce ortalamalar Her
şeyi tek bir satıra yazdırmak istiyorum.
Bu yüzden sadece çıktısını alacağım printf kullanarak bazı bilgiler.
Benimkinin çıktısını alacağım. aylık ortalamalar ve daha iyi biçimlendirilmesi
için 2 satırlı beslemeler ekleyin.
Ve sonra yazdıracağım Diğer bilgilerimi de.
Biz sadece ayları birkaç boşluk bırakın ve ardından yeni bir satır ekleyin.
Biz de aynı şeyi yapacağız. for döngüsünden geçerken.
Şimdi başka bir for döngüsüne ihtiyacımız var şimdi aylık ortalamaları almak için.
Yani bu for döngüsünde, dış döngü bir ay içinde başlayacak.
Her satıra göre gitmek yerine, ne Burada yapacağım şey her bir
sütunun üzerinden geçmek olacak çünkü Aylık ortalamayı almam gerekiyor.
Şimdi başlayacağım ve Ocak ve Şubat aylarını kapsayan her
bir sütunun üzerinden geçeceğiz. Mart ayı sütunları temsil eder.
Ve her bir sütun için bu sütun için tüm yılları
gözden geçirin ve sonra alt toplamı kullanabilirim ve toplam tekrar değişkenleri.
Bu yüzden burada ay diyeceğim 0'a eşittir, ay aylardan
küçüktür ve ay artı artıdır.
Ve sonra benim iç döngüm yıllar geçecek.
Yani burada sadece gidiyorum yıl için söylemek 0'a eşittir.
Ve unutmayın ki ben de alt toplamımı yeniden başlatmak için.
Bu yüzden burada alt toplam diyeceğim 0'a eşittir
çünkü yeni yılımı aldığımda 0'dan başlamak istiyorum. tüm yılları ve ardından artık
kontrol değişkeni olan yılı artırın.
Ve buranın içinde alt toplamımı koyuyorum ki bu sadece benim bir
yıl ve aylar boyunca.
Ve bu yüzden önemli olan burada neler olduğunu anlamak için dizi aracılığıyla
kimlik.
Ve yinelediğimiz ilk döngüler Her satırın üzerinden geçerek ve her sütuna
bakarak.
Bu seferkinde aslında her sütun boyunca ve o
belirli satıra bakıyoruz çünkü biz aylık ortalamaların hesaplanması.
Böylece alt toplamı alırız ve sonra sadece o ay için yıllara bölünmüş ara toplamımızı
yazdırmak istiyorum.
Bu yüzden 37. satırdaki çıktımız.
Yani biz sadece Bunun gibi bir şey ve bunu
4 ile yapacağız. 1 format, alt toplam yıllara bölünür.
Ve birkaç boşluk ekliyoruz, böylece en iyi şekilde sıralamaya çalışırsak,
bir boşluk daha eklemek isteyebiliriz.
Ve sonra bastıktan sonra her şey bittiğinde, okunabilirlik için bir satır beslemesi ekleyebiliriz
ve işimiz biter.
Ve bu da bize aylık ortalamalar çünkü tüm alt toplamları aldık ve sonra
yıllara böldük.
Şimdi bunu inşa edelim, hata yok ve çalıştırın.
Ve şimdi ek göreceğiz aylık toplamlar veya aylık ortalamalar
için çıktı.
Yani burada görüyoruz ki aylık ortalamalar ve format
çok iyi uyuşmuyor.
Yani her şey değişir çünkü karakterin çıktısı.
Aslında muhtemelen azaltmak istiyoruz boşluk, oraya sadece bir boşluk ekleyin, bakalım bu daha iyi
bir iş çıkaracak mı?
Şimdi çalıştırdığımızda görünüp görünmediğine bakalım daha
iyi, çünkü her ay bir önceki aya göre Ortalamalar, bu biraz daha iyi.
Hâlâ biraz sapıtıyoruz çünkü aylar 3 karakter ve
tam sayılar 2 karakterdir.
Çoğunlukla batırdık Ekim ve Kasım ayları arasında çünkü sadece
bir boşluk var.
Şimdi bunu şu şekilde düzeltebilirim öylece gidiyor.
Bu yüzden format çok güzel.
Ama sen bizim nasıl Yıllar ve aylık ortalamalar için yağış
miktarlarını yazdırmak.
Umarım bu yazdıklarım size iki boyutlu diziler, bunlar arasında nasıl yineleme yapılacağı,
nasıl atama yapılacağı dizileri ve verilere nasıl erişileceği.
Teşekkür ederim.