Apakah perbezaan antara jumlah ketepatan dan ketepatan separa?


Jawapan 1:

Spesifikasi ketepatan keseluruhan juga merupakan spesifikasi ketepatan separa. Ketepatan partial lebih lemah kerana ia memerlukan bantuan tambahan 'S berakhir' untuk sampai ke kesimpulan: R memegang dalam keadaan akhir.

Untuk spesifikasi ketepatan separa {Q} S {R}, anda boleh mendapatkan maklumat berikut: Memandangkan keadaan permulaan yang memuaskan Q, S boleh ditamatkan atau tidak. Jika S tamat, selepas pelaksanaan S, anda akan mencapai keadaan terakhir yang memenuhi R. Jika tidak, R tidak berguna kerana tidak ada keadaan akhir.

Sebagai contoh:

{x == 10}
sementara (y! = 0):
    y = y - 1
x = 0
{x == 0}

Ia adalah spesifikasi ketepatan separa. Jika y diisytihar dengan beberapa nombor yang sama atau lebih besar daripada 0, S akan tamat dan selepas itu x adalah 0. Walaupun jika y bermula dengan nombor negatif, S akan gelung selamanya dan kerana ia tidak ditamatkan, selepas pelaksanaan S '.

Malah, R boleh menjadi apa-apa jika S adalah gelung mati. Sebagai contoh, untuk mana-mana Q dan R:

{Q}
sementara (benar):
    y = y - 1
{R}

adalah sentiasa spesifikasi ketepatan separa.

Sekiranya Q tidak cukup kuat, anda tidak boleh menjamin penamatan S, apatah lagi sebab tentang keadaan selepas pelaksanaan S. Dalam kes ini, anda boleh menambahkan syarat secara manual: S menamatkan. Dengan Q dan itu, pemikiran itu dapat diteruskan.

Untuk jumlah spesifikasi ketepatan {Q} S {R}, Q cukup kuat untuk menjamin penamatan S, sehingga anda dapat menyimpulkan bahwa S akan tamat dan keadaan akhir memenuhi R.

Sebagai contoh:

{x == 10}
sementara (x! = 0):
    x = x - 1
{x == 0}

adalah spesifikasi ketepatan jumlah.

BTW: Saya tidak pasti jika jawapannya betul kerana soalan itu ditandakan dengan Politik Politik. Walaupun definisi dalam soalan kelihatan sama seperti dalam Sains Komputer.