Slayd 1
Bogdanov Vladimir TIL PASKALINI PROGRAMMALASH Bepul taqdimotlar http://prezentacija.biz/Slayd 3
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img2.jpg)
Slayd 4
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img3.jpg)
Slayd 5
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img4.jpg)
Slayd 6
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img5.jpg)
Slayd 7
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img6.jpg)
Slayd 8
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img7.jpg)
Slayd 9
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img8.jpg)
Slayd 10
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img9.jpg)
Slayd 11
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img10.jpg)
Slayd 12
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img11.jpg)
Slayd 13
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img12.jpg)
Slayd 14
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img13.jpg)
Slayd 15
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img14.jpg)
Slayd 16
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img15.jpg)
Slayd 17
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img16.jpg)
Slayd 18
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img17.jpg)
Slayd 19
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img18.jpg)
Slayd 20
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img19.jpg)
Slayd 21
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img20.jpg)
Slayd 22
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img21.jpg)
Slayd 23
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img22.jpg)
Slayd 24
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img23.jpg)
Slayd 25
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img24.jpg)
Slayd 26
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img25.jpg)
Slayd 27
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img26.jpg)
Slayd 28
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img27.jpg)
Slayd 29
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img28.jpg)
Slayd 30
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img29.jpg)
Slayd 31
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img30.jpg)
Slayd 32
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img31.jpg)
Slayd 33
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img32.jpg)
Slayd 34
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img33.jpg)
Slayd 35
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img34.jpg)
Slayd 36
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img35.jpg)
Slayd 37
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img36.jpg)
Slayd 38
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img37.jpg)
Slayd 39
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img38.jpg)
Slayd 40
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img39.jpg)
Slayd 41
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img40.jpg)
Slayd 42
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img41.jpg)
Slayd 43
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img42.jpg)
Slayd 44
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img43.jpg)
Slayd 45
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img44.jpg)
Slayd 46
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img45.jpg)
Slayd 47
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img46.jpg)
Slayd 48
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img47.jpg)
Slayd 49
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img48.jpg)
Slayd 50
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img49.jpg)
Slayd 51
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img50.jpg)
Slayd 52
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img51.jpg)
Slayd 53
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img52.jpg)
Slayd 54
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img53.jpg)
Slayd 55
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img54.jpg)
Slayd 56
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img55.jpg)
Slayd 57
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img56.jpg)
Slayd 58
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img57.jpg)
Slayd 59
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img58.jpg)
Slayd 60
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img59.jpg)
Slayd 61
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img60.jpg)
Slayd 62
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img61.jpg)
Slayd 63
![](https://i0.wp.com/bigslide.ru/images/51/50965/389/img62.jpg)
Slayd 64
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img63.jpg)
Slayd 65
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img64.jpg)
Slayd 66
![](https://i2.wp.com/bigslide.ru/images/51/50965/389/img65.jpg)
Slayd 67
![](https://i1.wp.com/bigslide.ru/images/51/50965/389/img66.jpg)
Dars mavzusi: "Dasturlarda tsikl (takrorlash)"
1) chiziqli, tarmoqlangan dasturlarni tuzish bo'yicha bilimlarni ko'rib chiqish va mustahkamlash; 2) Siklik operator yordamida dasturlar tuzishni o'rganing - FOR i: \u003d 1 TO n DO Begin operatorlari (tsikl tanasi) oxiri; 3) Oddiy masalalarni echishda operatorlardan foydalaning. Darsning maqsadi:
Yo'qolganlarni joylashtiring: Program Sql; Var A, B, C, D, XI, X2: ??? ; Begin Writeln ("Kvadrat tenglamaning koeffitsientlarini kiriting"); Readln (???); D: \u003d B * B-4 * A * C; Agar D
Guruhga savollar: 1) Tarmoqlanuvchi va chiziqli dasturlardan farqi nimada? 2) dasturlarda tanlash uchun qanday operatorlardan foydalaniladi? 3) start ... .end - bu nima? Dasturda foydalanish qoidalari qanday?
1) kiritish-chiqarish operatorlari; 2) Tanlov operatorlari; 3) a: \u003d a + 3 - nima bo'ladi? 4) ma'lumotlar turlari ro'yxati; 5) keraksiz AND, OR, END, NOT, IF ni olib tashlang; 6); - bu nima degani? 7) Dasturning oxiri qanday ko'rsatiladi? 8) Arifmetik amallarni sanab o'ting. 9) 120 mod 65 \u003d nima? 10) Tsikl operatorlari.
Shunga mos ravishda joylashtiring: 1. O'qing 2. Oxiri 3. Boshlang 4. 5-sonli son .; 6. Agar .. Keyin 7 .: \u003d 8. Kiriting 9. Oxiri 10. Butun sonlar 11. Tayinlang 12. Keyingi harakat 13. Boshlang 14. If..That
Natijada 3 dan kammi? a: \u003d 7 b: \u003d - 10 a: \u003d a * (- 7) b: \u003d 159 a: \u003d b + a
Dasturda 5 ta xatoni toping: Program krug; VAR Pi, r, S: haqiqiy; Pi: \u003d 3.14, WRITELN ('vvedite radiuc r \u003d'), O'QING (r); S \u003d Pi * r * r; WRITELN ('Ploshad kruga S \u003d', S) tugaydi
Dastur krugi; VAR Pi, r, S: haqiqiy; begin Pi: \u003d 3.14, WRITELN ('vvedite radiuc r \u003d'), READ (r); S: \u003d Pi * r * r; WRITELN ('Ploshad kruga S \u003d', S) tugaydi.
1-masala N tamsayı berilgan holda, uning juft yoki toq ekanligini aniqlang. 2, 4, 6,… teng, chunki qoldiqsiz 2 ga bo'linadi (N mod 2 \u003d 0) 1, 3, 7, ... - toq, chunki qoldiq 1 bilan 2 ga bo'linadi (N mod 2 \u003d 1)
Algoritm Chislo algoritmi; o'zgaruvchi N: butun sonlar; Chiqishni boshlash ("vvedite chislo"); Enter (N); IF N mod 2 \u003d 0 T O Chiqish (N, '- chetnoe'); IF N mod 2 \u003d 1 T O Chiqish (N, '- nechetnoe'); oxiri.
2-sonli masala N (DE) ikki xonali butun son berilgan, bu erda D - o'nlik soni, E - birlik. Ushbu sonning raqamlari yig'indisi 10 bo'ladimi-yo'qligini aniqlang. Masalan: 28-chi uchun S \u003d 2 + 8 \u003d 10 - yig'indisi bo'ladi, 27-chi uchun S \u003d 2 + 7 \u003d 9 bo'lmaydi. O'nliklarni sanaylik: D \u003d N div 10 va birliklari: E \u003d N mod 10
Algoritm Chislo algoritmi; o'zgaruvchi N, E, D, S: butun sonlar; Chiqishni boshlash ("vvedite chislo"); Enter (N); E: \u003d N mod 10; D: \u003d N div 10; S: \u003d E + D; IF S \u003d 10 T O Chiqish ('summa \u003d 10') Aks holda ('summa10'); oxiri.
Ta'rif: bir xil turdagi harakatlar ko'p marta takrorlanadigan dasturlar - tsiklik dasturlar (takrorlash bilan).
Masala: 1 dan 100 gacha bo'lgan 100 ta natural son berilgan (1,2,3, ... 99,100) Ularning yig'indisini va S o'zgaruvchiga chiqishini hisoblang.
Algoritm yig'indisi; Var i, S: butun sonlar; S boshlash: \u003d 0; I: \u003d 1 dan 100 gacha takrorlash uchun Start S: \u003d S + i tanasi End; pastadir Chiqish (S) End.
Dastur summasi; VAR i, S: tamsayı; S boshlang: \u003d 0; I uchun: \u003d 1 dan 100 gacha DO boshlanadi S: \u003d S + i tana oxiri; pastadir WRITE (S) oxiri.
Dastur summasi; VAR i, S: tamsayı; S boshlang: \u003d 0; I uchun: \u003d 1 dan 100 gacha DO boshlanadi S: \u003d S + i; tana WRITE (‘S’, i, ’\u003d’, s) oxiri; oxiri.
Tsiklning tanasi - bu ko'p marta takrorlanishi kerak bo'lgan harakat. Loop tanasi operator qavslariga kiritilgan ...… oxiri;
ALT + F9 - xatolarni tuzatish CTRL + F9 - ALT + F5 dasturini ishga tushirish - natijani ko'rish
Vazifa: 1) N har qanday butun sonni ko'paytirish jadvalining ustunini 1 dan 10 gacha bo'lgan raqamlar bo'yicha ko'rsatish. Masalan: N \u003d 5, keyin ustun shunday bo'ladi - 1 * 5 \u003d 5 2 * 5 \u003d 10 3 * 5 \u003d 15 i * N \u003d P, bu erda men …… .. 1… 10 10 * 5 \u003d 50 gacha o'zgarib turadi
Uyga vazifa: "Ko'paytirish jadvalining ustuni to'g'risida" masala bo'yicha dasturni sharhlash
Diqqat uchun tashakkur!
Dars mavzusi: Dasturlash tili "PASKAL" Tilning matn muharriri.
IT o'qituvchisi
GBOU nomidagi 293-sonli maktab DA. Tvardovskiy, Moskva
Baxtinova Natalya Valerievna
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_1.jpg)
Darsning maqsadi :
- Paskal tili haqida birinchi ma'lumotni shakllantirish; Paskal tilidagi matn muharririda ishlash ko'nikmalariga ega bo'ling .
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_2.jpg)
Paskal tili haqida tarixiy ma'lumotlar
- Paskal dasturlash tili o'z nomini 1642 yilda buyuk frantsuz matematikasi va fizigi Blez Paskal sharafiga oldi. "Paskal g'ildiragi" deb nomlangan arifmetik operatsiyalar uchun hisoblash mashinasini ixtiro qildi. 1968 yil oxirida professor Virt va uning Tsyurixdagi Shveytsariya Federal Texnologiya Institutidagi hamkorlari Paskal tilining birinchi versiyasini ishlab chiqdilar. Ikki yildan so'ng - kompilyatorning birinchi versiyasi. 1971 yilda Virt o'z tilining tavsifini nashr etdi.
Blez Paskal - frantsuz matematikasi, mexanik, fizik, yozuvchi va faylasuf
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_3.jpg)
Paskal Virtni yaratishda u ikkita maqsadga intildi:
- birinchidan, sistematik intizom sifatida dasturlashni o'rgatish uchun mos bo'lgan tilni rivojlantirish;
- ikkinchidan, tilni amalga oshirish samarali va ishonchli bo'lishi kerak.
- Paskal tilining afzalliklaridan biri shundaki, u tizimli dasturlash g'oyasini to'liq o'zida mujassam etgan, uning mohiyati shundaki, bir nechta konstruktsiyalar yordamida, asosan, har qanday algoritmlarni ifodalash mumkin.
Niklaus Virt (1934 yil 15 fevralda tug'ilgan) - shveytsariyalik olim, dasturlash tillari sohasidagi taniqli nazariyotchilardan biri. Paskal, Modula-2, Oberon dasturlash tillarining etakchi ishlab chiqaruvchisi va yaratuvchisi.
![](https://i0.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_4.jpg)
Paskal tilini ishga tushirish
Paskal tilini ishga tushirish uchun, PASCAL katalogida, qoida tariqasida joylashgan PASCAL.EXE faylini yuklashingiz kerak.
Masalan: D: \\ PASCAL \\ PASCAL.EXE
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_5.jpg)
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_6.jpg)
- Biz dasturni ko'k fonga yozamiz.
- Yordam chiziqlari kulrang fonda yozilgan.
- Yuqori satrda ochiladigan menyu mavjud: F orol, T matn, IN ijro, TO jamlama, R rejimlar, HAQIDA tladka, H kuzatuv.
- Yuqori menyuga o'tish uchun F10 tugmasini bosing. Alt tugmachasini va yuqori menyuda biron bir so'zning birinchi harfini bosish oynani chiqaradi. (misol alt + B)
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_7.jpg)
- Dasturni kompyuterga kiritish bu kompyuterga matn terishdir. Quyida eng ko'p ishlatiladigan Turbo Pascal matn muharriri buyruqlari keltirilgan.
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_8.jpg)
- PgUp - sahifani yuqoriga ko'tarish;
- PgDn - bitta sahifa pastga;
- Uy - satr boshiga;
- End - satr oxirigacha;
- Ctrl-PgUp - matn boshiga;
- Ctrl-PgDn - matn oxirigacha.
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_9.jpg)
- Backspace (←) - kursorning chap tomonidagi belgini o'chirish;
- Del - kursor ko'rsatgan belgini o'chirish (kursorning o'ng tomonida);
- Ctrl-Y - kursor joylashgan qatorni o'chirish;
- Kirish - yangi qatorni kiriting, eskisini kesib oling;
- Ctrl-Q L - joriy qatorni tiklash (agar kursor o'zgartirilgan qatordan chiqmasa samarali bo'ladi).
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_10.jpg)
- Ctrl-K B - blok boshlanishini belgilang;
- Ctrl-K K - blokning oxirini belgilang;
- Ctrl-K Y - blokni o'chirish;
- Ctrl-K C - nusxa ko'chirish bloki;
- Ctrl-K V - blokni siljitish;
- Ctrl-K W - diskdagi faylga blok yozish;
- Ctrl-K R - diskdagi fayldan blok o'qish;
- Ctrl-K P - bosma blok;
- Ctrl-K H - blok tanlovini olib tashlash.
![](https://i2.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_11.jpg)
- Paskal dasturlash tilining birinchi versiyasi qaysi yilda paydo bo'ldi?
- Paskal tilining afzalliklari nimada?
- Dastur orqali kursorni ekranning yuqori chap burchagidan pastki o'ng burchakka tezlik bilan ko'chirish uchun qanday tugmachalardan foydalanish qulay? (aksincha bo'lsa nima bo'ladi?)
- Dasturning bir qismini nusxalash uchun nima qilishim kerak?
- Dastur matnida kiritilgan o'zgarishlarni tiklash mumkinmi?
![](https://i1.wp.com/fsd.kopilkaurokov.ru/uploads/user_file_551819deb630a/img_user_file_551819deb630a_12.jpg)
2006 YILNING PROGRAMLASH TILIGA PASKAL KIRISH KURS TUZILISHI interfeysi va asosiy ta'riflari; dasturning tuzilishi; matnli ma'lumotlarni ko'rsatish; klaviaturadan ma'lumotlarni kiritish; tizim modullarini ulash va ulardan foydalanish; asosiy ma'lumotlar turlari bilan ishlash (tamsayı, real, qator, massiv, fayl); grafikalar bilan ishlash; pastki dasturlardan foydalanish (protsedura va funktsiyalar); modullardan foydalanish. 2 Paskal atrof-muhit interfeysi Turbo Pascal 7.0 dasturlash tili qobiq ichiga kiritilgan. Bunga quyidagilar kiradi: ko'p oynali matn muharriri; dasturlarning bog'lovchisi; dasturni tuzatuvchi; yordam tizimi; kompilyator. 3 PASKAL MUHITI 4 Ochiq fayllar ro'yxati: Alt + 0 Ochiq fayllarga tezkor kirish: Alt +<№ окна> ASOSIY TA'RIFLAR Zaxira qilingan so'z - bu dasturning mantiqiy sohalarini ajratish uchun dasturlash tili tomonidan ishlatiladigan maxsus so'z. Operator - bu harakatni amalga oshiradigan (shartni tekshirish, tsiklni tashkil qilish va hk.) Til buyrug'i, identifikator - bu dastur elementlari uchun dasturchi tomonidan erkin tanlangan ism. Ma'lumot turi - bu qabul qilishi mumkin bo'lgan qiymatlar to'plamini aniqlaydigan identifikatorning xarakteristikasi (tamsayılar yoki kasr sonlar, belgilar qatorlari, mantiqiy ifodalar va boshqalar). 5 UMUMIY DASTUR TUZILISHI Dastur nomi_nomi; Plaginlar bo'limidan foydalanadi; Yorliqlarni tavsiflovchi yorliq bo'limi; Konstantalarni tavsiflovchi Const bo'limi; Mahalliy ma'lumotlar turlarini tavsiflovchi turdagi bo'lim; Var - o'zgaruvchilarni e'lon qilish bo'limi; Boshlash Dasturning asosiy qismi; Oxiri. Minimal kod: 6 EKRANDA ChIQARISh Ekranda ma'lumotlarni aks ettirish uchun quyidagi operatorlardan foydalaniladi: Yozish yoki Yozish. F9 - kompilyatsiya + tekshirish Ctrl + F9 - ishga tushirish F9 → Ctrl + F9 - xatolardan saqlaning Dasturni bajarish natijalarini ko'rsatish 7 EKRANDA KO'RSATISH Bayonotlardan foydalanish natijasi: WRITE "Bo'sh" WRITELN iborasi bo'sh satr qo'shadi WRITELN 8 EXCERISE Quyida ko'rsatilgandek ma'lumot Salom ! Sizni ko'rganimdan xursandman! Meni kompyuter deb chaqiring. Amaldagi material: Chiqish bayonotlari: Write, WriteLn "Bo'sh" WriteLn bayonoti; bo'sh qatorni qo'shadi. 9 QO'ShIMChA MODULLARNI ULANISH Qo'shimcha modullar qo'shimcha operatorlarni taklif qilish orqali dasturlaringizning imkoniyatlarini kengaytiradi. Modullar Uses bo'limiga ulangan. Mening dasturim; Module1, Module2 dan foydalanadi; ________________________ ______________________________ ______________________________ 1-modul Resurslar to'plami 1 ... Module N Modullar: Tizimning o'ziga xos manbalari to'plami N Matn ekrani tugmachasini bosishni kutish CRT 10 nomli plagin har qanday ekran joylashuviga chiqish GotoXY (X, Y: Integer) qaerda X, Y - ekrandagi tanish koordinatasi. X 1 dan 80 gacha, Y esa 1 dan 25 gacha qiymatlarni qabul qilishi mumkin. Masalan: My_program dasturi; (Modulga ulanish) Crt-dan foydalanadi; ClrScr-ni boshlang; (Ma'lumotlarni chiqarish) GotoXY (1, 1); yozish ("▒"); GotoXY (80, 1); yozish ("▒"); GotoXY (1, 25); yozish ("▒"); GotoXY (80, 25); yozish ("▒"); (Ekranni kechiktirish) ReadKey; Oxiri. Dastur ekranning burchaklarida "▒" (kod 177) belgisini aks ettiradi. 11 COLOR IN OUTPUT TextColor (rangli); Belgilar rangini belgilaydi. TextBackground (Color); Tanishning rangini belgilaydi. MyProgram dasturi; Crt-dan foydalanadi; TextColor (qizil) ni boshlang; TextBackGround (Moviy); Yozing ("Hovlida"); TextColor (Oq); Yozing ("o't",); TextColor (Yashil); TextBackGround (sariq); Yozing ("o't ustida"); TextBackGround (Magenta); Yozing ("o'tin. 0) 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Ranglar Qora Moviy Yashil Moviy Qizil Magenta Jigarrang YengilOch To'qOchrang Yorug'likMavi Moviy YashilYengilCyan LightRed LightMagenta Yellow White 12 - qora - ko'k - yashil - moviy - qizil - lilac - jigarrang - och kulrang - to'q kulrang - ko'k - och yashil - och moviy - pushti - och lilac - sariq - oq QIMMATLAR Ma'lumotlar bilan ishlash operatsiyalari identifikatorlari Termin identifikatori konstantalarga, o'zgaruvchilarga, funktsiyalarga, protseduralarga, komponentlarga va boshqa foydalanuvchi tomonidan belgilangan. ob'ektlar. .bir nechta so'zlarni o'z ichiga olmaydi. hech qanday kalit so'zlarga mos kelmaydi ... Xato identifikatorlari: Ma'lumotlar Mening ismim 2Array Var ((((ruscha belgilar ishlatiladi) Bo'sh joy mavjud) Raqam bilan boshlanadi) Kalit so'z bilan bir xil) 15 MA'LUMOT TURLARI Ma'lumot turi - bu qiymatlar to'plamini belgilaydigan identifikatorning xarakteristikasi Olishi mumkin (tamsayı yoki kasr sonlari, belgilar qatorlari, mantiqiy ifodalar va boshqalar). 16 INTEGRAL MA'LUMOTLAR TURI 17 Mumkin bo'lgan qadriyatlarning cheklangan to'plami bayt qisqartmasi so'zi butun uzunlik oralig'i 0..255 -128..127 0..65535 -32768..32767 -2147483648..2147483647! Chegaradan tashqarida xatolik yuz berdi! size o'zgaruvchilarning deklaratsiyasi O'zgaruvchan - bu dasturni ishlashi davomida qiymatni (raqam, satr va boshqalarni) saqlashga va o'zgartirishga qodir bo'lgan identifikator. Sintaksis: Var<имя переменной> : <тип переменной> ; Program_name dasturi; Plaginlar bo'limidan foydalanadi; Var - o'zgaruvchilarni e'lon qilish bo'limi; Boshlash Dasturning asosiy qismi; Oxiri. 3 ta o'zgaruvchiga mo'ljallangan kompyuter xotirasidagi bo'sh joy 18 O'zgaruvchilarga qiymatlarni o'rnatish, o'zgaruvchining qiymatini belgilash uchun siz tayinlash operatoridan foydalanishingiz kerak: \u003d Sintaksisini yozib olish:<Переменная> := <Значение> ; A nomli o'zgaruvchi (tamsayı) qiymati 3 bilan to'ldiriladi 19 TO'G'RISI VARIBLELARNI ISHLAB CHIQARISH 20 Arifmetik amallar: + - * / Standart amallar: div | mod | sqr tamsayı turlari bilan foydalanib bo'lmaydi S nomli o'zgaruvchi X va Y o'zgaruvchilarda saqlanadigan qiymatlar yig'indisi bilan to'ldiriladi S nomli o'zgaruvchida saqlanadigan qiymat aks ettiriladi 21-MAShQ 1. 1. natijasini ko'rsatadigan dastur yozing 15 va 20 sonlarni ko'paytirish 2. f 2 x 3 y funktsiya qiymatini ko'rsatadigan dastur yozing, x \u003d 11, y \u003d 3 uchun Foydalanilgan material: Var bo'limida o'zgaruvchilar e'lon qilingan Butun son Integer sintaksis deyiladi o'zgaruvchiga qiymat berish uchun:<Переменная> := <Значение> ; Har bir operatordan keyin belgi qo'yiladi; (boshi va oxirgi oxiri bundan mustasno) REAL DATA TYPE Qadriyatlar to'plami √ √ Oddiy tip Haqiqiy tip Bir tomonlama moslik: Real Integer Integer Real! Chegaradan tashqarida va moslik qoidalariga rioya qilmaslik xatoga olib keladi! Haqiqiy o'zgaruvchilardan 22 ta operatsiya 23 ta standart operatsiyalar: pi | Sqrt | Gunoh | Cos | Abs | Exp | Ln davra | Trunc (real → integer) Masalan (X, S - Real turi): X: \u003d pi / 3; S: \u003d Sin (X) * 100; Yozing (Dumaloq (S)); S nomli o'zgaruvchiga X va Y o'zgaruvchilarida saqlanadigan qiymatlarning nisbati kiritiladi.E - sonning kasr qismidagi raqam va belgilar sonining joylashuvi raqamning kuchini bildiradi. 5.6E-5 \u003d 5.6 · 10-5 LINE DATA TYPE 24 Satrlar - bu tartiblangan belgilar to'plami. Chiziqlar apostroflar bilan yopilgan. Satrlar butun va haqiqiy turlarga mos kelmaydi. Range String-ni yozing 255 ta belgi (satrlar uchun asosiy operatorlar) + (birlashtirish) Uzunlik (S); (chiziq uzunligi) Masalan: X: \u003d ‘Vasya’; Yozing ("Sizning nomingizga", Uzunlik (X), "harflar"); S: \u003d X; X: \u003d S; Mashq 12.89 va 0.22 raqamlarini bo'linish natijasini, o'nlik punktdan keyin faqat uchta muhim raqamni quyidagi formatda ko'rsatadigan dasturni yozing: birinchi raqamni ikkinchi raqamga bo'ling \u003d natija Yozing (X: 1: 3, 'razdelit na ', y: 1: 3,' \u003d 'z: 1: 3) Amaldagi material: Ip turi String deb nomlanadi Iplar satrlari opostraflarda joylashtirilgan. Iplarning birlashishi + belgisi orqali sodir bo'ladi Ko'rsatish operatorida har xil turlar a bilan ajratiladi vergul 25 Klaviatura ma'lumotlari 26 Klaviaturadan ma'lumotlarni kiritish uchun siz kiritish operatoridan foydalanishingiz kerak: Read yoki ReadLn. Sintaksis: O'qing (N1, N2, ... Nn); Bu erda N1, N2,… Nn o'zgaruvchilar (tamsayı, haqiqiy, satr) X o'zgaruvchiga klaviaturadan kiritilgan qiymat kiritiladi Qiymat kiritilgandan so'ng Enter tugmachasini bosish kerak Agar operatorda bir nechta o'zgaruvchilar bo'lsa, ular bo'sh joy yoki tugmachani bosish orqali kiritiladi KIRISh 27-MASQA 1. Klaviaturadan kiritilgan ikkita raqam yig'indisini hisoblaydigan "mini-kalkulyator" dasturini yozing. 2. Ismingizni so'raydigan dastur yozing va siz ismingizni yozganingizdan keyin tabrik chiqadi. Masalan, Vanya ismini kiritgan bo'lsangiz, dasturda quyidagi ibora paydo bo'ladi: Salom, Vanya !!! Ishlatilgan material: Kiritish operatorlari: Read, ReadLn OPERATORLARNING SHARTLI BOShQARMASI 29 Shartli operator "tarmoqlanishni" amalga oshiradi, ya'ni ma'lum bir shartning haqiqati yoki yolg'onligiga qarab bayonotlarning bajarilish tartibini o'zgartiradi. Vaziyatni tekshirish YO'Q 1-qadam Men plyajga boraman YOG'IR YO'Q YO'M 2-qadam Men soyabon olaman 3-qadam Men kinoteatrga boraman ShARTLARNI TEKSHIRISH Taqqoslash operatsiyalari:\u003e - ko'proq< - меньше = - равно >\u003d - ko'p yoki teng<= - меньше или равно <> - 30 ta mantiqiy amalga teng emas: Yoki Yoki - Yo'q -Va - Yoki Masalan: Mening balandligim\u003e Petitning balandligi bo'lsa, Men Petitdan balandroq bo'laman If (yomg'ir yog'sa) Yoki (qor yog'ayotgan bo'lsa), keyin men qolaman uyda Agar Yo'q ((yomg'ir yog'ayotgan bo'lsa) VA (shamol)), keyin men sayrga chiqaman Mantiqiy operatsiyalardan foydalanganda, shartlar qavs ichiga olinadi SHARTLI BAYOROT SNOPSISI Qisqa shakl: Agar<условие> keyin<оператор>; Masalan, agar X o'zgaruvchining qiymati 0 dan kichik bo'lsa, u holda 1 qiymati bir xil o'zgaruvchiga yoziladi: Agar X<0 Then X:= 1; Полная форма: If <условие> keyin<оператор_1> boshqa<оператор_2> ; Masalan: Agar X\u003e 5 bo'lsa X: \u003d X - 1 Boshqa X: \u003d X + 1; So'ngra bitta so'zdan keyin foydalanish mumkin va Else Else oldin, imzo qo'ying; etishmayotgan 31-MASHQA 1. Dollar va summani evro bilan qabul qiladigan dasturni yozing, so'ngra ekranda qaysi valyutada miqdori kattaroqligini ko'rsating (1 dollar \u003d 28 rubl, 1 evro \u003d 35 rubl.) 2. Uchta raqamni kiritish sifatida qabul qiladigan va keyin ularning maksimal miqdorini ko'rsatadigan dastur yozing. Amaldagi material: Shartli bayon shakllari: Agar<условие> Keyin<оператор>; Agar<условие> Keyin<оператор_1> Boshqa<оператор_2> ; Boshqa belgidan oldin; qo'ymang Taqqoslash operatsiyalari:\u003e< = <> >= <= Логические операции: Not Or And ОПЕРАТОРНЫЕ СКОБКИ Если после слов Then или Else необходимо записать несколько операторов, то их заключают в операторные скобки (составной оператор). Операторные скобки начинаются словом Begin, а заканчиваются словом End; Например: If Z > 0 Keyin X boshlang: \u003d 1; Y: \u003d -1; WriteLn ("Ma'lumot qabul qilindi"); End Else WriteLn tugashi ("Xato"); 33 SELECT STATE CASE Select operatori ichki joylashtirilgan shartli gaplardan tuzilmalarni almashtirish uchun ishlatiladi. Case sintaksisi<порядковая_переменная> ning<значение_1> : <оператор_1> ; <значение_2> : <оператор_2> ; ……… <значение_N> : <оператор_N> Boshqa<оператор_N+1> ; Oxiri; Operator qavslarini Select operatorida tanlash mumkin. Ixtiyoriy 34-satr. SELECTOR CASE Case Talaba balandligi 16..30.: Siz boshlang'ich sinf o'quvchisiz; 31,32,33: Siz 5-6 sinfdasiz; 34..50: Siz o'rta maktab o'quvchisisiz, qiymatlarni ro'yxatlash uchun vergul, diapazonni tanlash uchun nuqta qo'yiladi, boshqasi siz aniq o'quvchi emassiz; Oxiri; -128 ..- 1-sonli x holat: writeln ("Salbiy"); 0: writeln ('Nol'); 1..127: writeln ("Ijobiy") Else WriteLn ("Chegaradan tashqarida"); Oxiri; Mashq Raqamni qabul qiladigan va haftaning tegishli kunini ko'rsatadigan dastur yozing. Masalan, agar siz 2 raqamini kiritgan bo'lsangiz, dastur "seshanba" ni bosib chiqarishi kerak. Agar raqam 1..7 dan oshsa, unda bunday kun yo'qligi haqida xabar paydo bo'lishi kerak. Amaldagi material: Tanlov bayonoti: Case<порядковая_переменная> ning<значение_1> : <оператор_1> ; ……… <значение_N> : <оператор_N> ; Boshqa<оператор_N+1> ; Oxiri; 36 tsikllar 37 Tsiklik algoritmlar - bu ba'zi bir operatorlar bir xil o'zgartirilgan ma'lumotlar bilan bir necha marta bajariladigan algoritmlar (masalan, ularning ko'p sonli qo'shilishi orqali sonlarni ko'paytirish protsedurasi). Paskalda uchta tsikl bayonoti mavjud: For (parametrli tsikl yoki berilgan sonli takrorlash uchun) While (WHILE tsikli) Takrorlash (a TO tsikli) Agar takrorlanishlar soni ma'lum bo'lsa, parametrli loop operatori. PARAMETRA BILAN DAVRA 38 Parametrining ortib yoki kamayib borishi bilan berilgan takroriy soni uchun tsikl For (juftliklar): \u003d (start_zn) To (end_zn) Do (operator); Loop tanasining izohlari Parametr butun son turidir; Siz tsiklda operator qavslaridan foydalanishingiz mumkin; Siz loop tanasida loop parametrini o'zgartira olmaysiz; Loop parametri bittaga ko'paytiriladi; Boshlang'ich qiymati\u003e Yakuniy qiymat, aks holda tsikl tanasi e'tiborga olinmaydi; Parametrni kamaytirish uchun To o'rniga, DownTo dan foydalaning. 39-PARAMETRE BILAN DAVRA (a, b) butun sonlarni so'raydigan dasturni yozing := <нач_зн> Kimga<кон_зн> Qil<оператор> ; Parametr tamsayı turi (odatda Integer); Siz tsiklda operator qavslaridan foydalanishingiz mumkin; Loop parametri bitta 40 WHILE CYCLE-ga ko'paytiriladi. While Loop avval shartni tekshiradi va agar u haqiqatan ham loop tanasini bajarsa. While (shart) do (operator); Quyida yozilgan kod tanasida tsikl hech qachon bajarilmaydi: x: \u003d 1; X\u003e 1 bajarilayotganda x: \u003d x-1; Siz cheksiz pastadir olishingiz mumkin. Masalan: x: \u003d 1 while x\u003e 0 do x: \u003d x + 1; 41 WHILE CYCLE - a dan b gacha bo'lgan sonlar yig'indisini aks ettiruvchi dastur. Klaviatura bosilmasa ham, kechikish boshlanadi (2000); Oxiri; O'zgaruvchan f o'zgaruvchisi b qiymatidan kattaroq bo'lguncha tsikl ishlaydi 42 42-mashq 1. Kosmonavtlar Oyga qayinlar ekishga va har yili qayinlar sonini ikki baravar ko'paytirishga qaror qildilar, birinchi yilda ular 3 qayin ekdilar. Qayinlar soni necha yilda 10000 dan oshishini ekranda chop eting 2. Klaviaturadan kiritilgan sonlarning maksimal miqdorini aniqlaydigan dastur yozing (raqamlarni kiritish 0 raqami bilan tugaydi). Quyida tavsiya etilgan ekran tartibi berilgan: Raqamlarni kiriting. Yozishni yakunlash uchun 0. 89 15 0 maksimal 89 raqamini kiriting. Amaldagi material: While Loop bayonoti: while<условие> qil<оператор> ; While Loop birinchi navbatda shartni tekshiradi va agar u haqiqatan ham tsiklning asosiy qismini bajarsa. REPEAT CYCLE 44 Repeat tsikli avval tsikl tanasini bajaradi va shundan keyingina Repeat holatini tekshiradi (loop-body) Until (shart); Repeat tsiklida birikma operatoridan foydalanishga hojat yo'q, chunki ushbu qurilish bitta emas, balki takrorlash va qadar so'zlari orasida joylashgan bir nechta operatorlarning bajarilishini ta'minlaydi. REPEAT CYCLE - a dan b gacha bo'lgan sonlar yig'indisini aks ettiruvchi dastur. O'zgaruvchan f o'zgaruvchisi b qiymatidan katta bo'lgunga qadar tsikl ishlaydi 45 Qaytish uchun qarashlarni taqqoslash 46 Qaytish modelini tanlash faqat uning muayyan vaziyatda foydalanish qulayligiga bog'liq. Jismoniy mashqlar tsiklining bir turi o'rniga deyarli har doim boshqasini ishlata olamiz. MASQA Y x 3 x 2 16 x 43 funktsiyasining x uchun -4 dan 4 gacha, shu jumladan 0,5 oralig'ida o'zgarib turadigan x qiymatini hisoblang. Amaldagi material: Repeat loop bayonoti: Repeat<тело_цикла> Gacha<условие> Repeat tsikli avval tsiklning tanasini bajaradi va shundan keyingina shartni tekshiradi 47 tsikllarning uzilishi 48 Tsiklik operatorlarni moslashuvchan boshqarish uchun quyidagi protseduralar qo'llaniladi: Break - tsikldan chiqish; Davom etish - navbatdagi ko'chadan o'tishni yakunlash; Misollar: 1 dan i gacha bo'lgan sonlar yig'indisi 100 dan katta bo'lgan minimal i sonini toping. S (1 dan i gacha bo'lgan sonlar yig'indisi) 100 dan katta bo'lishi bilan break operatori ishga tushiriladi va tsikl bo'ladi chiqdi. s: \u003d 0; chunki I: \u003d 1 dan 100 gacha boshlanadi, agar s\u003e 100 bo'lsa, u holda buziladi; s: \u003d s + i; oxiri; Writeln (‘minimal son i, shunday qilib (1 + 2 + .. + i)\u003e 100 ga teng’, i); Klaviaturadan 10 ta raqam kiritiladi va tsikldagi faqat ijobiy summalar hisoblanadi. Agar raqam manfiy bo'lsa, u holda tsikldan keyingi o'tishni boshlaydigan davom etish operatori bajariladi. s: \u003d 0; chunki I: \u003d 1 dan 10 gacha Readln (k) boshlanadi; agar k<0 then Сontinue; s:= s + k; end; Writeln (‘Сумма положительных чисел равна ’,s); МАССИВЫ МАССИВЫ 50 Простые типы: одна переменная – одно значение Структурированные типы: одна переменная – несколько значений Массив – это фиксированное количество значений одного типа. Доступ к конкретному значению осуществляется через индекс. Переменная массива Структура массива: A= Доступ к массиву: 0 1 2 3 Индекс 9 7 0 0 Значения <Имя массива> [ <Индекс> ] A: \u003d 7; ARRAYS Var qismida massiv e'lon qilinadi: (Nomi): Array [(start_zn) .. (end_zn)] of (type); Massivlarni e'lon qilishga misollar: Var A: Array of String; B: "Real" massivi; S: Butun sonli massiv; Massivlarni qiymatlari bilan to'ldirishga misollar: A: \u003d 'Vasya'; A: \u003d "Petya"; A: \u003d "Masha"; A: \u003d "Olesya"; Yozing (A); F: \u003d 1 dan 10gacha C [f]: \u003d f * 2; F: \u003d 1 dan 10 gacha WritLn (C [f]) \u200b\u200bni bajaring; 52-mashq. Foydalanuvchidan 7 ta butun sonni so'raydigan va ularni massivda saqlaydigan dastur yozing. Massiv maksimal elementni o'z ichiga oladi va ekranda aks etadi. Masalan: 1 raqamni kiriting: 4 2 raqamni kiriting: 8 3 raqamni kiriting: 9 4 raqamni kiriting: 2 5 raqamni kiriting: 4 6 raqamni kiriting: 5 7 raqamni kiriting: 0 Maksimal raqam: 9 Ishlatilgan material: Array deklaratsiyalari:<Имя> : Array [<нач_зн> … <кон_зн> ] ning<тип> ; Massivga kirish:<Имя массива> [ <Индекс> ] RANDOM NUMBER GENERATOR (RNG) Dasturda tasodifiy sonlarni yaratish uchun quyidagi operatorlardan foydalaning: Randomize - RNG initsializatsiyasi. Bu faqat dasturning boshida e'lon qilinadi; Tasodifiy - 0 dan 1 gacha bo'lgan tasodifiy sonni hosil qiladi (haqiqiy turi); Tasodifiy (N) - tasodifiy sonni 0 dan N-1 gacha (butun son turi) hosil qiladi; 53 Ko'p o'lchovli massivlar 54 Massivning har bir o'lchovi uchun intervallar ro'yxati (Ism): Array [(start_zn) .. (end_zn), (start_zn) .. (end_zn), (va boshqalar)] ning (turi); 4 qator va 6 ustunli ikki o'lchovli massivni (matritsa, jadval) e'lon qilishga misol: Var A: Array of Integer; Massivni to'ldirishga misol: For i: \u003d 1 to 4 do for j: \u003d 1 to 6 do A: \u003d i + j; Ai, j 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 10 MAShQ -10 dan 20 gacha bo'lgan tasodifiy sonlar bilan ikki o'lchovli qatorni to'ldiradigan va yig'indilarni ko'rsatadigan dastur yozing. jadvalning diagonalida joylashgan elementlarning ... Amaldagi material: RNG boshlashi: Tasodifiy son 0 dan N-1 gacha bo'lgan tasodifiy raqam: Tasodifiy (N) 55 XAVFLAR BILAN ISHLASH 57 Fayl: Fayl boshlanishi indeks) [elektron pochta bilan himoyalangan]$ ku⌂ | "Hd9v * 9 (L * M \u003d BYGRMxduV █ 8e * BOtCDrTVzHGJ1aBD\u003e @ B \\ (r8sE) █: wcJvAmRa" v / .Wai; $ `SWI \u003d y2] suB █? Hq\u003e vF (LmBcV ^. 6b] o (QkV8 █ kub<6`8Z":M^1;:8ANwak;,b2-4…u5 █ 2]suB?Hq>vF (LmBcAdz4wcP] o (QkV █ 8c8df] e "v, su\u003e +), VAEFBjFV, W $ Q- █ y0G1GjN $ -eB | sqZ0`QnV% \\ BD% y █ █ █ - terminator fari Vari Fayllar bilan ishlashni yaratish, o'qish, yozish, yopish, fayllar bilan ishlashda ketma-ketliklar ketma-ketligi: 1. Fayl o'zgaruvchisi deklaratsiyasi (FP); 2. FP-ning fayl bilan assotsiatsiyasi; 3. o'qish / yozish uchun faylni ochish; 4. Fayl bilan ishlash; 5. Faylni yopish (fayl bilan FP o'rtasidagi aloqa ham buzilgan); 1. FP deklaratsiyasi<Имя> : Fayl<тип> ; <Имя> : Matn; Var f: Matn; h: Integer fayli; 2. FP-ning Assign bilan assotsiatsiyasi (<ФП>, <имя файла>); Assign (f, ‘c: \\ my \\ Data.ghm’) 58 FAYLLAR BILAN ISHLASH 3. O'qish / yozish uchun faylni qayta tiklash (<ФП>); - Qayta yozishni o'qish uchun faylni ochadi (<ФП>); - faylni yozish uchun ochadi 4. Read (Fayl bilan ishlash)<ФП>, <П1> , <П2> , ...); - o'zgaruvchiga o'qiydi<П1>, <П2> va hokazo. ko'rsatkich elementidan bir vaqtning o'zida bitta element. Yozing (<ФП> , <П1> , <П2> , ...); - o'zgaruvchining qiymatlarini faylga yozadi<П1>, <П2> va hokazo. ko'rsatkich elementidan bir vaqtning o'zida bitta element. EoLn (<ФП>); - Agar satr oxiriga yetgan bo'lsa, True-ni qaytaradi. EoF (<ФП>); - Fayl oxiriga yetgan bo'lsa, True-ni qaytaradi. 5. Faylni yopish Yopish (<ФП>); 59 DAVOLALAR BILAN ISHLASH Agar matritsaning 5x5 ekanligini bilsangiz, dasturni soddalashtiring (For ko'chadan foydalaning) 60-mashq 61 "DOM-3" dasturini yozing. Birinchi fayl nominativ ish ishtirokchilarining ismlarini o'z ichiga oladi. Ikkinchisida xuddi shu ismlar, ammo ayblovchida. Uchinchisida his-tuyg'ular yoki qandaydir harakatlar ifodasi ro'yxati (sevadi, yoqtirmaydi, o'padi, tishlamoqchi bo'ladi, sig'inadi, hurmat qiladi, yomon ko'radi, ko'rishni xohlaydi, quchoqlaydi). Dastur ushbu fayllardan tasodifiy ravishda ma'lumot olib, quyidagi printsipga muvofiq yangisini yaratishi kerak:<имя в им. пад> <чувство/действие> <имя в вин. пад> Olga Sergey Olegni sevadi Roman Katya Nastya va boshqalarni hurmat qilishini xohlaydi. Amaldagi material: Operator nomlari: Tayinlash, Qayta yozish, Qayta tiklash, Yozish, O'qish, Yopish. Grafika GRAFIKASI Paskal tilida grafikalar bilan ishlash uchun sizga ikkita fayl kerak - graph.tpu moduli va egavga.bgi grafik adapter drayveri. Birinchisi \\ UNITS katalogida, ikkinchisi \\ BGI-da. ! Egavga.bgi haydovchisi. Exe faylini ishga tushirishda talab qilinadi! Chizish uchun sizga quyidagilar kerak: 1. GRAPH modulini ulang (Uses bo'limida); 2. grafikani ishga tushirish (InitGraph); 3. nimanidir chizmoq; 4. grafik rejimni yopish (CloseGraph) 63 GRAPHICS Grafik rejimini boshlash. Qalam (0,0) nuqtadan (639, 479) nuqtaga o'tadi. PROGRAM Primer_1; Graph, crt dan foydalanadi; Var Gd, Gm: Butun son; GD BEGIN: \u003d 0; InitGraph (Gd, Gm, 'd: \\ BP \\ bgi "); Line (0,0,639,479); ReadKey; CloseGraph; END. 639 piksel Koordinatali tizim 479 piksel 64 Grafik rejimini yopish 65-MASHQ 1. Markazga to'rtburchaklar chizish ekran uchburchagi 2. Ekranning o'rtasiga tomonlari ekranning mos tomonlaridan ikki baravar kichik to'rtburchak chizilgan Amaldagi material: Grafika moduli: Grafika grafikasini boshlash: InitGraph Yopishdagi grafik rejim: CloseGraph; GRAPHICS + COLOR SetColor (Rang GetColor: word; qalam rangini qaytaradi SetBkColor (color: word); GetBkColor: word fon rangini belgilaydi; fon rangini qaytaradi Ranglar Qora Moviy Yashil Moviy Qizil Magenta Jigarrang Ochiq To'qrang Yorqin Moviy Yashil LightCyan LightRed LightMagenta Sariq Oq 66 - qora - ko'k - yashil - moviy - qizil - lilac - jigarrang - och kulrang - quyuq kulrang - ko'k - och yashil - och ko'k - pushti - och lilac - sariq - oq Grafika PRIMITIVLARI Chiziq (x, y); Joriy qalam koordinatasidan (x, y) koordinatalariga chiziq tortadi. MoveTo (x, y); Qalamni koordinatalarga o'rnatadi (x, y). PutPixel (x, y, Color); Koordinatalar (x, y) da Color bilan nuqta chizadi. GetPixel (x, y): so'z; Koordinatali (x, y) nuqta rangini qaytaradi. To'rtburchak (x1, y1, x2, y2); To'rtburchakning konturini chizadi. Doira (x, y, r); Markazi (x, y) va radiusi r bo'lgan aylana chizadi. SetLineStyle (Ln, 0, T) konturlar parametrlarini o'zgartiradi. Ln - chiziq uslubi (0..3): 67 x1, y1 T - chiziq qalinligi: 1 \u003d normal; 3 \u003d qalin. FillEllipse (x, y, Xr, Yr); (X, y) markazida Xr va Yr radiuslari bilan to'ldirilgan ellipsni chizadi. SetFillStyle (turi, rangi); Yopiq shakllarning turini (0..11) va lyuk rangini ClearDevice-ga o'rnatadi; Grafik ekranni hozirgi x2, y2 fon rangiga bo'yash orqali tozalaydi GRAFIK PRIMITIVLARI 68 69-mashq. Monitor ekraniga uy chizadigan dastur yozing; 2. Monitor ekraniga tasodifiy radiusi (1 dan 5 pikselgacha) va tasodifiy joylashtirilgan yulduzlar bilan yulduzli osmonni chizadigan dastur yozing. Rangi ham tasodifiy (oq, och kulrang, to'q kulrang); Ishlatilgan material: SetColor (Rang: so'z); - SetBkColor chizilgan rangini o'rnatadi (rang: so'z); - Joriy fon rangini belgilaydi. Chiziq (x, y); - Hozirgi ruchka koordinatasidan (x, y) koordinatalariga chiziq tortadi. MoveTo (x, y); - Qalamni koordinatalarga o'rnatadi (x, y). PutPixel (x, y, Color); - Color bilan koordinatalari (x, y) bilan nuqta chizadi. To'rtburchak (x1, y1, x2, y2); - Joriy rangdagi chiziqlardan to'rtburchaklar konturini tuzadi. Doira (x, y, r); - markazi (x, y) va radiusi r bo'lgan doira chizadi. FillEllipse (x, y, Xr, Yr); - (x, y) va Xr va Yr radiuslari markazida to'ldirilgan ellipsni chizadi. GRAFIKA + ANIMASIYA mS da pauza. 70 SUBPROGRAM SUBPROGRAMLAR Subprogramlar kodning takrorlanadigan qismini alohida fragmentlarda tanlash va ularni dasturning kerakli joylariga qo'shish imkonini beradi. Funksiya, protseduradan farqli o'laroq, qo'ng'iroq natijasini qaytaradi. Protseduralar Funksiyalarning pastki dasturlari: Begin End kalit so'zlari orasida yozilgan; identifikatorlarni ko'rsatish qoidalariga muvofiq yozilgan ismlar bilan aniqlangan; kirish va chiqish parametrlariga ega bo'lishi mumkin; asosiy dastur tuzilishini to'liq takrorlang. 72 Mening dasturim; Subroutine 1 [Subroutine code 1] Subroutine 2 [Subroutine code 2] Start Subroutine 2 Subroutine 1 System subroutines-ga misol: Write (“Ok”); ClrScr; Uzunlik (S); Tasodifiy; // // // // protsedura bitta parametr protsedurasi bilan parametrsiz ishlaydi, bitta parametr funktsiyasiz parametrsiz subroutine 2 End. SUBPROGRAMLAR (PPR) Subproutine-ning uyasi Dastur Subroutine 1 Subroutine 3 Subroutine 4 Subroutine 2 73 O'zgaruvchilarning kirish maydoni Ba'zi PPR-da tasvirlangan o'zgaruvchilar uning tanasida ma'lum, shu jumladan barcha joylashtirilgan PPR (PPR1-da tasvirlangan o'zgaruvchi PPR3-da mavjud bo'ladi) 4) ... PMD-da tasvirlangan o'zgaruvchilarning nomlari boshqa PMD-lardagi o'zgaruvchilar nomlari bilan mos kelishi mumkin (har bir PMD-da bir xil o'zgaruvchini e'lon qilish mumkin). PPR-da tasvirlangan o'zgaruvchining nomi PPR-dan berilgan bir xil o'zgaruvchini ekranga chiqaradi (agar bir xil o'zgaruvchilar PPR1 va PPR3-da e'lon qilingan bo'lsa, unda har bir PPR-da bu o'zgaruvchilar noyob bo'ladi). Dastur o'zgaruvchilari global, pastki dastur o'zgaruvchilari mahalliy deb nomlanadi. PARAMETRASIZ TARTIBLAR Sintaksis: protsedura (protsedura nomi); (O'zgaruvchilar, doimiylar, turlar, yorliqlar, modullar bo'limi) Begin (protsedura tanasi); Oxiri; Parametrlarsiz protseduradan foydalanish misoli: PARAMETRASIZ 74 TARTIBLAR Shu nomdagi o'zgaruvchilardan qochib chiqishga misol: My_program dasturi; Crt-dan foydalanadi; Var A: mag'lubiyat; // My_Procedure protsedurasining tavsifi; Var A: String; Boshlash A: \u003d "Subroutine"; Writeln (A); Oxiri; A boshlang: \u003d "Tana"; Writeln (A); Mening protseduram; Writeln (A); Oxiri. // Protsedurali qo'ng'iroq 75 PARAMETRALAR BILAN TARTIBLAR 76 Subproduktsiyalarni yanada universal qilish uchun dastur va uning pastki dasturlari o'rtasida ma'lumotlar almashinuvining maxsus mexanizmlaridan foydalaniladi. Parametrlari bo'lgan tizim protseduralari: SetColor (Red); (To'rtburchak bilan protsedura (0, 0, 639, 479); (InitGraph bilan protsedura (Gd, Gm, 'd: \\ BP \\ bgi "); ((bitta parametr bilan) protsedura, bir nechta parametrlar) bir nechta turli xil)) sintaksisini yozing parametrlari bo'lgan protseduralar Processure (Name) ((Kirish o'zgaruvchilar ko'lami) Var (Chiqish o'zgaruvchilar doirasi (har bir o'zgaruvchi uchun o'z Var)))); Hududlarning tuzilishi: Variable_1, Variable_2,…: Type; ....... .... ............. Variable_N-1, Variable_N,…: Type; Maydonlarning har biri yo'q bo'lishi mumkin PARAMETRALAR BILAN TARTIBLAR Kirish parametrlaridan foydalanish a ekrani bilan chegaradosh to'rtburchak chizish protsedurasi belgilangan rang Parametrlarsiz parametrlari bilan Processure Cir; Begin SetColor (i); SetBkColor (b); Rectangle (0, 0, 639, 479); End; Process Cir (i, b: Integer); Begin SetColor (i); SetBkColor (b); To'rtburchak (0, 0, 639, 479); Tugatish; Dasturdagi protsedura chaqiruvi: Dasturdagi protsedura chaqiruvi: i: \u003d 6; b: \u003d 12; Cir; Cir (6, 12); 77 TARTIBI PARAMETRALAR BILAN Chiqish parametrlaridan foydalanish tartibi Ra burchakni gradusdan radianga aylantiradi. EX_26_3 DASTURI; VAR x, a: real; TARTIBI Rad (alfa: real; var betta: real); (chiqish o'zgaruvchisi) BEGIN Betta: \u003d pi * alfa / 180; OXIRI; BEGIN Write ("Burchakni gradus bilan kiriting:"); Readln (x); Rad (x, a); (Protsedurani chaqirish) Writeln ("Bu burchak radianlarga teng \u003d", a: 6: 4); OXIRI. 79-mashq 1. Quyidagi formatda uchburchak chizadigan protsedurani yozing: Uchburchak (x1, y1, x2, y2, x3, y3, Rang) 2. Quyidagi formatda to'rtburchakning maydonini hisoblash tartibini yozing. : SRect (a, b, S) bu erda, S - protseduraning chiqish parametri. Amaldagi material: Protsedura (Nomi) ((Kirish o'zgaruvchan doirasi) Var (Chiqish o'zgaruvchisi doirasi)); Hududlarning tuzilishi: O'zgaruvchan_1, O'zgaruvchan_2,…: Turi; ........................ Variable_N-1, Variable_N,…: Type; FUNKSIYALAR 80 Funksiyani yozish uchun sintaksis Funktsiya ((Kirish o'zgaruvchan maydoni) Var (Chiqish o'zgaruvchisi maydoni)): (Type); Protsedurani formatlash S (a, b: real; var s: real) funktsiyasini formatlash; Boshlang'ich s: \u003d a + b; Oxiri; Funktsiya yig'indisi (a, b: real): real; Boshlang'ich yig'indisi: \u003d a + b; Oxiri; Chaqiruv protsedurasi S (10, 20, A) funktsional qo'ng'iroq; Yozing (A); A: \u003d S (10, 20); WriteLN (A); WriteLN (S (20, 30)); Agar ba'zi bir subroutineni funktsiya sifatida ishlab chiqish maqsadga muvofiq bo'lsa, faqat uning ishining biron bir natijasi kutilsa. Agar subroutin faqat ma'lum bir harakatlar ketma-ketligini bajarishga yo'naltirilgan bo'lsa (namoyish qilish, chizish va hk), uni protsedura sifatida tuzgan ma'qul. MAShQ To'rtburchakning maydonini quyidagi formatda hisoblash funktsiyasini yozing: SRect (a, b) Amaldagi material: Funktsiya (Ism) ((Kirish o'zgaruvchilar doirasi) Var (Chiqish o'zgaruvchilar doirasi)): (Tur) ; Maydonlarning tuzilishi: Var_1, Var_2,…: Turi; ........................ Variable_N-1, Variable_N,…: Type; 81 UNITS UNITS 83 UNIT - bu resurslardan (protsedura va funktsiyalardan) boshqa dasturlar foydalanishi mumkin bo'lgan mustaqil dastur birligi. My1 dasturi; Module1, Module2 dan foydalanadi; __________________________ __________________________ __________________________ __________________ 1-modul Resurslar to'plami 1… My2 dasturi; Module1, Module2 dan foydalanadi; __________________________ __________________________ __________________________ __________________ N MODUL N Resurslar to'plami N Modullar FOYDALANISH MODULLARI bo'limi orqali dasturga ulangan. TARKIBI 84 Modul quyidagi qismlardan iborat: 1. Modul sarlavhasi. 2. Interfeys qismi. (ko'rinadigan narsalarning tavsiflari) 3. Amalga oshirish qismi. (yashirin ob'ektlarning tavsiflari) 4. Boshlash qismi (ixtiyoriy). Birlik (birlik nomi); Interfeys (Global o'zgaruvchilar, doimiylar, turlar bo'limi) (modullar) (Protsedura va funktsiyalar sarlavhalari ro'yxati) Amalga oshirish (Mahalliy o'zgaruvchilar, konstantalar, turlar bo'limi) (Protseduralar va funktsiyalarni amalga oshirish) Boshlang (Ishga tushirishning bir qismi) Tugatish. ! Modul sarlavhasining nomi modul fayli nomiga to'g'ri kelishi kerak! MODULLAR Modulga misol: My_Unit birligi; Inter ms Var: Array of Real; (Global massiv) Funktsiya kubi (x: integer): Integer; (Cub funktsiyasi \u003d x ^ 3) funktsiya ext4 (x: integer): Integer; (Funksiya ext4 \u003d x ^ 4) Amalga oshirish funktsiyasi kub (x: integer): Integer; (Cub funktsiyasini amalga oshirish) Begin Cub: \u003d x * x * x; Oxiri; Ext4 funktsiyasi (x: integer): Integer; (Ext4 funktsiyasini amalga oshirish) Ext4-ni boshlang: \u003d x * x * x * x; Oxiri; Oxiri. 85-mashq. Bitta funktsiyasi va bitta protsedurasi bilan modul yozing: (X1 funktsiyani hisoblash \u003d 1 / x) X1 (a: real): real; (S so'zini ekranda X, Y WriteXY holatida chop etish tartibi (S: String; X, Y: Iteger); Ishlatilgan material (modul tuzilishi): birlik (modul nomi); interfeys (global o'zgaruvchilar bo'limi, konstantalar, turlar) (modullar) (protsedura va funktsiyalar sarlavhalari ro'yxati) Amalga oshirish (lokal o'zgaruvchilar, doimiylar, turlar bo'limi) (protseduralar va funktsiyalarni amalga oshirish) boshlang (boshlanish qismi) tugatish.)