1 laboratotiya ishi Maqsad
Download 61.14 Kb.
|
1 lab. ishi bajarish korsatna (amaliyot) (1)
№ 1 laboratotiya ishi Maqsad: ma'lumotlarning asosiy turlarini, har xil toifadagi o'zgaruvchilarni tavsiflash usullarini, qiymat berish operatorlarini va ma’lumotlarni kirish / chiqishlarni tashkil qilishni o'rganish. Qisqacha nazariy ma'lumotlar: Algoritm - bu qat'iy belgilangan qoidalar bo'yicha bajariladigan harakatlar ketma-ketligi bo’lib, bu muammoni hal qilish jarayonini noyob ravishda cheklaydi va aniq bosqichda uni hal qilishga olib keladi. Algoritmlashtirish – bu amaliy dasturni kompyuter dasturi shaklida amalga oshirish imkoniyati bilan hal qilish uchun rasmiy usulni ishlab chiqishdir. Blok – shema ko'rinishidagi algoritmning tasviri "Algoritmlar, dasturlar, ma'lumotlar va tizimlarning sxemalari" yagona dasturiy hujjatlar tizimining GOST 19.701-90 ga muvofiq amalga oshiriladi. Sarlavha fayllari: Matematik math kutubxonasi umumiy matematik operatsiyalar va ma’lumotlar toifasini o'zgarishlarni bajarish uchun bir qator funktsiyalarni belgilaydi. Matematik funktsiyalar: 1) trigonometrik funktsiyalar: cos - radianga aylantirilgan burchak kosinusini hisoblash; sin- radianga aylantirilgan burchak sinusini hisoblash; tan-radianga aylantirilgan burchakning tangensini hisoblash; acos-arkkosinni hisoblash, natija radianlarda bo'ladi; asin-arksini hisoblash, natija radianlarda bo'ladi; atan-arktangent hisoblash, qaytish qiymati radian bo'ladi; atan2- arktangens va uning kvadrantni x va y koordinatalar bo'yicha hisoblashda qaytarilgan natija radian shaklida bo'ladi ; 2) giperbolik funktsiyalar: cosh-giperbolik kosinusni hisoblash; sinh-giperbolik sinusni hisoblash; tanh-giperbolik tangensni hisoblash; 3) eksponensial va logarifmik funktsiyalar: exp- eksponentani hisoblash; log- natural logarifm; log10- o’nli logarifm; modf- haqiqiy qiymatni kasr va butun qiymatarga bo'lish; 4) daraja funktsiyalari: pow - sonni darajaga ko’tarish; sqrt - kvadrat ildiz; 5) yaxlitlash, modul va boshqa funktsiyalari: ceil - eng kichik butun songa yaxlitlash; fabs - modul qiymatlarini hisoblash; floor - eng katta butun songa yaxlitlash; fmod - suratni maxrajga bo’lgandagi qoldiq. Funksiyalardan foydalanishga oid misollar: #include #include int main() { std::cout << "5.0 ^ 4 = " << pow (5.0, 4) << std::endl; std::cout << "2.77 ^ 9 = " << pow (2.77, 9) << std::endl; std::cout << "12.01 ^ 11.54 = " << pow (12.01, 11.54) << std::endl; std::cout << "sqrt(" << param << ") = " << sqrt(param) // kvadrat ildizni hisoblaymiz << std::endl; double param = 60.0; // 60 gradusli burchak std::cout << " Kosinus " << param // radianga o’girilgan burchak kosinusini// hisoblaymiz << " gradus = " << cos(param * PI / 180) << std::endl; double param = 0.5; std::cout << " Arcsinus " << param << " = " << (asin (param) * 180.0 / PI) // arcsinusni hisoblash << " gradus " << std::endl; double val = 5.5, result; result = log (val); // Natural logarifmani hisoblash std::cout << "ln(" << val << ") = "<< result << std::endl; return 0; } C ++ kodli fayllar (.cpp kengaytmasi bilan) loyihalar va dasturlarning yagona fayllari emas. Sarlavha fayli deb nomlangan boshqa turdagi fayl mavjud (sarlavha fayli, shu jumladan header file yoki sarlavha fayli). Ular .h kengayt-masiga ega, lekin ba'zan ularni .hpp kengaytmasi bilan ham ko'rish mumkin yoki umuman yo'q. Sarlavha fayllarining maqsadi boshqa fayllardan foydalanish uchun oldindan e'lonlarni qulay saqlashdir. Sarlavha fayli tarkibdagi barcha faillar nus -hasi * .cpp fayliga nushalanadi va barcha tarkib foydalanish uchun mumkin bo'ladi. Sarlavha fayllari: - stdio.h - bu kirish / chiqish operatsiyalarini bajarish uchun sarlavha fayli; - string.h - satrlar bilan ishlash uchun sarlavha fayli; - kirish-chiqishni tashkil qilish uchun sinflar, funktsiyalar va parametrlarga ega iostream-sarlavha fayli. Qulaylik uchun kutubxona uchta standart oqim ob'ekt-larini belgilaydi: cin - standart kirishga mos keladigan istream sinfi ob'ekti. Umuman olganda, foydalanuvchi terminalidan ma'lumotlarni o'qishga imkon beradi; cout - standart chiqishga mos keladigan sinf ostream ob'ekti. Umuman olganda, ma'lumotlar foydalanuvchi terminaliga chiqarilishini ta'minlaydi; serr - bu xatolar uchun standart chiqishga mos keladigan sinf ostream ob'ekti. Biz ushbu oqimga dastur xatoligi haqida xabarlarni yuboramiz. Chop etish odatda qayta yuklanadigan chap siljish operatori (<<) yordamida amalga oshiriladi va kirish o'ng (>>) operatori yordamida amalga oshiriladi. Ma'lumotlarning asosiy turlari 1-jadvalda keltirilgan. 1-jadval - C ++ ma'lumot turlari
Ikkita sonning ko’paytmasini hisoblash dasturini C++ tilida tuzamiz. // Standart kutubxonalarni ulanishi: #include #include using namespace std; // identifikatorlar aniqlanadigan nomlar fazosi void main() // dasturning asosiy funktsiyasining sarlavhasi { // operator qavslari setlocale(0, “Russian”); // rus tilida xabarlarning chiqishini sozlash float x,y,z; // o'zgaruvchilar tavsifi (nomi va turi) cout<<" x,y sonlarini kiriting: "< cin>>x>>y; // x,y o’zgaruvchilarning son qiymatini klaviaturadan kiritamiz z=x*y; cout<<"Произведение="< system(“pause”);} //asosiy funksiyaning ohiri Topshiriqni bajarishga na’muna misol. Berilgan а vа α qiymatlar uchun uning qiymatini hisoblang. Muammoning echish g’oyasi Misolni echish uchun quyidagi belgilashlarni kiritamiz: 1) 2) 3) 4) 5) 6) Dasturni C va С++ usulida ifoda etamiz. 1. usul #include #include #include void main ( ) //bosh dastur { float A = -4.6; float а,b,y, y1, y2, y3, y4 ; // o’zgaruvchi turi e’loni printf(“а=”); // а= ekranga chiqadi scanf(“%f”,&а); // а ning qiymatini kiritish b = pow (A,2) + pow (a,2); y1 = pow( (atan (a/b) + a/2 * log10 (b)), 2) ; y2 = pow(sin(b),3) + 7.6 ; y3 = ( 2.3 e5 + 2 * pow(a,2) + sqrt(b / fabs(A)) ) ; y4 = y2/y3+A ; y = y1+y4 ; printf(“y=%f”,y); // у qiymatini chiqaradi getch( ); //natijalar oynasini ushlab qoladi } Dastur natijasi : a= 1.3 y =-3.7161672. 2 usul # include # include int main() { float a = 1.3, A = -4.6; float b,y, y1, y2, y3, y4 ; b = pow (A,2) + pow (a,2); y1 = pow( (atan (a/b) + a/2 * log10 (b)), 2) ; y2 = pow(sin(b),3) + 7.6 ; y3 = ( 2.3 e5 + 2 * pow(a,2) + sqrt(b / fabs(A)) ) ; y4 = y2/y3+A ; y = y1+y4 ; cout << "y = " << y ; return 0; } Dasturning natijalari: y=-3.716167 2 na’muna misol. z ning qiymatini quyidagi formula yordamida aniqlang: z = |a-10| * , bunda a = *tg(b), b = , d = Muammoning yechish g’oyasi Bunda k va α o’zgaruvchilarning qiymati ixtiyoriy. Boshlang’ich ma’lumotlar: k – haqiqiy toifa, α ni dasturda alf – haqiqiy toifa yordamida ifodalaymiz. Natija: z – haqiqiy toifa. Hisoblashda shuni yodda tutish kerakki, ifodani hisoblashda ushbu ifoda tarkibidagi barcha o'zgaruvchilar qiymatlari ma'lum bo'lishi kerak. Buni hisob-kitoblar ketma-ketligi talab qiladi. Sinov na’munasi: agar k=1 va α=1 z=-0,48473. Natijalarni tekshirish Excel da amalga oshirildi)
Download 61.14 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling