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.
bet57/68
Sana02.11.2023
Hajmi372.89 Kb.
#1740971
1   ...   53   54   55   56   57   58   59   60   ...   68
Bog'liq
Algoritmlash va dasturlash asoslari seriyasidan Kitob – II b. J.-fayllar.org

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:
Misol shartida “son berilgan” iborasi yozilga-


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:
Dasturning asosiy qismi 1-misol kabi


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
“o‘rnida” foydalaniladi. Ma’lumotlarni


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:
Ifodada bo‘linma qatnashgani uchun “M ning biror qiymatida mahraj 0 ga


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
ReadLn(M);


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‘g‘ri


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
A


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:
Chizmaga asosan: A=2∙R yoki R=A/2. Doiraning yuzi S=π∙R


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
A, S : Real;
Begin
Write(‘A= ‘); Readln(A);
S:= Pi*Sqr(A/2);
Writeln(‘Yuza= ‘, S);
End.

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:
1   ...   53   54   55   56   57   58   59   60   ...   68




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