oldinga 7
orqaga 5
qa ya'ni, Chigirtka(7;5) ni i qaraymiz. Uning uchun yangi bir
dam oldinga ko'rsatmasin quramiz:
PROT bir qadam oldinga BOSHLANISH
oldinga 7
oldinga 7
50
oldinga 7
orqaga 5
orqaga 5
orqaga 5
orqaga 5
T TAMOM ‘rishingiz mumkin, barchasi to‘g£ri!
ekshirib ko
Bu yangi ko‘rsatma asosida 0 nuqtadan -3 nuqtaga o'tish juda oson:
bir qadam oldinga bir qadam oldinga bir qadam oldinga
Yoki 0 nuqtadan 10 nuqtaga:
oldinga 7
bir qadam oldinga bir qadam oldinga bir qadam oldinga
KoTib turganingizdek, algoritmda protsedurani Ijrochining oddiy koTsatmasi sifatida chaqirish mumkin ekan.
Protsedura boshqa protsedura hosil qilish uchun ham ishlatilishi mumkin:
PROT oldinga 16 BOSHLANISH
oldinga 7
bir qadam oldinga oldinga 7
bir qadam oldinga TAMOM
Yangi oldinga 16 nomli protseduradan boshqa protsedura va koTsatmalar kabi foydalanish mumkin.
Sintaksis qoidalari:
• PROT, BOSHLANISH va TAMOM so'zlari bosh harflarda
• yoziladi.lar turli qatorda qat'iy kelish tartibida yozilishi
Bu so'z
• shart. dura nomi PROT so‘zidan keyin shu qatorda yozi-
Protse
ladi.
51
• Protsedura matni BOSHLANISH va TAMOM so'zlari orasida ozgina siljitiigan holda yoziladi.
• Protsedura nomida kichik harflar va raqamlar qoMlanilishi mumkin. Bosh harflarni qo‘llash mumkin emas.
1- sharti
Sintaksis qoidaiari barcha algoritmiash tillarida bor. Ular bir-biridan Pascal, Basic, Logo tillaridagi kabi anchaginafarqianishi mumkin. Biz bu yerda o ‘z tilimiz qoidalarini yoritmoqdamiz.
2- sharh
Protsedurani yoza turib unga nom o 'yiab topamiz■ Nomni tanlashda biz erkinmiz. Bu erkinlikdan Aql bilan foydalanish maqsadga muvofiq.
Mana, masalan, Chigirtka protsedurasini bir qadam oldinga deb nomladik. Uni anjiryoki bo ‘Imasa, t21mal543 deb nomlashimiz mumkin edi. Sintaksis qoidalari buni ta ‘qiqlamaydi, lekin tasavvur qiiingki, bir necha oy o ‘tib siz t21maI543 ko ‘rsatmasiga duch keldingiz.
Bu ko ‘rsatma nima ish qilishini tushunishingiz uchun qancha vaqtingiz ketadi? Siz tuzgan hu ko ‘rsatmani boshqa odam ko ‘rayotgan bojsa-chi? Shuning uchun quyidagi maslahatga amai qiling: protseduraga siz berayotgan nom protseduraning maqsadini qisqacha aks ettirsin.
3.1-masala
or a) Chigirtka r(7;5) ni bir birlik chapga suruvchi bir qadam
qaga nomli p otsedura tuzing. Uni ishlashi to‘g‘riligini tek-
shiring.
b) 0 nuqtadan 6 nuqtaga o'tkazadigan algoritm tuzing.
d) Quyidagi algoritm ishlashi natijasini aniqlang:
bir qadani oldinga bir qadam orqaga
ola 3. z. Uchta A, B, Cidishli Suvchini Suvchi(y<; B ;C) kabi belgilab yo mi i Sunday masalani qaraymiz: Suvchi i A va B idishlar
rdam da C idishda k litr suvni yig'ish algor tmini tuzing.
oshAlbatta,abu masalada k ning qiymati C idishning hajmidan
ib ketm sligi shart.
yorXayolga birinchi shunday g'oya keladi: Suvchi A va B idishlar
damida I litr suvni (agar mumkin bo'lsa) o'lchab oladi va C
52
idishga soladi. Bu ishni k marta takrorlaydi. Yomon emas, agar I litr suvni o'lchab olish algoritmini yangi ko‘rsatma —protsedura ko‘rinishida yozilsa.
3.2- masala
alg Suvchi(5;8;I6) uchun uchinchi idishda 14 litr suvni yig‘ish
oritmini tuzing.
lit Yechim. Awalgi bobda 5 litrli va 8 litrli idishlar yordamida 4
ja mi o'lchab olish algoritmini yozgan edik. Shu algoritmga mos
pdvalini e'tiborga olibhva i yechimidan foydalanib quyidagi
rotsedurani tashkil etis im z mumkin:
PROT 7 litr BOSHLANISH
A ni to‘ldir
A dan B ga quy A ni to‘ldir
A dan B ga quy B ni bo‘shat
A dan C ga quy A ni to‘ldir
TA A dan C ga quy
Endi MOM algoritm mos ravishda quyidagicha bo‘ladi:
asosiy
7 litr
7 litr
3.3- mashq
Suvchi (5;8;I6) uchun uchinchi idishda 14 litr suvni yig‘ishning yuqoridagidan farqli algoritmini tuzing
3.3- masala
alg Suvchii(5; 8; 16) uchun uchinchi idishda 9 litr suvni yig‘ish
oritmin tuzing.
Nazorat savollari va topshiriqlar
/. Protsedura nima ?
2 Protsedura tuzayotganda qaysi so ‘ztarning bo ‘lishi shart?
3. Protseduralami tuzish sintaksis qoidatarini sanab bering. 4 Ijrochi nima uchun protsedurani bajara oladi?
5. Oshiruvchi uchun 2 ga ko ‘paytir ko ‘rsatmasini almashtiruvchi proisedura tuzing.
53
Qo‘shimcha masalalar
Oshiruvchi uchun
Os 0-3.1. Oshiruvchi ish boshlashidan awal ekranda 0 yonib (urgandi. bohiruvchi 32 sonini hosilsqilishi asosiy algoritm 2 ta satrdan iborat
'ladigan oshl6 nomli prot edura tuzing.
Os 0-3.2. Oshiruvchi ish boshlashidan awal ekranda 0 yonib turgandi. yohiruvchi uchun awalgi lmasalada tuzilgan oshl6 nomli protsedura rdamida 64 sonini hosi qilish protsedurasini tuzing osh!6 nomli
prorsedura yordamida qanday sonlarni hosil qilish mumkin?
0-3.3. Oshiruvchi ish boshlashidan awal ekranda 0 yonib turgandi.
Oshiruvchi uchun quyidagi protsedura tuzilgan: PROT aa
BOSHLANISH
1 ni qo‘sh
2 ga ko‘paytir TAM 1 ni qo‘sh
Asosiy OM da aa protsedurasi 7 marta yozilgan bo'lsa, ekranda qanday
son hosil dastur
bo'ladi?
Os 0-3.4. Oshiruvchi ish boshlashidan awal ekranda 5 yonib turgandi. hiruvchi uchun quyidagi protsedura tuzilgan:
PROT aa BOSHLANISH
1 ni qo‘sh
2 ga ko'paytir TAM 1 ni qo‘sh
Asosiy OM da aa protsedurasi 3 marta yozilgan bo'lsa, ekranda qanday
dastur
son hosil bo'ladi?
Os 0-3.5. Oshiruvchi ish boshlashidan awal ekranda 0 yonib turgandi. bahiruvchi 1 ni qo‘sh va 2 ga ko‘paytir ko‘rsatmalarini 3 martadan jargan. Bu ko'rsatmalarni shunday tartibda yozingki, eng katta son
hosil bo‘lsin.
bo‘ a) shu katta sonni hosil qilish uchun asosiy dastur 2 ta satrdan iborat
ladigan, 3 ta satrdan iborat prorsedura yozish mumkinmi?
b) agar mumkin bo‘lsa, protsedura va asosiy dasturni yozing.
54
Chigirtka uchun
Ch-3.1. Chigirtka (4;3) ni 1 qadam orqaga siljituvchi protsedura tuzing. Ch-3.2. Chigirtka (4;3) ni 2 qadam orqaga siljituvchi protsedura tuzing. Ch-3.3. Chigirtka (4;3) ni 1 qadam oldinga siljituvchi protsedura tuzing. Ch-3.4. Chigirtka (4;3) ni 2 qadam oldinga siljituvchi protsedura tuzing.
Ch-3.S. Chigirtka (7;4) ni 0 tartib raqamli kvadratdan -15 tartib raqamli kvadratga o'tkazuvchi asosiy algoritm 3 ta satrdan iborat bo‘ladigan protsedura tuzing.
Ch-3.6. Chigirtka (2;5) ni 0 tartib raqamli kvadratdan -17 tartib raqamli kvadratga o'tkazuvchi asosiy algoritm 3 ta satrdan iborat bo‘ladigan protsedura tuzing.
Ch-3.7. Chigirtka (7;5) ni -3 tartib raqamli kvadratdan 15 tartib raqamli kvadratga o'tkazuvchi asosiy algoritm 2 ta satrdan iborat bo'ladigan protsedura tuzing.
Ch-3.8. Chigirtka (7;5) ni -1 tartib raqamli kvadratdan 15 tartib raqamli kvadratga o‘tkazuvchi asosiy algoritm 2 ta satrdan iborat bo'ladigan protsedura tuzing.
Ch-3.9. Chigirtka (3;2) tartib raqami 0 kvadratda turgan edi. U ikki marta bajargan quyidagi protseduradan ikkita ko'rsatma o‘chib ketdi:
Do'stlaringiz bilan baham: |