Албан ёсны хэлний төрөл. Програмчлалын хэлний албан ёсны тодорхойлолт. ACS програм хангамж

Сүүлийн 70 жилийн хугацаанд програмчлал нь хүний ​​​​үйл ажиллагааны өргөн уудам талбар болсон бөгөөд үр дүн нь практик ач холбогдлын хувьд цөмийн физик эсвэл сансрын судалгааны салбарын хамгийн сүүлийн үеийн үр дүнтэй харьцуулах боломжтой юм. Эдгээр үр дүн нь өндөр түвшний алгоритмын хэлүүд бий болж, хурдацтай хөгжиж байгаатай ихээхэн холбоотой юм.

Pascal, C, Ada, Java, C++, C# болон бусад зэрэг орчин үеийн өндөр түвшний програмчлалын хэлүүд нь системийн болон хэрэглээний программ хангамжийг хөгжүүлдэг програмистуудын хамгийн түгээмэл бөгөөд хүчирхэг хэрэгсэл хэвээр байна. Шинэ даалгавар, хэрэгцээ гарч ирснээр эдгээр хэлний үйл ажиллагаа улам бүр дэвшилтэт хувилбаруудыг бий болгосноор байнга өргөжиж байна.

Програмчлалын хэлийг хөгжүүлэх өөр нэг чиглэл нь програмист бус хэрэглэгчдэд (технологич, дизайнер, эдийн засагч гэх мэт) зориулсан тусгай (асуудалтай) програм хангамжийн систем, орчинг бий болгохтой холбоотой юм. Ийм систем, орчны жишээ бол янз бүрийн зориулалттай CAD систем, автоматжуулсан сургалтын систем, зайн сургалтын систем, эдийн засгийн шинжээч, загварчлалын систем гэх мэт. Ийм системд ашигладаг холбогдох асуудалд чиглэсэн хэлнүүдийн зорилгыг ихэвчлэн тэдгээрийн нэрээр тусгадаг, жишээлбэл: "Технологийн тоног төхөөрөмжийн хэлхээг тайлбарлах хэл", "Сургалтын хувилбарыг тайлбарлах хэл", "Нөхцөл байдлыг загварчлах хэл" , гэх мэт.

Ерөнхий зориулалтын болон асуудалд чиглэсэн програмчлалын хэлүүдийн аль алинд нь нийтлэг зүйл байдаг - тэд

албан ёсны хэлнүүд.Албан ёсны хэл гэж юу вэ? Хамгийн ерөнхий хэлбэрээр энэ асуултад дараах байдлаар хариулж болно. хэл -энэ бол маш олон санал, мөн албан ёсны хэл -Энэ бол өгүүлбэрүүд нь тодорхой дүрмийн дагуу бүтээгдсэн хэл юм.

Өгүүлбэр нь үгнээс, үг нь тэмдэгтээс (үсэг) бүтдэг. Бүх хүчинтэй тэмдэгтүүдийн багцыг дуудна цагаан толгойхэл. Програмчлалын хэл дээр өгүүлбэрүүд нь ихэвчлэн мэдэгдэл (эсвэл заавар) -тай тохирч байдаг бөгөөд бид компьютерийн гар дээрх цагаан толгойн үсгийн тэмдгийг хардаг.

Байгалийн хэл, програмчлалын хэл хоёулаа хязгааргүй олонлог юм. Та програмчлалын хэл дээр хязгааргүй тооны програм бичиж болно.

Албан ёсны хэлээр өгүүлбэр байгуулах дүрмийг хэрхэн тогтоох вэ? Энэ асуултад хариулахдаа бид хоёр чухал ойлголтоос эхэлнэ. синтаксТэгээд семантикхэл.

Синтаксхэл нь зөв өгүүлбэр, үгсийн бүтцийг тодорхойлдог бөгөөд програмчлалын хэлэнд бусад зүйлсийн дотор програмын текстийн хүлээн зөвшөөрөгдсөн бүтцийг тодорхойлдог.

Албан ёсны хэлний синтаксийг тайлбарлах янз бүрийн арга байдаг (сурах бичгийн хоёр дахь бүлэг нь тайлбарлах аргуудад зориулагдсан). Хамгийн их хэрэглэгддэг програмчлалын хэлүүд Backus хэлбэр - Наура(BPF) ба синтакс диаграммууд.

BNF-ийг Backus боловсруулсан бөгөөд анх 1963 онд ALGOL-60 хэлийг нарийн тодорхойлоход ашиглагдаж байсан. Энэ хэлбэр нь хэлний бүтцийг бүхэлд нь дүрслэх, хэлний бие даасан бүтэц (хэлний дэд бүлэг) болон түүний элементүүдийг тодорхойлоход хоёуланд нь хэрэглэгддэг. - оператор, танигч, илэрхийлэл, тоо гэх мэт.

Аравтын бутархай тоонуудын синтакс болон “+” ба “*” операторуудыг агуулсан арифметик илэрхийллийн синтаксийг тодорхойлсон BNF-ийн жишээг доор харуулав.

Аравтын бутархай тоонуудын BNF:

= 0|1|...|9

Арифметик илэрхийллийн BNF:

:= () А

Өгөгдсөн илэрхийлэлд Аямар ч тодорхойлогчийг илэрхийлэх бөгөөд илэрхийлэл үүссэн цагаан толгойн тэмдэг болгон авч үздэг.

BNF-ийн зүүн талд тодорхойлсон элементүүдийн нэрийг өнцгийн хаалтанд бичнэ. синтакс ангилал(үзэл баримтлал, нэгж), ":=" тэмдэг нь "байна", "энэ", "гэж тодорхойлсон", "|" тэмдэг "эсвэл" гэсэн утгатай.

BNF-ийн баруун тал нь эдгээр ангиллын тодорхой утгыг бий болгох боломжит хувилбаруудыг тодорхойлдог бөгөөд энэ тохиолдолд аравтын бутархай тоо болон тодорхой арифметик илэрхийллийн утгууд орно. BNF нь эдгээр утгуудаас бүрдэх тэмдэгтүүдийн цагаан толгойг агуулдаг. Аравтын бутархай тоонуудын хувьд цагаан толгой нь олонлог (+,-, 0, 1,..., 9), илэрхийллийн хувьд олонлог юм. (А, *, +, (,)}.

Синтаксик ангиллын утгыг бүтээх үйл явц нь дараахь зүйлээс бүрдэнэ дүгнэлтЭдгээр утгыг BNF дүрмийн баруун гар талыг зүүн тал руу дараалан орлуулах замаар. "- 320" тоо болон илэрхийллийн гаралтыг доор харуулав "а+а*а"холбогдох BNF ашиглан:

BNF нь маш төстэй юм албан ёсны дүрэм, албан ёсны хэлний онолд ашигладаг (зарим зохиогчид тэдгээрийг тодорхойлдог).

Энэ нь BNF бий болсон нь албан ёсны хэлний онолын хурдацтай хөгжил, түүнийг програмчлалын хэлийг хөгжүүлэх, орчуулагчийн дизайны хэрэглээний асуудлуудад ашиглахад түлхэц болсон юм.

Хэрэв авч үзсэн BNF-д дүрмийн зүүн талын синтакс ангилал бүрийг тэмдэглэсэн бол А, БТэгээд ХАМТҮүний дагуу := тэмдэгтийн оронд дараах маягтуудыг авна.

Аравтын бүхэл тооны хувьд:

A->B+B-B B^>CBC C->0 | 11... | 9

Арифметик илэрхийллийн хувьд:

A^A+BB

B->B*SS

C^>(A)a

Дүрмийг ингэж бичдэг албан ёсны дүрэм.Синтаксик категорийг илэрхийлэх тэмдэг, энэ тохиолдолд B, CАлбан ёсны дүрмийн хувьд тэдгээрийг гэж нэрлэдэг терминал бус тэмдэг,мөн цагаан толгойн тэмдэгтүүд байна терминал.

Практикт програмчлалын хэлний дүрмийг "анхны ойролцоо" байдлаар олж авсны дараа түүний шинж чанарыг судалж, зарим тохиолдолд зарим хувиргалтыг хийх шаардлагатай болдог. Энэ нь голчлон дүрмээ тохирох орчуулагчийг бүтээхэд тохиромжтой хэлбэрт оруулах хэрэгцээтэй холбоотой юм. Эдгээр хувиргалтыг гүйцэтгэх явцад, албан ёсны үүднээс авч үзвэл, BNF-д ямар тодорхой синтаксик ангилал, цагаан толгойн тэмдэг орсон байх нь хамаагүй. Тиймээс энэ үе шатанд тэд ихэвчлэн албан ёсны дүрэм рүү шилжиж, албан ёсны хэлний онолын зохих аргыг ашигладаг. Үүний зэрэгцээ BNF-ийг албан ёсны дүрмээр бүрэн тодорхойлох ёсгүй. Албан ёсны хэлний онол дахь дүрмийн тодорхойлолт нь илүү ерөнхий юм. Ялангуяа тэдгээрийг тайлбарлахад ашиглаж болно контекст хамаарал,Програмчлалын хэлийг хөгжүүлэхэд үргэлж зайлсхийх боломжгүй бөгөөд BNF ашиглан тайлбарлах боломжгүй.

Програмчлалын хэлний дүрмийн онцлог шинж чанар нь тэдгээрт рекурс хийх явдал юм. Рекурсив байдалЭнэ нь тодорхой синтакс ангиллын тодорхойлолт нь тодорхойлогдсон категорийг агуулдаг гэсэн үг юм (энэ нь тодорхой рекурс гэж нэрлэгддэг). Жишээлбэл, ангилалд хамаарах BNF-ийн тодорхойлолтуудад Тэгээд баруун талд нь эдгээр ангиллыг агуулдаг. Рекурс -програмчлалын хэлний дүрмийн бараг зайлшгүй шинж чанар нь хязгааргүй байх боломжийг олгодог. Үүний зэрэгцээ, дараа хэлэлцэх зарим төрлийн рекурсууд нь холбогдох орчуулагчийг боловсруулах үйл явцыг ихээхэн хүндрүүлдэг.

Хэлний синтаксийг синтакс диаграмм ашиглан тайлбарлах өөр нэг арга дээр товчхон дурдъя. Зарим зохиогчид хэлний стандартыг тайлбарлахдаа энэ аргыг илүү тодорхой болгож өгдөг. Синтакс диаграмын жишээг програмчлалын олон номноос (жишээлбэл, дотор) олж болно. Тайлбарлах аргуудын аль аль нь - BNF болон синтаксик диаграмм хоёулаа тэнцүү бөгөөд та үргэлж нэг тайлбарын аргаас нөгөө рүү шилжих боломжтой гэдгийг анхаарна уу.

Одоо ойлголтыг авч үзье хэлний семантик.Хэрэв хэлний синтакс нь түүний зөв өгүүлбэр, текстийн бүтцийг тодорхойлдог бол семантик нь тэдгээрийн утгын зөвийг тодорхойлдог. Хариуд нь утгын зөв эсэх нь өгүүлбэрийг бүрдүүлж буй үгсийн утгаас хамаарна. Жишээлбэл, хэрэв бид байгалийн хэлээр өгүүлбэрийн синтаксийг тодорхойлдог бол

тэгвэл өөр өөр утгатай олон өгүүлбэр зохиож болно. Тухайлбал, “машин жолоодож байна”, “машин бодож байна” гэсэн өгүүлбэрүүд найруулга зүйн талаасаа зөв. Гэхдээ эхний өгүүлбэр нь зөв утгатай, хоёр дахь нь утгагүй гэж хэлж болно. Тиймээс семантик нь өгүүлбэр (текст) болон утгын хоорондох утга, хүлээн зөвшөөрөгдсөн захидал харилцааны багцыг тодорхойлдог.

Нэмж дурдахад хэлний семантик нь энэ хэлээр дүрслэгдсэн объектуудын шинж чанараас хамаардаг. Хэрэв авч үзсэн жишээн дээр машин нь хөдөлгөөний оновчтой горим, маршрутыг тооцоолох програм бүхий компьютерээр тоноглогдсон бол хоёр дахь өгүүлбэр утгагүй мэт санагдахаа болино.

Үүний нэгэн адил програмчлалын хэлэнд синтаксийн хувьд сайн хийгдсэн даалгаварын оператор

a нь 10.5 (a = 10.5) утгатай, b нь худал (b = худал) утгатай бол утгын хувьд буруу байх болно.

Програмчлалын хэлний семантикийн албан ёсны тайлбар нь синтаксийг тайлбарлахаас хамаагүй хэцүү ажил болж хувирав. Програмчлалын хэлийг хэрэгжүүлэхэд математикийн аргыг ашиглахад зориулагдсан ихэнх бүтээлүүд нь синтаксийг тайлбарлах, синтаксик шинжилгээний аргуудыг бий болгох асуудлыг яг таг хамардаг. Энэ чиглэлээр нэлээд өргөн хүрээтэй онол арга зүй бий болсон. Үүний зэрэгцээ хэлний семантик ба семантик шинжилгээ нь өнөөг хүртэл олон судалгааны сэдэв хэвээр байна.

Програмчлалын хэлний семантикийн олон талыг ерөнхий, албан бус шинж чанартай семантик конвенцуудын жагсаалт хэлбэрээр дүрсэлж болно. Жишээлбэл, програмистууд "блок дахь танигч бүр нэг удаа тодорхойлогддог", "хувьсагчийг ашиглахын өмнө тодорхойлогдсон байх ёстой" гэх мэт ойлголтуудыг мэддэг.

Албан ёсны хэлний онолыг семантик ба семантик шинжилгээний салбарт амжилттай хэрэглэсний жишээ бол хэлний тайлбарт семантик конвенцуудыг харгалзан үзэх, тэдгээрийн нийцлийг хянах боломжийг олгодог шинж чанарын орчуулгын дүрмийн төхөөрөмж юм. хөтөлбөрийн орчуулга.

Програмчлалын хэлийг цаашид хөгжүүлэх хэтийн төлөвийн талаархи урьдчилсан мэдээний хувьд нэлээд өргөн хүрээний санал бодол, тэр ч байтугай огт өөр үзэл бодол байдаг. Зарим зохиогчид хэл бүр нь програмчлалын тодорхой талбарт тохиромжтой, сэтгэл татам болгодог өөрийн гэсэн семантик шинж чанартай байдаг гэж үздэг (жишээлбэл, Prolog ба Lisp - хиймэл оюун ухааны асуудлыг шийдвэрлэхэд чиглэсэн; Fortran - тооцооллын асуудлыг шийдвэрлэхэд хамгийн үр дүнтэй; Кобол - эдийн засгийн тооцоонд ашигладаг гэх мэт). Тиймээс та бүх нийтийн хэлийг бий болгох гэж оролдохын оронд тодорхой чадвартай бүх шинэ хэлийг үүсгэх эсвэл одоо байгаа хувилбаруудыг үе үе шинэчлэх хэрэгтэй. Энэхүү үзэл бодлыг батлахын тулд бүх нийтийн хэлийг бий болгох бүх амбицтай төслүүд бүтэлгүйтсэн (ADAiPL-1 хэлийг хөгжүүлэхтэй холбоотой биелэгдээгүй итгэл найдварыг эргэн санахад хангалттай).

Зохиогчдын өөр нэг хэсэг нь 60-аад онд анхны програмчлалын хэл болох Фортран, Алгол гэх мэт стандартуудыг хэвлэснээс хойш гэж үздэг. 20-р зуунд хэлний "тогтворжилт" явагдсан бөгөөд энэ нь янз бүрийн хэл дээрх зорилготой ижил төстэй хэл шинжлэлийн бүтэц нь үгсийн сан, синтаксийн ялгаатай байдлаас үл хамааран бараг ижил утгатай байдаг. Иймээс энэхүү нийтлэг семантик суурийг албан ёсоор тодорхойлох боломжтой болмогц уламжлалт утгаараа програмчлалын хэл байхаа больсон, харин семантик бүтцийн хоосон орон зай болох бүх нийтийн хэлийг бий болгож эхлэх боломжтой болно. Хөтөлбөр нь эдгээр бүтцийн багц хэлбэрээр харагдах бөгөөд текст засварлагч нь бүтэцлэгдсэн засварлагч руу шилжих болно. Энэ аргын хэсэгчилсэн хэрэгжилтийн жишээ болгон Delphi, C++ Builder гэх мэт визуал програмчлалын орчныг өгсөн болно.

Төгсгөл

Эхлэх

Давт

Эхлэх

Псевдокодууд

Псевдокод нь алгоритмыг жигд бичихэд зориулагдсан тэмдэглэгээ, дүрмийн систем юм. Энэ нь байгалийн болон албан ёсны хэлний хоорондох завсрын байрыг эзэлдэг.

Нэг талаараа энэ нь энгийн байгалийн хэлтэй ойрхон тул алгоритмыг ердийн текст шиг бичиж, уншиж болно. Нөгөөтэйгүүр, псевдокод нь зарим албан ёсны бүтэц, математикийн бэлгэдлийг ашигладаг бөгөөд энэ нь алгоритмын тэмдэглэгээг нийтээр хүлээн зөвшөөрөгдсөн математик тэмдэглэгээнд ойртуулдаг.

Псевдокодод албан ёсны хэлэнд хамаарах команд бичих хатуу синтакс дүрмийг батлаагүй бөгөөд энэ нь дизайны үе шатанд алгоритмыг бичихэд хялбар болгож, хийсвэр гүйцэтгэгчид зориулагдсан өргөн хүрээний командуудыг ашиглах боломжийг олгодог. Гэсэн хэдий ч псевдокод нь ихэвчлэн албан ёсны хэлэнд байдаг зарим бүтцийг агуулдаг бөгөөд энэ нь псевдокодоор бичихээс алгоритмыг албан ёсны хэлээр бичихэд хялбар болгодог. Ялангуяа псевдокод, түүнчлэн албан ёсны хэлэнд утга нь нэг удаа тодорхойлогддог функциональ үгс байдаг. Тэдгээр нь хэвлэмэл бичвэрт тод үсгээр бичигдсэн бөгөөд гараар бичсэн текстийн доогуур зураастай байна. Псевдокодын нэг буюу албан ёсны тодорхойлолт байдаггүй тул функциональ үг, үндсэн (үндсэн) бүтцээрээ ялгаатай янз бүрийн псевдокодууд боломжтой. Жишээлбэл, алгоритмын псевдокодын аль нэгний оруулга энд байна:

алгоритм Евклидийн алгоритм;

Баяртайэхний тоо хоёр дахь тоотой тэнцүү биш байна

Хэрэвтоо тэнцүү байна

ТэрЗогс Бүгд;

өөрөөрхоёр тооны томыг тодорхойлох;

hтом тоог том ба жижиг тооны зөрүүгээр солино

Төгсгөл;

эхний тоог хариулт болгон авна уу

Энэ алгоритмыг илүү энгийнээр бичиж болох боловч үндсэн боломжит псевдокодын бүтцийг харуулахын тулд энэ нь яг өгөгдсөн тэмдэглэгээ юм. Псевдокодууд нь шинж чанараасаа шалтгаалан дээр дурдсан бусад бичлэг хийх алгоритмуудын нэгэн адил хүн рүү чиглэсэн байдаг.

Алгоритмыг аман хэлбэрээр, диаграм хэлбэрээр эсвэл псевдокод хэлбэрээр бичихдээ командыг дүрслэхдээ тодорхой дур зоргуудыг зөвшөөрдөг болохыг дээр дурдсан. Үүний зэрэгцээ, ийм бичлэг нь маш нарийн бөгөөд энэ нь тухайн хүнд асуудлын мөн чанарыг ойлгож, алгоритмыг гүйцэтгэх боломжийг олгодог.

Гэсэн хэдий ч практикт тусгай машинууд - электрон компьютер (компьютер) -ийг алгоритм гүйцэтгэгч болгон ашигладаг. Тиймээс компьютер дээр гүйцэтгэх алгоритмыг компьютерт "ойлгомжтой" хэлээр бичих ёстой. Энд гүйцэтгэгч дур зоргоороо тайлбарлах зай үлдээлгүй, командуудыг үнэн зөв бүртгэх хэрэгцээ гарч ирдэг. Тиймээс алгоритмыг бичих хэлийг албан ёсны болгох ёстой. Энэ хэлийг ихэвчлэн нэрлэдэг програмчлалын хэл , мөн алгоритмыг энэ хэлээр бичих нь зориулсан програм компьютер.


Програмчлалын хэлнь цагаан толгойн багц, бүтэц бичих дүрэм (синтакс) болон бүтцийг тайлбарлах дүрэм (семантик) бүхий албан ёсны хэл юм.

Одоогийн байдлаар компьютерийн хэрэглээний янз бүрийн салбарт зориулагдсан, өөрөөр хэлбэл компьютерийн тусламжтайгаар шийдэгддэг янз бүрийн ангиллын асуудалд зориулагдсан хэдэн зуун програмчлалын хэлүүд байдаг. Эдгээр хэлийг тухайн компьютерээс тухайн хэлний хамаарлын түвшинг харгалзан өөр өөр түвшинд ангилдаг.

Үндсэн ойлголтууд

Алгоритм -Энэ нь дараах шинж чанартай эх өгөгдлийг хүссэн үр дүнд хувиргах үйл явцыг тодорхойлсон захиалга (захиалга эсвэл захиалгын систем) юм.

  • тодорхой байдал, өөрөөр хэлбэл гүйцэтгэх удирдлагад үнэн зөв, ойлгомжтой байх; энэ өмчийн улмаас алгоритмыг гүйцэтгэх үйл явц нь механик шинж чанартай байдаг;
  • үр ашиг, өөрөөр хэлбэл хязгаарлагдмал тооны нэлээд энгийн алхмуудын дараа хүссэн үр дүнд хүрэх чадвар;
  • өргөн тархсан, өөрөөр хэлбэл тодорхой ангиллын асуудлаас аливаа асуудлыг шийдвэрлэхэд тохиромжтой байдал.

Алгоритмын тодорхойлолтоос харахад түүнийг хэрэгжүүлэх үйл явц нь тусдаа алхам, алгоритмын үйлдлүүдээс бүрдэх салангид байх ёстой. Эдгээр алхмуудын энгийн байдлын шаардлага нь алхмуудын хязгааргүй нарийн төвөгтэй байдлыг хангах замаар алгоритмын тухай ойлголтыг ямар ч эргэлзээгүй болгодогтой холбоотой юм. Хязгаарлагдмал тооны алхамаар шийдэлд хүргэх алгоритмын шинж чанарыг боломжит хэрэгжих чадвар гэж нэрлэдэг.

Байгалийн хэл нь тодорхой, нарийн зааврыг боловсруулахад бага хэрэглэгддэг. Тиймээс алгоритм нь албан ёсны хэлээр бичсэн жор байх ёстой.

Компьютер бүр нь тодорхой ангиллын асуудлыг шийдвэрлэхэд зориулагдсан байдаг. Үүнтэй холбогдуулан компьютер нь шаардлагатай хослолуудаар тодорхой хэмжээний үйлдлүүдийг гүйцэтгэх чадварыг хангах шаардлагатай.

Машины үндсэн үйл ажиллагаабусад хадгалах төхөөрөмжөөс RAM үүрэнд мэдээлэл оруулах, уг нүднээс мэдээлэл гаргах, түүнчлэн дараах үйлдлүүд: техник хангамжид хэрэгждэг; машины энгийн үйлдлийн үр дүн болох нэг буюу хэд хэдэн нүдэнд бэхлэгдсэн анхны өгөгдөлтэй; нэг тусдаа нүдэнд бүртгэгдсэн үр дүнг өгдөг бөгөөд энэ нь машины аливаа энгийн ажиллагааны анхны өгөгдөл болгон ашиглах боломжтой боловч шаардлагагүй; Өмнөх гурван нөхцлийг хангасан энгийн машин үйлдлийн цогц гэж үзэж болохгүй.

Үйлдлийн системЭнэ нь компьютерт өгөгдсөн машины бүх үйлдлийн нийлбэр юм.

БагЭнэ нь тодорхой бүлгийн үйл ажиллагааг гүйцэтгэх үндсэн заавар юм.

Үндсэн үйл ажиллагааКомпьютер нь нэг командыг гүйцэтгэхээс нөгөө тушаалыг гүйцэтгэхэд шилжих, RAM-аас тушаал авч, машиныг зогсоох (“зогсоох”) үед компьютерууд нь арифметик, логик, шилжүүлэг, шилжилт юм. Үсгийн мэдээллийн үндсэн үйлдлүүд нь: үгийн уртыг тодорхойлох; RAM дахь үгийг нэг газраас нөгөө рүү шилжүүлэх; тухайн үгийн тодорхой хэсгийг тодруулах; үгсийн хоорондох зайг оруулах; үгийн мөрийг жижиг мөрөнд хуваах; хоёр үгийн харьцуулалт. Ихэвчлэн жагсаасан үйлдлүүдийг засварлах гэж нэрлэдэг.

Програмчлал

Компьютерийг ихэвчлэн бие даасан асуудлыг шийдвэрлэхэд (тодорхой ангилалд хамаарах) эсвэл янз бүрийн ангиллын харилцан уялдаатай асуудлыг шийдвэрлэхэд ашигладаг.

Компьютер дээр тодорхой асуудлыг (асуудлын ангилал) шийдвэрлэхдээ ажлыг дараах үе шатуудад хуваана.

    асуудлын математик томъёолол;

    түүнийг шийдвэрлэх арга зүйг боловсруулах;

    түүнийг шийдвэрлэх алгоритм боловсруулж, зарим програмчлалын хэлээр бичих;

    програмчлал;

    машин дээрх програмыг дибаг хийх;

    анхны өгөгдлийг бэлтгэх, компьютер дээр асуудлыг шийдвэрлэх.

Тайлбарласан бүтээлийн багцыг нэрлэдэг асуудалтай програмчлал.

Харилцан уялдаатай олон асуудлыг шийдвэрлэх програмын системийг боловсруулахдаа хөтөлбөр бүрийг боловсруулах явцад тодорхойлсон ажлын дарааллыг баримталдаг. Үүнээс гадна системийн нэгдмэл байдлыг хангах хэрэгцээтэй холбоотой хэд хэдэн нэмэлт ажлын үе шатууд гарч ирдэг. Харилцан уялдаатай асуудлыг шийдвэрлэх програмын системийг бий болгох ажлын багц гэж нэрлэдэг системийн програмчлал.

Асуудлын математик томъёолол.Энэхүү ажил нь асуудлыг шийдвэрлэх анхны өгөгдлийн бүтэц, шинж чанарыг тодорхойлох, эхний үр дүнг тодорхойлох, математик тэмдэглэгээ ашиглан бодлогын нөхцөлийг бүртгэхээс бүрдэнэ. Бодлогын математикийн томъёололд ашигласан математикийн аппарат нь тухайн бодлого хамаарах ангиас хамаарна.

Асуудлыг шийдвэрлэх аргыг боловсруулах.Хүссэн бүх үр дүнгийн анхны үр дүнгээс хамаарах хамаарлыг тогтоож, хүссэн үр дүнд хүрэх аргуудыг компьютер дээр хэрэгжүүлэх боломжтой гэж зааж өгсөн тохиолдолд шийдлийн техникийг боловсруулсан гэж үзнэ. Хэрэв сонгосон аргууд нь компьютер дээр асуудлыг шийдвэрлэх явцад тохиромжгүй болох нь тогтоогдвол аргын хөгжлийн үе шат руу буцах шаардлагатай.

Асуудлыг шийдвэрлэх алгоритм боловсруулах.Асуудлыг шийдвэрлэх арга зүйд үндэслэн асуудлыг шийдвэрлэх алгоритмыг боловсруулдаг. Алгоритмыг математик тайлбарын хэлээр боловсруулж, дараа нь програмчлалын хэл гэж нэрлэгддэг алгоритмын хэлээр бичдэг. Асуудлыг шийдвэрлэх алгоритмыг боловсруулахдаа компьютерийн шинж чанарыг харгалзан үзэх ёстой.

Асуудлыг шийдэхийн тулд компьютер ашиглахдаа дараахь шинж чанаруудыг анхаарч үзэх хэрэгтэй.

  • тоонуудын зураг дээрх том боловч хязгаарлагдмал тооны цифр;
  • RAM-д хадгалагдсан тоонуудын үйлдлийг гүйцэтгэх хурд;
  • өгөгдөл оруулах, үр дүнг гаргах хурд харьцангуй бага;
  • RAM болон гадаад санах ойн төхөөрөмжүүдийн хооронд дугаар солилцох харьцангуй бага хурд;
  • гадаад санах ойн төхөөрөмжүүдийн маш том хүчин чадалтай харьцангуй бага багтаамжтай RAM;
  • машины санамсаргүй эвдрэл гарах магадлал, үүнээс үүдэн түүний ажиллагааг хянах хэрэгцээ.

Програмчлал.Програмчлал нь Вболовсруулсан алгоритмыг програмчлалын хэлээр (жишээлбэл, ASSEMBLY хэлээр эсвэл ALGOL, FORTRAN, COBOL, PL/I гэж нэрлэгддэг хэлээр) бичиж, гараар хийж, дараа нь машины алгоритмын хэл рүү орчуулах.

Нэвтрүүлэггэдэг нь програмчлалын хэлэнд заасан алгоритмыг машины хэл дээрх алгоритм болгон хувиргах үйл явц юм. Энэ процессыг орчуулагч хэмээх тусгай программ ашиглан гүйцэтгэдэг.

Машин дээрх програмыг дибаг хийх.Машин дээрх програмыг дибаг хийх нь програмын алдааг арилгах зорилготой бөгөөд үүнд: програмыг хянах; алдааны агуулгыг (оношлогоо) хайх, тодорхойлох; илэрсэн алдааг засах.

Анхны өгөгдлийг бэлтгэх. Компьютер дээр асуудлыг шийдэх.Компьютерт оруулах даалгаврын анхны өгөгдлийг эхлээд маягт эсвэл баримтаас цоолбортой соронзон хальс эсвэл цоолтуурын карт руу шилжүүлэх ёстой. Энэ процессыг гараар тоноглогдсон тусгай цоолтуурын төхөөрөмж дээр гүйцэтгэдэг. INЦооролтын явцад цоолборлох төхөөрөмжийн санамсаргүй эвдрэл, цоолборлогчийн ажлын алдааны үр дүнд алдаа гарах боломжтой. Мэдээллийг цоолох, оруулах явцад гарсан бүх алдааг засах ёстой.

Дүрмээр бол компьютерт мэдээлэл оруулахын тулд 80 баганатай компьютер эсвэл цаасан PL ашигладаг. Том машинуудад хоёулаа байдаг. Цоолтуурын карт нь 12 мөртэй тул багана бүрт 12 цоолтуурын хийх боломжтой; цоолбортой туузны хөндлөн чиглэлд 5, 6, 7, 8 цоолтуурын байрлалыг зөвшөөрнө. Тиймээс онолын хувьд цагаан толгойн үсгийг 2 5 =32-аас 2 12 =4096 тэмдэгт хүртэл ашиглах боломжтой боловч практик дээр цоолтуурын баганад 3-аас дээш цоолтуурын тэмдэгтүүд ховор байдаг тул дүрэм ёсоор ашигласан цагаан толгойн үсэг нь 40-өөс 80 тэмдэгт хүртэл. Компьютерийн тоног төхөөрөмжийн дунд цоолбортой карт, цоолбор туузан дээрх мэдээллийг хүний ​​уншихад тохиромжтой хэлбэрээр цаасан дээр хуулбарлах бие даасан төхөөрөмж байдаг. Үүний үр дүнд бид ихэвчлэн нэрлэдэг зүйлийг олж авдаг жагсаалт, эсвэл хэвлэх.

Программууд болон анхны өгөгдлийг компьютерт оруулсны дараа асуудал автоматаар шийдэгдэнэ.

Компьютерийн програм хангамж

Компьютерийн програм хангамж (MS)Хэрэглэгч тус бүрийг дангаар нь эсвэл бусад програмуудтай хослуулан асуудлыг шийдвэрлэх, програмчлалтай холбоотой зарим ажлыг гүйцэтгэх, компьютерийн ажиллах тодорхой горимыг бий болгоход ашиглаж болох тодорхой програмуудын цуглуулга гэж тодорхойлж болно. .

IN MO компьютерийн системдараах бүлгүүдийн хөтөлбөрүүдийг агуулж болно.

    програмын үйлдлийн систем;

    програмчлалын хэрэгслийн систем;

    програмуудад зориулсан програмууд;

    програм хангамжийн засвар үйлчилгээний програмын систем;

    компьютерийн эрүүл мэндийг хянах зорилготой туршилтын програмын систем.

үйлдлийн системкомпьютерийн ажиллах горимыг тодорхойлж, үйл ажиллагааны чадавхийг нь өргөтгөх программуудыг агуулдаг. Үйлдлийн систем нь хэд хэдэн программуудыг агуулдаг бөгөөд тэдгээрийн гол нь дараахь зүйл юм.

диспетчер- компьютерийн тодорхой үйлдлийн горимыг хангадаг програм;

хянагч,эсвэл хянах, -түүнд зориулж тогтоосон горимын хүрээнд хүний ​​оператор машинд өгсөн ажиллагааг хангах програм;

Эх сурвалж өгөгдлийг оруулах програмууд, үр дүнг засварлах, гаргах програмууд, дуудагч - ажлын програм гэж нэрлэгддэг RAM-д оруулах програм, тухайлбал асуудал шийдвэрлэх програмууд, номын санч - оруулах програмууд гэх мэт олон тооны туслах програмууд. макро үйлдлүүдийг гүйцэтгэх дэд программууд ба өөрсдөө макро үйлдлийн дэд программууд, үйлдлийн систем болон хүний ​​операторын хооронд харилцах програм.

Үйлдлийн системийг ажиллуулахын тулд орчин үеийн машинуудын (мөн эхний үеийн машинуудад байхгүй байсан) боломжууд нь маш чухал юм: тасалдлын систем, санах ойн хамгаалалт, командын хамгаалалт, тасалдлыг далдлах.

Диспетчерийн ажлын мөн чанарТэр машины үйл ажиллагаанд гарсан аливаа тасалдлыг тактикийн гэж ангилдаг бөгөөд энэ тохиолдолд тасалдлын талаарх хяналт, мэдээллийг удирдагчид шууд шилжүүлдэг, эсвэл стратегийн гэж ангилдаг. Сүүлчийн тохиолдолд тэр өөрөө тасалдлыг зөвшөөрдөг. Бид энэ хариу үйлдэлд тохирсон текстийг дүгнэлт гэж нэрлэх болно.

Удирдагч нь операторын хүсэлтээр программын гүйцэтгэлийн дарааллыг төлөвлөж, бэлэн байгаа компьютерийн тоног төхөөрөмжийг хооронд нь хуваарилж, дарааллыг нь зохион байгуулж, энэ дарааллын дэг журмыг хангадаг. Удирдагчийн өмнө тулгардаг гол ажлууд нь: компьютерийн явцыг удирдах; хүний ​​оператортой холбоо тогтоох.

Компьютерийн үйл ажиллагааны янз бүрийн горимууд байдаг бөгөөд үүнийг хангах нь диспетчерийн гол зорилгын нэг юм.

Хэд хэдэн горимууд гэж нэрлэгддэг хэлбэрээр танилцуулсан асуудлыг шийдвэрлэхтэй холбоотой байдаг ажлын багцҮүний зэрэгцээ бүхэл бүтэн багц нь түүнд багтсан ажлууд, тэдгээрийн давуу талуудын талаархи мэдээллээр хангагдсан болно (тэргүүлэх тогтолцоо).

Багц ажлыг удирдагчийн хяналтан дор гүйцэтгэдэг. Энэ тохиолдолд машины нэг програм, хос програм эсвэл олон програмын ажиллагааг гүйцэтгэж болно. Ашиглалтын үр нөлөө нь уг ажлыг багцад хэрхэн нэгтгэж байгаагаас ихээхэн хамаардаг. Төв процессор (арифметик нэгж ба хяналтын хэсэг) сул зогсолтгүй байвал багцыг сайн бүрдүүлсэн гэж үзнэ. Тайлбарласан горимуудыг дууддаг багц горимууд.Орчин үеийн компьютерууд нь 16 хүртэлх ажлыг нэгэн зэрэг гүйцэтгэх боломжийг олгодог.

Цаг хуваалцах горимтерминал гэж нэрлэгддэг олон тооны алсаас мэдээлэл оруулах гаралтын төхөөрөмжүүд компьютерт нэгэн зэрэг холбогдсон байдгаараа онцлогтой. Хэрэв багц горимд хэрэглэгчдийг хяналтын самбарт оруулахыг зөвшөөрдөггүй бол цаг хуваалцах горимд тэд тус бүр нь операторын оролцоогүйгээр машинтай холбогддог. Диспетчер нь дараалалд байгаа бүх хэрэглэгчдэд бага хэмжээний цаг хугацаа өгөхийг баталгаажуулдаг. Хэдхэн секундын дотор хэмжигдэх хугацаанд машин нь хэрэглэгч бүрт бага зэрэг үйлчилдэг. Цаг хуваалцах горим нь машины ажил гүйцэтгэх нь компьютер болон хэрэглэгчийн хоорондын харилцан яриа хэлбэрээр явагдах тохиолдолд тохиромжтой. Энэ нь компьютер дээрх программуудыг дибаг хийх, асуулт хариулт гэх мэт мэдээллийн асуудлыг шийдвэрлэх үед тохиолддог.

Програм хангамжийн системТөрөл бүрийн оролтын програмчлалын хэл дээр заасан алгоритмуудыг машины хэл рүү хөрвүүлэх олон тооны орчуулагч програмуудыг агуулдаг. Ерөнхийдөө програмчлалын хэрэгслийн систем нь гурван түвшний алгоритмын хэлнээс орчуулагчдыг агуулдаг.

Алгоритмыг орчуулах процесс болон түүнийг машинаар гүйцэтгэх үйл явцыг хоёр аргын аль нэгээр нэгтгэж болно.

Эхний арга гэж нэрлэдэг эмхэтгэл,Алгоритмыг машинаар гүйцэтгэх процесс нь түүний орчуулгын процесс бүрэн дууссаны дараа хийгддэг. "Эмхтгэл" гэсэн нэр нь анх орчуулж буй алгоритмын тодорхой хэсгүүдэд тохирсон урьдчилан бэлтгэсэн бүхэл бүтэн хэсэг (дэд програмууд) болгон нэгтгэх үндсэн дээр орчуулах үйл явц гэсэн утгатай байсан тул үүссэн. Дараа нь энэ нэрийг "динамик" орчуулгын тохиолдол болгон өргөжүүлсэн бөгөөд энэ нь урьдчилан бэлтгэсэн текстийг ашиглахтай холбоогүй юм.

Орчуулгын үйл явц болон алгоритмын гүйцэтгэлийн процессыг хослуулах хоёр дахь аргыг нэрлэдэг тайлбарууд.Энэ арга нь алгоритмын бие даасан хэсгүүдийг орчуулсны дараа шууд гүйцэтгэдэг бөгөөд үүний дараа алгоритмын бусад хэсгүүдэд ижил процедурыг гүйцэтгэдэг гэх мэт.

Эмхэтгэлийн нэг онцлог нь түүнийг хэрэгжүүлдэг хөрвүүлэгч програм нь алгоритмыг гүйцэтгэх явцад шаардлагагүй болсон тул компьютерийн RAM-д байрладаггүй. Тайлбарлах аргыг ашиглахын тулд асуудлыг шийдвэрлэх явцад компьютерийн RAM-д орчуулагч програм байх шаардлагатай.

Арга бүр өөрийн гэсэн давуу талтай боловч тайлбарлах арга нь илүү уян хатан байдаг. Нэмж дурдахад энэ нь санах ойг хуваарилах ажлыг хялбаршуулдаг, гэхдээ орчуулагч програмыг өөрөө хадгалахын тулд нэмэлт санах ойн хэрэглээ их шаарддаг.

Хамгийн сүүлийн үеийн компьютерт зориулсан програмчлалын системүүд нь ихэвчлэн модульчлагдсан зарчим гэж нэрлэгддэг зарчим дээр суурилдаг. МодулиудГүйцэтгэх системийн хэл эсвэл оролтын програмчлалын хэлэнд заасан алгоритмын "хэсэг" гэж нэрлэдэг бөгөөд эдгээрийн хувьд дараахь нөхцөлүүд хангагдсан байдаг.

Гүйцэтгэх тогтолцооны хэл дээр заасан алгоритмын "хэсгүүд" нь зохих боловсруулалт хийснээр гүйцэтгэх системийн хэлээр заасан програмыг тэдгээрээс угсарч болохуйц нэмэлт мэдээллээр хангагдсан байх ёстой;

Оролтын програмчлалын хэлэнд заасан алгоритмын "хэсгүүд" нь зохих боловсруулалт хийснээр гүйцэтгэх системийн алгоритмын хэлэнд заасан модуль болгон хувиргах хангалттай нэмэлт мэдээллээр хангагдсан байх ёстой.

Модульчлах зарчимГүйцэтгэх системийн хэл дээрх программуудыг модулиудаас угсардагт оршино. Гүйцэтгэх тогтолцооны хэл дээрх модулиудыг номын санд хуримтлуулж болно. Модульчлагдсан зарчим нь програмыг угсрахдаа янз бүрийн алгоритмын хэлээр хөрвүүлсэн модулиудыг ашиглах боломжийг олгодог. Модулиудыг хуримтлуулж, дахин дахин ашиглах чадвар нь програмистуудын хөдөлмөрийг хэмнэдэг.

Бүх програм хангамж нь зарим номын сангийн элемент байх ёстой. Стандарт програмуудын номын санЭнэ нь програм бүрийг тодорхойлох нэмэлт мэдээллээр хангагдсан урьдчилан эмхэтгэсэн програмуудын цуглуулга юм. Бүх програмын талаархи мэдээллийг нийтлэг хүснэгтэд нэгтгэн дүгнэх ёстой каталог.Лавлах нь дэд программыг нэр болон зорилгынхоо дагуу олохыг зөвшөөрөх ёстой.

Номын сан нь ихэвчлэн тусгайлан эмхэтгэсэн, тусгайлан боловсруулсан програмуудыг цуглуулдаг.

Төрөл бүрийн даалгавруудыг (асуудал) шийдвэрлэхийн тулд жагсаасан програмчлалын хэрэгслийг ашиглахыг зөвлөж байна. Үүний зэрэгцээ, бие даасан даалгаврын (асуудал) програмууд нь тийм ч "сайн" биш байж магадгүй гэж үздэг ч компьютер дээр програмчлах, асуудлыг шийдэх нийт зардал нь илүү "сайн" програм зохиохоос бага байдаг.

ACS програм хангамж

ACS програм хангамж- энэ бол компьютер дээрх автоматжуулсан удирдлагын системийн тодорхой асуудлыг шийдвэрлэх хөтөлбөрийг үр дүнтэй боловсруулах, эдгээр асуудлыг шийдвэрлэх явцад компьютерийн ажиллагааг хянах, зөв ​​ажиллагааг хянах боломжийг олгодог арга, техник, хэрэгслийн систем юм. компьютерийн.

MO ACS үүсгэх үед дагаж мөрдөх ёстой үндсэн заалтууд нь дараахь зүйлүүд юм.

  • одоо байгаа MO компьютер дээр МО-оос боловсруулж буй ACS-ийн нийцтэй байдал, үндэслэл;
  • сонгосон MO хэрэгслийг автоматжуулсан хяналтын системийн даалгаварт төвлөрүүлэх;
  • хангалттай олон төрлийн автоматжуулалтын програмчлалын хэрэгслүүд;
  • ажлын хөтөлбөрт үр дүнтэй өөрчлөлт оруулах чадвар;
  • алгоритмын хоёрдмол утгагүй, иж бүрэн тайлбар хийх боломж;
  • хувийн програмуудын ажиллагааг оновчтой болгох чадвар;
  • Хөтөлбөрийн барилгын модуль чанар.

MO ACS нь хэрэглэгчдэд өргөн хүрээний програмчлалын технологийн үйлчилгээг үзүүлэхэд үйлчилдэг. Үүнийг хяналтын программ зохиох, боловсруулах программ зохиох гэсэн хоёр хэсэгт хувааж болно.

Хяналтын програмуудмашинуудын RAM-ийн анхны ачааллыг гүйцэтгэх, автоматжуулсан хяналтын системийн ажиллагааг хянах, үүнд тасалдал боловсруулах, сувгийн ажлыг хуваарилах, номын сангаас RAM руу програм ачаалах зэрэг орно. Хяналтын програмууд нь олон програмын ажиллагааг хангаж, оператортой харилцдаг.

Боловсруулах програмуудпрограмчлалын автоматжуулалтын систем болон үйлчилгээний программуудыг багтаана.

Програмчлалын автоматжуулалтын системийн функцууддараах: оролтын програмчлалын хэлээр програм бичих; програмуудыг компьютерийн дотоод хэл рүү орчуулах; стандарт дэд програмуудаас шаардлагатай тохиргоог (сегментүүдийг) нэгтгэх (угсрах); оролтын хэлний түвшинд програмуудыг дибаг хийх; програмыг оролтын хэлний түвшинд тохируулах.

Үйлчилгээний программуудын үндсэн үүрэг нь дараах байдалтай байна: номын санд програм бичих; номын сангаас хөтөлбөрийг хасах; програмыг нэг соронзон зөөвөрлөгчөөс нөгөөд дахин бичих, програмыг цоолбортой зөөвөрлөгч рүү хэвлэх, гаргах; Ашиглалтын явцад шаардлагатай програмуудыг RAM-д дуудаж, байршилд нь тохируулах.

MO ACS-ийн үндсэн бүрэлдэхүүн хэсгүүдсистемийн диспетчерийн программ ба үйлдвэрлэл, эдийн засгийн мэдээллийг боловсруулахад зориулагдсан стандарт дэд программ, стандарт программуудын номын сан юм.

Системийн диспетчерийн програмүйлдвэрлэл, эдийн засаг, захиргааны үйл ажиллагаанаас тодорхойлсон горимд автоматжуулсан хяналтын системийн ажиллагааг хангадаг.

Стандарт хэвшлийн номын сан, MO компьютерт байгаа нь автоматжуулсан удирдлагын систем дэх мэдээлэл боловсруулах процесст чиглэсэн системийн номын санг хөгжүүлэх шилжилтийн алхам юм. Системийн номын санагуулсан байх ёстой:

баримт бичиг болон бусад бичгийн эх сурвалжийг компьютерийн хэлбэрт оруулах, хөрвүүлэх програмууд;

Массиваас шаардлагатай өгөгдлийг үр дүнтэй хайх, гаргаж авахын тулд том хэмжээтэй, бүтцийн нарийн төвөгтэй байдлаар тодорхойлогддог компьютерийн массивыг зохион байгуулах програмууд;

Мэдээллийг хүмүүст хамгийн тохиромжтой хэлбэрт (график, диаграмм, зураг хэлбэрээр) хөрвүүлэх, тэдгээрийг гадаад төхөөрөмжид гаргах програмууд.

Програмчлалын хэлүүд

Програмчлалын хэлЭдгээрийг компьютер дээрх асуудлыг шийдвэрлэх үйл явцыг тодорхойлоход ашигладаг дохионы систем гэж нэрлэдэг. Мөн чанараараа програмчлалын хэлүүдийг гурван бүлэгт хуваадаг.

  1. албан ёсны алгоритмын хэл;
  2. албан ёсны алгоритмгүй програмчлалын хэл;
  3. Програмчлалд ашигладаг дохионы системүүд бүрэн албан ёсны бус.

Албан ёсны програмчлалын хэлүүд.Энэ бүлэг хэлэнд: машин ба үйлдлийн системийн алгоритмын хэл; машинд суурилсан алгоритмын хэл; асуудалд чиглэсэн алгоритмын хэл; бүх нийтийн машинаас хамааралгүй алгоритмын хэлүүд.

Үйлдлийн системийн хэлүүдКомпьютерээс бүрдсэн цогцолборууд болон тэдгээрт зориулж боловсруулсан диспетчерийн программ (заримдаа хянагч гэж нэрлэдэг) -ээр ойлгогддог алгоритмын хэл гэж нэрлэдэг.

Программыг машин эсвэл үйлдлийн системийн хэлээр шууд гараар бичих нь одоогоор ашиглагдаагүй байна, учир нь энэ нь програмистаас олон тооны нарийн ширийн зүйлийг санахыг шаарддаг бөгөөд үүнгүйгээр командуудаас програм бүтээх боломжгүй юм.

Машинд суурилсан алгоритмын хэлүүдАлгоритмыг бүртгэхдээ түүний зарим хэсгийг ямар техникийн хэрэгслээр гүйцэтгэх, хадгалах төхөөрөмжийг хэрхэн ашиглахыг зааж өгөх боломжтой илэрхийлэлтэй хэрэгслийг агуулсан байх ёстой. Машинд суурилсан програмчлалын хэлүүд нь автомат кодууд болон бүх нийтийн алгоритмын хэлтэй ойролцоо хэл, тухайлбал ALMO зэрэг орно.

Асуудалд чиглэсэн алгоритмын хэлүүдЭдгээр нь шугаман алгебр, статистик, өгөгдөл боловсруулах асуудал гэх мэт нарийн ангиллын асуудлыг шийдвэрлэх үйл явцыг тодорхойлоход тусгайлан зориулагдсан хэл юм. Ялангуяа COBOL нь асуудалд чиглэсэн хэлүүдэд хамаарна.

Бүх нийтийн машинаас хамааралгүй алгоритмын хэлүүдмаш өргөн ангиллын асуудлыг шийдвэрлэх алгоритм үүсгэхэд тохиромжтой. Эдгээр хэлүүдэд аль хэдийн дурдсан ALGOL, FORTRAN, PL/1 орно.

Бүх нийтийн машинаас хамааралгүй алгоритмын хэлнүүдээс үл хамаарах зүйл нь YAL юм. Энэ хэлний зорилго нь зөвхөн програмчлалын хэлээр хязгаарлагдахгүй. YALS-ийг машины хэл эсвэл ASSEMBLY хэлээр программчлах үед алгоритмыг тайлбарлах эхний шат болгон ашигладаг (операторын програмчлалын арга; YALS хэл дээр бичигдсэн алгоритмыг гараар машины хэл эсвэл ASSEMBLY хэл рүү хөрвүүлдэг).

Доорх хүснэгтэд албан ёсны програмчлалын хэлнүүдийн харьцуулсан өгөгдлийг харуулав.

Бүрэн албан ёсны бус дохионы систем.Эдгээр хэлийг ихэвчлэн гарын авлагын програмчлалд эсвэл компьютерийн тусламжтай програмчлалын урьдчилсан, гарын авлагын үе шатанд ашигладаг. Үүний нэг жишээ бол програмын схем юм. Хөтөлбөрийн урсгалын диаграмм нь програмын томруулсан тайлбар бөгөөд түүний бие даасан хэсгүүдийг "блок" (тэгш өнцөгт, очир алмааз, тойрог гэх мэт) хэлбэрээр дүрсэлсэн бөгөөд эдгээр хэсгүүдийн агуулгыг байгалийн хэлээр илэрхийлсэн болно ( жишээ нь орос хэл дээр). Блокуудын (хөтөлбөрийн хэсэг) хоорондын холболтыг хяналтын дамжуулалтыг харуулсан шугамаар дүрсэлсэн болно. Хяналтын дамжуулалт үүсэх нөхцөлийг зааж өгөхийн тулд мөрүүдийг тэмдэглэж болно. Урсгал диаграм нь LLS дээр ерөнхий оператор ашиглан бичсэн алгоритмтай төстэй боловч блокуудын утгыг байгалийн, албан бус хэлээр илэрхийлдгээрээ ялгаатай байдаг бол LLS-д ерөнхий операторууд нь яг албан ёсны хэлээр код тайлдаг.

Одоогийн байдлаар 2000 гаруй өөр өөр алгоритмын хэл, тэдгээрийн хэрэглээний 700 гаруй талбар нь компьютер дээрх холбогдох асуудлыг шийдвэрлэхэд зориулагдсан байдаг.

Дараах түвшний програмчлалын хэлүүд байдаг.

    тэг буюу доод түвшний хэл - машины код;

    нэгдүгээр түвшний хэл - мнемоник код, эсвэл бэлгэдлийн кодлох хэл;

    хоёр дахь түвшний хэл - автокод (макро код);

    Гурав дахь түвшний хэл (дээд) - асуудалд чиглэсэн хэл.

Даалгаврын төрлөөс хамааран автоматжуулсан хяналтын системийг оролтын хэл болгон ашиглахыг зөвлөж байна. асуудалд чиглэсэн хэлүүдянз бүрийн төрөл

Албан ёсны алгоритмын програмчлалын хэлний харьцуулсан өгөгдөл

Алгоритм програмчлалын хэлний ангилал

Компьютерийн онцлог шинж чанаруудын нягтлан бодох бүртгэл

Асуудлын ангиллын шинж чанар

Програмчлалын арга

Хөтөлбөрийн чанарын нөхцөлт үнэлгээ

Машины хэлүүд

Машинд суурилсан хэлүүд

Хэсэгчилсэн

Компьютерийн шинж чанараар тодорхойлогддог

Автоматжуулсан

Хангалттай

Асуудалд чиглэсэн хэлүүд

Бага

Автоматжуулсан

Хангалттай

Бүх нийтийн машинаас хамааралгүй хэлүүд

Байхгүй эсвэл маш бага

Маш өргөн цар хүрээтэй

Автоматжуулсан

Бага

(жишээ нь, дүн шинжилгээ хийхэд - ALGOL, FORTRAN гэх мэт, эдийн засгийн асуудалд - ALGEK гэх мэт., мэдээллийн асуудалд - COBOL, SINTHOL гэх мэт).

Алгоритм програмчлалын зарим хэлийг авч үзье.

АЛГОЛ-60. Хэлний нэр нь Algorithmic Language гэсэн англи үгнээс гаралтай. Үүнийг 1960 онд янз бүрийн орны хэсэг эрдэмтэд боловсруулсан бөгөөд өргөн тархсан. Түүний амжилтын шалтгаан нь ердийн математикийн хэлтэй ойр, өргөн хүрээний асуудлыг тайлбарлахад тохиромжтой, нийтлэг бөгөөд тодорхой компьютерээс бүрэн бие даасан байдал, хэлийг цагаан толгойн үсгээс эхлээд хамгийн төвөгтэй бүтэц хүртэл хатуу албан ёсны болгоход оршдог.

ALGOL-60 нь бүх нийтийн програмчлалын хэл төдийгүй алгоритмыг тайлбарлах олон улсын хэл юм.

ALGOL-60 хэлээр алгоритм бичих үндэс нь “;” тэмдгээр тусгаарлагдсан операторуудын дараалал юм. Хэл дэх ганц үйлдэл болох операторуудын энэ дараалал нь орчуулагчдад операторуудад хэрэглэгдэх шаардлагатай шинж чанаруудын талаарх мэдээллийг өгдөг дараалсан тайлбарын хамт дагалддаг. Жишээлбэл, тайлбарууд нь хувьсагчийн утга болгон ашигладаг тоонуудын ангилал, тоон массивуудын хэмжээ гэх мэт мэдээллийг өгдөг. Энэ хэл дээрх тайлбар, операторуудын ийм хослолыг блок гэж нэрлэдэг.

ALGOL-60 хэл дээрх программ нь дотроо өөр хэллэг агуулаагүй, өөр хэллэг ашигладаггүй блок буюу нийлмэл өгүүлбэр юм.

ALGOL-д програмчлал хийдэг компьютерийн төвүүд нь ALGOL-ийн бүрэн програмын хэлбэрээр биш, харин процедурын тайлбар хэлбэрээр туршлага хуримтлуулах ёстой. Энэ нь шинэ программд бэлэн ALGOL програмуудыг оруулах бараг боломжгүй, харин процедурын тайлбарыг тусгайлан боловсруулсантай холбоотой юм.

ЗХУ-д ALGOL-60 нь түүний зарим хувилбар хэлбэрээр өргөн тархсан.

ФОРТРАН. FORTRAN гэдэг үг нь хоёр англи үгнээс (Formula Translator) үүссэн. FORTRAN хэлний хамгийн чухал шинж чанаруудын нэг нь тухайн компьютерийн онцлогоос харьцангуй ангид байдаг. FORTRAN бол машинаас хамааралгүй програмчлалын хэл юм.

Энэ хэл дээр математикийн програм хангамжийн өргөн хүрээний сангууд хуримтлагдсан бөгөөд үүнд стандарт (байнга хэрэглэгддэг) програмууд болон тодорхой асуудлыг шийдвэрлэхэд ашигладаг олон тусгай програмууд багтсан болно.

FORTRAN-ийг програмчлалын практикт өргөнөөр нэвтрүүлсэн нь түүний чанараас шалтгаалж, юуны түрүүнд бусад алгоритмын хэлтэй (жишээлбэл, ALGOL) харьцуулахад энгийн байдлыг тэмдэглэх нь зүйтэй; хоёрдугаарт, хэтэрхий төвөгтэй бүтэц байхгүй тул орчуулагдсан програмууд нь бусад хэл дээр бичигдсэн програмуудтай харьцуулахад илүү үр дүнтэй байдаг; Үүний зэрэгцээ FORTRAN нь ихэнх тооцооллын алгоритмуудыг програмчлахад тохиромжтой;

Гуравдугаарт, FORTRAN нь хүнийг машинтай холбох маш хүчирхэг хэрэгсэлтэй: компьютерээс гаргаж авсан мэдээллийг эрдэмтэд, инженерүүдэд танил хэлбэрээр танилцуулдаг. Эцэст нь, дөрөвдүгээрт, FORTRAN нь гадаад компьютерийн төхөөрөмжийг үр ашигтай ашиглахад тохиромжтой.

FORTRAN ашиглан бичсэн асуудлыг шийдвэрлэх алгоритм нь операторуудын дарааллаас бүрдэнэ. Эдгээр операторууд нь хэд хэдэн төрлийн байж болно. Асуудлыг шийдвэрлэх алгоритмыг тодорхойлсон операторуудыг нэгтгэн авч үзвэл анхны программыг бүрдүүлнэ. Эх программыг цоолтуурын картууд дээр бичиж, цоолсны дараа FORTRAN орчуулагч ашиглан ажлын програм болгон хөрвүүлдэг.

Эхний мэдэгдэл нь || хэлбэртэй толгойн мэдэгдэл юм PROGRAMa ||, энд a нь програмын нэр, сүүлчийнх нь төгсгөлийн оператор (оператор || END ||) ба дэд программуудын багц юм. Үндсэн програм болон дэд програм бүр нь операторын шошго, хувьсагчид, массив болон бусад хэмжигдэхүүнүүдийн нэрийг нутагшуулж, өөр өөр дэд программууд болон үндсэн программд ижил шошго, танигчийг ашиглах боломжийг олгодог. Үндсэн програм болон дэд программуудын хоорондын холбоог холбогдох хандалтын мэдэгдлийг ашиглан гүйцэтгэдэг.

FORTRAN-д програм зохиохдоо операторуудын дараах дарааллыг баримтлахыг зөвлөж байна: 1) үндсэн програмын оператор-толгой (дэд програм); 2) файлын тайлбар оператор; 3) далд төрлийн тохиргооны оператор; 4) тодорхой төрлийн оператор, хэмжээсийн оператор, ерөнхий бүсийн оператор; 5) эквивалентыг тодорхойлох оператор; 6) оператор-функц, оператор-процедур; 7) форматыг тохируулах оператор, гүйцэтгэх операторууд (болзолгүй, нөхцөлт, оролт, гаралт); 8) эцсийн оператор.

КОБОЛ. Хэлний нэр нь Common Business Oriented Language гэсэн англи үгнээс гаралтай. COBOL нь асуудал шийдвэрлэх, өгөгдөл боловсруулах үйл явцыг тайлбарлах зорилготой асуудалд чиглэсэн алгоритмын хэл юм. COBOL нь одоогоор эдийн засгийн асуудлыг програмчлах өндөр түвшний цорын ганц өргөн хэрэглэгддэг хэл юм. COBOL нь эдийн засгийн асуудлуудыг ихэвчлэн томъёолж, шийддэг байгалийн хэлтэй маш ойрхон байдагтай холбон тайлбарлаж байна.

COBOL хэлний өвөрмөц онцлог нь дараах байдалтай байна.

хэл нь тодорхой утгаараа англи хэлний дэд хэсэг юм; COBOL дээр бичсэн текстийг урьдчилан бэлтгэхгүйгээр ойлгох боломжтой;

хэл нь бизнесийн баримт бичгийн ердийн бүтэцтэй өгөгдлийг сайн дүрсэлсэн; энэ өгөгдөл нь хувийн хэрэг, бараа, санхүүтэй холбоотой байж болно (хосолсон өгөгдлийг бас зөвшөөрдөг);

Энэ хэл нь бүрэн нийцтэй байх, өөрөөр хэлбэл тодорхой компьютерийн онцлогоос хараат бус байх асуудлыг шийдэхийг оролддог.

COBOL хөтөлбөр нь хэсэг гэж нэрлэгддэг дөрвөн хэсгээс бүрдэнэ. Эдгээр хэсгүүд нь дараах нэртэй байна: таних хэсэг, тоног төхөөрөмжийн хэсэг, мэдээллийн хэсэг, журмын хэсэг. Процедурын хэсэг нь бодит програмыг агуулж байгаа боловч гуравдахь хэсэгт тодорхойлсон боловсруулах өгөгдлийн бүтэц тодорхойгүй бол энэ нь утгагүй (эсвэл хамгийн сайн нь бүрэн бус тодорхойлогддог) юм. Тоног төхөөрөмжийн хэсэг нь эргээд тохиргооны хэсэг болон оролт гаралтын хэсэг, өгөгдлийн хэсэг нь массив хэсэг, ажлын санах ойн хэсэг, тогтмол хэсэгт хуваагдана. Хэсгийн (хэсгийн) эхэнд хэсгийн (хэсгийн) нэр, дараа нь цэг тавина; цэгтэй нэр нь тусдаа мөрийг эзэлдэг. Хэсэг эсвэл хэсгийн агуулга нь нэрлэсэн догол мөрүүдэд бүлэглэгдсэн өгүүлбэрүүдээс бүрдэнэ.

COBOL нь арилжааны мэдээллийг боловсруулахад шаардлагатай программд бага зэрэг өөрчлөлт оруулахад илүү хялбар болгодог.

COBOL-д оролт гаралтын үндсэн нэгж нь өгөгдлийн файл юм. Файл бүр нь бичлэгээс бүрдэнэ. Шийдвэрлэж буй ажлуудын шинж чанараас хамааран ижил файлыг өөр өөр программд ихэвчлэн ашигладаг. Файлын тайлбар нь маш хатуу бөгөөд өөрчлөлт оруулахыг зөвшөөрдөггүй.

Хөгжүүлэгчид хөтөлбөрийг нэвтрүүлэхэд нэг машин, эмхэтгэсэн програмын дагуу асуудлыг шийдэх өөр машин ашиглах боломжийг харгалзан үзсэн. Нэмж дурдахад ижил COBOL програмыг өөр өөр төхөөрөмж бүхий өөр өөр компьютерийн хэл рүү хөрвүүлж болно.

SOL. Судалгааны үр дүнтэй арга болох дижитал загварчлал нь нарийн төвөгтэй системийн шинжилгээ, дизайнтай холбоотой мэргэжилтнүүдийн дунд улам бүр түгээмэл болж байна.

Системийн мэргэжилтэн судалж буй системийн ажиллагааг дуурайлган программ бичихэд бэрхшээлтэй тулгардаг. Үүний шалтгаан нь математикийн хувьд бараг л тайлбарлах боломжгүй системүүдийн хэт нарийн төвөгтэй байдал байж болох юм. Энэ төрлийн асуудал, ялангуяа багаж хэрэгсэл, хяналтын системийг бий болгох практикт маш их байдаг. Хөтөлбөрийг бий болгоход хялбар болгохын тулд одоогоор автомат програмчлалын хэлийг (төрөлсөн загварчлалын хэл) ашиглаж байгаа бөгөөд энэ нь компьютер дээр даалгавруудыг бэлтгэх, хэрэгжүүлэхэд хамгийн бага цаг зарцуулж, програмын ажиллагааг дуурайдаг програмуудыг бүтээх, судлах боломжийг олгодог. судалж буй систем.

Үүний зэрэгцээ тусгай хэлний элементүүд нь дүрмээр бол нэлээд түгээмэл бөгөөд байж болно . дуураймал үзэгдлийн өргөн хүрээний ангилалд хэрэглэнэ. Нэмж дурдахад, төрөлжсөн загварчлалын хэлүүд нь бүх нийтийн хэлтэй харьцуулахад загварчлагдсан системийг тодорхойлдог тооцоолох болон логик үйлдлүүдийн програмчлалыг ихээхэн хялбаршуулдаг. Үүний зэрэгцээ асуудал тогтоогч болон програмист хоёрын холболтыг хялбаршуулсан болно. Энэ нь төрөлжсөн загварчлалын хэлний дараах шинж чанаруудын ачаар хүрч байна.

  • хувьсагч ба параметрүүдийн хоорондох машины санах ойн хуваарилалтын бүтцийг засах чадвар. Энэ тархалт нь ихэнх ерөнхий зориулалтын хэлийг ашигласнаас илүү нарийн бөгөөд боловсронгуй болсон;
  • симуляцийн системийн төлөвийн өөрчлөлтийг хялбаршуулсан зааврын багц байгаа эсэх. Ихэнх тохиолдолд энэ нь дэд программуудын хэрэгжилтийн дарааллыг хянадаг стандарт удирдлага эсвэл түр дэд програмаар хийгддэг;
  • тодорхой дэд программыг тодорхой цагт хэрэгжүүлэх хэрэгцээг тодорхойлсон багц заавар байгаа эсэх;
  • санамсаргүй тоо, магадлалын хуваарилалттай холбоотой стандарт эсвэл байнга тохиолддог үйлдлүүдийг гүйцэтгэх командууд байгаа эсэх;
  • загварчлалын програмыг ажиллуулах явцад статистик үзүүлэлтүүдийг олж авах, бүртгэх ажлыг хялбаршуулдаг командууд байгаа эсэх.

Зарим тусгай алгоритмын загварчлалын хэлүүдийг харцгаая.

GPSS бүх нийтийн загварчлалын хэл нь хамгийн өргөн хэрэглэгддэг бөгөөд энгийн бөгөөд ойлгомжтой хэл юм. Энэ нь програмчлалын мэдлэг, машины үйл ажиллагааны мэдлэг шаарддаггүй. Симуляцийн программыг блок диаграм хэлбэрээр харуулсан бөгөөд энэ нь програмист бус хүмүүст онцгой анхаарал татдаг.

SIMSCRIPT алгоритмын хэл нь одоогоор хамгийн хүчирхэг загварчлалын хэл гэж тооцогддог. Хэд хэдэн өвөрмөц онцлогоос шалтгаалан энэ нь хамгийн өргөн хүрээний даалгаварт хэрэглэгдэх боломжтой. Гэсэн хэдий ч энэ хэл нь харьцангуй төвөгтэй бөгөөд дибаг хийх програмын оношлогооны хэрэгслүүд хязгаарлагдмал байдаг. Үүнээс гадна, энэ хэлний боломжит хэрэглэгч FORTRAN мэддэг, програмчлалын туршлагатай байх ёстой.

Загварын асуудлыг шийдвэрлэхэд оролцдог мэргэжилтнүүдийн анхаарлыг ALGOL дээр үндэслэн эдгээр зорилгоор боловсруулсан тусгай хэлүүд татдаг. Эдгээр автомат програмчлалын хэлнүүдээс хамгийн дэвшилтэт хэл нь SIMULA болон SOL юм.

Салангид өөрчлөгддөг системийг загварчлахад зориулагдсан хамгийн амжилттай мэргэшсэн алгоритмын хэлнүүдийн нэг бол SOL хэл - Simulation Oriented Language юм.

SOL хэл нь бүх нийтийн ALGOL програмчлалын хэл дээр суурилагдсан бөгөөд ижил бүтэцтэй, үндсэн элементүүдийг ашигладаг. Салангид үйл явдлууд бүхий өргөн хүрээний процессуудыг дүрслэхийн тулд SOL нь бүх нийтийн ойлголтуудын системийг төлөөлдөг тул ALGOL эсвэл FORTRAN гэх мэт асуудалд чиглэсэн автомат програмчлалын хэлтэй олон талаараа төстэй юм. Гэсэн хэдий ч SOL хэл нь үүнийг эдгээр хэлнээс ялгах үндсэн шинж чанартай байдаг: SOL нь асинхрон параллель үйл явцыг загварчлах механизм, арифметик илэрхийлэл доторх санамсаргүй элементүүдийн тохиромжтой тэмдэглэгээ, симуляцийн системийн бүрэлдэхүүн хэсгүүдийн статистик мэдээллийг цуглуулах автомат хэрэгслээр хангадаг. Нөгөөтэйгүүр, асуудалд чиглэсэн ерөнхий зориулалтын хэлнүүдийн олон шинж чанарыг SOL-д ашигладаггүй, учир нь тэдгээр нь хоорондоо нийцэхгүй байгаа биш, харин түүний чадавхийг өргөжүүлэхгүйгээр дизайнд ихээхэн хүндрэл учруулдаг. Хэлний бүтээн байгуулалт, түүнд загварчлах программ бичих зарчмууд нь нарийн төвөгтэй системийн загварыг уншихад хялбар хэлбэрээр бүтээх боломжийг олгодог.

PL/I. Хэлний нэр нь Programming Language/One гэсэн англи үгнээс гаралтай.

PL/I хэл нь хэд хэдэн маш дэвшилтэт хэлүүдийг бүтээсний дараа гарч ирсэн бөгөөд мэдээжийн хэрэг, эдгээр өмнөх хэлүүд нь түүний бүтцэд ихээхэн нөлөө үзүүлсэн. Тиймээс энэ нь ALGOL-аас програмын блок бүтцийг хадгалж, динамик санах ойг хуваарилах боломж, процедур дуудлагын аппарат, FORTRAN-д ашигладаг форматыг тодорхойлох арга гэх мэт. Гэхдээ олон шинэ боломжууд байдаг. Энэ хэл нь загварчлах, логик асуудлуудыг шийдвэрлэх, логик хэлхээг судлах, асуудлыг бодит цаг хугацаанд шийдвэрлэх, програм хангамжийн системийг хөгжүүлэхэд тохиромжтой. Янз бүрийн төрлийн өгөгдлийг (хоёртын, аравтын, симбол, комплекс тоо, матриц гэх мэт) ашиглах боломжтой боловч эдгээр өгөгдлийг массив, хүснэгт, текст, асуулга, файлын кабинет гэх мэт хэлбэрээр зохион байгуулах нь маш хэцүү байдаг. Өргөн хүрээний стандарт функц, журам байдаг. PL/I хэл нь үндсэн болон хадгалах төхөөрөмжүүдийн хооронд мэдээлэл солилцох оролт, гаралт, солилцооны бүх үйл явцыг хянадаг амжилттай үйлдлийн системийг хөгжүүлсэн. Эдгээр бүх онцлог нь маш түгжрэлтэй хэлний сэтгэгдэл төрүүлдэг. Сул талуудыг бас санаж байх хэрэгтэй: хэлний тайлбар нь хангалтгүй, албан ёсны бус байна.

PL/I нь зөвхөн эдийн засаг, шинжлэх ухаан, техникийн програмчлалд зориулагдсан төдийгүй бодит цагийн програмчлалын ажил, програмчлалын системийг бий болгоход зориулагдсан олон зориулалттай програмчлалын хэл юм.

Хэлийг хөгжүүлэх гол зорилгын нэг нь модульчлагдсан байдал, өөрөөр хэлбэл үндсэн программ дахь аль хэдийн орчуулагдсан програмуудыг дахин орчуулахгүйгээр тусдаа модуль болгон ашиглах боломжийг олгох явдал байв. Хөтөлбөрийг бичихэд хамгийн хялбар, хялбар байдлыг хангах хэрэгцээг харгалзан үзсэн. Үүний зэрэгцээ програмуудын ерөнхий болон нарийвчилсан логик диаграммыг зурах хэрэгцээ хэвээр байгаа боловч PL/I хэл дээр зохих програмчлалын туршлагатай бол та машины хэл дээр програм бичихтэй холбоотой том бөгөөд уйтгартай ажлаас зайлсхийх боломжтой.

PL/I хэлэнд хувьсагчийн тодорхойлогч бүр, тодотгох бүтээн байгуулалт-нэмэлт, тодорхойлолт бүрд "өгөгдмөл тайлбар (зарчм)"-ыг өгдөг. Энэ нь хэл нь хэд хэдэн функцээр хангагдсан бөгөөд програмист ямар ч зүйлийг зааж өгөөгүй тохиолдолд хөрвүүлэгч нь "өгөгдмөл тайлбар"-ыг ашигладаг, өөрөөр хэлбэл энэ тохиолдолд тухайн хэлэнд өгөгдсөн зарим функцийг ашигладаг гэсэн үг юм. Хэлний бүтэц тус бүрд тусгагдсан чадварууд нь программист хамгийн их хэрэгтэй байх болно.

PL/I хэл дээрх программууд нь чөлөөт хэлбэрээр бичигдсэн; Программист өөрөө өөрт хэрэгтэй бичлэгийн программын хэлбэрийг боловсруулж чаддаг. Үүний зэрэгцээ компьютерийн системийн бүх хэрэгслийг ашиглах боломжийг олгодог.

PL/I хэл дээр бичигдсэн програмын мэдэгдлүүдийг "блок" болгон нэгтгэдэг. Блокууд нь чухал үүргийг гүйцэтгэдэг: тэдгээр нь хувьсах хэмжигдэхүүн болон бусад нэрсийн хүрээг тодорхойлдог бөгөөд ингэснээр өөр өөр блок дахь ижил нэрийг өөр өөр зорилгоор ашиглах боломжтой; Эдгээр нь зөвхөн өгөгдсөн блокийн гүйцэтгэлийн хугацаанд хувьсагчийн санах ойн нүдийг хуваарилах боломжийг олгодог бөгөөд блок ажиллахаа болих үед тэдгээрийг өөр зорилгоор ашиглах боломжийг олгодог.

RPG. RPG хэл нь даалгаврын програмчлал, эдийн засгийн мэдээллийг боловсруулахад зориулагдсан. Эдгээр даалгаврын агуулга нь үндсэндээ дараах үйл явцаар хязгаарлагддаг: файлуудыг хадгалах (жишээ нь, зохион байгуулах, хадгалах, тохируулах, шинэчлэх), файлуудыг ангилах, жагсаалт, мэдэгдэл, хүснэгт, хураангуй, тайлан гэх мэт янз бүрийн нягтлан бодох бүртгэлийн баримт бичгийг бүрдүүлэх, хэвлэх. Дүрмээр бол тооцоолол нь асуудлыг шийдвэрлэх нийт эзлэхүүний багахан хэсгийг эзэлдэг. Иймэрхүү асуудлыг шийдэхдээ RPG ашиглах нь тохиромжтой, ялангуяа тайланг эмхэтгэх, гаргах үе шатанд. Энэ тохиолдолд тайланг бэлтгэхэд ашигласан оролтын файлуудыг өөр аргаар үүсгэж, эрэмбэлсэн гэж үздэг.

RPG нь оролтын өгөгдөл дээр зарим тооцоолол (ихэвчлэн энгийн бөгөөд стандарт) хийх, тайлан гаргах, хэвлэх боломжийг олгодог. Оролтын өгөгдлийг карт, соронзон хальс эсвэл шууд санах ойн төхөөрөмжөөс оруулж болно. RPG нь тайлан үүсгэхээс гадна оролтын файлуудыг засах, шинэчлэх, мөн шинэ файл үүсгэх боломжийг олгодог. RPG нь хүснэгтүүдтэй ажиллах (жишээлбэл, шаардлагатай хүснэгтийн элементийг хайж олох, хүснэгтийг харуулах), түүнчлэн RPG програмыг бусад хэл дээр бичигдсэн програмуудтай холбох хэрэгслийг зохион байгуулах хэрэгслүүдтэй. ижил асуудлыг шийдвэрлэхэд ашигладаг.

Хэлний нэг онцлог нь програмист нь асуудлыг шийдвэрлэх үйлдлүүдийн дарааллыг (асуудлын алгоритм) тайлбарлах шаардлагагүй бөгөөд зөвхөн тусгай маягт дээр тайланг бүтээхэд ашигласан оролтын өгөгдөл, энэ өгөгдөл дээр хийгдсэн тооцооллыг тайлбарлах ёстой. , мөн тайлангийн формат.

Энэхүү мэдээлэлд үндэслэн RPG орчуулагч нь ажлын программ үүсгэж, дараа нь үүсгэсэн програм нь оролтын файлуудыг боловсруулж, шаардлагатай тайланг хэвлэдэг.

RPG ашиглан тайлан бэлтгэх нь дараах үндсэн үе шатуудаас бүрдэнэ: даалгаврын өгөгдлийг тодорхойлох, түүнийг хэрхэн боловсруулах; анхны хөтөлбөрийг боловсруулах; анхны програмын цооролт; ажлын хөтөлбөр авах; ажлын хөтөлбөрийн хэрэгжилт.

Даалгаврын програм бичихийн өмнө түүнд тодорхой дүн шинжилгээ хийх шаардлагатай. Оролтын өгөгдөл, оролтын өгөгдлийн бичлэгийн хэлбэр, төрөл, ашигласан бичлэгийн талбарууд, тэдгээрийн байрлал, өгөгдлийг боловсруулах арга, тооцоолох нийт дүнгийн тоо, төрөл, хэвлэсэн тайлангийн хэлбэрийг тодорхойлох шаардлагатай. бусад гаралтын өгөгдөл.

Даалгаврын оролт, гаралтын өгөгдөл, тэдгээрийг боловсруулах аргыг тогтоосны дараа эдгээр өгөгдлийг зохих RPG маягт дээр тайлбарлах шаардлагатай. RPG маягтын хэд хэдэн төрөл байдаг бөгөөд тус бүр нь тодорхой мэдээллийг бүртгэх зориулалттай. Оролтын өгөгдлийн тайлбарын маягтууд нь бүх оролтын файлуудыг жагсааж, файл тус бүрийн бүх төрлийн бичлэгийн бүтэц, онцлог шинж чанар, бүртгэлд ашигласан талбаруудын байршлыг тодорхойлдог. Тооцооллын маягт нь оролтын өгөгдөлд ямар боловсруулалт хийх шаардлагатайг заана. Гаралтын тодорхойлолтын маягт нь шаардлагатай тайлан болон бусад гаралтын файлуудын форматыг тодорхойлдог. Файлын тодорхойлолтын маягт болон нэмэлт мэдээллийн маягт нь программд ашиглагдаж буй файлуудын шинж чанарыг (оролт, гаралт, хүснэгт гэх мэт) заадаг. Анхны програм нь тухайн асуудлыг шийдвэрлэхэд зориулагдсан RPG маягт дээр заасан мэдээлэл юм.

Хөтөлбөрийг зохих маягтууд дээр бичсэний дараа програмын текстийг картууд дээр цоолборлодог.

Ажлын программ авахын тулд эхлээд эх программыг орчуулах хэрэгтэй. Үүнийг хийхийн тулд RG1G орчуулагчийн хяналтын карт, RPG орчуулагчийг ажиллуулахад шаардлагатай TASK CONTROL гэх мэт эх программын картуудад зарим хяналтын картуудыг нэмж оруулсан болно. Орчуулсны дараа үүссэн модулийг EDITOR ашиглан засварлаж болно. Засвар хийсний үр дүнд гүйцэтгэхэд бэлэн програм (ачаалах модуль) гарч ирдэг бөгөөд үүнийг ажлын програм гэж нэрлэдэг. Хүссэн тайланг гаргахын тулд эмхэтгэх, засварлах шаардлагатай.

Ажлын хөтөлбөрийг шууд дамжуулж, засварласны дараа эсвэл өөр ямар ч үед гүйцэтгэж болно. Ажилчны програм нь бэлтгэлийн оролтын файлуудыг уншиж, тэдгээрийг боловсруулж, үр дүнд нь тайлан болон бусад гаралтын файлуудыг гаргадаг.

ALGAMS. ALGAMS алгоритмын хэл нь дунд хүчин чадалтай машинуудад зориулагдсан; Энэ нь ALGOL-60 хэлний дэд хэсэг дээр үндэслэсэн.

ALGAMS-д шийдэгддэг чухал асуудал бол оролт-гаралтын горимыг нэвтрүүлэх явдал юм. ALGAMS нь стандарт функцүүдийн багцыг өргөжүүлсэн бөгөөд номын сангийн дэд програмуудыг ашиглах боломжтой болсон. ALGAMS нь хэсэгчилсэн тодорхойлогч гэж нэрлэгддэг програмын сегментчлэлийг зааж өгөх хэрэгсэл, түүнчлэн тусгай таних тэмдэг бүхий зарим массивыг дүрслэх замаар компьютерийн буфер санах ойг үр дүнтэй ашиглах боломжийг олгодог хэрэгслүүдийг агуулдаг.

Оролтын мэдэгдэл нь INPUT танигчаас бүрдэх ба хаалтанд орсон бодит параметрүүдийн жагсаалтаас бүрдэнэ. Эхний параметр нь өгөгдөл оруулах сувгийн дугаарыг заадаг бол үлдсэн бодит параметрүүд нь энгийн хувьсагч, массив тодорхойлогч эсвэл индексжүүлсэн хувьсагч юм.

Текст оруулахдаа заасан оролтын объектоос эхлэн дараалсан массивын элементүүдэд процедур=TEXT гэсэн утгаараа оролтын мөрийн дараалсан тэмдэгтүүдтэй харгалзах бүхэл тоонуудыг оноодог. Процедур = TEXT дараах байдлаар тодорхойлогдоно.<оператор текст>::=TEXT (<строка>, <переменная с индексами>).

Оролтын процедурын тодорхойлогч нь OUTPUT гэсэн үг юм. Оператор нь тооны оператор, логикийн оператор, текст оператор, layout оператор гэсэн дөрвөн төрөлтэй. Гаралтын мэдэгдэл нь OUTPUT идентификатороос бүрдэх ба хаалтанд оруулсан бодит параметрүүдийн жагсаалтаас бүрдэнэ. Процедурын эхний бодит параметр нь гаралтын сувгийн дугаарыг, хоёр дахь параметр нь гаралтын өгөгдлийн форматыг, бусад бүх параметр нь гаралтын объектуудыг зааж өгдөг. Мэдээлэл хэвлэх үед засварлах хэрэгслүүд байдаг.

BASIE K. Хэлний нэр нь Beginners all Purpose Symbolic Instructioncode гэсэн англи үгнээс гаралтай. Энэ нь энгийн, сурахад хялбар, олон төрлийн асуудлыг шийдвэрлэх гайхалтай чадвараас шалтгаалан маш их алдартай болсон. Олон мини компьютерт энэ хэлийг ярианы гол хэл болгон ашигладаг. BASIC хэл нь програмчлалын хэл юм. Энэ нь жижиг хэмжээний шинжлэх ухаан, техникийн асуудлыг шийдвэрлэхэд тохиромжтой, гүйцэтгэсэн үйлдлүүдийн тоо, оролтын хэмжээ, үр дүнгийн өгөгдлийн хувьд аль алинд нь тохиромжтой. Хэлний хамгийн чухал онцлог нь үе шаттайгаар хэрэгжүүлэхэд тохирсон байдаг. Энэ нь BASIC программын эх бичвэрт өөрчлөлт оруулах бүрийн дараа тухайн программыг бүхэлд нь дахин орчуулах боломжгүй, зөвхөн өөрчилсөн мэдэгдлүүдийг орчуулах боломжтой гэсэн үг юм. ҮНДСЭН хэлийг алхам алхмаар хэрэгжүүлэх боломж нь дахин орчуулахад компьютерт зарцуулах цагийг багасгах боломжийг олгодог. Энэ нь эргээд дибаг хийх мөчлөгийг хурдасгах боломжийг олгодог бөгөөд энэ нь BASIC програмуудыг харилцах горимд дибаг хийхийг зөвлөж байна.

Дахин дугаарлагдсан BASIC хэлний операторуудаас бүрдсэн том програмуудыг хуримтлуулах чадвараас гадна шууд командууд гэж нэрлэгддэг, өөрөөр хэлбэл програмистын консолоос (телетайпаас) оруулсны дараа шууд гүйцэтгэгддэг командуудыг өгдөг. Шууд командын горимд зөвхөн RUN - гүйцэтгэлийг эхлүүлэх, LIST - текстийг хэвлэх, SAVE - номын санд програмын текстийг хадгалах, BYE - ажлын хэсгийг дуусгах зэрэг захиргааны удирдамжийг ашиглах боломжтой; Серийн дугааргүйгээр оруулсан аливаа BASIC операторыг шууд командын горимд гүйцэтгэдэг. Энэ нь ялангуяа хувьсагчийн утгыг програмыг ажиллуулах явцад хүссэн үедээ хэвлэж, өөрчлөх боломжийг олгодог.

Үйл ажиллагааны үг Гүйцэтгэх үйл ажиллагаа

Хэвлэх Хашилтанд хавсаргасан мессежийн текст эсвэл арифметик илэрхийллийн утга (үнэлгээ хийсний дараа) эсвэл хувьсагчийн утгыг хэвлэх.

INPUT Програмистын консолоос тоонуудыг оруулаад заасан хувьсагч руу илгээнэ үү

LET Илэрхийллийн утгад хувьсагч оноох

GO TO Өгөгдсөн дугаартай операторын гүйцэтгэл рүү оч

Хэрэв заасан нөхцөл хангагдсан бол энэ мэдэгдэлд заасан үйлдлийг гүйцэтгэх шаардлагатай, эс тэгвээс дараагийн мэдэгдлийн гүйцэтгэлийг үргэлжлүүлнэ үү.

DATA өгөгдөл; энэ мэдэгдэл биелэгдээгүй байна. Энэ нь дибаг хийх өгөгдлийн блокыг (тоо) тайлбарладаг. Дибаг хийх өгөгдлийн блокуудын цуглуулга нь дибаг хийх өгөгдлийн массивыг бүрдүүлдэг

END Програмын төгсгөл

Тиймээс, алхам алхмаар эмхэтгэх схем нь шууд тушаалын горимтой хослуулан харилцах горимд BASIC програмуудыг үр дүнтэй дибаг хийх боломжийг олгодог.

BASIC програм нь өгүүлбэрүүдээс бүрдэх бөгөөд тус бүр нь функцийн үгээр эхэлдэг. Үйлчилгээний үг нь операторын төрөл, түүнийг гүйцэтгэх явцад гүйцэтгэсэн үйлдлийн мөн чанарыг тодорхойлдог.

Олон асуудлыг шийдвэрлэхдээ өгөгдлийг хүснэгт хэлбэрээр үзүүлэх шаардлагатай. Зарим BASIC хэлний операторуудын чадавхийг ашиглан та янз бүрийн форматаар хүснэгт үүсгэж болно.

21-р зуун бол мэдээллийн мэдлэг нь аль ч салбарт өрсөлдөх хамгийн чухал давуу тал болсон цаг үе юм. Гэсэн хэдий ч энэ нь тухайн хүмүүст ойлгомжтой хэлээр илэрхийлэгдээгүй эсвэл утгыг хүлээн авагчид хүргэх орчуулагч байхгүй бол ямар ч ашиг тус авчрахгүй.

Одоогийн байдлаар дэлхий дээр 2000 орчим хүн амьдардаг. Тэдний ялгах онцлог нь юуны түрүүнд хэл юм.

Хүн төрөлхтөн ярианы (байгалийн) хэлтэй зэрэгцэн олон хиймэл хэлийг бий болгосон. Тэд тус бүр нь тодорхой асуудлыг шийдвэрлэх зорилготой юм.

Ийм дохионы системд албан ёсны хэл багтдаг бөгөөд тэдгээрийн жишээг доор үзүүлэв.

Тодорхойлолт

Юуны өмнө хэл гэж юу болохыг томъёолъё. Энэ үгийг ихэвчлэн хүмүүс болон танин мэдэхүйн хоорондын харилцаа холбоо тогтооход ашигладаг дохионы систем гэж ойлгодог.

Ихэнх хиймэл болон байгалийн хэлний үндэс нь цагаан толгой юм.

Энэ нь үг, хэллэг зохиоход хэрэглэгддэг тэмдэгтүүдийн багц юм.

Хэл нь дараахь шинж чанартай байдаг.

  • ашигласан тэмдгийн багц;
  • тэдгээрээс "үг, хэллэг", "текст" зохиох дүрэм;
  • бүрдсэн бүтцийг ашиглах дүрмийн багц (синтакс, прагматик, семантик).

Байгалийн хэлний онцлог

Өмнө дурьдсанчлан бүх хэлийг хиймэл ба байгалийн гэж хуваадаг. Тэдний хооронд олон ялгаа бий.

Байгалийн хэлэнд ярианы хэл орно. Тэдний онцлог шинж чанаруудын дунд дараахь зүйлс орно.

  • ихэнх үгсийн тодорхой бус байдал;
  • синоним ба омоним байгаа эсэх;
  • ижил зүйлийн хэд хэдэн нэр байгаа эсэх;
  • бараг бүх дүрэмд үл хамаарах зүйлүүд байдаг.

Эдгээр бүх шинж чанарууд нь байгалийн дохионы систем ба албан ёсны хэлний хоорондох гол ялгаа юм. Үг, мэдэгдлийн тодорхой бус байдлын жишээг хүн бүр мэддэг. Тиймээс "эфир" гэдэг нь контекстээс хамааран бодис, радио, телевизийн өргөн нэвтрүүлгийг хоёуланг нь илэрхийлж болно.

Ярианы хэлний үндсэн үүрэг нь:

  • харилцаа холбоо;
  • танин мэдэхүйн үйл ажиллагаа;
  • сэтгэл хөдлөлийн илэрхийлэл;
  • ярилцагчдад үзүүлэх нөлөө (хэрэв бид захидал харилцааны тухай ярьж байгаа бол корреспондент).

Хиймэл хэлний шинж чанарууд

Хиймэл хэлийг хүмүүс тусгай зорилгоор эсвэл тодорхой бүлэг хүмүүст зориулан бүтээдэг.

Хиймэл хэлний гол шинж чанаруудын нэг нь тэдний үгсийн санг хоёрдмол утгагүй тодорхойлолт, түүнчлэн тэдэнд утга өгөх, илэрхийлэл үүсгэх дүрэм юм.

Албан ёсны хэл ба дүрэм

Байгалийн ч бай, зохиомол ч бай хэл нь тодорхой дүрэм журамтай байж л оршин тогтнож чадна. Үүний зэрэгцээ судалж буй субьектийн хамаарал, шинж чанарыг тууштай, нягт, үнэн зөв харуулах ёстой. Хэрэв тэдгээрийг хатуу томъёолсон бол энэ нь хэл гэж хэлдэг. Ийм дохионы системийн жишээ бол програмчлалын хэлүүд боловч хатуухан хэлэхэд тэд тодорхой завсрын байр суурийг эзэлдэг (доороос үзнэ үү).

Албан ёсны тэмдгийн системийг бий болгох схем нь дараах байдалтай байна.

  • цагаан толгой (эхний тэмдэгтүүдийн багц) сонгосон;
  • хэлний илэрхийлэл (синтакс) байгуулах дүрмийг тодорхойлсон.

Хэрэглээний хамрах хүрээ

Албан ёсны логик, програмчлал гэх мэт) нь шинжлэх ухааны судалгааны явцад ашиглагддаг. Эдгээр нь мэдлэгийг танилцуулахдаа байгалийнхаас илүү бөгөөд илүү бодитой, үнэн зөв мэдээлэл солилцох хэрэгсэл юм.

Албан ёсны хэлэнд математик, химийн тэмдэгт, Морзын код, хөгжмийн тэмдэглэгээ гэх мэт бүх мэдэгдэж буй системүүд орно.

Үүнээс гадна албан ёсны програмчлалын хэлүүдийг өргөн ашигладаг. Тэдний хурдацтай хөгжил нь 20-р зууны дунд үеэс компьютерийн технологи бий болсонтой холбогдуулан эхэлсэн.

Албан ёсны логик хэл

Аливаа програмчлалын хэлний үндэс нь математик юм. Энэ нь эргээд албан ёсны логикийн дохионы системд тулгуурладаг.

Шинжлэх ухааны хувьд логикийг Аристотель бүтээсэн. Тэрээр мөн эдгээр мэдэгдэлд багтсан үзэл баримтлалын агуулгаас үл хамааран тэдний үнэний үнэ цэнийг хадгалах мэдэгдлийг өөрчлөх дүрмийг боловсруулсан.

Албан ёсны логик нь зарим мэдэгдлийн хоёрдмол утгатай холбоотой байгалийн хэлний "сул талууд" -тай тэмцдэг. Үүний тулд бодлын үйлдлийг албан ёсны хэлний шинж тэмдэг бүхий үйлдлээр сольдог. Энэ нь аливаа эргэлзээг арилгаж, мэдэгдлийн үнэнийг үнэн зөв тогтоох боломжийг танд олгоно.

Програмчлалын хэлний онцлог

Өмнө дурьдсанчлан, зарим тайлбартайгаар тэдгээрийг албан ёсны гэж ангилж болно.

Тэдгээрийг сүүлийнхтэй нь олон синтаксик дүрмээр, байгалийн дүрмүүдтэй зарим түлхүүр үг, бүтцээр нэгтгэдэг.

Програмчлалын хэлийг бий болгоход хүчинтэй тэмдэгтүүдийн багц, зөв ​​хэлний програмууд, зөв ​​програм бүрийн утгыг тодорхойлох шаардлагатай. Хэрэв эхний даалгаврыг албан ёсны болгох замаар шийдвэрлэх боломжтой бол сүүлийн тохиолдолд эдгээр аргууд нь ажиллахгүй болно.

Програмчлалын хэл дээрх олон хүчинтэй тэмдэгтүүд нь гар дээр бичиж болох тэмдэгтүүд юм. Эдгээр нь ASCII кодчилолын хүснэгтийн эхний хэсгийг төлөөлдөг.

Дүрэм судлаачид

Програмчлалын хэл нь бусад хэлтэй адил дүрэмтэй байдаг. Энэ нэр томъёо нь өгүүлбэр зохиох аргын тайлбарыг хэлнэ. Дүрмийг янз бүрээр тайлбарладаг. Програмчлалын хэлний хувьд эдгээр нь хоёр төрлийн тэмдэгтийн дараалсан хос мөрүүдээр тодорхойлогддог дүрмүүд юм: синтаксик бүтэц, семантик хязгаарлалтыг тодорхойлдог. Дүрмийг тодорхойлохдоо тэд эхлээд синтаксийн бүтцийг бий болгох дүрмийг албан ёсоор зааж, дараа нь байгалийн аль нэг хэлээр семантикийг тодорхойлдог.

Дүрмүүдийг тусгай диаграмм ашиглан график хэлбэрээр тэмдэглэнэ. Энэ аргыг анх Паскаль хэлийг бий болгоход ашигласан. Гэсэн хэдий ч дараа нь бусад хүмүүст өргөн хэрэглэгдэж эхэлсэн.

Програмчлалын хэлний ангилал

Одоогийн байдлаар тэд "аяга" -тай хамт хэдэн мянгаараа байдаг. Тэдгээрийг процедурын болон мэдүүлгийн гэж ангилдаг. Эхний төрлийн хэлээр өгөгдлийн хувиргалтыг тэдгээрт гүйцэтгэсэн үйлдлийн дарааллыг, хоёрдугаарт - харилцааг тайлбарлах замаар тодорхойлдог. Бусад ангилалууд байдаг. Жишээлбэл, програмчлалын хэлийг функциональ, процедур, объект хандалтат, логик гэж хуваадаг. Хэрэв бид асуудалд хатуу хандвал ямар ч ангилал объектив байж чадахгүй. Эцсийн эцэст, програмчлалын хэлний нэлээд хэсэг нь нэгэн зэрэг хэд хэдэн төрлийн албан ёсны системийн чадвартай байдаг. Цаг хугацаа өнгөрөхөд ирмэгүүд улам бүр бүдгэрч магадгүй юм.

Одоо та "Та ямар албан ёсны хэл мэддэг вэ?" Гэсэн асуултанд хариулж болно. Эрдэмтэд одоогийн байдлаар шийдвэрлэх боломжгүй гэж үзсэн янз бүрийн практик болон онолын асуудлыг шийдвэрлэх боломжтой болгохын тулд тэдгээрийг сайжруулсаар байна.

Програмчлал нь компьютерийн программ бүтээх боломжийг олгодог бүхэл бүтэн шинжлэх ухаан юм. Энэ нь нэг програмчлалын хэлийг бүрдүүлдэг асар олон тооны өөр өөр үйлдэл, алгоритмуудыг агуулдаг. Тэгэхээр, энэ нь юу вэ, өөр өөр програмчлалын хэлүүд юу вэ? Нийтлэлд хариулт өгөхөөс гадна програмчлалын хэлнүүдийн тойм жагсаалтыг өгдөг.

Програмын хэл үүсч, өөрчлөгдсөн түүхийг компьютерийн технологийн хөгжлийн түүхийн хамт судлах хэрэгтэй, учир нь эдгээр ойлголтууд хоорондоо шууд холбоотой байдаг. Програмчлалын хэлгүйгээр компьютерийг ажиллуулах ямар ч програм бүтээх боломжгүй бөгөөд энэ нь компьютер бүтээх нь утгагүй дасгал болно гэсэн үг юм.

Анхны машины хэлийг 1941 онд Аналитик хөдөлгүүрийг зохион бүтээгч Конрад Зусе зохион бүтээжээ. Хэсэг хугацааны дараа буюу 1943 онд Ховард Айкен машины кодын түвшинд зааврыг унших чадвартай Марк 1 машиныг бүтээжээ.

1950-иад онд программ хангамж хөгжүүлэх эрэлт хэрэгцээ гарч, машины хэл их хэмжээний кодыг зохицуулах боломжгүй байсан тул компьютертэй харилцах шинэ арга бий болсон. "Assembler" нь машины зааврыг орлох анхны мнемоник хэл юм. Жил ирэх тусам програмчлалын хэлний жагсаалт нэмэгдэж, учир нь компьютерийн технологийн цар хүрээ улам бүр өргөжиж байна.

Програмчлалын хэлний ангилал

Одоогийн байдлаар 300 гаруй програмчлалын хэл байдаг. Тэд тус бүр өөрийн гэсэн онцлогтой бөгөөд нэг тодорхой ажилд тохиромжтой. Бүх програмчлалын хэлийг хэд хэдэн бүлэгт хувааж болно.

  • Аспект чиглэсэн (гол санаа нь програм хангамжийн модулиудын үр ашгийг нэмэгдүүлэхийн тулд функцийг тусгаарлах явдал юм).
  • Бүтцийн (бие даасан програмын блокуудын шаталсан бүтцийг бий болгох санаан дээр үндэслэсэн).
  • Логик (математик логикийн аппаратын онол, шийдвэрлэх дүрэмд үндэслэсэн).
  • Объект хандалттай (ийм програмчлалд алгоритмыг ашиглахаа больсон, харин тодорхой ангилалд хамаарах объектуудыг ашигладаг).
  • Олон парадигм (хэд хэдэн парадигмуудыг нэгтгэх ба тухайн тохиолдолд аль хэлийг ашиглахаа програмист өөрөө шийддэг).
  • Функциональ (үндсэн элементүүд нь эх өгөгдлийн тооцооллын үр дүнгээс хамааран утгыг нь өөрчилдөг функцууд).

Эхлэгчдэд зориулсан програмчлал

Олон хүмүүс програмчлал гэж юу болохыг гайхдаг. Үндсэндээ энэ нь компьютертэй харилцах арга юм. Програмчлалын хэлнүүдийн ачаар бид тусгай програм эсвэл программ үүсгэх замаар янз бүрийн төхөөрөмжид тодорхой даалгавруудыг өгөх боломжтой. Энэ шинжлэх ухааныг эхний шатанд судлахдаа хамгийн чухал зүйл бол тохирох (таны сонирхолтой) програмчлалын хэлийг сонгох явдал юм. Эхлэгчдэд зориулсан жагсаалтыг доор харуулав.

  • Basic хэлийг 1964 онд зохион бүтээсэн бөгөөд дээд түвшний хэлний гэр бүлд багтдаг бөгөөд хэрэглээний программ бичихэд ашигладаг.
  • Python нь энгийн, уншигдахуйц синтакс учраас сурахад маш хялбар боловч энгийн ширээний программууд болон вэб програмуудыг хоёуланг нь бүтээхэд ашиглагдах давуу тал юм.
  • Паскаль бол оюутнуудад заах зорилгоор бүтээгдсэн хамгийн эртний хэлнүүдийн нэг юм (1969). Түүний орчин үеийн өөрчлөлт нь нарийн тодорхойлогдсон бөгөөд бүтэцтэй боловч Паскаль бол зөн совингийн түвшинд ойлгомжтой, бүрэн логик хэл юм.

Энэ бол эхлэгчдэд зориулсан програмчлалын хэлний бүрэн жагсаалт биш юм. Ойлгоход хялбар маш олон тооны синтаксууд байдаг бөгөөд ойрын жилүүдэд эрэлт хэрэгцээтэй байх болно. Хүн бүр өөрт нь сонирхолтой байх чиглэлийг бие даан сонгох эрхтэй.

Анхлан суралцагчид тусгай хэрэгслүүдийн ачаар програмчлал болон түүний үндсийг хурдан сурах боломжтой. Үндсэн туслах нь Visual Basic програм, программыг хөгжүүлэх нэгдсэн орчин юм ("Visual Basic" нь мөн 1970-аад оны үндсэн хэлний хэв маягийг өвлөн авсан програмчлалын хэл юм).

Програмчлалын хэлний түвшин

Компьютер дээрх асуудлыг шийдвэрлэх программ, алгоритм үүсгэх, тайлбарлах зориулалттай бүх албан ёсны хэлийг доод түвшний програмчлалын хэл (жагсаалтыг доор өгөв) ба өндөр түвшний гэсэн хоёр үндсэн ангилалд хуваадаг. Тэд тус бүрийн талаар тусад нь ярилцъя.

Доод түвшний хэл нь процессоруудад зориулсан машины зааварчилгааг бий болгоход зориулагдсан. Тэдний гол давуу тал нь тэд mnemonic тэмдэглэгээг ашигладаг, өөрөөр хэлбэл, тэг ба нэгийн дарааллын оронд (хоёртын тооллын системээс) компьютер англи хэлнээс товчилсон утгатай үгийг санаж байна. Хамгийн алдартай доод түвшний хэлүүд бол "Assembler" (энэ хэлний хэд хэдэн дэд төрөл байдаг бөгөөд тэдгээр нь нийтлэг зүйлтэй боловч зөвхөн нэмэлт заавар, макрогоор ялгаатай), CIL (.Net дээр байдаг) юм. платформ) болон JAVA Bytecode.

Дээд түвшний програмчлалын хэл: жагсаалт

Өндөр түвшний хэлүүд нь хэрэглээний тав тух, үр ашгийг дээшлүүлэх зорилгоор бүтээгдсэн бөгөөд тэдгээр нь доод түвшний хэлнүүдийн яг эсрэг юм. Тэдний өвөрмөц онцлог нь програмын бүтэц, алгоритмыг товч бөгөөд товчоор дүрсэлсэн семантик бүтэцтэй байх явдал юм. Доод түвшний хэл дээр тэдгээрийн машины код дахь тайлбар нь хэтэрхий урт бөгөөд ойлгомжгүй байх болно. Өндөр түвшний хэлүүд нь платформоос хараат бус байдаг. Үүний оронд хөрвүүлэгчид орчуулагчийн үүргийг гүйцэтгэдэг: тэд програмын текстийг энгийн машины заавар болгон хөрвүүлдэг.

Дараах програмчлалын хэлнүүдийн жагсаалт: C ("C"), C# ("C-sharp"), "Fortran", "Pascal", Java ("Java") - хамгийн их хэрэглэгддэг дээд түвшний синтаксуудын нэг юм. Энэ нь дараах шинж чанаруудтай: эдгээр хэлүүд нь нарийн төвөгтэй бүтэцтэй ажилладаг, мөрийн өгөгдлийн төрлүүд болон файлын оролт гаралтын мэдээлэлтэй үйлдлүүдийг дэмждэг бөгөөд уншихад хялбар, ойлгомжтой синтаксийн ачаар ажиллахад илүү хялбар байдаг давуу талтай.

Хамгийн их хэрэглэгддэг програмчлалын хэлүүд

Зарчмын хувьд та ямар ч хэл дээр програм бичиж болно. Асуулт нь: энэ нь үр дүнтэй, алдаагүй ажиллах уу? Ийм учраас та янз бүрийн асуудлыг шийдвэрлэхэд хамгийн тохиромжтой програмчлалын хэлийг сонгох хэрэгтэй. Жагсаалтыг алдар нэрээр нь дараах байдлаар тодорхойлж болно.

  • OOP хэл: Java, C++, Python, PHP, VisualBasic болон JavaScript;
  • бүтцийн хэлүүдийн бүлэг: Basic, Fortran, Pascal;
  • олон парадигм: C#, Delphi, Curry болон Scala.

Хөтөлбөр ба хэрэглээний хамрах хүрээ

Тухайн програмыг бичих хэлний сонголт нь түүний хэрэглээний талбараас ихээхэн хамаардаг. Жишээлбэл, компьютерийн техник хангамжтай ажиллахад (драйверууд болон туслах програмуудыг бичих) хамгийн сайн сонголт нь үндсэн програмчлалын хэлэнд багтсан C ("C") эсвэл C++ байх болно (дээрх жагсаалтыг үзнэ үү). . Мөн гар утасны програм, түүний дотор тоглоом хөгжүүлэхийн тулд та Java эсвэл C# ("C-sharp") сонгох хэрэгтэй.

Хэрэв та аль чиглэлээр ажиллахаа хараахан шийдээгүй байгаа бол C эсвэл C++ хэлээр суралцаж эхлэхийг зөвлөж байна. Тэдгээр нь маш тодорхой синтакс, анги, функцэд тодорхой бүтцийн хуваагдалтай байдаг. Нэмж дурдахад та C эсвэл C++ хэлийг мэддэг тул өөр ямар ч програмчлалын хэлийг хялбархан сурах боломжтой.