Dasturlashning asosiy tushunchalari. Informatika fanining asosiy bo'limlari Dasturlash tushunchasini tavsiflang

Ob'ektga yo'naltirilgan dasturlash - bu bizning xatti-harakatlarimizga juda o'xshash bo'lgan dasturlash texnikasi. Bu dasturlash tillarini rivojlantirishdagi avvalgi yangiliklarning tabiiy evolyutsiyasi. Ob'ektga yo'naltirilgan dasturlash avvalgi har qanday tuzilgan dasturiy ishlab chiqishga qaraganda ancha tuzilgan. Bundan tashqari, ma'lumotlar mavhumlashtirish va dasturiy tafsilotlarni ichki qismga keltirish bo'yicha avvalgi urinishlarga qaraganda ancha modulli va mavhumroq.

Ob'ektga yo'naltirilgan dasturlashning eng muhim tamoyillaridan biri bu dasturchi dastur ishlab chiqishda kod va ma'lumotlar haqida birgalikda o'ylashi kerak. Vakuumda na kod, na ma'lumotlar mavjud. Ma'lumotlar kod oqimini boshqaradi va kod rasmlar va ma'lumotlar qiymatlarini boshqaradi. Agar sizning kodingiz va ma'lumotlaringiz alohida elementlar bo'lsa, to'g'ri protsedurani noto'g'ri ma'lumotlar bilan yoki noto'g'ri protsedurani to'g'ri ma'lumotlar bilan chaqirish xavfi mavjud. Ushbu elementlarning bir-biriga mos kelishini dasturchi o'z zimmasiga oladi va Paskalning kuchli yozuvlari bu erda yordam beradi, ammo u qila oladigan eng yaxshi narsa bu nomuvofiqlikni ko'rsatib berishdir. Paskal hech qachon aslida mavjud bo'lgan narsalarni eslatib o'tmaydi. Agar bu sharh bilan belgilanmagan bo'lsa yoki siz doimo eslab turadigan narsa bo'lmasa, demak siz taqdir bilan o'ynaysiz. Ob'ekt ularning tavsiflarini birgalikda yaratish orqali kod va ma'lumotlarni sinxronizatsiya qiladi. Aslida, ob'ekt maydonlaridan birining qiymatini olish uchun siz ushbu ob'ektga tegishli usulni chaqirasiz, bu esa kerakli maydonning qiymatini qaytaradi. Maydonga qiymat berish uchun siz ushbu maydonga yangi qiymat beradigan usulni chaqirasiz.

Ilova ko'plab elementlardan yig'iladi: shakllar, dastur modullari, tashqi kutubxonalar, rasmlar, piktogramma va boshqalar. Har bir element alohida faylga joylashtirilgan va qat'iy belgilangan maqsadga ega. Ilovani yaratish uchun zarur bo'lgan barcha fayllar to'plami loyiha deb ataladi. Kompilyator loyiha fayllarini ketma-ket qayta ishlaydi va ulardan bajariladigan faylni yaratadi.

Asosiy loyiha fayllarini bir necha turga bo'lish mumkin: Formalarni tavsiflovchi fayllar - DFM kengaytmali matnli fayllar, komponentlar bilan shakllarni tavsiflovchi. Ushbu fayllar xususiyatlar oynasida o'rnatgan dastlabki xususiyat qiymatlarini saqlaydi. Dastur moduli fayllari Delphi tilida dastur kodlarini o'z ichiga olgan PAS kengaytmali matnli fayllardir. Ushbu fayllarda siz shakllar va komponentlar tomonidan yaratilgan hodisalarni boshqarish usullarini yozasiz.

Asosiy loyiha fayli - bu asosiy dastur blokini o'z ichiga olgan DPR kengaytmasi bo'lgan matnli fayl. Loyiha fayli barcha ishlatilgan dastur modullarini o'z ichiga oladi va dasturni ishga tushirish uchun bayonotlarni o'z ichiga oladi. Delphi ushbu faylni o'zi yaratadi va boshqaradi. Delphi loyihasi bu dasturiy ta'minot birliklari - modullar to'plamidir. Modullardan biri asosiy hisoblanadi, unda dastur bajarilishi boshlanadigan ko'rsatmalar mavjud.

Asosiy dastur moduli to'liq Delphi tomonidan yaratilgan. Asosiy modul - dpr kengaytmali fayl. Asosiy dastur modulining matnini ko'rish uchun Project menyusidagi View Source buyrug'ini tanlang. Loyihadagi har bir shakl Delphi-da yozilgan shaklga oid barcha deklaratsiyalarni va hodisalarni boshqarish usullarini o'z ichiga olgan o'z dastur birligiga (birligiga) ega. Dastur modullari PAS kengaytmasi bo'lgan alohida fayllarda joylashgan. Ularning soni shakllar sonidan oshib ketishi mumkin. Nima uchun? Chunki ba'zi hollarda dastur modullari shakllarga tegishli bo'lmasligi mumkin, lekin yordamchi protseduralar, funktsiyalar, sinflar va hk.

Hech qanday holatda ismni qo'lda o'zgartirmang. Delphi muhiti modul nomini fayl nomi bilan bir xil bo'lishini talab qiladi, shuning uchun agar modulning nomini o'zgartirmoqchi bo'lsangiz, uni File | Save As .... Delphi o'zi so'z birligidan keyin yangi nom o'rnini bosadi. Keyin eski modulni olib tashlang. Modul interfeysi bo'limining mazmuni tez-tez chaqiriladigan pastki dasturlarni va formada joylashtirilgan komponentlar sinflarini aniqlaydigan standart VCL modullarini kiritish bilan boshlanadi. Delphi muhiti sizning ishtirokisiz modullar ro'yxatini ishlab chiqaradi va shaklga yangi komponentlar qo'shganda uni avtomatik ravishda to'ldiradi. Shu bilan birga, ulangan modullar ro'yxati to'g'ridan-to'g'ri kod muharririda o'zgartirilishi mumkin (qo'lda). Birlik so'z birligidan keyin birlik nomi bilan boshlanadi. Modul quyidagi bo'limlardan iborat:

  • · Interfeys;
  • · Amalga oshirish;
  • · Initsializatsiya.

Interfeys bo'limi (interfeys so'zidan boshlangan) kompilyatorga dasturning boshqa modullari uchun qancha modul mavjudligini aytib beradi. Ushbu bo'limda ushbu birlik foydalanadigan kutubxona birliklari (so'z ishlatilgandan keyin) ro'yxati berilgan. Shuningdek, u so'z turiga ergashadigan Delphi tomonidan yaratilgan shakl tavsifini o'z ichiga oladi.

Amalga oshirish bo'limi amalga oshirish so'zi bilan ochiladi va shakl o'zgarishini qo'llab-quvvatlaydigan mahalliy o'zgaruvchilar, protseduralar va funktsiyalar deklaratsiyasini o'z ichiga oladi.

Amalga oshirish bo'limi ko'rsatuvchidan boshlanadi ($ R * .DFM), bu kompilyatorga bajariladigan faylni yaratishda shakl tavsifidan foydalanishni aytadi. Shakl tavsifi dfm kengaytmali faylda joylashgan bo'lib, uning nomi modul nomi bilan bir xil. Shakllarni tavsiflash fayli Delphi muhiti tomonidan shaklning tashqi ko'rinishiga qarab hosil bo'ladi.

($ R * .DFM) direktivasidan keyin forma va uning tarkibiy qismlari uchun hodisalar protseduralari kuzatiladi. Dasturchi bu erda boshqa protsedura va funktsiyalarni ham joylashtirishi mumkin.

Initsializatsiya bo'limi modul o'zgaruvchilarini ishga tushirishga imkon beradi. Boshlash bo'limining ko'rsatmalari amalga oshirish bo'limidan so'ng (barcha protsedura va funktsiyalar tavsiflari) boshlanish va tugash oralig'ida joylashgan. Agar boshlang'ich bo'limida ko'rsatmalar bo'lmasa (yuqoridagi misolda bo'lgani kabi), unda begin so'zi ko'rsatilmagan.

Shuni ta'kidlash kerakki, juda ko'p sonli modul ko'rsatmalari Delphi tomonidan ishlab chiqarilgan. Delphi, dasturchining ariza yaratish bo'yicha harakatlarini tahlil qilib, forma sinfining tavsifini hosil qiladi (so'z turidan keyin). Loyihaga qaysi aniq fayllar kiritilganligini kompilyator bilishi uchun qandaydir tashkiliy tamoyil zarur. Va haqiqatan ham shunday. Bu DPR kengaytmasiga ega loyiha fayli (Delphi Project qisqartmasi). Bu Delphi tilidagi asosiy dastur fayli bo'lib, u foydalanishga oid bayonot yordamida loyihaga kiritilgan barcha birlik fayllarini o'z ichiga oladi. Har bir loyiha uchun faqat bitta DPR fayli mavjud. Fayl | buyrug'idan foydalanganda Yangi | Ilova, biz yangi dastur ishlab chiqishni boshlaymiz, Delphi muhiti avtomatik ravishda loyiha faylini yaratadi. Yangi shakllar yaratilishi bilan ushbu faylning mazmuni avtomatik ravishda o'zgartiriladi. Ishni tugatgandan so'ng va loyihani kompilyatsiya qilishga tayyor bo'lsak, DPR fayli kompilyatorga kiritiladigan dastur modullari ro'yxatini o'z ichiga oladi.

Komponent tushunchasi Delphi muhiti uchun juda muhimdir. Komponentlarsiz vizual dasturni rivojlantirishning barcha afzalliklari yo'qoladi va gaplashadigan hech narsa yo'q. Delphi ishlab chiquvchilari kutubxonaga tegishli dialog oynalarini amalga oshiradigan, foydalanishda qulay komponentlarni kiritish haqida g'amxo'rlik qildilar. Ular Dialoglar sahifasida joylashgan.

Dastlabki kompyuter tizimlari paydo bo'lgan davrda, odam tomonidan bajarilishi kerak bo'lgan vazifalarni idrok etishni mashinaga qanday "o'rgatish" haqida savol tug'ildi. Bu erda "kompyuter dasturlash" atamasi paydo bo'ldi. Bugungi kunda, ushbu jarayonlarning asoslari va nozik tomonlarini yaxshi bilmaydigan ko'plab foydalanuvchilar, bu badiiy adabiyot sohasidagi, ko'chadagi oddiy odamga etib bo'lmaydigan narsa deb hisoblashadi. Ammo, agar xohlasangiz, dasturlashni o'zingiz o'rganishingiz mumkin. Ammo o'zimizdan ustun turmaylik va hamma narsani, aytilganidek, javonlarga joylashtirmaylik.

Umumiy ma'noda dasturlash nima?

Agar ushbu atamaning asosiy talqinlariga nazar tashlasangiz, eng oddiy xulosani chiqarish qiyin emas. Dasturlash nima? Bu dasturlarni yozish.

Dastur nima degan savol darhol paydo bo'ladi. Dastur yoki dastur, bu taxminan aytganda, bu mashina tomonidan bajarilishi kerak bo'lgan ixtisoslashtirilgan buyruqlar, ko'rsatmalar, ko'rsatmalar yoki bajariladigan skriptlar to'plami va ikkala "apparat" qurilmalari darajasida va boshqa tegishli vositalar.

Dasturlash nima ekanligini tushuntirish uchun siz eng oddiy misolni keltirishingiz mumkin. Muayyan vazifani bajarishga qaratilgan o'rnatilgan maxsus dastur nafaqat operativ xotiraga va protsessorga kirish, balki ularni boshqarish uchun vositalar orqali boshqa jismoniy qurilmalardan ham foydalanadi, ular ham dastur hisoblanadi.

Bir oz tarix

Zamonaviy talqinda dasturlash nima ekanligi haqida gapirganda, uning kelib chiqish tarixiga nazar tashlash kerak. Darhaqiqat, ba'zi bir harakatlarning, masalan, matematik hisob-kitoblar sohasidagi avtomatlashtirilgan bajarilishi insoniyatga azaldan ma'lum bo'lgan.

Hech bo'lmaganda Qadimgi Yunonistonni eslang, unda eng oddiy arifmetik operatsiyalarni bajarishga imkon beradigan turli o'lchamdagi tishli qurilmalar ishlatilgan. Bu zamonaviy kalkulyatorning haqiqiy prototipi edi.

1206 yilda Al-Jazari tomonidan qurilgan Metonik tsiklni kuzatib boruvchi noyob uskuna paydo bo'ldi, u o'sha paytdagi qisqichlar va kamalarga asoslangan murakkab mexanizmlardan foydalangan.

Faqatgina 1804 yilda jakkard dastgohi yorug'likni ko'rdi, u perforatorlar asosida yaratilgan matolarda naqshlarni ko'paytira oldi.

Ammo haqiqiy yutuq, Charlz Babbi tomonidan ishlab chiqilgan, afsuski, uning hayoti davomida hech qachon qurilmagan dasturlashtiriladigan analitik moslama edi.

Ammo 1846 yilda Bayronning qizi Bernulli tenglamasini hal qilgan dunyodagi birinchi analitik dvigatel dasturini yaratdi. Albatta, grafinya Ada Avgusta Lavlas tomonidan qo'llanilgan dasturlash algoritmlari juda ibtidoiy edi, ammo ular zamonaviy kompyuter dasturlarini yaratishda ishlatilgan urug'larni yaratdilar. Va butun dunyo bo'ylab dasturlashning avlodi deb hisoblangan u.

Kompyuter buyruqlarni qanday izohlaydi?

Har qanday kompyuter dasturi qandaydir tarzda mashina tomonidan bajarilishi kerak. Uning yozishi etarli emas, ular shunday qilishadi, deyishadi. Buning uchun dasturlash tillari yaratilgan.

Ammo bugungi kunda juda ko'p bo'lgan ba'zi bir tillarda buyruqlar ketma-ketligini yozish etarli emas. Mashina baribir matnli iboralarni yoki matematik formulalarni qabul qilmaydi.

Har qanday kompyuter qurilmasi tomonidan idrok etiladigan nol va birliklar ketma-ketligidan iborat bo'lgan ikkilik (ikkilik) koddan foydalanish universal vositaga aylandi. Ammo semantik iboralar va formulalarni ushbu shaklga qanday tarjima qilish kerak? Buning uchun buyruqlar ro'yxatini mashina tushunadigan ikkilik kodga aylantiradigan kompilyatorlardan foydalaniladi. Siz ikkala uchlik va o'n oltinchi kodlarni topishingiz mumkin, ammo ular kamdan kam qo'llaniladi.

Mnemokodlar

Hatto ibtidoiy qurilmalarda ham ikkilik buyruqlarni kiritish juda qiyin bo'lganligi aniq, chunki odam tabiatan bunday ketma-ketlikni eslay olmaydi.

Shu sababli, bunday jarayonlarni birlashtirish uchun mnemonik kodlar ixtiro qilindi, ular matn buyruqlari shaklida ikkilik birikmalarning to'liq analoglari bo'lgan. Matn buyrug'i, allaqachon aniq bo'lganidek, eslab qolish, nol va birning uzoq ketma-ketligidan ancha osonroq.

O'zgaruvchilar haqida tushuncha

Ammo bu bilan ham tugamadi. Rivojlanishning boshlanishida ishlatiladigan dasturlash algoritmlari o'zgaruvchi deb nomlangan yangi qiymatni kiritishni talab qildi.

Uni har qanday dasturlash tilida ishlatishning mohiyati shundan iboratki, xotiraning ma'lum bir sohasini, unda ba'zi bir qiymatlar saqlanadi, harflarni belgilash. Mnemonik kodlarni ko'rsatmalarga va xotiradagi o'zgaruvchilarga o'tkazish uchun tarjimonlar deb nomlangan vositalardan foydalanilgan. Va ushbu texnikadan foydalangan barcha tillar assambleyerlar deb nomlangan.

Dasturlash tillari

Kompyuter dasturlari yozilgan (yoki bir vaqtning o'zida yozilgan) bir xil til vositalarini shartli ravishda past va yuqori darajalarga bo'lish mumkin.

Agar keksa avlod vakillaridan kimdir eslasa, hatto Sovet davrida ham maktabda informatika darslarida Basic tili o'qitilgan. Uning yordami bilan o'sha paytdagi Yamaha KUVT mashinalarida matematik hisob-kitoblarning ibtidoiy dasturlarini yaratish, tizim karnayidan eshitiladigan eng oddiy rasmlar yoki musiqalarni dasturlash mumkin edi. Matematika uchun "agar", "keyin", "aks holda" kabi mantiqiy operatorlardan foydalanish mumkin edi. Ammo ushbu tilni yaxshi o'rganganlarning barchasi uchun muammo shundaki, ular yangi vositalarni o'zlashtira olmadilar.

Assambleya tili o'zining tashqi qiyofasi bilan haqiqiy inqilobni amalga oshirganligi va bugungi kunda ham qo'llanilayotganligidan tashqari, juda aniq vositalar paydo bo'ldi, masalan, tuzilgan yoki ob'ektga yo'naltirilgan dasturlash tillari (OOP).

OOP xavfsiz tarzda C + / ++ tiliga taalluqli bo'lishi mumkin, bu buyruqlar asosida bir xil Windows operatsion tizimlari yaratilgan. "C" da dasturlash juda qiyin, ammo agar xohlasangiz, uni o'zlashtirishingiz mumkin. Ular aytganidek, istak bo'ladi. Siz o'sha dasturlash kurslariga borishingiz yoki mashg'ulotlar uchun tegishli adabiyotlardan foydalanishingiz mumkin. To'g'ri, aksariyat mutaxassislarning fikriga ko'ra, til asoslarini o'zingiz o'rganishingiz mumkin, ammo bilimingizni amalda rivojlantirish o'ta qiyin bo'ladi. Bu erda Dummies uchun dasturlash kabi biron bir ish yordam bermaydi.

Ammo tillarga qaytish. Interpretatorga asoslangan tillar nisbatan yaqinda paydo bo'ldi (.NET Framework, Python, Java, Perl va boshqalar). Mashina kodi o'rniga ular virtual baytning ikkilik kodi bo'lgan maxsus bayt kodini yaratadilar.

Aytgancha, Java dasturlashni ko'p harakat qilmasdan o'rganish mumkin. Masalan, Android tizimlariga asoslangan mobil qurilmalar uchun Android Studio va Java SDK-dan parallel ravishda foydalanishingiz va Genymotion-ni sinov qurilmasi sifatida o'rnatishingiz mumkin. Buni jumboqni katlama kabi buyruqlar ketma-ketligini yaratadigan onlayn App Inventor yordamida osonroq qilishingiz mumkin.

Paradigmalar haqida tushuncha

Paradigmalar tushunchasi noldan paydo bo'lmagan. Eng umumiy tushunchada paradigmalar - bu atrofdagi dunyoga va unga nisbatan amalga oshiriladigan harakatlarning o'ziga xos ko'rinishi. Kompyuter dunyosida ushbu atama dasturning ishlashi bilan bog'liq ravishda umumlashtirishning bir turi sifatida tushuniladi.

Faqat bitta paradigmaga yo'naltirilgan yoki faqat bitta vazifani bajaradigan dasturlar mavjud, ammo ularning asosida yaratilgan barcha zamonaviy tillar va dasturlar bir nechta muammolarni hal qiladi. Ko'p vazifalar atamasi mana shu erda kelib chiqadi.

Zamonaviy dasturlash va uning xususiyatlari

Kompyuter texnologiyalari rivojlanishining hozirgi bosqichida OOP va Java dasturlash ko'plab dasturchilar uchun ustuvor vazifa hisoblanadi. Java platformasi paketlarini mobil qurilmalar haqida gapirmasa ham, hozirda ma'lum bo'lgan har qanday operatsion tizim qo'llab-quvvatlaydi.

C + / ++ dominant til deb hisoblansa-da, Assembler diskont qilinmasligi kerak. Ajablanarlisi shundaki, aksariyat viruslar unda yozilgan. Va agar siz Delphi-ga asoslanib veb-dasturlashni hisobga olsangiz, odatda juda yangi imkoniyatlar va istiqbollar mavjud, ular haqida ko'plab yangi boshlovchilar hatto bilishmaydi.

Dasturlashni o'zingiz o'rgana olasizmi?

O'z-o'zini o'rganish bilan bog'liq savollar to'g'ridan-to'g'ri aniq nimani o'rganishni xohlayotganingizga bog'liq. "Dummies uchun dasturlash" kitoblari ko'rinishidagi adabiyot u yoki bu tildan foydalanishni hisobga olgan holda asosiy jihatlarini ko'rsatmasdan faqat qisman javob beradi. Bu, umumiy ma'noda, shunday qilib aytganda. Dasturlash kurslari ham munozarali masala, chunki bu holda hamma narsa nafaqat talabaning idrokiga, balki o'qituvchining qanday bilimga ega bo'lishiga, materialni qanday taqdim etishiga va boshqalarga bog'liq. Ammo ma'lum bir tilni yoki dasturlash usulini o'rganishga ehtiyoj bo'lsa, bizning Internet asrimizda bu muammo emas. Hatto bir xil Java platformasida, Android yoki iOS dasturlarida onlayn kurslarni yoki batafsil qo'llanmalarni topishingiz mumkin.

Qisqa xulosa

Dasturlash nimani anglatadi, menimcha, har qanday odam uchun allaqachon tushunarli. Biroq, bu erda faqat umumiy savollarga har bir tildan foydalanishning o'ziga xos xususiyatlari, dasturlarni yozish vositalari yoki tegishli dastur modullari, buyruqlarni talqin qilish yoki tarjima qilish, shuningdek, bularning barchasi protsessor, operativ xotira yoki operatsion tizim darajasida qanday amalga oshirilganligi haqida so'z yuritildi. Bularning barchasini tushunish juda qiyin va tayyor bo'lmagan odam uchun bu jarayonlarning mohiyatini anglash oson bo'lmaydi. Shunga qaramay, agar siz istasangiz va etarlicha yuqori motivatsiyaga ega bo'lsangiz, har qanday tilni o'rganishingiz va kelajakda yuqori sinf dasturchisiga aylanishingiz mumkin.

Dasturlashning asosiy tushunchalari

Algoritmning asosiy ta'riflari, xususiyatlari

Blok diagrammasi tili

Algoritmlarning asosiy tuzilmalari: ta'qib qilish, tarmoqlanish, takrorlash

Psevdokod tili

Asosiy ta'riflar

Algoritm (olim al-Xorazmiy nomidan (fors. Ymزrاwخ) aniq sonli bosqichlarda muammoni hal qilish uchun bajarilishi kerak bo'lgan ko'rsatmalar to'plamidir.

Buyruq - bu harakatni amalga oshirishni ta'minlaydigan oddiy retsept.

Operatorlar - buyruq tomonidan belgilangan harakatlar.

Dastur - ma'lumotlar, ularning tavsifi va dasturlash tilida yozilgan algoritm.

Dasturlash- dasturlarni yaratish jarayoni.

Dasturlash tili- dasturlarni yozish uchun rasmiylashtirilgan til. Barcha dasturlash tillari sun'iy, ularning sintaksis va semantikasi qat'iy belgilangan.

Asosiy ta'riflar

Algoritm xususiyatlari

Diskretlik - algoritmni alohida elementar harakatlarga bo'lish qobiliyati. Algoritm qadamlarni bosqichlar ketma-ketligi sifatida muammoni hal qilish jarayonini aks ettiradi. Har bir epat bajarish uchun ma'lum vaqtni oladi, ya'ni. dastlabki ma'lumotlarning natijaga aylanishi o'z vaqtida diskret ravishda sodir bo'ladi.

Aniqlik (determinizm)- bir xil dastlabki ma'lumotlar bilan bir nechta hisob-kitoblar o'tkazilganda, natijaning noaniqligini ta'minlash. Algoritmning har bir qoidasi buzilish yoki noaniq talqin qilish imkoniyatini hisobga olmaganda aniq va ravshan bo'lishi kerak.

Samaradorlik (cheklanganlik, oyoq-qo'l)- natijani cheklangan sonli bosqichda majburiy ravishda olish. Natija olishning iloji yo'qligi, ushbu algoritmning muammoni hal qilishda qo'llanilmasligini ko'rsatadi.

Ommaviy belgi - dastlabki ma'lumotlarda farq qiladigan ma'lum bir sinf muammolari uchun natija olish imkoniyati ( algoritm doirasi). Muammoni hal qilish algoritmi shu kabi muammolarning ma'lum bir klassi uchun umumiy shaklda ishlab chiqilishi kerak.

Algoritmni taqdim etish shakllari

Algoritmni taqdim etish shakllari

Og'zaki (matnli)- algoritmni tabiiy tilda yozish. Ushbu shakl faqat algoritmni ishlab chiqishning dastlabki bosqichlarida qo'llaniladi, chunki tavsif murakkab algoritmlar uchun juda noqulay va sevimli bo'lib qoladi.

Grafik (blok-diagramma) - algoritmning har biri bir yoki bir nechta operatorning bajarilishiga mos keladigan o'zaro bog'langan bloklar (belgilar) ning joylashishi ko'rinishidagi grafik tasviri. Ushbu shakl eng intuitiv va ixchamdir.

Dasturlash - algoritmni dasturlash tilida matn shaklida yozish.

Psevdokodlar - algoritmni odamga yo'naltirilgan algoritmik tilda yozish. Ushbu shakl algoritmlarning yarim rasmiylashtirilgan tavsifi bo'lib, unda dasturlash tilining ikkala elementi va tabiiy til iboralari, umumiy qabul qilingan matematik yozuvlar va boshqalar mavjud.

Algoritmni taqdim etish shakllari

Ax² + bx + c \u003d 0 kvadrat tenglamasini echish algoritmini og'zaki yozish usuliga misol.

A, b, c tenglamaning koeffitsientlarini o'rnating

Diskriminantni d \u003d b²− 4ac formulasi bo'yicha hisoblang

Agar diskriminant noldan kam bo'lsa, unda "Ildiz yo'q" degan javobni chiqaring va to'xtang (algoritmning oxiri); aks holda, algoritmning bajarilishini davom eting;

X1 \u003d (- b + -d) / 2a formulalar bo'yicha tenglamaning ildizlarini hisoblang; x2 \u003d (- b− -d) / 2a;

Olingan qiymatlarni javob sifatida chop eting. Algoritmning oxiri

Blok diagrammasi tili

Blok-jadval belgilarining ba'zi grafik konvensiyalari

Belgining nomi

Tushuntirishni belgilash va to'ldirish namunasi

Boshlanish

Boshlash yoki tugatish

algoritmi, kiritish yoki

subroutine-ga chiqish

Ma'lumotlarni qayta ishlash

(hisoblash,

jo'natish va boshqalar)

Blok diagrammasi tili

Blockchart belgilarining ba'zi grafik konvensiyalari (davomi)

Belgining nomi

To'ldirishning belgilanishi va namunasi

Izoh

Oldindan belgilangan

Chaqiruv protsedurasi,

tomonidan hisob-kitoblar

subprogram

Ahvolni tekshirish

Hozir ta'limda ishlar qanday o'tayotganini bilmayman, lekin bundan 10-15 yil oldin na maktabda, na universitetda hech kim dasturlashning o'ziga xos turlariga ega ekanligini, ularning har biri har xil fikrlash turini talab qilishini hech kim jiddiy tushuntirmagan. Hech kimning taqdirini mayib qilayotgani emas, balki dasturiy ta'minot fanlarini o'rganish poydevor qo'yish bosqichida biz turli xil tillar va yondashuvlarni taqdim etganimizda va konsol ko'rinishlarida C ++ ni zombi qilmaganimizda ancha tezroq ketishi mumkin edi.

Funktsional kod yozish zarurati bilan duch kelgan ko'pchilik, protsessual fikrlash usuli miyaga shunchalik singib ketganidan afsuslanadiki, uni qayta tuzish oson emas. Shuning uchun dasturchilarga yo'lni tilni tanlash bilan emas, balki dasturlash turini tanlash bilan boshlash yaxshiroqdir.

Dasturlash turlari

Birdan rozi bo'laylik: olti turi bo'ladi. Bu juda batafsil bo'linish. Odatda 3-4 ta ajralib turadi, ammo biz yangi boshlanuvchilar uchun yo'l tanlash vazifasi bilan duch kelganimiz sababli, bu juda oqilona.

Protsessual dasturlash juda zarur.

Bu mashina foydalanadigan tilda kod yaratish vazifasini yuklaydi. Eng mashhur ish - Turing mashinasi, mashhur dasturlash tillaridan - C / C ++, Ada, Paskal, Go. Vazifalar bu erda muntazam ravishda hal qilinadi: avval ob'ekt e'lon qilinadi, keyin aniqlanadi va keyin u bilan harakat amalga oshiriladi:

var
S: Ip;

S: \u003d "Salom!";

Deklarativ dasturlash.

Protsessual holatda tilni optimallashtirish vektori mashina darajasidan foydalanuvchi tiliga OOP ning asosiy tamoyillari, sinflar, usullar va h.k.lardan foydalangan holda yo'naltiriladi, bu erda vazifa birinchi o'rinda turadi va uni bajarish usuli ikkinchi darajali bo'ladi. Eng yaxshi misol HTML formatlash tili. Agar siz tugmachani joylashtirmoqchi bo'lsangiz, rasmiy ravishda ob'ekt yaratishingiz va unga atributlarni tayinlashingiz shart emas:

Funktsional dasturlash.

Matematikadan ma'lumki, har qanday funktsiyani bajarish natijasi jadval shaklida taqdim etilishi mumkin, savol faqat namuna olish chastotasi va qiymatlar oralig'ida. Ya'ni, funktsiya necha marotaba bajarilishidan qat'i nazar, uning vazifadagi o'rnidan qat'i nazar, bir xil qiymatlar uchun natija bir xil bo'ladi. Imperativ dasturlashda bu har doim ham shunday emas, chunki dastur davomida o'zgaruvchilarning qiymatlari o'zgarishi mumkin, bu esa natijani aniq sharoitlarga bog'liq qiladi.

Funktsional dasturlashda bunday kamchilik yo'q: bu erda siz funktsiyalar bilan ishlaysiz - boshlang'ich, o'sish va samarali - lekin ma'lum qiymatlar bilan emas. Ommabop vakillari orasida Lisp, Klojure, Xaskell bor. Ko'pgina dasturlar uchun funktsional dasturlash murakkab va ortiqcha hisoblanadi. Shuning uchun mutaxassislarga talabning pastligi, shuningdek yuqori ish haqi va juda qiziqarli ish.

Mantiqiy dasturlash.

Nomidan ko'rinib turibdiki, u oddiy matematik mantiq bilan ishlaydi. Taniqli vakillar Planner va Prolog. Juda sodda sun'iy aqlni yaratish yoki miyani isitish uchun juda cheklangan harakatlar to'plami haqiqatan ham foydali bo'lishi mumkin, ammo haqiqiy hayotda mantiqiy dasturlash o'z-o'zidan kamdan-kam qo'llaniladi.

Dinamik dasturlash.

Murakkab murakkab masalani hal qilish uchun uni bajarish tsikllari sonini minimallashtirib, bir nechta sodda qismlarga ajratish zarur bo'lgan holat. Ideal holda, har bir oddiy vazifa bir marta bajarilishi kerak, ammo amalda bu juda kam. Dinamik dasturlash - bu barcha tillarga taalluqli ko'proq tushuncha, shuning uchun bu tendentsiyaning vakillari yo'q. Ammo bu sizdan xuddi shu tarzda maxsus fikrlash uslubini talab qiladi.

Grafik dasturlash, bu ingl.

Bu ishlab chiquvchini matn bilan emas, balki grafikalar bilan ishlashga undaydi. Uni turli usullar bilan ifodalash mumkin - Scratch yoki BluePrint kabi maxsus tillar mavjud, sxema yoki diagramma tillari (LD yoki FBD) mavjud, shunchaki shakllar va grafikalar bilan o'zaro bog'liq dasturlash bo'limlari mavjud. Ikkinchi holda, bu har qanday til bo'lishi mumkin, vizualizatsiya ishlab chiqish vositalari (Borland Delphi / C ++, Visual Studio, Adobe Dreamweaver va boshqalar) tomonidan amalga oshiriladi. Sof shaklda bunday grafik dasturlash juda kam uchraydi, til va kodning tuzilishini tushunmasdan, jiddiy narsa yaratish mumkin emas.

Dam oling

Dasturlash ko'p turlarga bo'linadi va ba'zi bir yangi boshlovchilar hatto bilishmaydi: sinxron / asinxron / hodisaga asoslangan, ketma-ketlik / parallel, echilayotgan vazifalar va AI va statistikani jalb qilishda har xil.

Dasturlash uchun boshlang'ich paradigmani tanlash faqat bitta yo'lni tanlashni anglatmaydi. Aksincha, "o'zingizning" fikrlash tarzingizdan boshlab, ma'lum tillar, kasblar va dasturiy muhitga bog'lanmasdan, dastlab o'zingizni mohiyatni to'g'ri anglash uchun o'rnatasiz. Muvaffaqiyatli, baxtli va boy IT mutaxassisi to'g'ri oqimga kirgan emas, balki har qanday oqim o'z imkoniyatlarini ro'yobga chiqarish uchun imkoniyatdir.

Buni baham ko'ring