7-лаборатория иши. Қисм сатрларни қидириш



Download 29,02 Kb.
bet1/3
Sana13.12.2022
Hajmi29,02 Kb.
#884454
  1   2   3
Bog'liq
7-ëàáîðàòîðèÿ èøè. èñì ñàòðëàðíè èäèðèø

7-лаборатория иши. Қисм сатрларни қидириш.



Мақсад: Талабаларда ассивларни қайта ишлашга мўлжалланган алгоритмларни корректлиги кўрсатиш кўникмасини ҳосил қилиш.
Лаборатория ишини бажариш учун зарур жиҳозлар. 2- лаборатория иши давомида ишлаб чиқилган дастур матни, лаборатория ишини бажариш бўйича (ушбу) услубий кўрсатма

Зарур назарий маълумотлар.


Ушбу лаборатория иши оддий итератив алгоритмларнинг корректлигини цикл инвариантдан фойдаланиш орқали асослашга бағишланган. Инвариант сифатида биз циклнинг биринчи итерациясидан олдин ва хар бир итерациясидан сўнг ўринли бўлган (рост қиймат қабул қиладиган) мантиқий ифодани тушунамиз. Инвариантнинг бажарилиши бизга циклнинг тўғри бажарилишини исботлаш имконини беради. Инвариант қуйидаги хусусиятларга эга:
Инициализация. Инвариант цикл бошланишидан (биринчи итерация бажарилишидан олдин) ўринли
Сақланиш. Агар инвариант циклнинг навбатдаги итерациясидан олдин ўринли бўлса, итерация тугаганидан сўнг ҳам ўринли бўлади.
Якунлаш. Цикл якунланганда инвариант циклнинг тўғри ишлаганлигини кўрсатади ва бу ҳол, хусусан тартиблаш алгоритмлари учун, бутун алгоритмнинг тўғри ишлаши исботлайди.

Лаборатория топшириқлари ва
иш давомида ишлаб чиқиладиган дастурнинг тўлиқ намунаси.


Лаборатория топшириғи. 1- лаборатория иши давомида ўзингиз ишлаб чиққан дастур алгоритмининг корректлиги кўрсатинг.
Лаборатория ишини бажариш намунаси. 1-лаборатория ишида ишлаб чиқилган дастур матни қайта келтирамиз (қулайлик унинг баъзи сатрларини номерлаган ҳолда) ва корректлиги исботлаймиз. Келтирилган дастур учун инвариантни қуйидагича ифодалаш мумкин:
Инвариaнт: i ўзгарувчининг қиймати кетма-кетликнинг кўриб чиқилган қисмидаги номусбат ҳадларнинг сонидан биттага ортиқ.
Инициализация: while цикли (4 сатр) бажарилишидан олдин инвариант бажарилади, i нинг қиймати 1 га тенг, кетма-кетликнинг ҳали бирорта элементи кўриб чиқилгани йўқ ва демак номусбат ҳадлар сони ҳам 0 га тенг.
Сақланиш: Биз i ўзгарувчининг қиймати k бўлганда ( да) цикл танаси бажарилиши олдидан инвариант ўринли бўлса, унинг кейинги қийматида ҳам инвариант ўринли бўлишини исботлашимиз керак. Ўзгарувчиларнинг итерация бошланишидан олдинги қийматларини билан, итерациядан кейинги қийматини билан белгилайлик. У ҳолда , эса , эса чи итерация давомида Х ўзгарувчи киришдан қабул қилган қийматни англатади.

#include
using namespace std;
int main()
{
int N, X, i
bool B=false; //1
cin >> N; //2
i=1; //3
while (i<=N && !B) //4
{
cin >> X; //5
B=(X>0); //6
i++; //7
}
cout << B << endl; //8
return 0;
}

Фараз қилайлик, i ўзгарувчининг қиймати бўлганда инвариант бажарилсин, яъни кетма-кетликнинг номусбат элементлари сони га тенг бўлсин. Циклнинг даги итерациясининг бажарилиши цикл сарлавҳасидаги шартнинг ростлигини англатади: ва , яъни аввалги итерацияда киритилган X нинг номусбат (Биринчи итерация олдидан бу шартнинг бажарилишини қийматлаш орқали таъминлаймиз, 1-сатрга қаранг). Цикл танаси бажарилганда биринчидан i нинг қиймати биттага ортади (7-сатр), яъни . Шу билан бирга олдинги итерацияда қабул қилинган номусбат хисобига кўриб чиқиладиган қисм узунлиги ҳам, ундаги номусбат ҳадлар ҳам биттага ортади, яъни кетма-кетликнинг номусбат ҳадлари сони та бўлади. Шундай қилиб, янги итерация бошланишидан олдин i ўзгарувчининг қиймати , яъни номусбат ҳадлар сони дан биттага ортиқ.
Якунлаш: Цикл оператори ўз ишини шарт бузилганда якунлайди, яъни ёки . яъни шартлардан бирортаси ўринли бўлганда.

Download 29,02 Kb.

Do'stlaringiz bilan baham:
  1   2   3




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish