Uploaded by Eldor Saydullayev

3 - Laboratoriya ishi

advertisement
3 - Laboratotiya ishi
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 <iostream>
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 <iostream>
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