Amaliy qism: Tasodifiy belgilarni hosil qilish
Download 1,86 Mb.
|
S-D1-ma\'ruza-4
- Bu sahifa navigatsiya:
- O`n oltilik belgilarni o`nli qiymatga o`tkazish. Kalit so‘zlar
- 6.1. Matematik funksiyalar Key Point.
- 4.1.1. Trigonometrik funksiyalar. C++ trigonometrik funksiyalarni hisoblash uchun cmath
- Funksiya Qo`llanilishi
- 4.1.5. Amaliy qism: Uchburchakning burchaklarini hisoblash
4-MA’RUZA MAVZU: Matematik funksiyalar, simvollar Reja: Matematik funksiyalar; Belgili ma’lumot turi va ular ustida operatsiyalar; Amaliy qism: Tasodifiy belgilarni hosil qilish; Belgili funksiyalar; O`n oltilik belgilarni o`nli qiymatga o`tkazish. Kalit so‘zlar: algoritm bo‘lish operatori butun tur C-stili dizayn tizimi haqiqiy nuqtali raqam haqiqiy tur identifikator ifodalash ifodani belgilash ikkilik tur increment kod va test increment operator KIN ma’lumot turi o‘zgarmas o‘zgarmas kalit so‘z o‘zgaruvchi o‘zgaruvchi maydoni o‘zgaruvchilarni e’lon qilish oddiy tur operandlar operator operatorni belgilash operatorni taqsimlash postdekrement postinkrement predekrement preinkrement psevdokod qisqa tur so‘zma-so‘z talablar spesifikatsiyasi tizim tahlili toshish toshmagan UNIX davri uzun tur yashirin tur 6.1. Matematik funksiyalar Key Point. C++ odatiy matematik masalalarni yechish uchun cmath kutubxonasi tarkibida ko`plab funksiyalarni taqdim etadi. Funksiya – muayyan masalani yechuvchi ko`rsatmalar majmuidir. Biz allaqachon ni hisoblash uchun pow(a, b) funksiyasidan foydalanishni va tasodifiy sonlarni olish uchun rand ( ) funksiyasini qo`llashni o`rganib bo`ldik. Bu ma’ruzada boshqa foydalanuvchi funksiyalar bayon etiladi. Ularni trigonometric funksiyalar, eksponent funksiyalar va xizmatchi funksiyalar turlariga tasniflash mumkin. 4.1.1. Trigonometrik funksiyalar. C++ trigonometrik funksiyalarni hisoblash uchun cmath kutubxonasi tarkibidagi quyidagi funksiyalarni taqdim etadi: 4.1-jadval. Cmath kutubxonasidagi trigonometrik funksiyalar
sin, cos va tan lar uchun radianlardagi burchak qiymati parameter vazifasini bajaradi. asin, acos va atan lar uchun radianlardagi burchak qiymati va larning oralig`idan olinadi. Bir gradiusni hisoblash uchun , 90 gradiusni hisoblash uchun va 30 gradiusni hisoblash uchun ifodalarni hisoblash lozim. PI o`zgarmasni 3.14159 ga taminlab, e’lon qilib olamiz. Quyida ushbu funksiyalardan foydalanishga doir bir qancha namunalar keltirilgan: sin(0) qaytaradi: 0.0 sin(270 * PI / 180) qaytaradi: -1.0 sin(PI / 6) qaytaradi: 0.5 sin(PI / 2) qaytaradi: 1.0 cos(0) qaytaradi: 1.0 cos(PI / 6) qaytaradi: 0.866 cos(PI / 2) qaytaradi: 0 asin(0.5) qaytaradi: 0.523599 (π/6 kabi) acos(0.5) qaytaradi: 1.0472 (π/3 kabi) atan(1.0) qaytaradi: 0.785398 (π/4 kabi) 4.1.2. Eksponent funksiyalar Quyidagi beshta funksiya cmath kutubxonasidagi exponentlash funksiyalari hisoblanadi: 4.2-jadval. cmath kutubxonasidagi exponentlash funksiyalari.
E ni o`zgarmas, uning qiymatini 2.71828 deb hisoblaymiz. Quyida ushbu funksiyalarga doir misollar berilgan: exp(1.0) qaytaradi: 2.71828 log(E) qaytaradi: 1.0 log10(10.0) qaytaradi: 1.0 pow(2.0, 3) qaytaradi: 8.0 sqrt(4.0) qaytaradi: 2.0 sqrt(10.5) qaytaradi: 3.24 4.1.3. Keltirish funksiyalari cmath kutubxonasi quyidagi jadvalda ko`rsatilgani kabi keltirish funksiyalarini o`z ichiga olgan: 4.3-jadval. cmath kutubxonasidagi keltirish funksiyalari.
Masalan: ceil(2.1) qaytaradi: 3.0 ceil(2.0) qaytaradi: 2.0 ceil(-2.0) qaytaradi: -2.0 ceil(-2.1) qaytaradi: -2.0 floor(2.1) qaytaradi: 2.0 floor(2.0) qaytaradi: 2.0 floor(-2.0) qaytaradi: –2.0 floor(-2.1) qaytaradi: -3.0 4.1.4. min, max va abs funksiyalari min va max funksiyalari ikki son (int, double, long, yoki float)ning minimumini yoki maxsimumini qaytaradi. Misol uchun max(4.4, 5.0) 5.0 ni qaytaradi, min(3, 2) 2 ni qaytaradi. abs funksiyasi esa sonning modul qiymatini qaytaradi. Masalan bunday: max(2, 3) qaytaradi: 3 max(2.5, 3.0) qaytaradi: 3.0 min(2.5, 4.6) qaytaradi: 2.5 abs(-2) qaytaradi: 2 abs(-2.1) qaytaradi: 2.1 4.1.5. Amaliy qism: Uchburchakning burchaklarini hisoblash Matematik funksiyalardan ko`plab masalalarni yechishda foydalanish mumkin. Aytaylik, uchburchakning uchta tomoni berilgan. Quyidagi formula orqali uning burchaklarini hisoblash mumkin: Matematik formulalarni tushunmaslikdan yoki keltirib chiqarishni bilmaslikdan qo`rqmaslik kerak. Masalan, uchburchak tomonlari berilgan bo`lsa, uning burchaklarini hisoblash formulasini keltirib chiqarishni bilmasdan, ushbu formula orqali uni hisoblash dasturini yozish mumkin. Uchburchak tomonlari uzunliklarini aniqlash uchun uning uchlarining koordinatasini bilgan holda, nuqtalar orasidagi masofani hisoblash mumkin. 4.1-kodli ro`yxatda foydalanuvchini uchburchakning x va y koordinatalarini kiritishga undovchi va keyin burchaklarini chiqarib beruvchi dastur berilgan. 4.1-kodli ro`yxat. BurchakniHisoblash.cpp 1 #include 2 #include 3 using namespace std; 4 5 int main() 6 { 7 // Foydalanuvchini uchta nuqtani kiritishga undash 8 cout << "Uchta nuqtani kiriting: "; 9 double x1, y1, x2, y2, x3, y3; 10 cin >> x1 >> y1 >> x2 >> y2 >> x3 >> y3; 11 12 // uchta tomonni hisoblash 13 double a = sqrt((x2 - x3) * (x2 - x3) + (y2 - y3) * (y2 - y3)); 14 double b = sqrt((x1 - x3) * (x1 - x3) + (y1 - y3) * (y1 - y3)); 15 double c = sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); 16 17 // Uchta burchakni radianlarda olish 18 double A = acos((a * a - b * b - c * c) / (-2 * b * c)); 19 double B = acos((b * b - a * a - c * c) / (-2 * a * c)); 20 double C = acos((c * c - b * b - a * a) / (-2 * a * b)); 21 22 // Burchaklarni gradiuslarda ko`rsatish 23 const double PI = 3.14159; 24 cout << "Uchta burchak: " << A * 180 / PI << " " 25 << B * 180 / PI << " " << C * 180 / PI << endl; 26 27 return 0; 28 }
Shuni ta’kidlab o`tish joizki, ikki nuqta ((x1, y1) va (x2, y2)) orasidagi masofani aniqlash uchun formulasidan foydalaniladi. Dastur 13-15 kodli satrlarda ushbu formulani ishlatib, uchburchakning tomonlarini hisoblaydi, so`ngra, 18-20-kodli satrlarda uning radianlardagi burchaklarini hisoblash formulasidan foydalanadi. 24-25-kodli satrlarda burchakni gradiuslarda ko`rsatish belgilangan. Eslatib o`tamiz, 1 radian ga teng. Download 1,86 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling