B. J. Boltayev, A. R. Azamatov, G. A. Azamatova, B. S. Xurramov nazariya, algoritm, dastur toshkent 2013
SetColor(Rang) protsedurasi yordamida turlicha tanlanadi. Shrift formasi, yo‘nalishi va qalinligini SetTextStyle
Download 372.89 Kb.
|
Algoritmlash va dasturlash asoslari seriyasidan Kitob – II b. J.-fayllar.org
- Bu sahifa navigatsiya:
- Takrorlash bilimning asosidir. Ustozlar o‘gitidan
SetColor(Rang) protsedurasi yordamida turlicha tanlanadi. Shrift formasi,
yo‘nalishi va qalinligini SetTextStyle(F, Y, T) protsedurasi yordamida turlicha belgilaymiz. Grafik yurgichni surish uchun MoveTo(X,Y) protsedurasini qo‘llaymiz. Matnni ekranga chiqarish uchun esa OutText(S) va OutTextXY(X,Y,S) protseduralaridan foydalanamiz. Dasturi: uses graph; var gd, gm:integer; S: string; begin gd:=0; initgraph(gd, gm, ''); S:='Informatika'; SetColor(15); SetTextStyle(0, 0, 0); OutText(s); SetColor(4); SetTextStyle(0, 0, 5); OutText(s); SetColor(11); SetTextStyle(0, 0, 7); OutTextXY(0,50,s); MoveTo(0,110); SetColor(1); SetTextStyle(1, 0, 1); OutText('Algoritm'); SetColor(12); SetTextStyle(1, 0, 5); OutText('Algoritm'); SetColor(11); SetTextStyle(1, 0, 10); OutTextXY(75,120,'Algoritm'); SetColor(14); MoveTo(0,250); SetTextStyle(3, 0, 1); OutText('Dastur'); SetColor(6); SetTextStyle(3, 1, 1); OutText('Dastur'); SetColor(2); SetTextStyle(3, 0, 5); OutTextXY(100,270,'Dastur'); SetColor(1); SetTextStyle(3, 0, 10); OutTextXY(250,220,'Dastur'); SetColor(9); MoveTo(30,370); SetTextStyle(4, 0, 5); OutText(S+' Algoritm '+' Dastur'); ReadLn; CloseGraph; end. 81
Takrorlash bilimning asosidir. Ustozlar o‘gitidan 4-BOB. CHIZIQLI TUZILMALI DASTURLAR TUZISHGA OID MASALALAR Quyidagi masalalar yechimlari chiziqli tuzilmali dastur ko‘rinishida tashkil etiladi. Ba’zi masala va misollar yechimi bir necha usulda, ba’zilarini yechish uchun esa faqatgina yo‘llanmalar keltiramiz. Avval masalani yo‘llanmadan foyda- lanmay yechishni, sodda tuyulsada * bilan belgilangan masalalarga e’tibor qarat- ishni maslahat beramiz. Agar shartda “go‘zal chiqaring” iborasi uchrasa, u holda dasturchi ma’lumotlarni ekranga o‘zi yoqtirgan ranglarda, ekranning biror joyida va chiqarish formatidan foydalangan holda chiqarishi ko‘zda tutiladi. 1-§. MA’LUMOTLARNI KIRITISH, O‘ZLASHTIRISH VA CHIQARISHGA OID MASALALAR 1. A son berilgan. Sonni qiymatini ekranga chiqaring. Yechim:
ni uchun Read(A) yoki ReadLn(A) protsedur- asidan foydalaniladi. Sonli A o‘zgaruvchi mi- qdorning turi haqida ma’lumot berilmagan, shunga ko‘ra uni Real turda tavsiflanadi. Son qiymatini ekranga chiqarish uchun Write yoki WriteLn protsedurasidan foydalanish mumkin. Dasturi: Var A : Real; Begin ReadLn(A); Write(‘Sonning qiymati= ’, A); End. 2. A son berilgan. Sonni izoh bilan kiritib qiymatini ekranga yashil rangda chiqaring (yo‘llanma: “izoh bilan” iborasi yozilgani uchun Write(‘A= ‘); ReadLn(A); protseduralaridan foydalaniladi, ma’lumotlarni ekranga yashil rangda chiqarish uchun Crt modulining TextColor(green) protsedurasidan foydalaniladi). 3*. Berilgan A sonni izoh bilan kiritib qiymatini oq ekranga qizil rangli izoh bilan chiqaring. Yechim:
tuziladi. Ekranni to‘liq oq rangga bo‘yash uchun Crt modulining Textback- ground(white) va ClrScr protseduralaridan Dasturi: Uses Crt; Var A: real; Begin Textbackground(white); Clrscr; Write(‘Sonning qiymatini kiriting: ’); 82
ekranga qizil rangda chiqarish uchun TextColor(red) protsedurasi qo‘llanadi. ReadLn(A); Textcolor(red); Write(‘Sonning qiymati= ’, A); End. 4. A son berilgan. Sonni izoh bilan kiritib qiymatini sariq rangli izoh bilan ekran markazida chiqaring (yo‘llanma: ma’lumotlarni ekran markazidan chiqarish uchun Crt modulining GotoXY(A,B) protsedurasidan foydalaniladi). 5. A son berilgan. Sonni izoh bilan kiritib qiymatini ko‘k rangli izoh bilan ekran- ning o‘ng tomonida chiqaring. 6. A son berilgan. Sonni izoh bilan kiritib qiymatini yarmini yashil ekranga qizil rangli izoh bilan chiqaring. 7. A son berilgan. Sonni izoh bilan kiritib qiymatini choragini sariq ekranga qizil rangli izoh bilan chiqaring. 8. Quyidagi ifodani hisoblash dasturini tuzing: A=555·91+7777/11 (yo‘llanma: bo‘linma qatnashgani uchun sonli A o‘zgaruvchi miqdor Real turda tavsiflanadi). 9. A son berilgan. B=21 A+7 ifoda qiymatini ekran markazida qizil ekranda oq rangli izoh bilan chiqaring. 10. A va B son berilgan. Sonlar yig‘indisi qiymatini ekranga izoh bilan chiqaring. 11. A va B son berilgan. Sonlar ayirmasi qiymatini ekranga izoh bilan sariq rang- da chiqaring. 12. A va B son berilgan. Sonlar ko‘paytmasi qiymatini qizil ekranga oq izoh bilan ko‘k rangda chiqaring. 13. A va B son berilgan. M=21 A+19 B ifoda qiymatini sariq ekranga ko‘k izoh bilan oq rangda chiqaring. 14*. B son va manfiymas M son berilgan. A=(19 B–23 M): (5 M+10) ifoda qiymatini turli rang va izoh bilan ekranga chiqaring. Yechim:
teng bo‘ladimi?” degan savolga javob chiziqli tuzilmali dasturni boshqalaridan farqlab turadi. Chunki, agar M ning biror qiymatida ifoda aniqlanmagan bo‘lsa, ya’ni mahraj 0 ga teng bo‘lsa, u holda shu qiymatda kompilyator “Error 200: Di- vision by zero.” xatolik xabarini beradi. Bu dastur xato tuzilganini bildiradi. Ma- sala shartida “manfiymas M son” deyilgan, ya’ni M≥0, shuning uchun 5 M+10≥10>0 bo‘ladi. Demak, M ning masala shartiga mos har qanday qiymati uchun bo‘linma aniqlangan. Ifodadagi amallarni sodda amallar ketma-ketligi bilan almashtirish ham mum- kin: surat G va mahrajni F kabi belgilasak, u holda A=G/F bo‘ladi. Dasturi: Var A, B, M: real; Begin Write(‘B ning qiymatini kiriting: ’); ReadLn(B); Write(‘M ning qiymatini kiriting: ’); Dasturi: Var A, B, M, G, F: real; Begin Writ e(‘B ning qiymatini kiriting: ’); ReadLn(B); Write(‘M ning qiymatini kiriting: ’); 83
A:=(19*B –23*M)/(5*M+10); Write(‘Ifodaning qiymati= ’, A); End. ReadLn(M); G:=19*B –23*M; F:=5*M+10; A:= G/F; Write(‘Ifodaning qiymati= ’, A); End. 15*. B son va 2 dan kichik bo‘lmagan M son berilgan. A=(19 B–23 M): (M 1963– 2012) ifoda qiymatini ekranga go‘zal chiqaring (eslatma: M ≥ 2 shartga asosan M 1963–2012 ≥ 1914 > 0 bo‘lgani uchun bo‘linma aniqlangan). 16*. A∙x+B=0 tenglamaning noldan farqli A va haqiqiy B koeffitsiyentlari beril- gan. Noma’lum x ni aniqlang (yo‘llanma: A noldan farqli, u holda x= –B/A). 17. A va B haqiqiy sonlar berilgan. Bu sonlar o‘rta arifmetigi qiymatini toping (yo‘llanma: A va B sonning o‘rta arifmetigi UA=(A+B)/2). 18. A va B haqiqiy sonlar berilgan. Bu sonlar kublarining o‘rta arifmetigi qiymatini toping (yo‘llanma: X sonning kubini Paskalda X*X*X yoki sqr(X)*X kabi yozish mumkin). 19*. A, B, G haqiqiy sonlar berilgan. Bu sonlar o‘rta arifmetigi qiymatini toping (yo‘llanma: A, B va G sonning o‘rta arifmetigi UA=(A+B+G)/3). 20. A va B haqiqiy sonlar berilgan. Bu sonlar modullarining o‘rta geometrigi qiymatini toping (yo‘llanma: A va B sonning o‘rta geometrigi UG= B A ). 21*. A, B, G haqiqiy sonlar berilgan. Bu sonlar kvadratlarining o‘rta geometrigi qiymatini toping (yo‘llanma: A, B va G sonlarning o‘rta geometrigi UG= 3 G B A ). 2-§. GEOMETRIK MASALALAR 22. Tomoni A va B bo‘lgan to‘g‘ri to‘rtburchak perimetri qiymatini ekranga go‘zal chiqaring (yo‘llanma: to‘g‘ri to‘rtburchak perimetri P=2∙(A+B)). 23. Tomoni A va B bo‘lgan to‘gri to‘rtburchak yuzasi qiymatini ekranga go‘zal chiqaring (yo‘llanma: to‘g‘ri to‘rtburchak yuzasi S=A∙B). 24. Tomoni A bo‘lgan kvadratni perimetri va yuzasini ekranga go‘zal chiqaring (yo‘llanma: kvadratni perimetri P=4∙A va yuzasi S=A 2 ). 25. Kvadratning tomoni A ga teng. Uning tomoni B marta orttirilsa, perimetri va yuzasi necha marta ortishini aniqlab go‘zal tarzda chop etuvchi dastur tuzing (yo‘llanma: kvadratni tomoni B marta orttirilsa perimetri PO=(4∙A∙B)/(4∙A)=B va yuzasi SO=(A∙B) 2 /A 2 =B 2 marta ortadi). 26*. To‘g‘ri to‘rtburchakning yuzasi A m 2 , bir tomoni B m bo‘lsa ikkinchi tomoni M ni ekranga chiqaring. Yechim:
to‘rtburchakning tomonlari musbat bo‘lgani uchun yuzasi ham musbat son bo‘ladi. To‘g‘ri to‘rtburchak yuzasining Dasturi: Var A, B, M: real; Begin Write(‘Yuza qiymatini kiriting: ’); ReadLn(A); 84
R R S=B∙M formulasidan M=S/B yo- ki, shartga ko‘ra, M=A/B ekan- ligini aniqlaymiz. Write(‘B ni qiymatini kiriting: ’); ReadLn(B); M:=A/B; Write(‘M ni qiymati= ’, M); End. 27. To‘g‘ri to‘rtburchakning perimetri A m, bir tomoni B m bo‘lsa ikkinchi tomoni M ni ekranga chiqaring (yo‘llanma: to‘g‘ri to‘rtburchak perimetri formu- lasi P=2∙(B+M) dan M aniqlanadi). 28. To‘g‘ri to‘rtburchakning tomonlari A va B bo‘lsa, uning diagonali M ni uzun- ligini aniqlang (yo‘llanma: to‘g‘ri to‘rtburchakning diagonali uni ikkita to‘g‘ri burchakli teng uchburchaklarga ajratadi, shu sababli Pifagor teoremasiga ko‘ra 2 2 B A M ). 29. Kvadratning diagonali A bo‘lsa, uning yuzini toping (yo‘llanma: kvadratning yuzi kvadrat diagonali kvadratining yarmiga teng). 30*. Tomoni A ga teng bo‘lgan kvadratga ichki chizilgan doiraning yuzini toping. Yechim:
2 bo‘lgani uchun natijaviy formula quyidagicha: S= π ∙ 2 2 A . Algoritm (so‘z orqali): 1) boshlansin; 2) A ni qiymati aniqlansin; 3) S:= π ∙ 2 2 A ; 4) javob sifatida S yozilsin; 5) tugallansin. Algoritm (blok-sxema): Dasturi: Var
31. Tomoni A ga teng bo‘lgan kvadratga tashqi chizilgan aylananing uzunligini toping (yo‘llanma: kvadratga tashqi chizilgan aylananing radiusi R= 2 A , aylana uzunligi L=2∙ π ∙R). 32*. Tomoni B bo‘lgan kvadrat berilgan. Uning ichiga nechta tomoni A bo‘lgan kvadrat joylashtirish mumkinligini aniqlovchi dastur tuzing (yo‘llanma: tomonlar orasidagi butun nisbat qaraladi). 33*. Tomoni B bo‘lgan kvadrat berilgan. Uning ichiga nechta R radiusli doira joy- lashtirish mumkinligini aniqlovchi dastur tuzing (yo‘llanma: tomon va radius orasidagi butun nisbat qaraladi). 34. Tomoni A, B va M bo‘lgan uchburchak perimetri qiymatini ekranga go‘zal chiqaring (yo‘llanma: uchburchak perimetri P=A+B+M). 35*. Tomoni A, B va M bo‘lgan uchburchak yuzasi qiymatini ekranga go‘zal Download 372.89 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling