Dasturlarni tekshirishning formal usullari Mavzu: Ketma-ket dasturlarni deduktiv tekshirish


Download 20.19 Kb.
Sana12.03.2023
Hajmi20.19 Kb.
#1263018

2022/2023-o‘quv yili __-semestrda _______________________ bakalavriat yo‘nalishlarining ____-guruh talabalariga «Dasturiy injiniring» kafedrasi o‘qituvchilari tomonidan o‘tiladigan «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


#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;


}
Bu kodda, isEqual nomli bir funktsiya yaratilgan. Bu funktsiya ikkita butun sonni qabul qilib, ularning qiymatlari bir-biriga teng ekanligini aniqlaydi. Agar ikkisi bir-biriga teng bo'lsa, true qiymati qaytariladi; aks holda false qiymati qaytariladi.
Dasturda, x va y o'zgaruvchilariga mos qiymatlar ta'qdim etiladi. result o'zgaruvchisi isEqual funktsiyasini chaqiradi va isEqual funktsiyasidan qaytgan qiymatni saqlaydi.
So'nggi qadamda, result o'zgaruvchisining qiymati tekshiriladi. Agar true qiymati qaytgan bo'lsa, x va y o'zaro teng ekanligini tasdiqlash uchun cout operatori yordamida ma'lumot konsolga chiqariladi. Aks holda, x va y o'zaro teng emasligini tasdiqlash uchun ma'lumot konsolga chiqariladi.
Bu kod, deduktiv tekshirishning asosiy qismlarini ko'rsatadi, shu jumladan, funktsiyalar yaratish, amallar chaqirish va yordamchi o'zgaruvchilardan foydalanish.

Download 20.19 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling