PASKAL TILIGA KIRISH
Ma'lumki EHM berilgan algoritmlarni formal bajaruvchi avtomat hisoblanadi, shuning uchun biror masalani EHMda yechishda unga mos algoritmni berish zarur. Algoritmni EHMga uzatishda esa uni maxsus «mashina tili»ga o'girib mashina kodida yozilgan dasturga aylantiriladi.Shu bilan bir qatorda EHMning turli xil tiplari turlicha tillarga ega bo'ladi, ya'ni biror EHM uchun yozilgan dastur boshqa EHM uchun tushunarsiz bo'lishi mumkin. Shunday qilib, har bir EHM faqat o'zining «mashina tili»da yozilgan dasturlarnigina tushunishi va bajarishi mumkin. y Mashina kodida yozilgan dasturlarning ko'rinish sifati juda kambag'aldir, chunki bu dasturlar faqat 0 va 1 laming maxsus ketma-ketligidan tashkil topadi.Bu esa mutaxassis bo'lmagan odamga tushunarsiz bo'lib, dastur tuzishda noqulayliklar keltirib chiqaradi.
Aytib o'tilganlardan shuni xulosa qilish mumkinki, mashina tilidan foydalanish odam uchun uni qiziqtirgan, ya'ni yechishi lozim bo'lgan masalaning algoritmini ishlab chiqishda va yozishda juda katta qiyinchiliklar va muammolar tug'diradi.
Yuqorida aytib o'tilgan qiyinchiliklarni bartaraf qilish, dasturchining ishini osonlashtirish va yaratilgan dasturlarning ishonchlilik darajasini oshirish maqsadida yuqori darajadagi dasturlash tillari yoki algoritmik tillar yaratilgan. Algoritmik tillarning mashina tillaridan asosiy farqlari sifatida quyidagilarni ko'rsatish mumkin:
— mashina tili alifbosidan algoritmik til alifbosining o'ta kengligi;
— tuzilgan dastur matnining ko'rinish sifatini keskiri oshiradi;
ishlatilishi mumkin bo'lgan amallar majmui mashina amallari majmuiga bog'liq emas;
bajariladigan amallar odam uchun qulay ko'rinishda, ya'ni amalda qabul qilingan
matematik belgilashlarda beriladi;
amallar operandlari uchun dasturchi tomonidan beriladigan shaxsiy ismlar qo'yishi
mumkinligi;
mashina uchun ko'zda tutilgan ma'lumot tiplaridan tashqari yangi tiplar kiritish
imkoniyati yaratilganligi.
Shunday qilib, ma'lum ma'noda aytish mumkinki, algoritmik tillar mashina tiliga bog'liq emas.
Yuqorida aytilganlardan kelib chiqqan holda ma'lum bo'ldiki, algoritmik tilda yozilgan masala yechimining algoritmi to'g'ridan-to'g'ri EHMda bajarilishi mumkin emas ekan. Buning uchun esa, algoritm oldindan ishlatilayotgan EHMrting mashina tiliga translyator (kompilyator yoki interpretator) yordamida o'girilishi lozim. Translyator -mashina tilida yozilgan maxsus dastur bo'lib, uning asosiy maqsadi algoritmik tillarda yozilgan dastur matnini EHM tiliga tarjima qilishdan iboratdir. Amalda dasturlashda foydalanilayotgan algoritmik tillar o'z ma'nosiga ko'ra algoritmni so'zli-formulali yozish uslubiga o'xshab ketadi, ya'ni ma'lum bir qism ko'rsatmalar oddiy matematik formulalar, boshqa qismlar esa so'zlar yordamida ifodalanishi mumkinrMisol sifatida n va m natural sonlarning eng katta umumiy bo'luvchisi (EKUB)ni topish algoritmini ko'rib chiqaylik: t 1. A=n, B=m deylik
Agar n=.B bo'lsa 5-bandga, aks holda 3-bandga o't.
Agar A>B bo'lsa A ning yangi qiymati deb A—B ni qabul qil, B ni qiymatini o'zgartirma; aks holda B ning yangi qiymati deb B—A ni qabul qil, A ning qiymatini
o'zgartirma.
4.2-bandga o't.
5.EKUBm=A va hisobni to'xtat.
Ushbu algoritmni qisqaroq ko'rinishda quyidagicha ifodalashimiz ham mumkin:
A=n, B=m deylik;
Agar A>B bo'lsa A=A—B aks holda B=B—A, A=B
bo'lguncha 2-bandni takrorla.
EKUB=,4 va hisobni to'xtat.
Ushbu misoldan ko'rinib turibdiki algoritmlarni bunday yozish uslubi odam uchun ham qulay va ham tushunarlidir. Lekin bu uslubda ham ma'lum kamchiliklar ko'zga tashlanadi:
algoritmni ortiqcha ko'p so'zli va uzun deyish mumkin;
bir xil ma'nodagi ko'rsatmani turli xil uslublarda berish mumkinligi;
bunday erkin ko'rinishda ifodalangan algoritmni EHM tiliga o'tkazish imkoniyati kamligi.
- Yuqoridagi kabi kamchiliklarni bartaraf qilish uchun formallashgan, qat'iy aniqlangan algoritmik tillar ishlab chiqilganf'.Algoritmik .tillar uchta o'zakdan tashkil topadi: til alifbosi, sintaksisi va semantikasi.
Do'stlaringiz bilan baham: |