O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA
KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI
TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
SAMARQAND FILIALI
“Kompyuter injiniringi” fakulteti
“Kompyuter injinieingi” kafedrasi
“DASTURNI TEKSHIRISHNING FORMAL USULLARI”
fanidan
Mavzu:
Ketma-ket dasturlarni deduktiv tekshirish
Bajardi: Umid Nurquvatov
Qabul qildi: MAHMUDOV R
«
Dasturlarni tekshirishning formal usullari»
Mavzu: Ketma-ket dasturlarni deduktiv tekshirish
Ketma-ket dasturlar, yani alg'oritmlar, deduktiv tekshirishni amalga oshirish
uchun quyidagi usullardan foydalanish mumkin:
Test qilish: Ketma-ket dasturni o'zgartirishsiz yoki kuchli testlar yordamida
sinab ko'ring. Bu, dasturning asosiy funktsiyalarini va xususiyatlari tekshirilgan
holda dasturda biron bir xatolik yoki nomutanosiblik borligini aniqlashga yordam
beradi.
Kode analiz qilish: Ketma-ket dasturda kodning
barcha qismlarini tekshirib,
ushbu kodda xatolik yoki nomutanosibliklarni aniqlash mumkin. Bu, xususiyati
dastur kichik bo'lsa va biron bir test qilish mumkin bo'lmagan vaqt uchun foydali
bo'ladi.
Debug qilish: Debug oynasi yordamida ketma-ket dasturda sodir bo'lgan
xatoliklarni topish va ularni tuzatish mumkin. Debug oynasida, dasturning har bir
qadamini bajarishni to'xtatib, o'zini tekshirish va muammolarni aniqlash mumkin.
Kodni tiklash: Ketma-ket dasturda kodni to'g'rilash yordamida kodda xatolik
yoki nomutanosibliklarini aniqlab, ularni tuzatish mumkin. Buni qilish uchun
dasturning qayta yozilishini talab qilish kerak bo'ladi.
Formal verifikatsiya: Ketma-ket dasturda biron bir xatolik qolmaganini
tasdiqlash uchun formal verifikatsiya yordamidan foydalanish mumkin. Bu usulda,
dasturning ishlashini ko'rsatuvchi matematik modellari ishlatiladi.
Bu usullar ketma-ket dasturlarni deduktiv tekshirish
uchun foydalaniladigan
eng mashhur usullardir. Ushbu usullarning har biri biror xil natijalarga erishishga
yordam beradi.
Deduktiv tekshirish, dasturlarning to'g'ri ishlashi uchun lozim bo'lgan shartlar
va ehtimollar to'g'risida chora-tadbirlar amalga oshirish yordamida, dasturlarning
xato yoki muammo qolmaganligini tasdiqlash usuli hisoblanadi.
Deduktiv tekshirishning boshqa ma'nolari ham mavjud,
shu jumladan,
matematik
modellarda
yoki
tizimlarda
muhim
natijalarga
erishishda
foydalaniladigan ma'lumotlar yoki aniq xususiyatlarga asoslangan tasdiqlash usuli.
Bu usulda, dasturning to'g'ri ishlashi uchun kerakli bo'lgan barcha shartlar va
ehtimollar aniqlanib, dastur yaratuvchisi tomonidan aniqlangan testlar yordamida,
dastur to'g'ri ishlashi haqida aniqligi tasdiqlanadi.
Deduktiv tekshirishning muhim asosiy qismi, lozim bo'lgan shartlar va
ehtimollar aniqlash va to'g'ri ishlash uchun testlar yaratishdir. Bu testlar odatda
katta sonli ma'lumotlar to'plamidan tashkil topgan holda,
dasturning barcha
funktsiyalarini tekshirish uchun yaratiladi.
Deduktiv tekshirish, dasturlarning to'g'ri ishlashiga nisbatan yuzaga keladigan
har qanday muammolarni aniqlashga yordam beradi va dasturni yaxshilash uchun
zarur bo'lgan o'zgarishlarni belgilashga imkon beradi.
Deduktiv tekshirishda bir necha sinflarga bo'linadi, masalan, funksiyalar,
klaslar, sinfdagi obyektlar va h.k.
Shu sababli, quyidagi C++ kodida deduktiv
tekshirishni ko'rsatishning yalpi darajasini ko'rsataman:
#include
using namespace std;
bool isEqual(int a, int b) {
if (a == b) {
return true;
} else {
return false;
}
}
int main() {
int x = 3;
int y = 4;
bool result;
result = isEqual(x, y);
if (result == true) {
cout << "x va y o'zaro teng." << endl;
} else {
cout << "x va y o'zaro teng emas." << endl;
}
return 0;
}
Deduktiv tekshirishda bir necha sinflarga bo'linadi, masalan, funksiyalar,
klaslar, sinfdagi obyektlar va h.k. Shu sababli, quyidagi C++ kodida deduktiv
tekshirishni ko'rsatishning yalpi darajasini ko'rsataman:
c
Copy code
Bu kod, deduktiv tekshirishning asosiy qismlarini ko'rsatadi, shu jumladan,
funktsiyalar
yaratish, amallar chaqirish va yordamchi o'zgaruvchilardan
foydalanish.