Dasturiy kod
Nassi/Shneidermann-Diagramm diagrammasidagi dasturiy funktsiya yuqori darajadagi istalgan tilda tuzilishi mumkin. Namuna sifatida bu o‘rinda C dasturlash tilidan foydalanish mumkin. Funktsiyaga ma’lumotlar maydonining birinchi elementi uzatilishi mumkin (indeks kabi), biroq u keyin funktsiyada odatdagiday burchak qavslari bilan ajratilishi mumkin. Keyinda ma’lumotlar maydonining yuqorigi indeksi talab qilinadi (ArrayLength).
void BubbleSort(int *Array, int ArrayLength)
{
int x, y;
int temp;
for(x=0;x<=ArrayLength;x++)
{
for(y=0;y<=ArrayLength;y++)
{
if(y < ArrayLength)
{
if(Array[y] > Array[y+1])
{
temp = Array[y];
Array[y] = Array[y+1];
Array[y+1] = temp;
}
}
}
}
}
Endi, dastur bekamu-ko‘stmi, u istalgan talablarga javob beradimi, degan savolga javob berish uchun uni tekshirib ko‘rish kerak.
4.2 Yozuv stoli oldidagi test
Yozuv stoli oldidagi test haqiqiy tafakkur testi bo‘lib, kompyutersiz sodir bo‘ladi va dasturchilarning o‘zlari tomonidan o‘tkaziladi. Shu zayl, dasturchi o‘z stoli oldida o‘tiradi va uning dasturi bekamu-ko‘stligi haqida yaxshilab o‘ylab ko‘radi.
Hujjatlashtirish va yordamchi vositalar sifatida uning ixtiyorida quyidagilar mavjud:
Talablar tahlili;
Amalga oshirish rejasi (bu erda: Nassi/Shneidermann-Diagramm diagrammasi);
Amalga oshirish (bu erda: dastur kodini bosmadan chiqarish (listing) );
Qog‘oz va qalam.
Talablar tahlili, bu degani, dastur maqsadi ravshan: sonlarning joylashgan qatori o‘suvchi ketma-ketlikda saralanishi kerak.
Dasturchi Nassi/Shneidermann-Diagramms diagrammasi yoki dastur kodi yordamida testlaydigan qator savollar qo‘yilishini o‘ylab chiqadi va bu bilan dasturning, bekamu-ko‘stligini ko‘rsatadi. Savollar ta’riflanmagan va talablar tahlili esa dasturchi fantaziyasiga bog‘liq. “BubbleSort” dasturiga quyidagi savollar qo‘yilishi mumkin:
qator to‘g‘ri saralanganmi(7 23 12 128 0 15)?
agar qator uzunligi (ArrayLength) noto‘g‘ri berilgan bo‘lsa, agar u o‘ta katta, agar u o‘ta kichik bo‘lsa, nima sodir bo‘ladi?
agar qator salbiy sonlarga ega bo‘lsa, nima sodir bo‘ladi?
agar qator vergulli sonlarga ega bo‘lsa, nima sodir bo‘ladi?
agar qator faqat bitta yagona sondan iborat bo‘lsa, nima sodir bo‘ladi?
agar qator bir nechta bir xil sonlarga ega bo‘lsa nima sodir bo‘ladi?
agar qator son o‘rniga o‘zgaruvchan miqdorlar yoki ifodalar yoki simvollardan (o‘zgaruvchan miqdorlar tipli belgi (Character) yoki satr (String)) iborat bolsa, nima sodir bo‘ladi?
Alohida savollar qo‘yilishi uchun savollarning shunday yaxshi jadvali yaratilishi kerak-ki, unda dastur kodida uchraydigan barcha o‘zgaruvchi miqdorlar taqsimlangan va dasturning fikran o‘tishida ularning ma’nolari o‘zgarishi nuqtai-nazaridan o‘rganilgan bo‘ladi:
a) Masalani qo‘yilishi quyidagi tarzda ifodalanishi mumkin:
x
|
y
|
Array[0]
|
Array[1]
|
Array[2]
|
Array[3]
|
Array[4]
|
Array[5]
|
ArrayLength
|
0
|
0
|
|
Dostları ilə paylaş: |