I-bob. Algoritm tili haqida 1 Algoritmik tillarning umumiy tavsifi
II-BOB MA’LUMOTLAR TARKIBI VA ALGORITMLAR
Download 232.64 Kb.
|
algoritmik til va matematik modellashtirirsh
II-BOB MA’LUMOTLAR TARKIBI VA ALGORITMLAR 2.1 Ma’lumotlar tarkibi va algoritmlar to`risida tushuncha Ma’lumotlar tarkibi va algoritmlar shunday tushunchalarki, ulardan dasturlar tuziladi. Bundan ham tashqari kompyuterni o`zi ma’lumotlar tarkibi va algoritmlardan tashkil topadi. Yaratilgan ma’lumotlar tarkibi xotiraning shunday registrlari va xotirasi bilan tasvirlanganki, unda ikkilik miqdorlar saqlanadi. Apparatura konstruktsiyasida singdirilgan algoritmlar, bu elektron zanjirlarda o`z aksini topgan qat’iy qoidalar bo`lib, ular bo`yicha xotiraga joylashtirilgan ma’lumotlarni bajarish uchun mo`ljallangan buyruqlar sifatida talqin qilinadi. Shuning uchun ham har bir kompyuter ishining asosida faqat bitta ko`rinishdagi ma’lumotlar bilan ishlay olishi mumkin. Bu ma’lumotlar alohida bitlar yoki ikkilik raqamlari bo`ladi. Ushbu ma’lumotlar bo`yicha kompyuterning markaziy prosessorining komandalari tizimi o`zgartirilmaydigan algorotmlar naboriga mos ravishda ishlaydi. Dasturlarning abstrakt ma’lumotlar tarkibi va algoritmlari aniq ifodalash uchun dasturlash tillari deb atalgan formal belgilashlartizimini ishlatiladi. Dasturlash tillarida har bir gap aniq va bir qiymatli aniqlanadi. Barcha dasturlash tillarida o`zgaruvchilar, konstantalarni belgilash (nomlash) uchun identifikatorlar ishlatiladi. Ba’zi dasturlash tillarida konstantalarni qiymatlari butun dastur bajarilish jarayonida o`zgarmaydi, ba’zi bir tillarda esa ularni o`zgartirish mumkin. Endi identifikator tushunchasiga ta’rif beramiz. Harf va raqamlar kombinatsiyasidan tashkil topgan va faqat harf bilan boshlanuvchi so`z identifikator deb ataladi. Masalan: A, A12, Ab42C, TI134 va h.k. Ba’zi dasturlash tillarida identifikatorlarni belgilashda ba’zi bir belgilar ham ishlatiladi. Masalan: _A404, _ABBA2 va h.k. Konstantalarning yoki o`zgaruvchilarning nomlari dasturchiga yordam beradi, lekin kompyuter uchun ular hech narsani anglatmaydi. Kompilyatorlar esa identifikatorlar uchun xotirani aniq adresi uchun xotira ajratadi. Kompilyator ishlashi, ya’ni har bir nomlangan miqdorlarni (identifikatorlarni) tipini bilishi kerak. Odam esa nomlangan o`zgaruvchilarni tiplarini intuitiv tarzda biladi va shunga qarab ish qiladi. Ma’lumki, kompyuter uchun ma’lumotlarni barcha tiplari natijada bitlar ketma-ketligiga keltiriladi, shuning uchun ham ularning tiplarini oshkor holda aniqlash zarur. Dasturlash tillarida qabul qilingan tiplar natural, butun va haqiqiy sonlar, literlar, qatorlar va h.klardan iborat. Ba’zi bir dasturlash tillarida har bir konstanta va o`zgaruvchilarni tiplari o`zlashtirilayotgan qiymatlarga ko`ra kompilyatorlar tomonidan aniqlanadi. Masalan, o`nlik nuqta haqiqiy son belgisi hisoblanadi. Boshqa bir dasturlash tillarida esa dasturchidan o`zgaruvchilarni qiymatlarini tiplarini oshkor ko`rsatish talab etiladi. Dasturlash tillarining vazifasiga qarab tiplarni himoyasi ularning ba’zi birlarida juda ham qat’iy ba’zilarida esa unchalik qat’iy bo`lmagan bo`lishi mumkin. Masalan: Pascal (bu til yaratilishidan boshlab ma’lumotlar tarkibi va algoritmlarni illyustrasiya qilish uchun yaratilgan) boshidan boshlab tiplar himoyasi juda ham qat’iydir. Pascal – kompilyator ko`p hollarda bir ifodada har xil tiplar va o`zgaruvchilarni aralashmasi uchun faqat (tuzatib bo`lmaydigan) xatolarga olib kelishi mumkin. Bunga qarama-qarshi C tili esa bu hol uchun uning kompilyatori faqat bu to`rida ogohlantiradi xolos. Demak bu tilda tiplar etarlicha himoya etilmagan, tilning o`zi esa tizimli dasturlash uchun yaratilgan. Demak dasturchi C tilida dastur tuzgan o`zining bu “qiliqlari” uchun o`zi javob beradi. Xulosa: Ma’lumotlar tarkibi mohiyati bo`yicha “fazoviy” tushunchaga tegishli: uni kompyuter xotirasida ma’lumotlarni tashkil etish sxemasiga olib kelish mumkin. Algoritm esa dastur tarkibida prosedurali elementga mos keladi va u hisoblash uchun resepti hisoblanadi. Birinchi algoritmlar sonlarni ko`paytirish, eng katta umumiy bo`luvchini topish, trigonometrik funktsiyalarni qiymatlarini hisoblash va h.k.lar bo`lgan. Hozirgi kunda bular bilan bir qatorda sonli bo`lmagan algoritmlar o`ta muhim hisoblanadi. Ular matndagi berilgan so`zlarni qidirishda, hodisalarni rejalashtirishda, ko`rsatilgan tartibda ma’lumotlarni saralash va h.k.da ishlatiladi. Bundan tashqari ularni loyihalashtirish (hosil qilish) va tushunishda hech qanday chuqur matematik tushunchalar kerak emas. Lekin bu erdan bunday algoritmlarni o`rganishda matematika o`rni yo`q degan tushuncha kelib chiqmaydi, aksincha matematik usullar sonli bo`lmagan masalalarni yechishda, eng yaxshi yechimni topishda hamda bu yechimlarni to`riligini isbotlashda juda ham zarur. Algoritmlarda ishlatiladigan ma’lumotlar tarkibi o`ta murakkab bo`lishi ham mumkin. Ma’lumotlarni tasvirlashni to`ri tanlash natijasida muvaffaqiyatli dasturlashda kalit bo`lib xizmat qiladi va ishlatilayotgan algoritm detaliga nisbatan dasturlarni samaradorlik darajasiga o`zini katta hissasini qo`shadi. Qilinishi kerak bo`lgan ishlarni eng yaxshisi, bu barcha tayanch “ishtchalar” va ulardan yaratilgan tuzilmalarni nimaligini mohiyatini tushunib etishdir. Bu bilimlar asosida katta tizimlarni yaratish eng avvalo bu muhandislik mahorati va amaliyotining ishidir. Ma’lumotlar tarkibi va algoritm tushunchalarini o`quvchini yanada puxta bilim olishi uchun biz D. Knutni “Искусство программирования” (“Dasturlash san’ati”) nomli uch tomlik kitobni o`rganishni takilf etamiz. Ma’lumotlar tarkibini EHM xotirasida tasvirlash, ma’lumotlar tabiati va ularni saqlash, sanoq tizimlari to`risidagi ma’lumotlar “Dasturlash maxsus kursi” o`quv qo`llanmasida keltirilgan. Download 232.64 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling