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

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

· Зөвшөөрөгдөх тэмдэг, үйлчилгээний (түлхүүр) үгсийн цагаан толгой;

цагаан толгойн үсгийн зөвшөөрөгдөх хэлний бүтцийг бий болгох синтаксийн дүрэм;

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

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

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

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

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

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

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

Эмхэтгэсэн, тайлбарласан хэл болгон хуваах нь зарим талаараа дур зоргоороо байдаг. Тиймээс, Паскаль гэх мэт уламжлалт хөрвүүлэгдсэн аливаа хэлний хувьд та орчуулагч бичиж, тайлбарладаг аливаа хэлний хувьд хөрвүүлэгч үүсгэж болно - жишээлбэл, анх тайлбарласан BASIC хэлийг ямар ч хязгаарлалтгүйгээр эмхэтгэж болно.

Java болон C# зэрэг зарим хэлүүд эмхэтгэх, тайлбарлах хоёрын хооронд ордог. Тухайлбал, программыг машины хэлэнд хөрвүүлээгүй, харин машинаас хамааралгүй доод түвшний код болох байт код болгон хөрвүүлдэг. Дараа нь байт кодыг виртуал машин гүйцэтгэдэг. Байт кодыг гүйцэтгэхийн тулд тайлбарыг ихэвчлэн ашигладаг. Энэ арга нь нэг ёсондоо орчуулагч болон хөрвүүлэгчийн давуу талыг ашиглах боломжийг олгодог.

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

Програмчлалын хэлийг хэд хэдэн шалгуурын дагуу ангилж болно: машинд суурилсан (угсрах) ба машинаас хамааралгүй, тусгай болон бүх нийтийн.

Тусгай хэлэнд ART хэл орно ( Аавтоматаар Ппрограммчилсан Тоолс) нь тоон удирдлагатай машин хэрэгслийн анхны тусгай програмчлалын хэл юм. Энэ хэлийг 1956-1959 онд Америкийн хэсэг мэргэжилтнүүд боловсруулсан. математикч Дуглас Т.Россын удирдлаган дор. COBOL хэл ( хамтранмммон Бхэрэглээ - Очиглүүлсэн Лөнцөг), 1959 онд Грейс Мюррей Хопперын удирдлаган дор АНУ-д бүтээгдсэн бөгөөд эдийн засгийн мэдээллийг боловсруулахад чиглэгддэг. Математикч Грейс Мюррей Хоппер COBOL төслийг хоёрдугаар зэргийн ахмад цолтойгоор удирдаж, дараа нь конт-адмирал болжээ. Г.М. Хопперыг COBOL-ийн "ээж, эмээ" гэж нэрлэдэг.


(Грэйс Мюррей Хоппер)

Орчин үеийн вэб програмчлалын хэл болох Perl болон PHP-ийг мөн тусгай хэл гэж ангилж болно. Rapira, E-language (Орос), SMR (Их Британи), LOGO (АНУ) хэлүүдийг програмчлалыг заахад зориулагдсан хэл гэж ангилж болно.

Өнөөдөр хамгийн түгээмэл програмчлалын хэл бол C++, Delphi, Java, Pascal, Visual Basic, Python юм.

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

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

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

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

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

Логик хэлүүд

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

Анхны логик програмчлалын хэл нь Planner хэл бөгөөд үүнийг 1969 онд Массачусетсийн Технологийн Институтын Хиймэл оюун ухааны лабораторид Карл Хьюитт боловсруулсан. Энэ хэл нь өгөгдлөөс автоматаар үр дүнг гаргаж авах (олж авах) боломж дээр суурилж, өгөгдсөн хувилбаруудыг тоолох замаар дүрмүүд (бүгдийг нь төлөвлөгөө гэж нэрлэдэг). Гэхдээ хамгийн алдартай логик програмчлалын хэл бол 1971 онд Францад Марселийн их сургуульд Ален Колмерауэр үүсгэсэн PROLOG (Prolog) юм.

Ален Колмеро
(Ален Колмерауэр)

PROLOGUE програм нь баримт, дүрэм гэсэн хоёр хэсгээс бүрдэнэ. Баримт нь программ дээр ажилладаг өгөгдөл бөгөөд баримтуудын цуглуулга нь PROLOG мэдээллийн санг бүрдүүлдэг бөгөөд энэ нь үндсэндээ харилцааны мэдээллийн сан юм. Өгөгдөл дээр хийгддэг гол үйл ажиллагаа нь тааруулах үйлдэл бөгөөд үүнийг нэгтгэх буюу нэгтгэх ажиллагаа гэж нэрлэдэг. Дүрэм нь гарчиг, дэд зорилгоос бүрдэнэ. PROLOG дээр бичигдсэн программыг гүйцэтгэх нь асуулгаас эхэлж, өгөгдсөн баримт, дүрмийн хүрээнд зарим логик мэдэгдлийн үнэнийг нотлохоос бүрдэнэ. Энэхүү нотолгооны алгоритм (логик дүгнэлтийн алгоритм) нь PROLOGUE хэл дээр бичигдсэн программыг гүйцэтгэх зарчмуудыг тодорхойлдог.

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

ээж ("Даша", "Маша").

ээж ("Наташа", "Даша").

Үүнээс гадна эмээгийн харилцааг танилцуулах дүрэм байдаг:

эмээ(X,Y):-

Одоо бид энэ эсвэл тэр хүний ​​эмээ хэн бэ, эсвэл тодорхой эмэгтэйн ач охин (ач) хэн бэ гэсэн асуултуудыг тавьж болно.

эмээ("Наташа", X).

Энэхүү хүсэлтийн хариуг PROLOG систем дараах байдлаар өгнө.

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

Өнөөдөр логик хэлний бүхэл бүтэн анги байдаг; Тиймээс QA-4, Popler, Conniver, QLISP логик програмчлалын хэлүүд нь мөн Planner хэлнээс гаралтай. Mercury, Visual Prolog, Oz, Fril програмчлалын хэлүүд нь Prolog-ээс гаралтай.

Функциональ хэлүүд

Анхны функциональ төрлийн хэл бол 1956-1959 онд Массачусетсийн Технологийн Институтэд бүтээгдсэн LISP хэл юм. Жон МакКарти 1956 онд Дартмутын бага хурал дээр (АНУ) "хиймэл оюун ухаан" гэсэн нэр томъёог анх санаачилсан.

Жон Маккарти

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

Үзэсгэлэнгийн дараа LISP-д функциональ хэл, бэлгэдлийн хэл, жагсаалт боловсруулах хэл, рекурсив хэл зэрэг онцлог шинж чанаруудыг тусгасан олон эпитетүүдийг өгсөн. Өнөөдрийн ангиллын үүднээс авч үзвэл LISP хэл нь -тооцооны аргад (-тооцооны аргыг өнгөрсөн зууны 30-аад онд А.Черч боловсруулсан бөгөөд хатуу хэллэгээр боловсруулсан) функциональ төрлийн програмчлалын хэл гэж тодорхойлогддог. тооцоолж болох функцүүдийн математик загвар, үзнэ үү. "Алгоритмын онол").

Функциональ хэлээр бичигдсэн програм нь бусад утгуудын функцээр өгөгдсөн функц, утгуудыг тодорхойлсон эрэмблэгдээгүй тэгшитгэлээс бүрдэнэ. LISP программууд болон өгөгдөл нь жагсаалтын бүтэц хэлбэрээр хадгалагддаг бэлгэдлийн илэрхийлэл хэлбэрээр байдаг. LISP нь хоёр төрлийн объекттой харьцдаг: атомуудТэгээд жагсаалтууд. Атомууд нь тоон болон бэлгэдлийн (үзэл баримтлал, материал, хүмүүс гэх мэт) байж болох объектуудыг тодорхойлоход хэрэглэгддэг тэмдэг юм. Жагсаалт нь хаалтанд орсон тэг буюу түүнээс дээш элементийн дараалал бөгөөд тэдгээр нь атом эсвэл жагсаалт юм. Жагсаалтууд дээр гурван үндсэн үйлдлийг гүйцэтгэдэг: жагсаалтын эхний элементийг задлах; эхний элементийг устгасны дараа жагсаалтын үлдсэн хэсгийг авах; Жагсаалтын эхний элемент L ба жагсаалтын бусад Q элементийн нэгдэл.

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

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

LISP-ээс гадна функциональ хэлнүүдэд REFAL (60-аад оны дундуур В.Ф. Турчин Ломоносовын нэрэмжит Москвагийн Улсын Их Сургуульд боловсруулсан), Haskell, Clean, ML, OCaml, F# орно.

Алдартай алгоритмын тайлбарын жишээг өгье хурдан ангилахХаскелл дахь жагсаалт:

qsort (x:xs) = qsort elts_lt_x ++ [x]

Qsort elts_greq_x хаана

elts_lt_x =

elts_greq_x =

Энд хоосон жагсаалтыг аль хэдийн эрэмбэлсэн гэж бичсэн байна. Хоосон бус жагсаалтыг эрэмбэлэх нь жагсаалтыг гурав болгон хуваах явдал юм: эх жагсаалтын толгойноос бага элементүүдийн жагсаалт, эх жагсаалтын толгой ([x]), жагсаалтын сүүл хэсгийн элементүүдийн жагсаалт. анхны жагсаалт x-ээс их буюу тэнцүү.

Объект хандалтат хэлүүд

Объект хандалтат хэлүүдУламжлалт програмчлалын системд хэрэглэгддэг процедур ба өгөгдлийн тухай ойлголтыг "объект" гэсэн ойлголтоор сольсон хэлүүд юм ("өгүүллийг үзнэ үү" Объект хандалтат програмчлал”). SmallTalk нь цэвэр хэлбэрээрээ объект хандалтат програмчлалын хэл гэж тооцогддог бөгөөд объект хандалтат програмчлалын боломжуудыг Java, C++, Delphi хэл дээр мөн тусгасан байдаг.

Орчин үеийн програмчлалын цаашдын хөгжил нь "зэрэгцээ програмчлал" гэж нэрлэгддэг зүйлтэй холбоотой юм. Энэхүү технологийг хэрэгжүүлэхийн тулд объект хандалтат тусгай хэлүүдийг боловсруулж байна. Энэ төрлийн хэлэнд жишээ нь MC# ( mcsharp) нь .NET платформд зориулагдсан өндөр түвшний объект хандалтат програмчлалын хэл бөгөөд асинхрон дуудлага бүхий тархсан орчинд ажилладаг программуудыг бий болгоход дэмжлэг үзүүлдэг.

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

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

Аливаа програмчлалын хэл нь өгүүлбэрээс (оператор) бүрдэнэ. Өгүүлбэрүүд (үг гэх мэт) зарим цагаан толгойн үсгээр тодорхойлогддог C. Хэлний синтакс нь гадна талаасаа сайн боловсруулсан программуудыг илэрхийлэх С цагаан толгойн дээрх өгүүлбэрүүдийн багцыг тодорхойлдог.

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

Албан ёсны хэлний мэдлэг (цагаан толгой + синтакс), хэдийгээр тогтооход хангалттай синтаксийн зөв байдалхөтөлбөр, гэхдээ түүний зорилго, үйл ажиллагааны хэлбэрийг ойлгоход хангалтгүй. Програмчлалын хэл дээрх програмын утга, үйл ажиллагааны горимыг семантикийг зааж өгдөг.

Хэлний семантик нь албан ёсны хэлний үгсийг тайлбарлах дүрэм, i.e. бие даасан хэлний элементүүдийн утгыг тогтоох.

Албан ёсны хэл, түүний дотор програмчлалын хэлийг тодорхойлохын тулд BNF (Backus-Naur хэлбэрүүд) болон синтакс диаграммуудыг ашигладаг. Эдгээр нь тайлбарлах хоёр өөр арга зам юм.

Програмчлалын хэлийг BNF хэлээр тайлбарлахдаа дараах тэмдэглэгээг ашиглана.

1) <..>- тодорхойлсон үг;

2) R - үг үүсгэх синтаксийн дүрэм;

3) ::= - BNF дүрэм.

Тус бүр Ртогтоно терминал үгсэсвэл жетонхэл болон магадгүй дараах тэмдэгтүүд:

· [..] - энэ элемент нь BNF-д байдаг;

· (..) - энэ тохиолдлыг BNF-д ашиглаж болно;

· (..)* - энэ тохиолдлыг BNF-д хязгаарлагдмал олон удаа ашиглаж болно.

Жишээ 1Бүхэл тоог тодорхойлдог BNF дүрмийн жишээг өгье.

Энэ дүрмийг дараах байдлаар уншина: "Бүхэл тоо гэдэг нь 0 тэмдэгт эсвэл "-" тэмдэгтээр эхэлж болох тэмдэгтүүдийн дараалал, тэгээс өөр цифр, дараа нь ямар ч төгсгөлтэй цифрүүдийн дараалал юм."

BNF-тэй төстэй, албан ёсны хэлийг дүрслэх тусгай хэлбэр бол синтаксик диаграмм юм. Синтакс диаграммд гурван төрлийн элементийг ашигладаг: зууван/тойрог, тэгш өнцөгт, сум. Төгсгөлийн үг буюу лексемийг зууван хэлбэрээр, тодорхойлсон үгийг тэгш өнцөгт хэлбэрээр байрлуулна. Синтакс диаграмаар дамжуулан хэлийг графикаар дүрслэх нь хэлний тайлбарыг нүдээр харуулах болно.

Жишээ 2. Синтакс диаграммыг ашиглан бүхэл тоог дүрслэх.

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

Яагаад шинэ хэлүүд гарч ирж, хуучин хэлүүд сайжирч байгааг тайлбарлах хэрэгтэй: юуны өмнө энэ нь алдаа агуулаагүй нарийн төвөгтэй програмуудыг хурдан бичих хэрэгсэл хайж байх үед тохиолддог. 1974 онд АНУ-ын Батлан ​​хамгаалах яаманд ADA хэлийг (анхны эмэгтэй програмист, Байроны охин Ада Лавлейсийн нэрээр нэрлэсэн) бий болгох ажлыг эхлүүлсэн жишээг мэддэг. АНУ-ын арми суулгагдсан компьютерийн системийг (пуужингийн чиглүүлэгч систем гэх мэт) хөгжүүлж, засварлахад маш их цаг хугацаа, хүчин чармайлт, мөнгөө дэмий үрж байгаагаа ойлгосон бөгөөд програмчлалын хэл дээрх нарийн алдаа нь жинхэнэ гамшигт хүргэдэг.

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

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

Одоогийн байдлаар програмчлалыг заах хамгийн түгээмэл хоёр арга байдаг:

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

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

Эхний аргыг ерөнхий боловсролын бага сургуульд програмчлалын үндсийг заахдаа Rapier, E-language, LOGO гэх мэт тусгай хэлээр ашигладаг. Эдгээр хэл нь бага сургуулийн сурагчдын боломжийг харгалзан үздэг. Энэ арга нь 5-6-р ангийн компьютерийн шинжлэх ухааныг гүнзгийрүүлэн судлахад тохиромжтой.

Хоёрдахь аргын тухайд бид стандарт хэлний орчин үеийн ихэнх хувилбарууд нь техникийн нарийн ширийн зүйлсээр дүүрэн бөгөөд сурахад хэцүү гэж хэлж болно. Гэсэн хэдий ч 8-11-р ангид компьютерийн шинжлэх ухааны хичээл заадаг ерөнхий боловсролын сургуулийн хувьд хамгийн тохиромжтой зүйл бол стандарт хэл дээр суурилсан програмчлалын онолын үндсийг заах явдал юм. Энэ тохиолдолд хэлний гүн рүү орох шаардлагагүй. Сонирхсон оюутнууд өөрсдөө хийж болно. Алгоритмийн бүтцээс програмчлалын хэл дээр програм хангамжийг хэрэгжүүлэхэд шилжихэд хамгийн их анхаарал хандуулах хэрэгтэй.

Паскаль хэл нь анх боловсролын хэл хэлбэрээр бүтээгдсэн боловч цаг хугацаа өнгөрөхөд стандарт хэл болон өргөн тархаж, Delphi-ийн визуал програмчлалын технологиор объект хандалтат хэл болон хөгжсөнийг энд тэмдэглэх нь зүйтэй. Pascal эсвэл Basic хэлийг 8-9-р ангийн хичээлийн үндэс болгон авч болох ба 10-11-р ангийн өргөтгөсөн (заавал биш) хичээлийн хувьд сурагчдад объект хандалтат өргөтгөлүүдтэй (Delphi болон Visual Basic) танилцуулна. Хэл болгон өөрийн дэмжигчид, эсэргүүцэгчидтэй бөгөөд эцсийн сонголт нь багшаас хамаарна.

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

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

Төмөр замын хэлний тухай Галт тэрэг “Красные Зори” платформоор зогсолтгүй өнгөрнө” гэжээ. Жолооч "зогсоох" үйл үг биш "зогсоох" гэсэн нэр үг ашигласан болохыг анхаарна уу. Зогсоол гэдэг төмөр замчдын хувьд маш чухал ойлголт. Галт тэрэг "зогсоодог" байж болох ч "зогсоодоггүй". Турчин [Турчин 2000], үүнтэй төстэй жишээг дурдахад, мэргэжлийн явцуу зорилгоор ашигласан хэлийг албан ёсны болгохыг харуулж байна.

Албан ёсны хэлийг дараах байдлаар тодорхойлж болно [Турчин 2000]. Бодит байдлын хоёр давхар хэлний загварыг авч үзье (Зураг 4. 4). Нөхцөл байдал si нь Li хэлний объектоор кодлогдсон байдаг. L1 объект нь si-ийн нэр юм. Хэсэг хугацааны дараа S1 нөхцөл байдал S2 нөхцөлөөр солигдоно. Хэлний зарим үйлдлийг хийснээр бид L1-ийг өөр объект - L2 болгон хувиргадаг. Хэрэв бидний загвар зөв бол L2 нь S2-ийн нэр юм. Үүний үр дүнд бодит нөхцөл байдал S2-ийг мэдэхгүйгээр бид L2 хэлний объектыг декодлох замаар энэ тухай ойлголттой болно. L1->L2 хувиргалтыг хийснээр хэл албан ёсны болох эсэхийг тодорхойлно.

    Албан ёсны хэлний хувьд L1->L2 хувиргалтыг зөвхөн түүнд оролцдог Li хэлний объектууд тодорхойлдог бөгөөд тухайн хэлний семантикт тохирох хэлний дүрслэлээс хамаардаггүй.

    Албан ёсны бус хэлний хувьд Ли хэл шинжлэлийн объектын хувирлын үр дүн нь зөвхөн Li дүрслэлийн төрлөөс гадна хүний ​​толгойд бий болгож буй дүрслэл, түүний орж буй холбооноос хамаарна.

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

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

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

Загварчлах хэлүүд

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

    загварын элементүүд - загварчлалын үндсэн ойлголтууд ба тэдгээрийн семантик;

    тэмдэглэгээ - загварчлах элементүүдийн дүрслэл;

    хэрэглээний гарын авлага - домэйн загварыг бий болгох хүрээнд элементүүдийг ашиглах дүрэм.

Програмчлалын хэл ба нэгдсэн орчин

    Анхны FRAMEWORK нэгдсэн орчныг бүтээгчийн хэлснээр нэгдсэн орчин гэдэг нь ажлын өдрийн эхэнд ажиллуулсан хэрэглэгч түүн дээр ажиллахад шаардлагатай бүх нөөцийг олдог тул нэгдсэн программаас гарахгүй тийм хэрэглээний программ юм. ажлын өдрийн төгсгөл хүртэл орчин. Мэдээжийн хэрэг, энэ тодорхойлолт нь тийм ч зөв биш бөгөөд зарим талаараа нөхцөл байдлыг оновчтой болгодог боловч ерөнхий утга нь хангалттай тодорхой юм. Нэгдсэн орчны гол онцлог нь харилцан үйлчлэлийн өндөр түвшин юм. Энэ нь янз бүрийн програм хангамжийн нөөцийг нэгдмэл байдлаар нэгтгэх замаар хийгддэг, иймээс энэ нэр. Тиймээс програмчлалын хэлний хөрвүүлэгчийн нэгдсэн орчин (энэ програмчлалын хэлний текстээс гүйцэтгэгдэх программ үүсгэдэг програм) нь ихэвчлэн текст засварлагч болон эмхэтгэлийн алдааны оношлогооны систем бүхий хөрвүүлэгч өөрөө агуулдаг. Нэмж дурдахад энэ нь ихэвчлэн дибаглагчтай байдаг - энэ хэлний орчуулагч нь програмыг мөр мөрөөр гүйцэтгэдэг бөгөөд бусад олон онцлог шинж чанартай байдаг. Идэвхтэй хөгжиж буй чиглэлүүдийн нэг болох харааны дизайн нь нэгдсэн орчны чадавхийг ашиглахад бүрэн суурилдаг. Хэрэглэгч өөрийн хөтөлбөрт шаардлагатай програмчлалын хэлний объектуудыг интерактив байдлаар сонгож, тэдгээрийн хооронд холбоосыг тогтоодог. Visual BASIC (Microsoft), Object PASCAL (Delphi болон Kylix, Borland орчин) зэрэг хэлнүүдийн алдар нэр нь санамсаргүй биш юм. BASIC-аас өөр програмчлалын хэл мэддэггүй, Windows дээр хэзээ ч програмчилж байгаагүй туршлагагүй програмист хүртэл хоёр, гурван өдрийн дотор Visual BASIC ашиглан Windows дээр ажилладаг хэрэглээний программ үүсгэж болно. Гэхдээ өмнө нь Windows дээр программчлаагүй өндөр зэрэглэлийн програмист C ++ ашиглан ижил программыг бүтээхийн тулд долоо хоног, бүр сар зарцуулдаг. Visual BASIC нь хэд хэдэн чухал хязгаарлалттай байдаг нь үнэн. Визуал дизайны орчны тусламжтайгаар та гар дээр ганц мөр код бичихгүйгээр маш нарийн төвөгтэй программуудыг үүсгэж болно. Гэсэн хэдий ч уламжлалт процедурын програмчлалын хэл дээр суурилсан бүх програмууд ижил сул талтай байдаг. Тэдний хувьд гүйцэтгэх код нь нэг зүйл, програмын боловсруулсан өгөгдөл нь огт өөр зүйл юм. Үнэн хэрэгтээ, програмын код нь EXE өргөтгөлтэй файлд агуулагддаг бөгөөд өгөгдөл нь тусгай өгөгдлийн файлуудад (ихэвчлэн текст эсвэл компьютерийн дотоод дүрслэлд хоёртын хэлбэрээр) эсвэл гараас эсвэл өөр зүйлээс оруулдаг. гадаад төхөөрөмж. Одоо асуулт асууя: хэрэв хэрэглэгч програмын текстэнд "нэмэлт" гэж үзэж болох программыг гүйцэтгэх боломжтой мэдээллийг өгөх ёстой бол яах вэ? Жишээлбэл, бид функцийн графикийг дэлгэцэн дээр бүтээхийг хүсч байгаа бөгөөд ийм програмд ​​​​үйлчилгээний шаардлагатай бүх боломжуудыг хангадаг. Гэсэн хэдий ч, функцийн томъёог хэрэглэгч өөрөө тохируулах ёстой бөгөөд энэ нь юу болох нь урьдчилан мэдэгддэггүй. Ийм даалгаврыг зөвхөн орчуулагчийн системийн тусламжтайгаар шийдэж болох нь ойлгомжтой. Гэхдээ "чи бүх зүйлийг төлөх ёстой". Хөрвүүлэгч нь програмын текстийг хөрвүүлэгч програмгүйгээр ажиллах боломжтой гүйцэтгэх код болгон хөрвүүлдэг. Тайлбарлах төрлийн хэл дээр үндэслэн бүтээсэн програмуудыг зөвхөн орчуулагч програмын хяналтан дор ажиллуулж болно. Тэд орчуулгад нэмэлт цаг зарцуулдаг тул эмхэтгэсэнтэй харьцуулахад удаан байдаг. Гэсэн хэдий ч ихэнх тохиолдолд энэ нь тийм ч чухал биш юм.

Үүсгэсэн огноо: 1963 нөлөөлсөн:АШИГ Бичих:бичээгүй Аялгуу:

    Applesoft BASIC

    Commodore BASIC

    Microsoft BASIC

Хэрэгжилт ба хувилбарууд:

  • Javascript дээр Applesoft BASIC орчуулагч

    Atari Microsoft BASIC I/II

  • Commodore BASIC

    Галакси үндсэн

    Microsoft Visual Basic

  • Програмд ​​зориулсан Visual Basic

BASIC (BASIC - Beginner's All-purpose Symbolic Instruction Code гэсэн үгийн товчлол - эхлэн суралцагчдад зориулсан симбол зааврын бүх нийтийн код; англи хэлний үндсэн - үндсэн, үндсэн) - дээд түвшний програмчлалын хэлнүүдийн гэр бүл.

BASIC-ийг 1963 онд Дартмут коллежийн профессор Жон Кемени, Томас Курц нар санаачилж, тэдний удирдлаган дор коллежийн оюутнуудын баг хэрэгжүүлсэн. Цаг хугацаа өнгөрөхөд бусад аялгуу гарч ирэхийн хэрээр энэхүү "анхны" аялгууг Dartmouth BASIC гэж нэрлэх болсон.

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

Хэлний загвар гаргахдаа дараах найман зарчмыг ашигласан.

    эхлэгчдэд хэрэглэхэд хялбар байх;

    ерөнхий зориулалтын програмчлалын хэл байх;

    туршлагатай програмистуудад ашиглах боломжтой функцийг өргөжүүлэх боломжийг олгох;

    интерактив байх;

    тодорхой алдааны мэдэгдлүүдийг өгөх;

    жижиг програмууд дээр хурдан ажиллах;

    тоног төхөөрөмжийн үйл ажиллагааны талаархи ойлголтыг шаарддаггүй;

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

Энэ хэл нь хэсэгчлэн Fortran II, хэсэгчлэн Algol-60 дээр суурилсан бөгөөд цаг хуваалцах, текст боловсруулах, матрицын арифметик хийхэд тохиромжтой болгох нэмэлтүүдтэй. BASIC нь анх GE-265 дээр олон терминалын дэмжлэгтэйгээр хэрэгжсэн. Олон нийтийн итгэл үнэмшлээс үл хамааран энэ нь анх байгуулагдах үедээ эмхэтгэсэн хэл байв. Энэ хэл нь Altair 8800 микрокомпьютер дээр гарч ирснээсээ хойш түгээмэл болсон. Олон програмчлалын хэлүүд нь жижиг санах ойд багтахгүй хэтэрхий төвөгтэй байсан. Цаасан соронзон хальс, аудио кассет зэрэг удаан зөөвөрлөгчтэй, тохирох текст засварлагчгүй машинуудын хувьд BASIC шиг жижиг хэл нь бурханы хишиг байсан. 1975 онд Майкрософт (тэр үед зөвхөн хоёр байсан - Билл Гейтс, Пол Аллен нар Монте Давидовын оролцоотойгоор) Altair BASIC-ийг гаргасан. CP / M үйлдлийн системийн хувьд BASIC-80 аялгууг бүтээсэн бөгөөд энэ нь хэлний хөгжлийг удаан хугацаанд тодорхойлсон. Энэ хугацаанд BASIC-ийн хэд хэдэн шинэ хувилбар бий болсон. Майкрософт MS-DOS/PC-DOS-д зориулсан BASIC-ийн хэд хэдэн хувилбаруудыг худалдсан бөгөөд үүнд BASICA, GWBASIC, Quick BASIC (QBASIC) багтсан. Borland 1985 онд Turbo BASIC 1.0-ийг гаргасан (түүний залгамжлагчдыг PowerBASIC нэрээр өөр компани зарсан). Төрөл бүрийн BASIC өргөтгөлүүд гэрийн компьютер дээр гарч ирсэн бөгөөд үүнд ихэвчлэн график, дуу чимээ, DOS командуудыг гүйцэтгэх хэрэгслүүд, түүнчлэн бүтцийн програмчлалын хэрэгслүүд багтдаг. Бусад зарим хэлүүд нь сайн мэддэг BASIC синтаксийг огт өөр системийг бий болгох үндэс болгон ашигласан (жишээлбэл, GRASS-ийг үзнэ үү). Гэсэн хэдий ч 80-аад оны сүүлчээс эхлэн шинэ компьютерууд илүү төвөгтэй болж, BASIC програмчлалын хувьд тийм ч тохиромжтой байхаа больсон функцуудыг (хэрэглэгчийн график интерфэйс гэх мэт) өгсөн. Маш олон тооны хувилбарууд нь ашиглагдаж, зарагдсан хэвээр байсан ч BASIC байр сууриа алдаж эхлэв. Microsoft-ын Visual Basic бий болсноор BASIC хоёр дахь амьдралаа хүлээн авсан. Энэ нь Microsoft Windows платформ дээр хамгийн их хэрэглэгддэг хэлнүүдийн нэг болсон. Дараа нь WordBasic нэртэй хувилбарыг үүсгэсэн бөгөөд Word 97 гарч ирэх хүртэл MS Word програмд ​​ашиглагдаж байсан. Visual Basic for Applications (VBA) хувилбарыг 1993 онд Excel 5.0, дараа нь 1995 онд Access 95-д суулгасан ба бусад бүх хэрэгслүүдийн дараа , Оффисын багцад багтсан - 1997 онд. Internet Explorer 3.0 ба түүнээс дээш хувилбарууд, мөн Microsoft Outlook нь VBScript хэлний орчуулагчтай. OpenOffice.org багцын бүрэн хувилбар нь мөн BASIC орчуулагчтай.

Сайн уу, Дэлхий!: QBasic 1.1, QuickBasic 4.50-ийн жишээ

ХЭВЛЭХ " Сайн уу , Дэлхий !"

Факториал: QBasic 1.1, QuickBasic 4.50-ийн жишээ

Факториалын давталтын тодорхойлолтыг ашигладаг. 13-ыг тооцоолохдоо! арифметик халилт үүсдэг бөгөөд энд өөр өөр хэрэгжүүлэлтийн зан байдал өөр байна: QBasic халилтыг мэдээлдэг бол QuickBasic нь зүгээр л сөрөг утгыг хэвлэдэг. Түүнчлэн, PRINT команд нь анхдагчаар тооны өмнө болон хойно нэг зайг хэвлэдэг.

DIM f AS LONG f = 1 PRINT "0 !="; f FOR i = 1-ээс 16:

f = f*i:

PRINTi; "!="; е

АЛБАН ЁСНЫ ХЭЛ- зарим онолыг илэрхийлэх зорилготой хиймэл тэмдгийн систем. Албан ёсны хэл нь хүний ​​​​харилцаа, сэтгэхүйн байгалийн (үндэсний) хэлээс, эсперанто гэх мэт зохиомол хэлнээс, байгалийн тодорхой хэсгийг хослуулсан шинжлэх ухааны "техникийн" хэлээс ялгаатай. холбогдох шинжлэх ухааны тэмдэг бүхий хэл (химийн хэл, энгийн математикийн хэл гэх мэт), алгоритмын хэл ерөнхий програмчлалын төрөл гэх мэт. Юуны өмнө, түүний даалгавар нь логик үр дагавар ба нотлох чадварын (эсвэл тэдгээрийн аналоги) хамаарлыг нэвтрүүлэх боломжийг олгодог тодорхой логик агуулгыг засах (албан ёсны болгох) хэрэгсэл болж ажиллах явдал юм. Түүхийн хувьд анхны албан ёсны хэл нь байсан силлогистик Аристотель, стандартчилагдсан байгалийн (Грек) хэлний фрагмент ашиглан хэрэгжүүлсэн. Албан ёсны хэлний тухай ерөнхий санааг Лейбниц (characteristica universalis) томъёолсон бөгөөд энэ нь түүнийг "дүгнэлтийн тооцоолол" - тооцооллын харьцаанд шилжүүлэх боломжийг олгосон. Орчин үед логик ба алгебрийн аналоги дээр үндэслэн албан ёсны хэлнүүдийн янз бүрийн хувилбаруудыг боловсруулсан. Энд гол үе нь ажил байсан Моргана , Boole болон тэдний дагалдагчид, ялангуяа Шрөдер Тэгээд Порецкий . Орчин үеийн албан ёсны хэлүүд - хамгийн түгээмэл хэлбэрүүдээрээ - ажилдаа буцаж ирдэг. Фреж "Begriffsschrift" - "Үзэл баримтлалд бичлэг хийх" (1879) нь саналын логик хэл ба (үүнийг хамарсан) (олон газар) предикатуудын логик, түүнчлэн эдгээр логикийг ашиглах хөгжлийн гол шугам юм. Математикийг үндэслэлтэй болгох асуудалд хэл шинжлэлийн арга хэрэгсэл.

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

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

Албан ёсны хэл нь ихэвчлэн синтакс ба семантикийн хувьд тодорхойлогддог. Гэхдээ хамгийн чухал зүйл бол түүний томъёоны логик шинж чанар бөгөөд үүнийг дүгнэлтийн дүрмээр (үнэн, нотлох, баталгаажуулах, магадлал гэх мэт) хадгалдаг. Аливаа албан ёсны хэлний хувьд үндсэн асуудал бол түүгээр илэрхийлсэн логикийн бүрэн бүтэн байдал, түүний шийдэмгий байдал, тууштай байдал юм; жишээ нь сонгодог хэл саналын логик бүрэн, шийдвэрлэх боломжтой, тууштай, сонгодог предикат логик (олон) хэдийгээр бүрэн гүйцэд боловч шийдвэрлэх боломжгүй; Өргөтгөсөн предикатын тооцооны хэл - предикатаар тоологч, хийсвэрлэх зарчмыг хязгааргүй хэрэглэх нь зөрчилтэй байдаг (ийм л Фрежийн логик-арифметик систем байсан бөгөөд Рассел түүний нэрээр нэрлэсэн антиномийг нээсэн).

Албан ёсны хэл нь "цэвэр хэлбэр" байж болно, өөрөөр хэлбэл. аливаа экстралоги мэдээлэл авч явахгүй байх; Хэрэв энэ нь түүнийг авч явдаг бол энэ нь хэрэглээний албан ёсны хэл болж хувирдаг бөгөөд түүний өвөрмөц байдал нь байнгын предикат, нэр томъёо (тайлбар) байх явдал юм. арифметик - хэрэглээний талбайн шинж чанарыг тусгасан. Хийсвэрлэлийн өндөр түвшний онолыг албан ёсны болгохын тулд албан ёсны хэлийг янз бүрийн аргаар өөрчлөх, өргөтгөх эсвэл "бүтээж" болно; Жишээ нь: сонгодог тооцооллыг хоёр дахь эрэмбийн арифметик болгон албан ёсны болгох (жишээ нь предикат хувьсагчийн тоон үзүүлэлттэй). Хэд хэдэн тохиолдолд албан ёсны хэл нь олон, бүр хязгааргүй олон дарааллын логик бүтцийг агуулдаг (жишээлбэл, конструктив математикийг албан ёсны болгоход үйлчилдэг А.А. Марковын “хэлний цамхаг” гэх мэт, эсвэл хэлбэр дүрсийг тайлбарлах). "боломжтой ертөнц"-ийн шатлал). Албан ёсны логик хэлний семантик суурь нь олонлогийн онол, алгебр, магадлал, тоглоомын онол гэх мэт байж болно. Зөвхөн магадлалын семантиктай төстэй "сул тал" байж болно. албан ёсны хэллэг "тодорхойгүй логик" гарч ирдэг (Заде гэдэг утгаараа). Дараа нь тухайн хэл нь төрөлх хэлээр ярьдаг хүний ​​хүчин зүйлийг харгалзан тодорхой прагматикийг олж авдаг (энэ ойлголтын хамрах хүрээний субьектийн "харьяалах функц" -ийн үнэлгээг өгөх). Эндээс л албан ёсны хэл дээр "хүний ​​хүчин зүйл" -ийг нэг эсвэл өөр хэлбэрээр харгалзан үзэх хандлага улам бүр нэмэгдэж байгаа нь квант механикийн логикийн зарим албан ёсны хэл дээр тодорхой харагдаж байна. Өөр нэг чиглэлд, семантик нь оршин тогтнох таамаглал эсвэл тодорхой онтологийн урьдчилсан нөхцөлийг үгүйсгэхийг илэрхийлдэг албан ёсны хэлийг хөгжүүлэх явдал юм - хязгааргүй тооны байртай дүрмийг хүлээн зөвшөөрөх, "олон төрлийн" сэдэвтэй, бүр зөрчилдөөнтэй. нэг гэх мэт.

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

Уран зохиол:

1. Сүм А.Математик логикийн оршил, 1-р боть. М., 1960;

2. Клин С.К.Метаматематикийн танилцуулга. М., 1957;

3. Карри Х.Математик логикийн үндэс. М., 1969;

4. Фрейденталь Х.Логик хэл. М., 1969;

5. Смирнова Е.Д.Албан ёсны хэл ба логик семантикийн асуудлууд. М., 1982.

АЛБАН ЁСНЫ (FORTAL) ХЭЛНҮҮД

ОЙЛГОХ

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

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

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

Албан ёсны хэлийг ихэвчлэн математикийн хэл дээр үндэслэн бүтээдэг.

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

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

Бүх албан ёсны хэл нь хэн нэгний бүтээсэн бүтэц юм. Тэдгээрийн ихэнх нь дараахь схемийн дагуу баригдсан.

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

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

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

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

ЖИШЭЭ 1

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

Логик-математик хэлэнд илэрхийлэлүүдийн дунд байдаг нөхцөл Тэгээд томъёо .

ThermaeЭдгээр нь объектын нэрсийн аналог бөгөөд тэдгээрийн гол зорилго нь зарим объектыг тодорхойлох явдал юм.

Нэр томьёо нь үндсэндээ субьект хувьсагч ба тогтмолуудыг агуулдаг - тодорхой объектыг тодорхойлоход үйлчилдэг илэрхийлэл.

Илүү нарийн төвөгтэй нэр томъёог тодорхой дүрмийн дагуу субьект хувьсагч ба тогтмолуудаас бүтээдэг. Үүнд ихэвчлэн хэл дээр зөвшөөрөгдсөн функцуудыг ашигладаг.

ЖИШЭЭ 2

Логикийн хувьд ийм функцууд нь урвуу (), холболт (), дизюнкц (), импликация () гэх мэт.

Логик алгебр дахь нэр томъёоны жишээ:

ГЭХДЭЭ; AB A; (AC).

Програмчлалын хэлэнд арифметик үйлдлүүд, харилцааны үйлдлүүд (,

Паскаль програмчлалын хэл дээрх нэр томъёоны жишээ:

ГЭХДЭЭ; prog_1; ((A1+25)3*B) ба (B0)); 2+sqrt(z*sin(b)).

Томъёо

ЖИШЭЭ 3

Логик томъёоны жишээ:

(АС)  АС = 1; x((x)(x))

Хөтөлбөрийн хэллэгийг програмчлалын хэлээр томъёо гэж нэрлэж болно.

Паскаль програмчлалын хэлний "томьёо"-ны жишээ:

A:= 2+sqrt(Z*sin(B)); хэрэв F3 бол (R) өөрөөр бичнэ R:=sqr(F);

Тодорхой байгаа тохиолдолд л утга учиртай илэрхийлэлийг албан ёсны хэлээр олж авдаг дүрэм журамнэр томьёо, томьёог бүрдүүлэх, өөрчлөх, "ойлгох". Эдгээр дүрмүүдэд:

    барилгын дүрэм нэр томъёо, томъёо;

    тайлбарын дүрэм нэр томъёо, томъёо (хэлний утгын тал);

    дүгнэлтийн дүрэм

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

ЖИШЭЭ 4

Паскал оператор

хэрэв F3 бол (R) өөрөөр бичнэ R:=sqr(F);

дараах дүрмийн дагуу тайлбарлана.

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

    хувьсагч (хамгийн энгийн нэр томъёо) F ба R-ийг өмнө нь тодорхойлсон байх ёстой, өөрөөр хэлбэл эдгээр нэртэй нүднүүд нь харгалзах төрлийн зарим утгыг агуулсан байх ёстой (Паскалийн зарим хувилбаруудын хувьд энэ дүрэм нь хэлний синтакст ороогүй болно). Энэ тохиолдолд өгөгдсөн хаягтай нүднүүдэд агуулагдсан, аравтын бутархай тоо гэж ойлгогдох тэг ба нэгүүдийн дарааллыг сонгоно);

    хэрэв түлхүүр үгийн (нөөцлөгдсөн) үгийн дараах илэрхийллийн утга ("F3" нийлмэл нэр томъёо) if "үнэн" бол түлхүүр үгийн дараах мэдэгдлийг гүйцэтгэнэ (F хувьсагчийн утгыг дэлгэцэн дээр харуулна); Хэрэв түүний утга "худал" бол else түлхүүр үгийн дараа байрлах оператор ажиллана (F хувьсагчийн утгын квадратыг тооцоолж, үр дүнг R нэртэй нүдэнд байрлуулна).

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

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

МЭДЭХ

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

Албан ёсны хэлийг бүтээхдээ хүн өөрөө сонгодог цагаан толгой , мөн дүрсэлсэн байна синтакс хэл.

Цагаан толгой- хэлний бүх илэрхийллийг бүтээх анхны тэмдэгтүүдийн багц.

Илэрхийлэл албан ёсны хэл нь нэр томъёо, томъёолол юм.

Гол зорилго терма - ямар нэг объектыг тодорхойлох.

Хамгийн энгийн нэр томъёо нь объектын хувьсагч ба тогтмолууд - тодорхой объектыг тодорхойлоход үйлчилдэг илэрхийллүүд.

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

Томъёо хэл дээр зөвшөөрөгдсөн операторуудыг ашигласан нэр томъёоноос бүрддэг.

Синтаксхэл - утга учиртай илэрхийллийг бий болгох дүрмийн багц - үүнд:

    барилгын дүрэм нэр томъёо, томъёо;

    тайлбарын дүрэм нэр томъёо, томъёо;

    дүгнэлтийн дүрэм бусад томьёо, нэр томъёоноос зарим томьёо, нэр томъёо.

гэх мэт албан ёсны хэл логик хэл Тэгээд програмчлалын хэлүүд .

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

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

БОЛОМЖТОЙ БАЙХ

ДАСГАЛ 1

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

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

Програмчлалын хэлэнд юуг нэр томъёо, томьёо гэж үзэж болох вэ?

ХАРИУЛАХ. Програмчлалын хэлний цагаан толгойд програм бичихэд ашиглаж болох бүх тэмдэгтүүд багтдаг.

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

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

ДААЛГАВАР 2

Хэрэв та албан ёсны логикийн үндсийг судалсан бол:

    логик томъёоны албан ёсны өөрчлөлт нь судалж буй объектуудын талаар шинэ мэдлэг олж авах боломжийг олгодог жишээг өгөх;

    томъёог тайлбарла: x ((x)  (x)) эсвэл  (A  A) = 1

ХАРИУЛАХ. 2) зөрчилдөөнгүй байдлын хууль бөгөөд түүний мөн чанар нь: ямар ч мэдэгдэл нэгэн зэрэг үнэн, худал байж болохгүй.

ДААЛГАВАР 3

Аравтын бутархай тооллын системийн цагаан толгой аль нь вэ?

Энэхүү байрлалын тооллын системд тоо үүсэх (бичлэгдэх) үндсэн дүрэм юу вэ?

ХАРИУЛАХ. Цагаан толгой: Аравтын орон, аравтын бутархай (эсвэл таслал) болон нэмэх, хасах тэмдэг. Дүрэм: тоон дахь цифрийн жин нь тухайн тооны тэмдэглэгээний байрлалаас хамаарна.

ДААЛГАВАР 4

"0100 1001 0100 0110" гэсэн хоёртын цагаан толгойн үгийг таны мэддэг програмчлалын системд хэрхэн тайлбарлах вэ (уншигдахуйц байх үүднээс зай оруулсан)?

ХАРИУЛАХ. Паскал хэл дээр эдгээр хоёр байтыг "IF" тэмдэгтийн мөр, байт төрлийн хоёр тоо - 73 ба 70, нэг төрлийн бүхэл тоо - 20758 (18758 ???) гэж тайлбарлаж болно.

ДААЛГАВАР 5

Windows системийн график интерфэйс нь пиктограмм эсвэл дүрс гэх мэт элементүүдийг агуулдаг. Тэдгээрийг энэ системийн хэрэглэгчийн интерфейсийн хэлний цагаан толгойд оруулсан гэж бид үзэж болох уу? Хариултаа зөвтгөөрэй.

ӨӨРИЙГӨӨ ХӨТӨЛБӨРӨӨ ТЭЛГҮҮЛ

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

Шинж тэмдгүүд гарч ирэх шалтгаан нь маш тодорхой юм: танин мэдэхүйн болон үйл ажиллагааны ихэнх объектууд нь танин мэдэхүйн үйл явцад шууд хүлээн авах боломжгүй байдаг.

Гарын үсэг зурах(гр.  - тэмдэг, лат. транскрипт - семеион) нь бусад объект, өмч, харилцааны төлөөлөгчийн үүрэг гүйцэтгэдэг материаллаг объект бөгөөд мессеж (мэдээлэл) олж авах, хадгалах, боловсруулах, дамжуулахад ашиглагддаг. , мэдлэг).

ТАЙЛБАР 1. "Тэмдэг" гэдэг үгийн оронд "нэр", "нэр томьёо", "тэмдэглэл" гэсэн ижил утгатай бусад ойлголтуудыг ашигладаг.

Тэмдгийн онолыг (семиотик) бүтээгчдийн нэг К.П.Пирсийн тодорхойлолтын дагуу. тэмдэг- энэ бол ямар нэгэн шинж чанарын дагуу тухайн сэдвийн хувьд зарим у элементийг (тэмдэглэгээ) орлуулдаг ийм x элемент юм.

тус тус, тэмдэглэгээ- тодорхой нөхцөл байдалд энэ тэмдэг нь юу гэсэн үг вэ.

Тэмдэглэгээзарим хэл шинжлэлийн хийсвэр нэгж (Латин хэлнээс denoto - би зааж өгсөн) - өгөгдсөн тэмдгээр дуудаж болох объектуудын багц.

ТАЙЛБАР 2. Логик дахь "тэмдэглэгээ" гэсэн үгийн оронд бусад (ижил, ижил утгатай) нэрсийг ашигладаг: ихэнхдээ "утга", "тэмдэглэсэн".

Хариуд нь тэмдэг бүр нь тухайн объектын зарим шинж чанарыг тодорхойлдог. Тэмдэгт нь юуг илтгэж байгааг агуулсан мэдээллийг гэнэ үзэл баримтлалтэмдэг (лат. conceptus - ойлголтоос).

ТАЙЛБАР 3. "Үзэл баримтлал" гэсэн нэр томъёо нь "утга", "тэмдэг утга" гэсэн ижил утгатай.

ЖИШЭЭ, "амьтан" гэдэг үгнээс бид "ходоод" гэдэг үгийн эртний утгыг олдог - амьдрал. Амьтад ходоодтой гэдгээрээ бус харин амьд байгаагаараа ходоодны амьдралтай гэдгээрээ ялгаатай. Тиймээс "амьтан" тэмдгийн тухай ойлголт нь амьд биетийн тухай ойлголт бөгөөд тэсрэлт нь тухайн тэмдгийн нөхцөл байдалд зориулагдсан аливаа тодорхой амьд биет юм.

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

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

Үлэмж хандлагатэмдэглэгч ба тэмдэглэгдсэн хоёрын хооронд бол К.Пирсийн хэлснээр “зарим өмчийн хувьд энгийн ерөнхий байдал” юм. Хуулбарлах тэмдэг (дүрс тэмдэг) - хувилсан хуулбар, хуулбарлах (жишээлбэл, гэрэл зураг, хурууны хээ).

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

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

ТАЙЛБАР 4 Бэлгэдлийн тэмдэгтүүдийг заримдаа гэж нэрлэдэг тэмдэг . Оросын нэрт гүн ухаантан П.А.Флоренскийн санаагаар бэлгэдэл бол “өөрөөсөө агуу оршихуй юм. Тэмдэг- энэ бол өөрөө биш, түүнээс агуу, гэхдээ үндсэндээ түүгээр дамжуулан илэрдэг зүйл юм. Жишээлбэл, арслан, бүргэд хоёрыг хослуулсан домогт амьтан Гриффин бол Есүс Христийн бэлгэдлийн нэг юм.

Анхны тэмдэг болон гарч ирсэн тэмдэг нь хожим нь тэмдэгт тэмдэг болдог.

ЖИШЭЭ, Финикийн цагаан толгойн  үсгийг "алеф" гэж нэрлэдэг байсан - бух (энэ нь бухын толгойтой төстэй). Дараа нь тэр гайхалтай тэмдэг болсон. Грек хэл дээр энэ үсэг нь бухтай холбоогүй бөгөөд тэмдэгт тэмдэг болдог.

Математикийн бэлгэдэл хөгжихийн хэрээр дүрсийн тэмдгүүд нь тэмдэгтүүдээр солигддог. Жишээлбэл, ром тоо V нь нээлттэй гартай (таван хуруутай) төстэй байсан бол орчин үеийн 5 нь бэлгэдэл юм.

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

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

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

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

Цагаан будаа. 4.3.1. Фрежийн гурвалжин

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

1) Синоним- янз бүрийн шинж тэмдгүүдийн утгын бүрэн буюу хэсэгчилсэн давхцлаас бүрдэх нөхцөл байдал:

Цагаан будаа. 4.3.2. Синонимын схем

2) тэмдгүүд нь ижил утгатай байж болох боловч өөр өөр утгатай (denotative identity). Жишээлбэл, "нүгэл 30 °" ба "1/2" тэмдгүүд нь ижил утгатай, өөрөөр хэлбэл ижил бодит тоог нэрлэдэг боловч эдгээр тэмдгүүдийн утга өөр байна.

Цагаан будаа. 4.3.3. Дэнотатив таних тэмдгийн схем

3) Олон утгатай(полисеми) - тэмдэг нь нэгээс олон утгатай:

Цагаан будаа. 4.3.4. Полисемийн диаграм

СОНИРХОЛТОЙ БАРИМТ

Түүхийн лавлагаа

Албан ёсны логик хэлийг бий болгох анхны алхмуудыг эрт дээр үеэс хийжээ. Аристотель (МЭӨ 384-322) энгийн ангиллын мэдэгдлийн субьект, предикатуудад зориулсан үсгийн хувьсагчдыг нэвтрүүлсэн бөгөөд Стоикийн сургуулийн тэргүүн Хрисипп (МЭӨ 281-208 он) болон түүний шавь нар ерөнхийд нь мэдэгдлийн хувьсагчдыг нэвтрүүлсэн. 16-р зуунд Р.Декарт (1596-1659) математикийн орчин үеийн албан ёсны хэл болох үсгийн алгебрийн үндсийг бий болгож, Г.В.Лейбниц (1646-1716) Декартын бэлгэдлийг логик руу шилжүүлсэн. Тухайн үеийн логикийн гол хэл нь байгалийн хэл байв. Байгалийн хэлний синтаксик ба семантикийн мэдэгдэхүйц дутагдал (хүндрэл, тодорхой бус байдал, илэрхийлэлийн алдаа, бүдэг синтаксик дүрэм гэх мэт) -ийг ухаарсан Лейбниц тусгай хиймэл хэл - "бүх нийтийн тооцоолол" -ыг бий болгохгүйгээр цаашдын хөгжил гэсэн диссертацийг томъёолжээ. логикийн хувьд боломжгүй юм. Гэвч 19-р зууны төгсгөлд л Лейбницийн санааг Ж.Боул (1815-1864), С.Жевонс (1835-1882), Э.Шрөдер (1841-1902) болон бусад хүмүүсийн судалгаанд боловсруулжээ. - логикийн алгебр гарч ирэв.

Логикийн хэлний цаашдын хөгжил нь Ж.Пеано (1858-1932), Г.Фреге (1848-1925) нарын нэртэй холбоотой. Пеано орчин үеийн математикт хүлээн зөвшөөрөгдсөн хэд хэдэн тэмдэгтүүдийг, тухайлбал олонлогуудын гишүүнчлэл, нэгдэл, огтлолцлыг тус тус илэрхийлэх "", "", "" тэмдэгтүүдийг нэвтрүүлсэн. Фреге орчин үеийн логик тооцооллын бүх үндсэн элементүүдийг агуулсан санал ба предикатуудын аксиоматик тооцоог бүтээжээ.

Фрежийн олж авсан үр дүнд үндэслэн, Пианогийн өөрчилсөн бэлгэдлийг ашиглан Б.Рассел (1872-1970), А.Н.Уайтхед (1861-1947) "Математикийн зарчмууд" (1913) хамтарсан бүтээлдээ албан ёсны үндсэн заалтуудыг томъёолсон. логик хэл.

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

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

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

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

Хэдэн мянган програмчлалын хэл, тэдгээрийн аялгуу (төрөл) байдаг. Тэдгээрийг янз бүрийн аргаар ангилж болно. Зарим зохиогчид бүх төрлийн програмчлалын хэлийг процедурын болон тунхаглалын хэл болгон хуваадаг. Процедурын хэл дээр өгөгдлийн хувиргалтыг тэдгээрт хийх үйлдлийн дарааллыг тайлбарлах замаар тодорхойлдог. Мэдээллийн хэлэнд өгөгдлийн хувиргалтыг үндсэндээ өгөгдөл хоорондын хамаарлыг тайлбарлах замаар тодорхойлдог. Өөр ангиллын дагуу програмчлалын хэлийг процедур, функциональ, логик, объект хандалтат гэж хувааж болно. Гэсэн хэдий ч аливаа ангилал нь зарим талаараа дур зоргоороо байдаг, учир нь дүрмээр бол ихэнх програмчлалын хэлүүд өөр өөр төрлийн хэлний онцлог шинж чанартай байдаг.

Програмчлалын хэлнүүдийн дунд өгөгдлийн сангийн удирдлагын системийн (DBMS) ажиллагааг хангадаг хэлүүд онцгой байр эзэлдэг. Ихэнхдээ хоёр дэд системийг ялгадаг: өгөгдлийн тайлбар хэл ба өгөгдөл боловсруулах хэл (өөр нэр нь асуулгын хэл юм).

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

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

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

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

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

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

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

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

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

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

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

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

Ярианы хэл нь байгалийн юм. Тэдний онцлог шинж чанаруудын дунд дараахь зүйлс орно.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

дүрэм

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

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

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

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

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

Асуух зүйл байна уу?

Алдаа мэдээлнэ үү

Манай редактор руу илгээх текст: