4. Dasturlash texnologiyalari va algoritmlash asoslari

4. Dasturlash texnologiyalari va algoritmlash asoslari.
Dasturlash texnologiyalar va algoritmlash asoslari. Algoritm, algoritmning tasvirlash usullari va xossalari. Algoritm va uning turlari, Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlar yaratish.
Reja:
1.Dasturlash texnologiyalari va algoritmlash asoslari.
2. Algoritm, algoritmning tasvirlash usullari va xossalari.
3. Algoritm va uning turlari
4. Chiziqli, tarmoqlanuvchi va takrorlanuvchi algoritmlar yaratish.
5. Hisoblash jarayonlarini grafik tasvirlash
6. Dasturlash tillari haqida umumiy ma’lumot
Tayanch so’z va iboralar: Algoritm, argument, formula, tenglama, dasturlash, dasturlash tili, algoritmik til, programma, kod, Delphi, Java, C++, Python, windows, JavaScript, Swift, Scala.
Turli xil dasturlash tillari dasturlashning turli uslublarini qo'llab- quvvatlaydi ("dasturlash paradigmalari" deb nomlanadi). Dasturlash san'atining bir qismi - mavjud muammoga eng mos keladigan tillardan birini tanlash. Algoritmni amalga oshirishda turli xil tillar dasturchidan har xil tafsilotlarga e'tibor berishni talab qiladi, bu ko'pincha soddalik va ishlash (yoki dasturchi vaqti va foydalanuvchi vaqti) o'rtasida kelishuvga olib keladi. To'g'ridan-to'g'ri protsessor tomonidan bajariladigan yagona til bu mashina tili ("mashina kodi" deb ham ataladi). Yuqorida aytib o'tilganidek, dastlab, barcha dasturchilar mashina kodidagi har bir mayda detallar orqali ishladilar, ammo endi bu qiyin ish endi bajarilmayapti. Buning o'rniga dasturchilar asosiy kodni yozadilar va kompyuter (birozdan keyin muhokama qilinadigan kompilyator, assembler yoki interpretator yordamida) uni bir yoki bir necha bosqichda barcha tafsilotlarini aniqlab, maqsad protsessorda bajarishga tayyor bo'lgan mashina kodiga aylantiradi. Biroq, ba'zi tillarda, mashina kodi o'rniga, bayt-kod (byte-code) deb ham ataladigan ikkilik "virtual mashina" kodi hosil bo'ladi. Ushbu yondashuv Forth, Lisp, Java-da qo'llaniladi. Endi biz "dasturlash" tushunchasi haqida ozgina ma'lumotga ega bo'lsak, dasturlarni yaratish jarayonining texnik qismiga o'tishimiz mumkin. Bular, albatta, dasturlashning texnik (apparat) vositalaridir - avtomatlashtirilgan tizimlarning elektr, elektron va mexanik tarkibiy qismlari majmui ularning texnik ta'minotini tashkil etadi (bu avtomatlashtirilgan tizimlar uchun dasturiy ta'minotdan farqli o'laroq). Masalan, elektron hisoblash mashinasi (EHM) yoki kompyuter bu elektronikadan foydalanishga asoslangan va hisoblash va axborot muammolarini hal qilish jarayonida ma'lumotlarni avtomatik yoki avtomatik ravishda qayta ishlashga mo'ljallangan apparat va dasturiy ta'minot to'plamidir. Dasturlash paradigmalari
Dasturlash tilining markazida tegishli dasturlarning uslubiga sezilarli ta'sir ko'rsatadigan ba'zi bir yetakchi g'oyalar mavjud: dasturlarning maqsadi va/yoki yozilish uslubiga qarab, dasturiy paradigmalar mavjud (shuningdek, yondashuvlar yoki texnologiyalar deb nomlanadi): Strukturaviy dasturlash - bu dasturiy ta'minotni tahlil qilish, loyihalash va amalga oshirishda tizim yondashuviga asoslangan dasturlash metodologiyasi. Ushbu metodologiya 70-yillarning boshlarida tug'ilgan va shu qadar hayotiy ekanligi isbotlanganki, u ko'plab loyihalarda hali ham asosiy hisoblanadi. Ushbu texnologiya quyidagi qoidalarga asoslanadi: • Murakkab vazifa kichikroq, funksional jihatdan yaxshiroq boshqariladigan vazifalarga bo'linadi. Har bir topshiriqda bitta kirish va bitta chiqish mavjud. Bunday holda, dasturning boshqarish oqimi aniq funktsional maqsadga ega bo'lgan elementar subjarayonlar to'plamidan iborat. • Vazifada ishlatiladigan boshqaruv tuzilmalarining soddaligi. Ushbu qoida mantiqan vazifa minimal darajada sodda boshqaruv tuzilmalarining funksional jihatdan to'liq to'plamidan iborat bo'lishi kerakligini anglatadi. Bunday tizimga misol sifatida mantiq algebrasini keltirish mumkin, bunda har bir funksiyani funktsional jihatdan to'liq tizim: disyunksiya, konyunksiya va inkor qilish orqali ifodalash mumkin. • Dasturni ishlab chiqish bosqichma-bosqich amalga oshirilishi kerak. Har bir bosqichda cheklangan miqdordagi aniq belgilangan vazifalar, ularning mazmuni va butun vazifa kontekstidagi rolini aniq anglash bilan hal qilinishi kerak. Agar bunday tushunishga erishilmasa, demak, bu bosqich juda uzun va uni ko'proq boshlang'ich bosqichlarga bo'lish zarur. Modulli dasturlash tushunchasi . Tarkibiy dasturlash texnologiyasi singari, modulli dasturlash konsepsiyasi bir nechta tushunchalar va qoidalar shaklida shakllantirilishi mumkin:
• Vazifaning funksional dekompozitsiyasi - katta vazifani bir nechta kichikroq, funktsional jihatdan mustaqil kichik vazifalar - modullarga bo'lish. Modullar bir-biriga faqat kirish va chiqish ma'lumotlari bilan bog'langan. • Modul - modulli dasturlash tushunchasining asosi. Funksional parchalanishdagi har bir modul bitta kirish va bitta chiqishga ega bo'lgan qora quti. Modulli yondashuv dasturni ishlash jarayonida og'riqsiz yangilashga imkon beradi va unga xizmat ko'rsatishni osonlashtiradi. Bundan tashqari, modulli yondashuv turli xil dasturlash tillarida bitta loyiha dasturlarining qismlarini ishlab chiqishga, so'ngra yig'ish vositalaridan foydalanib ularni bitta yuk moduliga birlashtirishga imkon beradi. • Amalga oshirilgan yechimlar sodda va tushunarli bo'lishi kerak. Agar modulning maqsadi aniq bo'lmasa, demak bu boshlang'ich yoki oraliq muammoning parchalanishi yetarli darajada bajarilmaganligini ko'rsatadi. Bunday holda, muammoni yana bir bor tahlil qilish va ehtimol, qo'shimcha topshiriqlarni subjarayonlarga ajratish kerak. Agar loyihada qiyin joylar mavjud bo'lsa, ularni yaxshilab o'ylangan sharhlar tizimi yordamida batafsilroq hujjatlashtirish kerak. Ushbu jarayon muammoning barcha modullari maqsadi va ularning maqbul kombinatsiyasi to'g'risida aniq tushunchaga erishmaguningizcha davom etishi kerak. • Moduldagi barcha o'zgaruvchilarning maqsadi izohlar yordamida belgilanishi bilan tavsiflanishi kerak. Dasturlash texnologiyalari uchun vositalar to'plami Dasturlash tizimining prinsipini to'liq tushunish uchun biz dasturlash texnologiyasining vositalarini ko'rib chiqamiz, ya'ni dasturiy mahsulotlarni ishlab chiqish, sozlash va amalga oshirish texnologiyasini ta'minlovchi dasturlar to'plami.
|