4. Dinamik ma‟lumotlar tuzilmasi haqida ma’lumot bering


Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlar yaratish


Download 418.97 Kb.
bet4/27
Sana22.01.2023
Hajmi418.97 Kb.
#1110285
1   2   3   4   5   6   7   8   9   ...   27
Bog'liq
algoritm — копия (2)

16. Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlar yaratish.
17.To’g’ri burchakli uchburchakning ikkita burchagi α va β hamda
gipotenuza
c berilgan. Shu uchburchakning katetlarini topish algoritmini
tuzing


#include
#include
using namespace std;
int main() {
float a,b,c;
cout<<"alfa=";
cin>>a;

cout<<"betta=";


cin>>b;
cout<<"gipotenuzasi=";
cin>>c;
cout<<"\na kateti"<cout<<"\nb kateti"<return 0;
}

18. Doiraning yuzasi S1 berilgan. Shu doira ichki chizilgan uchburchakning
yuzasi
S2 ga teng. Shu uchburchakka ichki chizilgan doiraning yuzasini
topish algoritmini tuzing


#include
#include
using namespace std;
int main(){
float s1,r,R,pi=3.14,a,s;
cout<<"S1=";
cin>>s1;
cout<<"R"=sqrt(s1/pi);
a=R*sqrt(3);
r=a/(2*sqrt(3));
s=pi*pow(r,2);
cout<<"S="<return 0;
}

19. Teng tomonli to’g’ri burchakli uchburchakning yuzasi S berilgan. uning
gipotenuzasini topish algoritmni tuzing.


#include
#include
using namespace std;
int main() {
int S;
cout<<"Yuzi S="; cin>>S;
cout<<"gipotenuzasi ="<return 0;
}

20. Teng tomonli trapetsiyaning yon tomonlari c ga va balandligi h ga teng.
yuzasi esa
S bilan ifodalanadi. Uning tomonlari topish algoritmini tuzing

#include
#include
using namespace std;
int main() {
int c,h,S,d,b,a;
cout<<"Yon tomoni c="; cin>>c;
cout<<"Balandligi h="; cin>>h;
cout<<"Yuzi S="; cin>>S;
cout<<"Kichik asosi ="<<(S/h)-sqrt(c*c-h*h)< cout<<"Katta asosi ="<<(S/h)+sqrt(c*c-h*h);
return 0;
}

21. Birlashtirib saralash mohiyati
Birlashtirib saralash (Merge sort) – tartiblashning tezkor bajariladigan algoritmlaridan biri. Ushbu tartiblash “bo’lib tashla va hukmronlik qil” prinsipining yaxshi namunasidir. Birinchidan, vazifa bir nechta kichik topshiriqlarga bo'linadi. Keyin ushbu vazifalar rekursiv chaqiruv yordamida yoki to'g'ridan-to'g'ri ularning hajmi yetarlicha kichik bo'lsa hal qilinadi. Nihoyat, ularning yechimlari birlashtirilib, asl muammoning echimi olinadi.
22. Birlashtirib saralash algortimini baholash deganda nimani tushunasiz.
Birlashtirib saralash algortimini baholash
Birlashtirib bilan ichki saralash algoritmi (Merge sort) mashhur saralash algoritmlaridan biridir. “Bo'lib tashlash va hukmronlik qilish” usulini qo'llaydi. Algoritmning asosiy g'oyasi ikkita tartiblangan ketma-ketlikni birlashtirishdir. Xuddi shu prinsip tashqi tartiblash uchun asosdir.
A1, A2, ..., An va B1, B2, ..., Bn elementlari bilan o'sish tartibida saralangan ikkita massiv bo'lsin va biz xohlagan bo'sh C1, C2, ..., C2n massiv mavjud. O'sish tartibida A va B massivlarining qiymatlari bilan bu bo’sh massivni to’ldirish lozim.
Birlashtirish uchun quyidagi amallar bajariladi: A1 va B1 taqqoslanadi va qiymatlarning pastki qismi C1 ga yoziladi. Masalan, bu A1 bo’lsin. Keyin A2 B1 bilan taqqoslanadi va qiymatlarning eng kichigi C2 ga kiritiladi. Masalan, bu B1 qiymati bo’lsin. Keyinchalik, keyingi bosqichda A2 va B2 qiymatlari taqqoslanadi va shunga o'xshash ravishda, massivlardan birining chegaralariga yetib borgunimizcha davom etadi. Qolgan boshqa massiv C massivining oxiridan qo'shiladi.
Birlashtirib saralash odatda rekursiv ravishda amalga oshiriladi. Rekursiyaning har bir qadamida massiv ikkita ichki massivlarga bo'linadi, ularning har biri ham ikkita ichki massivga bo'linadi va hokazo. Tartiblangan ketma-ketlikning uzunligi 1 ga teng bo'lganda rekursiya eng past chegaraga yetadi, bu holda barcha ishlar allaqachon bajarilgan, chunki bitta elementning har qanday bunday ketma-ketligini saralangan deb hisoblash mumkin. Quyida ushbu algoritmni amalga oshiradigan MergeSort funktsiyasi keltirilgan.
Saralangan ketma-ketliklarning birlashishi yordamchi Merge(A, p, q, r) funksiyasi yordamida amalga oshiriladi, bu yerda massiv, va p, q va r massiv elementlarini raqamlash indekslari bo'lib, p-q < r. Ushbu funksiya A [p ... q] va A [q +1 ... r] kichik massivlarning elementlari tartiblangan deb taxmin qiladi. U ushbu ikkita kichik masshtabni bitta tartiblangan holda birlashtiradi, uning elementlari A massivning joriy elementlarini almashtiradi [p ... r].
23. Massivning dastlabki ko’rinishi mohiyati
assiv deb –bir nom bilan murojaat qilish mumkin bo‘lgan bitta tipga tegishli indekslangan o‘zgaruvchilar to‘plamidir. C # da massivlar bir o'lchovli yoki ko'p o'lchovli bo'lishi mumkin. Ko‘p hollarda bir o‘lchovli massivlardan foydalaniladi. Massivlar turli maqsadlarga xizmat qiladi. Ular o‘zgaruvchilarni birbiriga bog'lash uchun qulay vositalarni ta'minlaydi.Masalan, siz massivda saqlashingiz mumkin maksimal kunlik haroratni qayd etib borishni, bir oy ichida birja kurslari ro'yxati yoki uy kutubxonasidagi dasturiy kitoblarning nomlarini.
Massivning asosiy afzalligi ma'lumotlarni tashkillashtirishdadir shuning uchun ularni manipulyatsiya qilish osonroq hisoblanadi. Shunday qilib, agar ma'lum bir aktsiyalar guruhiga to'langan dividendlarni o'z ichiga olgan qator mavjud bo'lsa, ushbu qator elementlariga siklik kirish va aktsiyalarning o'rtacha daromadini hisoblashni tashkil etishni osonlikcha massivlarda amalga oshira olasiz. Bunga qo'shimcha ravishda, massivlar ma'lumotlarni osongina tartibga solishga imkon beradi. Boshqa dasturlash tillarida bo‘lgani kabi C # dasturlash tilida ham massivlaridan shunday qo‘llaniladi.Shunga qaramasdan ularning bitta xususiyati bor: massivlarni obyekt shaklida ham amalga oshirish mumkin.

Download 418.97 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   27




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