Psevdokod
Bu maqola vikilashtirilishi kerak. |
Pseudocode haqida qisqacha
[tahrir | manbasini tahrirlash]Pseudocode[1] – bu Informatika fanida ishlatiladigan algoritm yoki boshqa tizim jarayonlarining oddiy tilda tavsifi. Pseudocode koʻpincha standart dasturlash tili tuzilma qoidalaridan foydalansa-da, u mashinada oʻqish uchun emas, balki inson uchun yozilgan. Odatda, algoritm kompyuter tomonidan tushunilishi uchun zarur boʻlgan oʻzgaruvchan taʼriflar va tilga xos kod kabi maʼlumotlarni qoldirib ketadi. Tegishli hollarda dasturlash tiliga tabiiy til tavsifi tafsilotlari yoki qisqacha matematik belgilar qoʻshiladi. Pseudocodedan foydalanish ikkilamchi maqsadga xizmat qiladi – standart dasturlash tili kodiga qaraganda algoritmning asosiy gʻoyalarini yanada samaraliroq va atrof-muhitdan mustaqilroq tasvirlash. U odatda algoritmlarni hujjatlashtirish, dasturiy taʼminot va boshqa algoritmlarni rejalashtirishda darsliklar va ilmiy nashr[2]larda qoʻllanadi.
Pseudocode bilan yozilgan dastur executable[3] (bajariladigan) dastur emasligi sababli uning sintaksisi uchun umumiy standart mavjud emas; shunga qaramay, baʼzi oʻziga xos, cheklangan standartlar mavjud (masalan, akademik baholashda qoʻllanadi). Pseudocode kompilyatsiya qilishda xatosiz boʻlgan skelet dasturlariga oʻxshaydi. Pseudocodening grafik oʻrnini bosuvchi sifatida flow charts[4] (oqim diagrammalari), drakon-charts[5] (drakon diagrammalari) va Yagona modellashtirish tili (UML[6]) diagrammalari koʻrib chiqilishi mumkin, ammo ular qogʻozda koʻproq joy egallaydi.
Qoʻllanish
[tahrir | manbasini tahrirlash]Pseudocode koʻpincha kompyuter fanlari va raqamli hisoblash boʻyicha darsliklar va akademik ishlarda algoritmlarni tavsiflash uchun ishlatiladi, shuning uchun turli xil dasturchilar ularni tushunishlari mumkin. Darsliklarda odatda foydalanilayotgan muayyan konventsiyalarni tavsiflovchi kirish boʻlimi mavjud. Baʼzi hollarda, pseudocodening batafsil darajasi oʻrnatilgan umumiy maqsadli tillar bilan taqqoslanishi mumkin.
Algoritmni, ayniqsa nomaʼlum algoritmni amalga oshirishda dasturchi koʻpincha pseudocode tavsifi bilan boshlanadi, bu tavsifni maqsadli dasturlash tiliga „tarjima qiladi“ va uni dasturning qolgan qismi bilan toʻgʻri ishlashga moslashtiradi. Yuqoridan pastga tashkil etish strategiyasi sifatida dasturchilar loyihani pseudocodedagi kodni qogʻozda koʻrsatib, uni haqiqiy tilda yaratishdan oldin, aniqlashtirish sifatida amalga oshiriladigan bir qator qadamlar bilan boshlashlari mumkin.
Sintaksisi
[tahrir | manbasini tahrirlash]Pseudocode koʻpincha biron bir tilning sintaksisi standartlariga mos kelmaydi; belgilangan standart shakl mavjud emas. Baʼzi yozuvchilar tushkunlikka tushganiga qaramay, bir nechta anʼanaviy dasturlash tillarining boshqaruv tuzilmalarining sintaksisi va uslubidan foydalanadilar. Fortran, Paskal, BASIC, C, C++, Java, Lisp va ALGOL sintaksis manbalariga bir nechta misollardir. Aksariyat hollarda oʻzgaruvchan deklaratsiyalar oʻtkazib yuboriladi. Funksiya chaqiruvlari va katta kod boʻlaklari, masalan, tsikllarda topilganlar, tez-tez oddiy tilda oddiy jumlaga almashtiriladi.
Matematikaga bogʻliqligi
[tahrir | manbasini tahrirlash]Raqamli hisoblashda pseudocode koʻpincha anʼanaviy dasturlash tilining boshqaruv tuzilmalari bilan aralashgan, odatda toʻplam va matritsa nazariyasidan olingan matematik belgilardan va, ehtimol, tabiiy til tavsiflaridan iborat. Bu matematik jihatdan oʻqitilgan keng doiradagi odamlar tomonidan tushunilishi mumkin boʻlgan ixcham va koʻpincha norasmiy yozuv boʻlib, koʻpincha matematik algoritmlarni tasvirlash usuli sifatida ishlatiladi.
Matematik belgilar:
[tahrir | manbasini tahrirlash]Pseudocodeda turli matematik amallar va ifodalarni ifodalash uchun matematik belgilardan foydalanish mumkin. Mana, pseudocodeda matematik belgilardan qanday foydalanish mumkinligiga misol:
// Addition
sum = a + b
// Subtraction
difference = a – b
// Multiplication
product = a * b
// Division
quotient = a / b
// Modulo (remainder)
remainder = a % b
// Exponentiation
result = base ^ exponent
// Square root
root = √(number)
// Absolute value
absolute = |number|
// Comparison operators
if a > b then
// Perform some action
else if a < b then
// Perform some other action
else
// Perform another action
// Increment and decrement
a = a + 1
b = b - 1
// Parentheses for grouping
result = (a + b) * c
// Mathematical functions (e.g., sine, cosine, logarithm)
result = sin(angle)
result = cos(angle)
result = log(number)
// Mathematical constants (e.g., π, e)
pi = 3.14159
e = 2.71828
Bular matematik belgilar va operatsiyalarni pseudocodeda qanday ifodalash mumkinligiga misollardir. Haqiqiy sintaksis va konventsiyalar ishlatilayotgan pseudocode tili yoki uslubiga qarab farq qilishi mumkin.
Manbalar:
[tahrir | manbasini tahrirlash]- ↑ „Pseudocode“ (Inglizcha) (2001-yil 1-oktyabr). Qaraldi: 2023-yil 14-sentyabr.
- ↑ „Ilmiy nashrlar“ (Inglizcha) (2003-yil 8-dekabr). Qaraldi: 2023-yil 14-sentyabr.
- ↑ „Executable“ (Inglizcha) (2003-yil 27-aprel). Qaraldi: 2023-yil 14-sentyabr.
- ↑ „Flowcharts“ (Inglizcha) (2004-yil 15-mart). Qaraldi: 2023-yil 14-sentyabr.
- ↑ „Drakon diagrammalar“ (Inglizcha) (2007-yil 7-mart). Qaraldi: 2023-yil 14-sentyabr.
- ↑ „MDL“ (Inglizcha) (2001-yil 12-noyabr). Qaraldi: 2023-yil 14-sentyabr.