AMALIY MASHG’ULOT- 13
Mavzu: Graf tushunchasi. Eng qisqa yo’lni aniqlash algoritmlari. Sinov
turlarini o’rganish.
Ishdan maqsad. Ushbu laboratoriya ishida talabalar Grafning asosan matritsali
usuli bilan tanishib chiqishi kerak
Qo’yilgan masala. Talabalar topshiriq variantiga
mos ravishda graf ustida
berilgan amallar asosan bog’langan ro’yhatlar bilan ishlash ko’nikmasiga ega
bo’lishlari kerak.
Ish tartibi:
Tajriba ishi nazariy ma’lumotlarini o‘rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
C++ dasturlash muhitida dasturni yaratish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
Grafik tasvirlari
Grafik ma'lumotlar tuzilishi quyidagi tasvirlar yordamida namoyish etiladi ...
- Yaqinlik matritsasi
-
Hodisa matritsasi
- Yaqinlik ro'yxati
Yaqinlik matritsasi
Ushbu rasmda grafika umumiy tepaliklar sonining umumiy sonlari matritsasi
yordamida namoyish etiladi. Demak, 4 vertikalli grafik 4X4 o'lchamdagi matritsa
yordamida tasvirlangan. Ushbu matritsada ikkala satr va
ustunlar tepaliklarni aks
ettiradi. Ushbu matritsa 1 yoki 0 bilan to'ldirilgan. Bu erda 1 satr vertikalidan ustun
tepasiga chekka borligini, 0 esa satr tepasidan ustun vertikaligacha chekka yo'qligini
bildiradi.
Masalan, quyidagi yo'naltirilmagan grafik tasvirini ko'rib chiqing
Yo'naltirilgan graf
Sinovga asoslangan rivojlanish (TDD) bu juda qisqa rivojlanish tsiklining
takrorlanishiga bog'liq bo'lgan dasturiy ta'minotni ishlab chiqish jarayoni:
- Birinchi navbatda ishlab chiquvchi kerakli takomillashtirishni
yoki yangi
funktsiyani belgilaydigan muvaffaqiyatsiz sinov ishini yozadi;
- keyin testdan o'tish uchun kod ishlab chiqaradi;
- yangi kodni maqbul standartlarga moslashtirdi.
Sinovga asoslangan rivojlanish ekstremal dasturlashning dastlabki sinov
dasturlari tushunchalari bilan bog'liq va ko'pincha tezkor
dasturlash usuli bilan
bog'liq. Sof shaklda TDD ning afzalliklari bor, lekin u ham kamchiliklarga ega.
Ammo biz loyihalarimizda kod sifatini oshirish uchun ba'zi
tajribalardan
foydalanishimiz mumkin.
TDD ish oqimini quyidagi bosqichlarni takrorlash deb ta'riflash mumkin
(rasmda ko'rsatilgan):
- qaysi xususiyatni amalga oshirish kerakligini aniqlash;
- belgilangan foydalanish holatlari uchun test (lar) ni qo'shish;
- kompilyatsiya qilish, testlarni o'tkazish va tekshirish;
kodni yozish, test ishlarini