TextColor(rang);
|
TextBackGround(rang);
|
bu yerda rang – o‘garuvchi yoki o‘zgarmas miqdor bo‘lib, tanlangan rang kodi yoki konstanta nomini ifodalaydi.
-
1–misol.
Uses Crt;
Begin TextColor(14); {yoki TextColor(yellow) }
WriteLn(‘Matn ekranga sariq rangda chiqadi‘); End.
|
|
-
2–misol.
Uses Crt;
Begin TextColor(Yellow); TextBackGround(Blue);
WriteLn(‘ Matn ekranga ko‘k fonda sariq rang bilan chiqadi‘); End.
|
|
Ba’zan ekranda ma’lumotlar ko‘payib ketganidan keraklisini topish qiyinlashadi. Bunday holda qo‘llangan ClrScr protsedurasi ekranni tozalaydi va yurgichni ekran boshiga (chap yuqori burchagiga) o‘rnatadi. Agar dasturda ClrScr protsedurasi matn foni rangidan keyin yozilsa, u holda butun ekran matn foni rangiga bo‘yaladi.
-
3–misol.
Uses Crt;
Begin ClrScr; {ekran tozalanib, yurgich ekran boshiga o‘rnatiladi}
TextColor(14); TextBackGround(2);
WriteLn(‘Matn yashil fonda sariq rang bilan chiqadi‘); End.
|
|
-
4–misol.
Uses Crt; Begin
TextBackGround(2); ClrScr; {ekran tozalanib, ekran rangi yashilga bo‘yaladi va yurgich ekran boshiga o‘rnatiladi}
TextColor(14); WriteLn(‘Matn yashil ekranga sariq rang bilan chiqadi‘); End.
|
|
Dastur natijasi “chiroyli” ko‘rinishda bo‘lishi uchun turli ranglardan foydalanish bilan birga uni ekranning kerakli joyidan chiqarish ham ahamiyatga ega. Buning uchun yurgichni ekranning kerakli joyiga o‘rnatish zarur. Paskal tilida bu vazifani GotoXY protsedurasi amalga oshiradi. Uning umumiy ko‘rinishi quyidagicha: GotoXY(A,B);, bu yerda A va B butun sonli o‘zgaruvchi yoki o‘zgarmaslar bo‘lib, GotoXY(A,B) protsedurasi yurgichni ekranning A-ustun va B-satr kesishgan joyiga o‘rnatadi. Ekran matn holatida, asosan, 8025 o‘lchamga ega.Ya’ni, 80 ta ustun va 25 ta satr (maxsus operatorlar yordamida bu o‘lchamni o‘zgartirish ham mumkin). Shu sababli mazkur protseduradagi o‘zgaruvchi yoki o‘zgarmaslar uchun 1 ≤ A ≤ 80 va 1 ≤ B ≤ 25 shart bajarilishi zarur.
5–misol.
Uses Crt;
Begin
ClrScr; {ekran tozalandi va yurgich ekran boshiga o‘rnatildi}
GotoXY(22,12);{yurgich 22-ustun va 12-satr kesishgan joyga o‘rnatildi}
Write(‘Bu matn ekranning o`rtasidan chiqadi‘); End.
|
|
Bu dasturda ekranga chiqariladigan matn 36 ta belgidan iborat. Matnni chap va o‘ng tomonidan bir xil joy qoldirib ekranning o‘rtasidan chiqarish uchun GotoXY protsedurasidagi A va B ning qiymati quyidagicha hisoblandi:
A=[25/2]=12, B=[(80–36)/2]=22.
|
Quyidagi qo‘shimcha mashqlar yordamida matn holatida ekran bilan ishlash protseduralari ishini ko‘rib chiqamiz.
M-1. “Ajdodlar merosini qadrlaylik” matniga ko‘k, matn foniga yashil rangni tanlab ekranga chiqaring.
Yechim:
Uses crt; Begin
clrscr; {ekran tozalanib, yurgich ekran boshiga o‘rnatiladi} textcolor(blue); textbackground(2); writeln(‘Ajdodlar merosini qadrlaylik ‘);
{matn ekranda ko‘k rangda yashil fonda aks etadi} end.
|
Natijaning ekrandagi ko‘rinishi:
|
M-2. “Vatanni sevmoq iymondandir!” matnini ekranning o‘ng tomonidan 12satrda yashil rangda qizil fonda chiqaring.
Yechim:
Matn holatida 80 ta ustun bor, shuning uchun matndagi belgilar soni Son 27 ga teng bo‘lgani uchun ustun tartib raqamini quyidagicha aniqlaymiz: 80–Son+1=80–27+1=53+1=54.
Uses crt; Begin
clrscr; textcolor(green); textbackground(red);
GotoXY(54,12); writeln(‘Vatanni sevmoq iymondandir!‘); readln; end.
|
Natijaning ekrandgi ko‘rinishi:
|
M-3. “Eng yuqoridagi satr, chapdan”, “Eng yuqoridagi satr, o‘ngdan”, “Eng yuqoridagi satr, o‘rtadan”, “Eng quyidagi satr, chapdan”, “Eng quyidagi satr, o‘ngdan”, “Eng quyidagi satr, o‘rtadan”, “Markazdagi satr, chapdan”, “Markazdagi satr, o‘ngdan”, “Markazdagi satr, o‘rtadan” matnlarini ekranning matn mazmuniga mos joylarida chiqishini ta’minlovchi dastur tuzing.
Yechim:
Ma’lumki, “Eng yuqoridagi satr” bu 1-satr, “chapdan” ga mos ustun 1ustun; “Eng quyidagi satr” uchun 23-satr olish lozim (agar 24- yoki 25-satrlar olinsa, 1-satrdagi matn ko‘rinmay qoladi); “Markazdagi satr” bu 12-satr. Matnlardagi “o‘ngdan” talabini bajarish uchun matndagi belgilar soni Son ni aniqlab, kerakli ustun tartib raqami T-2 mashqdagi kabi aniqlanadi. Matnlardagi “o‘rtadan” talabini bajarish uchun esa matndagi belgilar soni Son ni aniqlab, kerakli ustun tartib raqami quyidagicha aniqlanadi: [(80–Son):2]+1. Ekran rangini oq, matn rangini qizil tanlaymiz. Dastur natijasidan ko‘rish mumkinki, eng yuqori satrda aks ettirilayotgan ma’lumotlar bir satrga sig‘maganligi uchun ba’zi so‘zlar ustida boshqa so‘z aks etgan. Uses crt; Begin
textbackground(white); clrscr;
textcolor(red); gotoXY(1,1); writeln('Eng yuqoridagi satr, chapdan'); gotoXY(53,1); writeln('Eng yuqoridagi satr, o`ngdan');
|
gotoXY(27,1); writeln('Eng yuqoridagi satr, o`rtadan'); gotoXY(1,23); writeln('Eng quyidagi satr, chapdan'); gotoXY(55,23); writeln('Eng quyidagi satr, o`ngdan'); gotoXY(27,23); writeln('Eng quyidagi satr, o`rtadan'); gotoXY(1,12); writeln('Markazdagi satr, chapdan'); gotoXY(57,12); writeln('Markazdagi satr, o`ngdan'); gotoXY(30,12); writeln('Markazdagi satr, o`rtadan'); readln; end.
|
Natijaning ekrandagi ko‘rinishi:
|
5-§. MA’LUMOTLARNI XOTIRAGA MULOQOT USULDA KIRITISH PROTSEDURALARI
Paskalda o‘zlashtirish operatori o‘zgaruvchilarga bevosita qiymat berish usuli bo‘lib xizmat qiladi. Ammo o‘zgaruvchilarga qiymat berishning boshqa usullari ham bor. Ulardan biri ma’lumotlarni xotiraga muloqot usulida kiritish deyiladi va kiritish protsedurasi yordamida amalga oshiriladi. Kiritish protsedurasidan o‘zgaruvchilarga dastur bajarilishi davomida kompyuter klaviaturasidan qiymat kiritib borish uchun qo‘llaniladi. Kiritish protsedurasi quyidagi ikki xil ko‘rinishga ega:
Do'stlaringiz bilan baham: |