Mashq: slice'lar
Slice'lar bilan ishlashni mashq qilamiz.
Yechimni kodning pastki qismidagi
Topshiriqlarbo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.
Pic funksiyasini amalga oshiring. U uzunligi dy bo'lgan slice qaytarishi kerak; uning har bir elementi dx ta 8 bitli ishorasiz butun sondan iborat slice bo'lsin. Dastur ishga tushganda, sonlar rasm sifatida (kulrang, ya'ni yorug'lik darajalari sifatida) tasvirlanadi.
Rasmni o'zingiz tanlaysiz. Qiziqarli funksiyalar: (x+y)/2, x*y va x^y.
([][]uint8 ichidagi har bir []uint8 ni ajratish uchun sikldan foydalanish kerak bo'ladi.)
(Tiplar orasida o'zgartirish uchun uint8(intValue) dan foydalaning.)
Izoh: asl sayohatda natija grafik rasm sifatida ko'rsatiladi; bu yerda main uni belgilar bilan (ASCII-grafika sifatida) chiqaradi: qiymat qanchalik katta bo'lsa, belgi shunchalik "to'q" bo'ladi.
Testlar Pic(dx, dy) natijasining o'lchamlarini tekshiradi: dy ta qator, har bir qatorda dx ta element (masalan, Pic(5, 3) uchun 3 qator va 5 ustun).
jamiQiymat(pic [][]uint8) int funksiyasini yozing: rasmdagi barcha piksel qiymatlarining yig'indisini int sifatida qaytarsin. Masalan, jamiQiymat([][]uint8{{1, 2}, {200, 100}}) — 303. (Qo'shishdan oldin int(v) ga o'zgartiring, aks holda uint8 to'lib ketadi.)