Xin chào, chào mừng trở lại.
Trong bài giảng này minh họa Tôi muốn cung cấp một giải pháp cho chương trình thời tiết của chúng tôi
mà tôi đã nói chuyện về thử thách trước đây của chúng tôi.
Vì vậy, hãy bắt đầu mã các khối tạo ra một dự án.
Tôi sẽ đặt tên thời tiết dự án này.
Và một lần nữa, chỉ là một lời nhắc nhở này ứng
dụng sẽ cho phép chúng tôi nhận được tổng số hàng năm và hàng tháng trung bình cho lượng mưa.
Vì vậy, ngay ở trên cùng, bạn muốn để cung cấp nhận xét cho bạn biết
chương trình là gì.
Một lần nữa, chương trình này sẽ tìm tổng số hàng năm, trung bình hàng năm và
trung bình hàng tháng trong vài năm về dữ liệu lượng mưa, về cơ bản là 5 năm.
Vì vậy, ngay ở trên cùng, tôi sẽ để xác định một vài hằng số và chúng tôi chưa xem qua
định nghĩa chỉ thị tiền xử lý một cách chi tiết nhưng
bạn đã quen với điều này, nó không thực sự phức tạp.
Vì vậy, tôi sẽ bao gồm nó và tôi muốn viết mã chất lượng đẹp.
Vì vậy, tôi sẽ chỉ định nghĩa một được gọi là
tháng có thể bằng 12 và một hằng số.
Bạn cũng có thể sử dụng hằng số công cụ sửa đổi và tôi cũng sẽ định nghĩa
một công cụ được gọi là năm bằng 5.
Đó là chúng ta sẽ trở thành ngôi sao.
Và điều đầu tiên chúng tôi thực sự muốn trong chức năng chính của chúng
tôi là chúng tôi muốn tạo mảng là một mảng hai chiều và chúng ta muốn khởi
tạo dữ liệu.
Vì vậy, chúng tôi sẽ khởi tạo lượng mưa, dữ liệu
về lượng mưa cho năm 2010, 2011 và 2015 hoặc một số thứ gì đó.
Và vì vậy chúng tôi biết cách tạo mảng hai chiều,
chúng tôi chỉ xác định tên kiểu dữ liệu
và Tôi nghĩ chúng phải là một phao vì phao có các dấu thập phân và lượng mưa có thể là số thập phân.
Vì vậy, chúng ta sẽ chỉ nói float, chúng tôi sẽ đặt tên cho
nó là mưa và sau đó chúng tôi sẽ xác định rằng chúng tôi muốn có 5 hàng và 12 cột.
Vì vậy, chúng ta sẽ chỉ nói năm là hằng số và tháng của chúng tôi, và sau đó chúng tôi sẽ
khởi tạo nó.
Chúng tôi đã tuyên bố rằng nó có kích thước như vậy và bây giờ chúng tôi muốn khởi tạo nó.
Và bạn có thể khởi tạo nó bằng cách dấu ngoặc đơn như vậy và sau đó bạn có thể có
dấu ngoặc bên trong cho mỗi hàng.
Chúng tôi cũng có thể làm điều này mảng không đổi nếu chúng ta
muốn nhưng chúng ta sẽ không làm như vậy.
Bây giờ tôi đã làm điều này dữ liệu và tôi không muốn
nhập cái này sẽ như thế nào.
Con số này sẽ gấp 10 lần 50 hoặc 12 lần 5, đó sẽ là 60 phần tử.
Tôi không muốn nhập 60 phần tử ngay bây giờ bởi
vì nó sẽ mất thời gian và bạn chỉ đi ngồi đó và chìm vào giấc ngủ.
Vì vậy, tôi sẽ sao chép và dán vào phần khởi tạo của tôi
và khởi tạo một số dữ liệu.
Đây chỉ là một số dữ liệu giả; nó có thể không đúng.
Nhưng bạn sẽ thấy rằng chúng tôi có dấu ngoặc cho mỗi hàng và do đó chúng ta có 5 hàng.
Chúng tôi đang phân tách từng hàng bằng một dấu phẩy và chúng ta có các dấu ngoặc nhọn
này bên trong cho mỗi hàng.
Và sau đó bên trong xoăn dấu ngoặc nhọn, chúng tôi đang phân tách
từng giá trị hàng tháng bằng dấu phẩy.
Vì vậy, chúng tôi đang tách các hàng bằng cách dấu phẩy và chúng tôi đang phân tách
các giá trị bên trong các hàng bằng dấu phẩy.
Đây là một loạt các lượng mưa hàng năm.
Vì vậy, ví dụ như hàng đầu tiên này sẽ đại diện cho năm 2011 và cột đầu tiên
sẽ là tháng Giêng.
Vì vậy, vào tháng 1 năm 2011, chúng tôi có 4. Mưa 3 tấc.
Dưới đây nếu chúng ta xem xét 6. 7, đây sẽ là năm 2012, 13.
Trong tháng hành quân, chúng tôi có 6. 7 inch mưa.
Vì vậy, bạn có thể thấy điều này thể hiện như thế nào năm và tháng cho lượng mưa.
Bây giờ chúng tôi đã khởi tạo tất cả dữ liệu của chúng tôi, chúng tôi thực sự có thể khởi tạo hoặc
tạo các biến cục bộ khác của chúng tôi.
Vì vậy, chúng tôi sẽ chỉ tạo một năm
và một tháng vì điều này sẽ giúp giữ cho các năm của chúng ta thẳng và tháng của chúng tôi liên tục.
Vì vậy, tôi chỉ nói tháng
năm tôi sẽ tạo chúng trên cùng một dòng và tôi cũng sẽ tạo một vài nổi tổng phụ và tổng.
Tổng phụ sẽ là tổng hàng năm; tổng sẽ là tổng lượng mưa để tôi có thể nhận
được mức trung bình hàng năm.
Và chúng tôi cũng sẽ tìm ra làm thế nào để nhận được mức trung bình hàng tháng.
Vì vậy, điều đầu tiên tôi cần làm
là tôi cần có một vòng lặp for sẽ in ra lượng mưa trong một năm cụ thể.
Vì vậy, trước tiên tôi sẽ in ra trên một dòng.
Tôi sẽ in ra năm, và tôi sẽ thêm một tab ...
thêm một tab vào đó để làm cho nó được định dạng tốt hơn.
Hãy thêm 2 tab, chúng ta sẽ xem cách cái này trông khi tôi hiển thị nó.
Và sau đó tôi sẽ đặt lượng mưa, và tôi sẽ tính nó bằng inch và tôi sẽ thêm một nguồn cấp
dữ liệu dòng.
Và một lần nữa, bạn muốn kiểm tra cái này để xem nó trông như thế nào.
Và sau đó tôi sẽ đi vào vòng lặp của mình.
Vậy tôi muốn làm gì để để tính tổng phụ cho mỗi năm,
hãy hiển thị chúng, tôi muốn qua tất cả các hàng, tất cả các năm, và sau đó cho mỗi năm,
tôi muốn đi qua tất cả các tháng vì tôi cần
thêm các tháng lên.
Vì vậy, vòng lặp bên ngoài của chúng tôi sẽ bắt đầu giảm với năm đầu tiên, là năm
2011 nhưng nó thực sự là 0 bên trong mảng vì mảng được lập chỉ mục 0.
Và tôi cũng sẽ khởi tạo một biến cục bộ khác bên trong đây.
Hãy nhớ rằng, vòng lặp for rất linh hoạt.
Bạn thực sự có thể tạo khác các biến trong câu lệnh for.
Tôi không cần tạo một biến được sử dụng bên ngoài câu
lệnh for ở dòng 19 hoặc 20.
Vì vậy, ở đây tôi sẽ chỉ tạo một biến được gọi là tổng hoặc khởi tạo
biến tổng của tôi.
Và sau đó tôi sẽ trải qua cho đến khi năm của tôi ít hơn số năm không đổi
và tôi sẽ tăng dần biến điều khiển vòng lặp truy cập của tôi năm.
Vì vậy, năm và tháng là vòng lặp điều khiển các biến trên dòng 19.
Và điều này sẽ đại diện cho vòng lặp bên ngoài của tôi.
Đó là mảng hai chiều, vì vậy tôi cũng sẽ cần một vòng lặp bên trong.
Và vòng lặp bên trong của tôi đang diễn ra để đi qua mỗi tháng.
Vì vậy, ở đây tôi sẽ nói tháng bằng 0, tổng phụ cho mỗi tháng
cũng bằng 0 khởi tạo nó.
Và tôi sẽ trải qua cho đến khi Tôi đã hoàn thành tất cả các tháng của mình.
Và tôi sẽ tăng biến điều khiển vòng lặp của tôi và đây sẽ là vòng lặp bên
trong của tôi.
Vì vậy, trong vòng lặp bên trong của tôi, tôi thực sự có thể xác định tổng phụ, tôi không cần hiển
thị bất cứ điều gì.
Vì vậy, tất cả những gì tôi sẽ làm trong vòng lặp bên
trong là tôi sẽ thêm vào tổng phụ của mình cho mỗi năm, tổng phụ của tôi là tổng số hàng năm của tôi.
Và đây tôi chỉ đi để truy cập vào mảng.
Tên mảng của tôi sắp thành mưa.
Vì vậy, tôi chỉ có thể nói mưa phụ năm, vì vậy ban đầu đây sẽ là tất cả cho năm
2011 vì bên ngoài của tôi vòng lặp và sau đó cho mỗi tháng.
Và tôi đang thêm vào nó.
Vì vậy, tôi đang nói tổng phụ bằng tổng phụ cộng với mưa cộng với giá trị mảng.
Vì vậy, vòng lặp bên trong đi qua tất cả các tháng của năm đó
tạo ra tổng phụ của nó.
Bây giờ tôi muốn hiển thị tổng phụ bên ngoài vòng
lặp vì tôi chỉ muốn hiển thị tổng phụ 5 lần trong 5 năm.
Vì vậy, ở đây tôi có thể tốt một chút câu lệnh
in giúp định dạng dữ liệu một chút và cũng giúp hiển thị nó đúng cách.
Bây giờ đây sẽ là năm và tổng phụ.
Vì vậy, chúng tôi có thể muốn thêm với tổng phụ, tôi sẽ nói một vài tab, nhưng chúng ta sẽ xem những gì nó giống như
vậy, vì vậy chém t chém t.
Và sau đó điều khác duy nhất chúng tôi muốn làm là
chúng tôi muốn thêm vào tổng số vì chúng tôi cần có tổng số cho tất cả các năm.
Vì vậy, ở đây chúng ta chỉ có thể nói tổng cộng bằng tổng phụ.
Và sau đó bạn sẽ nhận thấy tổng phụ thực sự đang được khởi tạo lại mỗi khi bạn đi đến
vòng lặp bên trong, vì vậy chúng tôi không cần phải thiết lập lại điều đó.
Và ở đây chúng tôi chỉ muốn tạo ra chắc chắn vết lõm là tốt.
Một lần nữa, hãy lưu ý đến phần thụt lề của tôi cho mỗi khối và tôi thực sự không cần
dấu ngoặc trên 27 và 29 vì đó là một tuyên bố duy nhất nhưng tôi sẽ
để chúng ở đó.
Bây giờ tôi đã làm điều đó sau khi tôi in ra lượng mưa hàng năm hoặc lượng mưa
cho mỗi năm, bây giờ tôi có thể hiển thị mức trung bình hàng năm vì tôi có đủ dữ
liệu, tôi có tổng lượng mưa trong từng tháng lượng mưa.
Vì vậy, ở đây tôi sẽ chỉ hiển thị trung bình hàng năm chỉ
là tổng chia cho các năm.
Vì vậy, hãy thêm một câu lệnh in khác ở đây.
Một lần nữa, một nơi tốt khác để kiểm tra.
Vì vậy, hãy tiếp tục và xây dựng điều này, hãy đảm bảo rằng chúng tôi
không có bất kỳ lỗi nào vì nó có rất nhiều mã.
Và chúng tôi có một biến không khai báo năm.
Khi bạn gặp lỗi trình biên dịch, nó đôi khi mô tả
sai về lỗi thực tế.
Vì vậy, trong trường hợp này, nó cho tôi biết tôi có một lỗi trên dòng 19, nhưng thực
sự điều gì gây ra lỗi là câu lệnh trước đó không
có dấu chấm phẩy kết thúc.
Hãy chạy cái này và xem liệu chúng ta có có thể xem lượng mưa hàng năm, xem nó
được định dạng như thế nào.
Vì vậy, chúng ta bắt đầu vào năm 2010 lượng mưa tính bằng inch.
Vì vậy, có thể chúng tôi đang thêm quá nhiều tab sau khi chúng tôi hiển thị tổng phụ, thì trung
bình hàng năm là 39. 4.
Vì vậy, chúng tôi có thể muốn khắc phục điều đó bằng cách loại bỏ một tab ở đây.
Hãy nhớ rằng, bạn có thể thêm một trong đầu ra của bạn bằng cách sử
dụng dấu gạch chéo thứ tự thoát t.
Vì vậy, nó trông khá tốt ít nhất.
Bây giờ chúng ta phải có một cái khác vòng lặp sẽ hiển
thị mức trung bình hàng tháng.
Vì vậy, trước khi tôi hiển thị hàng tháng trung bình tôi
muốn in mọi thứ ra trên một dòng.
Vì vậy, tôi sẽ chỉ in ra một số thông tin bằng printf.
Tôi sẽ in ra trung bình hàng tháng và thêm nguồn cấp dữ liệu 2
dòng để nó được định dạng tốt hơn.
Và sau đó tôi sẽ in ra thông tin khác của tôi.
Chúng ta sẽ tách ra các tháng bằng một vài dấu cách và sau đó thêm một dòng
mới.
Vì vậy, chúng ta cũng sẽ làm như vậy khi chúng tôi đi qua vòng lặp for của mình.
Bây giờ chúng ta cần một vòng lặp for khác bây giờ để có được mức trung bình hàng tháng.
Vì vậy, trong vòng lặp for này, bên ngoài vòng lặp sẽ bắt đầu vào tháng.
Thay vì đi theo từng hàng, những gì Tôi sẽ làm ở đây
là tôi sẽ xem xét từng cột bởi vì Tôi cần lấy mức trung bình hàng tháng.
Vì vậy, tôi sẽ bắt đầu và tôi đi qua
từng cột là tháng Giêng tháng Hai Tháng 3 đại diện cho các cột.
Và đối với mỗi cột, tôi sẽ xem qua tất
cả các năm cho cột đó và sau đó tôi có thể sử dụng tổng phụ và tổng lại các biến.
Vì vậy, ở đây tôi sẽ nói tháng bằng 0, tháng nhỏ hơn
tháng và tháng cộng với cộng.
Và sau đó vòng lặp bên trong của tôi là sẽ đi qua năm tháng.
Vì vậy, đây tôi chỉ đi nói năm bằng 0.
Và hãy nhớ rằng tôi cũng muốn để khởi động lại tổng phụ của tôi.
Vì vậy, ở đây tôi sẽ nói tổng phụ bằng 0
vì tôi muốn bắt đầu từ 0 khi tôi đón năm mới, hãy trải qua tất cả các năm và
sau đó tăng dần năm, biến kiểm soát nhảy vọt.
Và bên trong đây tôi muốn đưa vào tổng phụ của tôi mà sẽ bằng với của tôi mảng
trong một năm và nhiều tháng.
Và vì vậy điều quan trọng là phải hiểu những gì đang xảy ra ở đây là chúng tôi chuyển đổi cách mà chúng
tôi nhận dạng thông qua mảng.
Và các vòng đầu tiên chúng tôi đã lặp lại bằng cách đi qua từng hàng và
nhìn vào từng cột.
Trong cái này, chúng tôi đang thực sự đi qua
từng cột và xem xét hàng cụ thể đó vì chúng tôi tính toán trung bình hàng tháng.
Vì vậy, chúng tôi nhận được tổng phụ, và sau đó chúng tôi chỉ muốn in ra tổng phụ của chúng
tôi chia cho các năm cho tháng đó.
Sao cho nó khớp với đầu ra của chúng tôi trên dòng 37.
Vì vậy, chúng tôi sẽ làm một cái gì đó như thế này, và
chúng tôi sẽ làm điều đó với 4. 1 định dạng, tổng phụ chia cho năm.
Và chúng tôi thêm một vài khoảng trắng để cố gắng sắp xếp nó một cách tốt
nhất, chúng tôi có thể muốn thêm một khoảng trống khác.
Và sau khi chúng tôi đã in tất cả mọi thứ ra, chúng tôi chỉ có thể thêm một nguồn cấp dữ liệu dòng để
dễ đọc và chúng tôi đã hoàn tất.
Và điều đó sẽ cung cấp cho chúng tôi trung bình hàng tháng vì chúng tôi đã nhận được tất cả các tổng phụ sau
đó chúng tôi chia nó theo năm.
Bây giờ chúng ta hãy xây dựng cái này, không có lỗi và chạy nó.
Và bây giờ chúng ta sẽ thấy bổ sung đầu ra cho tổng hàng tháng hoặc
trung bình hàng tháng.
Vì vậy, ở đây chúng tôi thấy rằng hàng tháng trung bình và định
dạng không thực sự tốt.
Vì vậy, tất cả phụ thuộc bởi vì đầu ra của ký tự.
Chúng tôi thực sự có thể muốn giảm không gian, chỉ thêm một không gian ở đó, hãy xem liệu điều đó có
hoạt động tốt hơn không.
Bây giờ khi chúng tôi chạy nó, hãy xem nó có tốt hơn
vì bạn muốn có thể ràng buộc mỗi tháng với trung bình, tốt hơn một chút.
Chúng tôi vẫn nhận được một chút vì tháng là 3 ký
tự và số nguyên là 2.
Chúng tôi chủ yếu gặp rắc rối từ tháng 10 đến tháng 11 vì chỉ có
một khoảng trống.
Bây giờ tôi có thể khắc phục điều đó bằng cách cứ như vậy đi.
Vì vậy, điều đó sẽ làm cho tất cả các định dạng tốt đẹp.
Nhưng bạn có thể thấy cách chúng tôi in ra lượng mưa trong nhiều
năm và trung bình hàng tháng.
Tôi hy vọng điều này làm cho bạn quen với mảng hai chiều, cách
lặp qua chúng, cách gán mảng và cách truy cập dữ liệu.
Cảm ơn bạn.