Үндсэн цэс
        OS
        Компьютерын тухай
        Програм хангамж
        Anti Virus Security
        Драйвэр
        График
        Mac
        Flash/Animated
        HTML/CSS
        Joomla/CSS
        3D Max
        Icon
        Theme
        Фонт
        Электрон ном
        Хөгжилтэй булан
        Зөвөлгөө
        Клип
        Дуу хөгжим Цомог
        Кино
        Элдэв зураг

 

Хичээл цэс
        Компьютерын анхан шатны хичээл
        Visual studio хэл
        Java хэл
        C++ хэл
        Mozilla Firefox
        MS Office Word
        MS Office Excel
        Photo shop
        Yahoo
         Бусад хичээл

 

Тоглоом цэс
        PC
        Mac Games
        PlayStation
        PSP
        Wii
        Xbox
        Гар утсанд
        Warcraft
        Counter strike

 

Санал асуулга
Бидэнтэй холбогдох
Хэрэгцээт програм

 

Үндсэн хуудас » 2011 » Гуравдүгээр cap » 22 » Програмчлалын хэл гэж юу вэ?
9:40 AM
Програмчлалын хэл гэж юу вэ?

Програмчлалын хэл гэж юу вэ?

Орчин үеийн ихэнх автомат төхөөрөмж урьдчилан бэлдэж өгсөн зааврын дагуу уг төхөөрөмж дээр биелэгдэх боломжтой олон тооны эгэл үйлдлүүдийг дараалан биелүүлэх замаар илүү нарийн төвөгтэй үйлдлийг гүйцэлдүүлдэг. Ерөнхийд нь, ийм заавар бэлдэж өгөх үйл ажиллагааг програмчлал, уг төхөөрөмжид "ойлгогдохоор” заавар бэлдэх аргыг програмчлалын хэл гэнэ. Жишээлбэл, зарим тооны машин дээр дараах мөрийг шууд бичиж өгч бодуулж болно: "5*(2+3)". Энд бид тооны машинд "2 дээр 3-ыг нэмээд үр дүнг нь 5-аар үржүүл” гэсэн заавар өгсөн хэрэг. Энэ жишээнд програмчлалын хэл маань тоонууд, арифметикийн үйлдлүүд ба хаалтуудыг ашиглаж зөв илэрхийлэл бичих дүрмүүдээс тогтоно гэсэн үг. Бидний бичсэн дээрх "програмыг” ажиллуулахын тулд "=” товчийг дарах шаардлагатай боловч хялбарчлах үүднээс энд үүнийг манай "програмын” хэсэг биш гэж үзэж байна.

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

Жон фон Нейман 1945 онд Жон Маухли, Преспер Эккерт нартай хамтаар EDVAC компьютерийн дизайн дээр ажиллаж эхлэх үедээ компьютерийг програмчлахын тулд утаснуудыг сольж холбох нь бүдүүлэг хэрэг бөгөөд програм нь компьютерийн санах ойд хадгалагдаж, компьютер түүнийг уншиж зохих үйлдлүүдийг гүйцэтгэдэг байх боломжтой гэдгийг анх тоймлож үзүүлсэн. Түүнээс өмнө компьютерүүд оролтын ба гаралтын өгөгдөл болон тооцооны үед бий болсон завсрын үр дүнгүүдийг хадгалах санах ойтой байсан ба энэ санах ойд програмыг хадгалах, өөрөөр хэлбэл компьютер ямар ямар үйлдлийг гүйцэтгэх вэ гэсэн зааврыг оролтын өгөгдлийн нэг хэсэг мэтээр үзэх нь цоо шинэ санаа байжээ. Энэ арга нь юуны түрүүнд програмыг соронзон хальсан дээр хадгалах, дахин ачаалах боломжийг өгнө. Үүнтэй холбоотой өөр нэг боломж бол програм ажиллах явцад буй болсон завсрын үр дүнгээс хамаарч санах ойн хаана байрлаж буй зааврыг гүйцэтгэх вэ гэдгийг шийдэж болох боломж юм.

Фон Нейман ба түүний хамтрагчдын дэвшүүлсэн компьютерийн архитектурын бүдүүвч бүтцийг авч үзье (Зураг 1). Уг бүдүүвч ёсоор компьютер нь төв процессор (CPU), шуурхай санах ой (RAM) ба оролт гаралтын төхөөрөмжүүд гэсэн үндсэн хэсгүүдтэй. Шуурхай санах ойг дараалсан олон нүднүүдээс тогтох маш урт туузаар төсөөлж болно. Ихэнх компьютерийн хувьд санах ойн эдгээр нүд болгон 0-ээс 255-ын хооронд орших ямар ч бүхэл тоог хадгалах чадвартай бөгөөд нүд болгон өөрийн гэсэн дугаартай байдаг. Нэг ийм нүдийг нэг байт (byte) мэдээлэл хадгалах чадвартай гэж ярьна. Мэдээллийг хадгалах бусад байгууламжууд, жишээлбэл хатуу диск, оптик диск ба флаш-санах ой бүгд ийм байтуудын дарааллыг хадгалах зориулалттай, ер нь компьютер нь ийм байтуудын дарааллыг боловсруулах зориулалттай гэж үзэж болно. Ийм олон тоог хадгалах, боловсруулах ямар шаардлага байна, үүнээс гадна бид нар компьютерийн дэлгэц дээр дан тоо хардаггүй, гараас зөвхөн тоо оруулдаггүй шүү дээ гэж та эргэлзэж байж болох юм. Тэгэхээр санах ойд хадгалагдаж, компьютерээр боловсруулагдаж буй тоонууд ямар нэг мэдээллийг төлөөлж буйг үргэлж санах хэрэгтэй. Өөрөөр хэлбэл эдгээр тоонуудыг яаж тайлбарлах вэ гэдгийг компьютер ямар нэг хэлбэрээр "мэддэг” байх ёстой. Тухайлбал, текстийг компьютерээр боловсруулахын тулд үсэг, цэг, таслал гэх мэт тэмдэгт болгонд тоо харгалзуулсан дүрэм боловсруулж ашигладаг. Үүнд гараас текст оруулах, текстийг дэлгэц эсвэл цаасан дээр хэвлэх болгонд энэ дүрмээ ашиглан дотоод тоон дүрслэл ба хүний ойлгох дүрслэл хоёрын хооронд хөрвүүлэх ажиллагаа явагдана. Латин цагаан толгойн үсгүүд бусад олон туслах тэмдэгтүүдтэйгээ нийлээд 200 орчим тэмдэгт болох учир нэг тэмдэгтийг нэг байтаар дүрслэхэд хангалттай. Ингэж кодлох олон янзын стандарт байдгийн хамгийн өргөн тархсан нь ASCII кодчилол юм. Энд жишээ нь латин А үсгийн код 65, B үсгийн код 66 байдаг. Харин олон янзын бичгийг зэрэг хэрэглэх, ялангуяа ханз үсэг хэрэглэх тохиолдолд дор хаяж хоёр байтын комбинацаар нэг тэмдэгтийг кодлох шаардлага гарна. Ийм кодчиллын тоонд Unicode стандарт багтана.

Тэмдэгтийг ингэж кодчилохтой төстэйгээр төв процессорын гүйцэтгэх боломжтой коммандууд мөн тодорхой тоонуудаар кодчилогсон байдаг. Ийм коммандуудыг машины коммандууд (instructions) гэх бөгөөд төв процессор шуурхай санах ойн нүднүүдийг дэс дараалан уншиж тэнд бичигдсэн машины коммандуудыг гүйцэтгэх замаар компьютер ажилладаг. Энэ тоон кодуудын цогц нь тухайн процессорын хувьд програмчлалын хэл болох ба үүнийг машины хэл гэж ярьна. Машины хэл дээр программ бичихийн тулд ямар коммандыг ямар тоогоор дүрсэлдгийг (машины кодыг) мэдэх шаардлагатайн дээр том програмыг уншиж ойлгох болон засварлахад маш хүндрэлтэй байх нь ойлгомжтой. Жишээлбэл, 80×86 төрлийн (Pentium гэх мэт) процессоруудын хувьд, EAX регистрт (регистр гэдэг нь процессор дотор орших тусгай санах ойн нэр) буй тоог EBX регистр дэх тоон дээр нэмээд үр дүнг нь EAX регистрт хадгалах коммандын машины код нь

3 195

хэмээх хоёр байтаас тогтоно.

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

Програм бичих ажиллагааг ассемблер хэл (assembly language) ихээр хөнгөвчилдөг. Ассемблер хэл дээр бичигдсэн програм нь жирийн текст бөгөөд ассемблер програмын мөр болгон машины нэг коммандад харгалзана. Жишээ нь, дээрх машины коммандыг ассемблер хэл дээр бичвэл

add eax, ebx

болно (add – англиар "нэм” гэсэн үг). Бэлэн болсон ассемблер програмыг машины хэл рүү хөрвүүлэхийн тулд ассемблерийн хөрвүүлэгч (assembler) хэмээх тусгай програмыг ашигладаг. Ассемблерийн хөрвүүлэгчийг өөрийг нь бол шууд машины хэл дээр бичиж болно. Машины коммандуудын цогц тухайн процессорын төрлөөс хамааран янз бүр байдаг тул машины коммандуудын тоон кодчиллыг процессорын төрөл болгонд адилхан байхаар стандартчилах боломжгүй. Тэгэхээр ассемблер хэл мөн процессорын төрлөөс хамаарч өөр өөр байна гэсэн үг. Үүнтэй холбогдуулан машины хэл ба ассемблер хэлийг доод түвшний програмчлалын хэл гэх нь бий.

Тэмдэглэл. Зарчмын хувьд санах ойд тоог дүрслэх маш олон арга байж болох боловч одоо үеийн бараг бүх тоон төхөөрөмжид хоёртын системийг ашигладаг. Бидний сайн мэдэх аравтын системд дүрслэгдсэн тооны орон бүр 10-ын тодорхой зэрэг уг тоонд хэдэн удаа агуулагдсаныг заадаг билээ. Жишээ нь, 902.3 гэсэн тоонд 9 ширхэг 100; 0 ширхэг 10; 2 ширхэг 1; ба 3 ширхэг 0.1 агуулагдсан байна. Үүнтэй төстэйгээр, хоёртын системд дүрслэгдсэн тооны орон бүр 2-ын зэргүүд уг тоонд хэдэн удаа агуулагдсаныг заана. Жишээ нь, хоёртын дүрслэл нь 101 байх тоо аравтын системд 8 + 0 + 1 = 9 гэж бичигдэнэ. Хоёртын нэг оронг нэг бит хэмээдэг бөгөөд нэг бит нь 0 юм уу 1 утгын аль нэгийг авч болдог. Мөн нэг байт нь 8 биттэй тэнцүү болох нь тодорхой. Хоёртын тооллын систем нь техникийн үүднээс хялбар, 8 нь хоёрын бүхэл зэрэг бөгөөд бидний хэрэглэдэг ихэнх тэмдэгтүүдийг 8 битийн комбинацаар дүрсэлж болдог нь бит ба байтын үүсэлд нөлөөлсөн хэрэг.

Нэгэнт машины хэлийг стандартчилж болохгүй учир ямар ч програм зөвхөн тодорхой төрлийн компьютерт л зориулагдсан байх ёстой. Жишээлбэл, Микрософт Виндоус (Microsoft Windows) програмыг PowerPC процессортой Макинтош (Macintosh) компьютер дээр суулгаж ажиллуулах гэж оролдвол цагийн гарз болох вий. Цаашилбал, ямар ч програм зөвхөн тодорхой орчинд (platform) ажиллахаар зориулагдсан байдаг. Програмын ажиллах орчин гэдэгт компьютерийн төрөл, үйлдлийн систем (OS), түүнчлэн уг програмын ажиллагаанд зайлшгүй шаардлагатай төхөөрөмжүүд ба програмуудын цогцыг ойлгоно. Ажиллах орчны гол үзүүлэлт бол үйлдлийн систем мөн. Үйлдлийн систем нь програмд хатуу диск, дэлгэц, гар, хэвлэгч гэх мэт системийн төхөөрөмжүүдийг ашиглах, бусад програмуудтай харилцан үйлчлэх, хэрэглэгчтэй стандарт маягаар харьцах зэрэг боломжийг олгож, тусгай дэд програмуудын санг гаргаж өгдөг. Эдгээр дэд програмуудын сан үйлдлийн системээс хамааран өөрчлөгдөх тул програм нь зөвхөн нэг л үйлдлийн систем дээр ажиллаж чадна. Жишээлбэл, Виндоус системд зориулагдсан програмыг Линукс (Linux) систем дээр (шууд) ажиллуулж болохгүй. Линукс системд Виндоус орчинг зохиомлоор бүрдүүлж дотроо Виндоус програм ажиллуулдаг тийм програмууд байдаг. Энэ тохиолдолд манай програмын ажиллах орчин бүрэлдчихсэн байгаа нь илт бөгөөд түүнийг Линукс дээр ажиллаж байна гэж үзэх хэрэггүй юм.

Ассемблер нь машины хэлний "махчилсан” орчуулга учраас түүн дээр, ялангуяа том програм бичих нь маш төвөгтэй. Програмын текстэнд алдаа байвал түүнийг олоход үлэмж хэцүү болохоос гадна платформ болгонд тохируулж програмаа дахин дахин бичих шаардлагатай. Ассемблерын энэ дутагдлыг арилгахын тулд зохиогдсон илүү дээд түвшний програмчлалын хэлнүүд уншиж ойлгоход хялбар, баргийн санамсаргүй алдааг хэл нь өөрөө зааж өгөх механизмтай, платформоос хамааралгүй програм бичих боломжтой болсноороо компьютерийн програм хангамжийг шинэ шатанд гаргасан юм. Дээд түвшний хэл дээр бичигдсэн програм нь жирийн текст файл бөгөөд дээд түвшний хэлний нэг коммандад машины хэдэн арван комманд харгалзаж болно. Бэлэн болсон програмын текст файлыг хөрвүүлэгч буюу компилятор (compiler) хэмээх тусгай програмыг ашиглан машины хэлэнд хөрвүүлж бие даан ажиллах чадвартай програмын биелэх файлexecutable) болгодог. Хөрвүүлэгдээгүй байгаа програмын текстийг мөн програмын эх код (source code) гэж нэрлэдэг. Програмын эх кодыг хэд хэдэн платформ дээр хөрвүүлж болдог байхаар бичиж болно. Ингэснээр бид зөвхөн нэг эх кодноос нэг програмын өөр өөр платформ дээр ажиллах чадвартай хувилбаруудыг гарган авна гэсэн үг. (

Түүх сөхвөл. Хамгийн анхны дээд түвшний програмчлалын хэлийг Жон Маухли 1949 онд UNIVAC компьютерт зориулан зохиосон Богино Код (Short Code) хэмээх програмдаа хэрэгжүүлсэн гэж үздэг. Энэ програм нь өгөгдсөн алгебрын томъёонуудын дагуу тооцоо хийж үр дүнг нь гаргадаг програм ажээ. 1950 оноос фон Нейман АНУ-д шинээр дэвшигдэж байгаа болон дундаа явагдаж буй технологийн төслүүдийг хянах зөвлөгчөөр ажиллаж байв. 1954 оны нэгэн ийм "шүүх ажиллагаанд” дээд түвшний анхны хэлнүүдийн нэг болох Фортран хэлний төслийг IBM компанийн Жон Бакус авч оржээ. Фон Нейман үүнийг ямар ч шинэ зүйл гэж үзсэнгүй, "яагаад машины хэлнээс өөр юм чамд хэрэгтэй байгааг ойлгохгүй байна” хэмээсэн ба уг төслийг "үндсэндээ Жон Маухлийн Богино Код програмын санааг ашигласан энгийн зүйл байна” гэж үзээд хэрэгсэхгүй орхисон байна. Мөн түүний оюутнууд бүх програмыг машины хэл рүү гараараа хөрвүүлдэг байсан тухайгаа сүүлд дурдсан байдаг. Нэгэн оюутан ассемблерын хөрвүүлэгч бичиж энэ ажиллагааг автоматжуулах гэж оролдож байгааг фон Нейман мэдээд "шинжлэх ухааны үнэтэй цайтай төхөөрөмжийг бичиг цаасны ажилд хэрэглэж үрэн таран хийх нь” хэмээн маш ихээр хилэгнэж байжээ. Жон Бакус фон Нейманий энэ байр суурийг хайхралгүй ажилласаар 1957 онд Фортран хэлний анхны хувилбарыг гаргасан ба сүүлд 1970-аад оноос фон Нейманий архитектурыг ноцтойгоор шүүмжлэгчдийн нэг болсон юм. Жон Бакусийн хэлснээр Фон Нейманий архитектурын нэг гол дутагдал нь төв процессор ба шуурхай санах ойн хоорондох "нэг удаа хэдэн байт” дамжуулах боломжтой "фон Нейманий хүзүү” гэж нэрлэгддэг маш нарийн суваг бөгөөд энэ нарийн "хүзүү” нь зөвхөн тухайн нэг програмын өгөгдлийн чөлөөтэй урсгалыг хязгаарлаад зогсохгүй, өнөөгийн програм зохиогчдын оюун ухаанд нягт шингэж тэднийг "нэг удаа хэдэн байт” хэлбэрээр сэтгэхэд дасгадаг сэтгэхүйн өрөөсгөл хэв маяг юм. Анхны загваруудаас хойш компьютерын бүтцэд их бага олон төрлийн өөрчлөлт хийгдэж үйл ажиллагаа нь төсөөлшгүй ихээр сайжирсан боловч үндсэн бүтцэд нь фон Нейманий архитектур амь бөхтэй оршсоор байгаа болно. Техникийн түвшинд фон Нейманий хүзүүг "өргөсгөх” зорилгоор кэш санах ой, нөхцөлт коммандын үр дүнг машины түвшинд урьдчилан таах алгоритм зэргийг одоо ашиглаж байгаа. Сэтгэхүйн түвшинд бол объект хандалтат програмчлал, ялангуяа функциональ програмчлал бол ийм хүзүүг ор мөргүй арилгасан аргачлалууд юм.

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

a = a + b;

гэж бичнэ. Энэ бичлэг дунд сургуулийн алгебрын томъёотой төстэй боловч зарчмын хувьд ялгаатай гэдгийг анхаараарай. Хэрэв дээрх бичлэг ийм томъёо байсан бол b=0 гэж гаргах байсан. Гэвч энд "=” тэмдэгтийн баруун тал дахь (a+b) утгыг зүүн талд буй (a) хайрцагт хадгалах ажиллагаа явагдах ба a хайрцагт өмнө нь байсан утга арчигдаж хэрэгцээгүй болж байна. Үүнд a ба b нь санах ойн яг хаана байгаа хайрцгууд болох нь хөрвүүлэгч ба үйлдлийн системээс хамаарах бөгөөд энэ мэдээллийг Си хэл биднээс "нууж” компьютерийн физик бүтцээс илүү дээгүүр түвшний нэгэн хийсвэр давхарга оруулж ирж буй хэрэг.

Дээд түвшний програмчлалын хэлнүүд нь компьютерийн техник хангамж, үйлдлийн систем зэргээс хамаарахгүйгээр аливаа програмыг хялбархан бичих боломжийг бий болгох зорилготой. Энэ зорилгыг гүйцэлдүүлэхийн тулд програмчлалын хэл болгон өөрийн гэсэн хийсвэр ойлголтууд, эдгээр ойлголтуудыг ашиглан програмыг алдаагүй бичих дүрмүүдийг (ө.х. уг хэлний зөв бичих дүрмийг) оруулж ирдэг. Тэгэхээр ямар нэг програмчлалын хэл дээр програм бичих нь уг програмчлалын хэлийг шууд ойлгож биелүүлэх чадвартай хаа нэгтээ байгаа хийсвэр компьютерт зориулан програм бичиж байгаатай адил юм. Програм нь энэ хийсвэр машины шаардлагад зохицсон байх ёстой бөгөөд програм бичиж буй хүн уг хийсвэр машины боломжид тохируулан сэтгэх хэрэгтэй болно. Тэгвэл хөрвүүлэгч нь хийсвэр машины хэл дээрх програмыг бодит машины хэл рүү орчуулах үүрэгтэй болж таарна. Хэрэв хийсвэр машин нь бодит компьютерээс хэт их ялгаатай бол энэ орчуулах ажиллагаа хүндрэлд орж үр дүнд нь маш удаан програм гарч ирнэ. Нөгөө талаас хийсвэр машин нь бодит компьютерт хэт ойр бол програмчлалын хэл маань ассемблертэй улам бүр төстэй болж ирнэ. Энэ хоёр заагийн "алтан дундаж” болох платформоос хамааралгүй бөгөөд програм бичихэд хялбар, мөн хурдан ажилладаг програм боловсруулах боломжтой тийм програмчлалын хэл амжилт олох магадлал их. Ийм програмчлалын хэлнүүдийн нэг бол Си хэл юм. Үүнтэй холбоотойгоор Си хэлийг дунд түвшний хэл гэж ярих нь ч бий. Си хэл нь өнөөдөр манай гариг дээр хамгийн өргөн тархсан програмчлалын хэл бөгөөд Юникс (Unix), Виндоус, Макинтош (MacOs), ба Линукс үйлдлийн системүүд болон тэдгээр дээрх хэрэглээний програмуудын ихэнх хэсэг энэ хэл дээр бичигдсэн аж. 1970-аад оны сүүлчээр програмчлалын шинэ хүчирхэг технологи болох Объект Хандалтат Програмчлал (ОХП, Oop) боловсруулагдаж бий болсон. ОХП-ын технологи нь том хэмжээний програм бичих, бодит болон хийсвэр системүүдийг загварчлахад маш тохиромжтой. Энэ технологийг ашиглан Си хэлний унаган хүч чадлыг зөвөөр зохион байгуулж ашиглах зорилгоор Си++ ("си плас плас” эсвэл "си нэмэх нэмэх” гэж уншина) хэмээх хэл 1980-аад оны эхээр зохиогдсон. Си++ хэл нь үндсэндээ Си хэлний нэгэн өргөтгөл бөгөөд Си хэлний хурд, олон төрлийн компьютер дээр ажиллах чадварыг нь өвлөн авсан, ОХП-ын технологийг (хийсвэр биш) практик байдлаар хэрэгжүүлэх боломжоор дээд зэргээр хангагдсан орчин үеийн хамгийн боловсронгуй програмчлалын хэлнүүдийн нэг юм.



Эх сурвалж http://t8m8r.wordpress.com

Ангилал: Програмын Java хэл | Үзсэн: 3038 | Нийтэлсэн: Захирал_Mongoloo | Үнэлгээ: 0.0/0
Нийт сэтгэгдэл: 0
Only registered users can add comments.
[ Registration | Login ]
Нэвтрэх
Хайх
Календар
Сайтын админ

Статус
» Гишүүдийн мэдээлэл
Нийт гишүүд: 263
Энэ сард: 0
Энэ 7 хоногт: 0
Өчигдөр: 0
Өнөөдөр: 0
» Сайтад:
Сайтын эзэн: 1
Хянагч админ: 2
Мэдээний админ : 18
Тусгай гишүүн:
Гишүүн: 242
» Хүйс
Эр: 163
Эм: 96
>
Нийт: 1
Зочин: 1
Гишүүн: 0

WWW.TUSLAY.TK | MONGOLOO Free web hostinguCoz