SlideShare a Scribd company logo
1 of 54
Жава
Технологи

Бэлтгэсэн: Багш Б.Ганзориг
Хуудас: 27
Ulaanbaatar University
Програмчлалын үндэс
 Програмчлал

гэж юу вэ?
 Хүмүүс програм хангамжийг бүтээхийн
тулд компьютерийн кодыг бичдэг.
–

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



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

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

нь ямар нэгэн утга санааг хүн
шиг ойлгож чадахгүй. Тиймээс програм
зохиогч нь бодит ертөнцийн явдал, утга
санааг програмчлалын хэл рүү
хийсвэрлэн буулгадаг юм.
 Програмчлал гэдэг нь тодорхой
зорилгод хүрэхийн тулд хийгддэг логик
дарааллуудын хэлхээс юм.
Програмчлалын үндэс
Бид програмыг хэрхэн бичдэг вэ?
 Компьютер ухаалаг биш бөгөөд ямар нэгэн
асуудлыг шинжлэн зөв шийдлийг олох
чадваргүй.
 Бид програм бичихдээ компьютерт
үйлдлүүдийг ямар дарааллаар биелүүлэхийг
зааж өгдөг.
 Програм бичих үйл ажиллагааг ерөнхийд нь 2
шатанд хувааж үздэг: бодлогын-шийдэл ба
хэрэгжүүлэлт.
Програмчлалын үндэс
 Бодлого-шийдлийн
1.
2.

3.

шат

Шинжилгээ ба Тодорхойлолт гаргах. Асуудлыг
ойлгож ямар зүйл хийхээ тодорхойлох.
Ерөнхий шийдэл (Алгоритм). Шаардлагатай
өгөгдлийн төрөл болон тухайн бодлогыг бодох
логик дарааллуудыг тодорхойлох.
Нягтлах. Тодорхойлсон алхмуудын дагуу
тухайн бодлого үнэхээр бодогдож байгааг
шалгах.
Програмчлалын үндэс
 Хэрэгжүүлэлтийн
1.

2.

шат

Тодорхой шийдэл (Програм).
Алгоритм(ерөнхий шийдэл) програмчлалын
хэл рүү хөрвүүлэх.
Тестчилэл. Зааврын дагуу компьютерийг
ажиллуулж үр дүн зөв эсэхийг шалгана. Хэрэв
ямар нэгэн алдаа илэрвэл, алгоритм
програмыг шинжлэн алдааны эх үүсвэрийг
олж, түүнийг засах.
Програмчлалын үндэс
Бид програмыг хэрхэн бичдэг вэ?
 Програм бүрэн бичигдсэний дараагаар 3р үе шат руу шилждэг: засвар үйлчилгээ.
 Засвар үйлчилгээний шат
1.
2.

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

Дээрх үе шатуудыг зургаар дүрслэн үзүүлбэл:

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

Хэрэгцээ шаардлагын шинжилгээ
Зохиомж гаргах
Код бичих
Тестлэх
Програмчлалын үндэс
 Хэрэгцээ

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

–

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

–

хэсэг

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

Кодчилол зохиомжийн үр дүнд бий болсон загварыг
програмчлалын хэл дээрх дэс дараалсан зааврууд
руу хөрвүүлэх үйл ажиллагаа.
–
–

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

Жишээ нь: C++, Java, Delphi, C+, PHP, Python, Ruby гэх мэт.
Програмчлалын үндэс
Програм хангамж хөгжүүлэлтийн товч тодорхойлолт (үргэлжлэл)
– Кодчилол: Програм зохиогч нь програм хангамжийг
Кодчилол
үүсгэхийн тулд доорх алхмуудыг дэс дараалан давтан
гүйцэтгэдэг:
Код(эх код) бичих – програм зохиогч тухайн програмчлалын
хэлний дүрмийн дагуу програмын шаардлагын логикийг
дүрслэн буулгана..
 Кодыг хөрвүүлэх – Компьютерийн ойлгодог заавруудын
дараалал руу хөрвүүлнэ. Энэ шатанд хөрвүүлэгч(compiler)
гэж нэрлэгддэг тусгай програмыг ашигладаг. Хөрвүүлэгч эх
кодыг хөрвүүлэхийн өмнө түүний зөв бичлэгийн алдааг
илрүүлж тэдгээрийг бүрэн зассаны дараа хөрвүүлдэг.
 Кодыг холбох – Зарим програмчлалын хэлнүүдэд 2 програмыг
нийлүүлэн 1 програм болгох нэмэлт боломж байдаг. Холбогч
хэмээх тусгай програм хангамж дээрх үүргийг гүйцэтгэдэг.

Програмчлалын үндэс
Програм хангамж хөгжүүлэлтийн товч тодорхойлолт (үргэлжлэл)
Кодыг ажиллуулан шалгах – эх кодыг хөрвүүлж холболт
хийсний(хэрэв шаардлагатай бол) дараа програм зохиогч
хөрвөсөн машины кодыг(заавруудын дарааллыг) ажиллуулан
түүний зөв ажиллагааг шалгадаг. Програм зохиогч кодын хэсэг
бүрийг шалгаснаар түүний бүрэн найдвартай ажиллагааг шалгаж
болдог. Кодын жижиг хэсгүүдийг дангаар нь тестлэх ажиллагааг
нэгж хэсгийн тест(unit testing) гэдэг.
 Кодыг зүгшрүүлэх – Заримдаа програм зохиогч түүний кодын
дотоод ажиллагааг харах шаардлагатай байдаг. Зүгшрүүлэгч
хэмээх програмыг ашиглан програмын кодын нэг мөрийг
ажиллуулах, ажиллагааг түр саатуулж болдог.
 Кодыг багцлах – програм бэлэн болсны дараа түүнийг(бусад
хамааралтай програм хангамжуудын хамт) багцалж эцсийн
хэрэглэгч болон өөр хүн рүү тестлэхийн тулд илгээдэг. Тухайн
багц нь суулгах заавар болон бичиг баримтыг агуулж болно.

Програмчлалын үндэс
Програм хангамж хөгжүүлэлтийн товч тодорхойлолт
(үргэлжлэл)
–

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

хангамж болон Техник хангамжийн
зарчмын ялгаа
–
–
–

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

Хөгжүүлэгч болон Хэрэглэгчийн зарчмын ялгаа
–
–

–

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

Синтакс(зөв бичих дүрэм зүй), Семантикийн(утга
зүй) ялгаа
–
–

Синтакс: Хэл бүхэнд ямар нэгэн команд-өгүүлбэрийг
Синтакс
хэрхэн бичихийг тодорхойлсон дүрэм байдаг.
Програм хэлний дүрмээс гажууд бичигдсэн байвал
хөрвүүлэгч програм хөрвүүлэх ажиллагааг зогсоон
алдааны мэдээлэл үүсгэдэг.
Хэрэв ямар ч алдаагүй хөрвүүлэгдвэл тэр ажиллах
боломжтой
 Хэдийгээр ажиллах боловч бид нарын санасны дагуу
ажиллахгүй байх нь их

Програмчлалын үндэс
 Синтакс(зөв

бичих дүрэм зүй),
Семантикийн(утга зүй) ялгаа
–

–

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

ойлгох нь програмчлалын хэлийг сайтар сурахын
үндэс юм.
 Яагаад дээд түвшний програмчлалын хэл амархан
байдгийн шалтгаан нь бас энэ юм. Илүү хүний сэтгэлгээ
рүү ойртсон.
Програмчлалын үндэс


Програмчлалын төрлүүд
–

Хэд хэдэн төрлийн програмчлалын төрлүүд байдаг. Зарим
үндсэн төрлүүд:
 Ажиллах орчин
Console-based – Командын мөрнөөс текст горимд
ажилладаг
– Windows-based – Цонх буюу график горимд
– Web-based – Вэбийн буюу интернэтийн орчны
–

 Програм

бичих зарчим

Procedural – Процедур хандлагат
– Object-oriented – Объект хандлагат
– Event-driven – Үзэгдлээр удирдагддаг
–
Програмчлалын үндэс


Console-Based, Windows-Based Програмын ялгаа
–

Console based програм нь хэрэглэгчтэйгээ харьцахдаа
терминал ашиглан тэмдэгтээр дамжуулан оролтын
командыг авч үр дүнг гаргадаг.


–

Windows-Based нь график дүрслэл ашиглан програмын
оролт гаралтын өргөн боломжийг бий болгодог.


–
–

Иймэрхүү програм нь график дүрсэлдэггүй зөвхөн тэмдэгт
дүрсэлдэг.

Цонхон програмчлал нь хөгжүүлэгчид Graphical User Interface
(GUI) ашиглан хэрэглэгчээс өгөгдөл авах хэрэглэгчид үр дүн
үзүүлэх боломжийг олгодог.

Цонхон програмчлалыг сурахад арай хэцүү бөгөөд
системийн нөөц илүү шаарддаг.
Console-based програмчлал нь windows програмчлалаас
амархан бөгөөд системийн нөөц бага шаарддаг.
Програмчлалын үндэс
 Процедур
–
–

хандлагат програмчлал

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

нь зөв үйлдлийн дарааллыг сонгох чадваргүй
учир үйлдлийн дарааллыг зааж өгөх хэрэгцээ гардаг.

–

Хамгийн өргөн ашиглагддаг процедур хэлнүүд C,
C++, Java,FORTRAN.
Програмчлалын үндэс


Объект Хандлагат Програмчлал (ОХП)
– ОХП нь програм зохиогчийн програмчлах, асуудал
шийдэх арга замыг өөрчилсөн.
ОХП-д, бодит ертөнцийн юмсийг төлөөлөх
объектийн үйл ажиллагаагаар илэрхийлэгдэнэ.
– Бодит ертөнцийн юмс нь шинж чанар, тэдгээртэй
холбоотой үйлдлүүдтэй байдаг. ОХП-д объект нь
шинж чанар(properties), үйлдэл(methods),
үзэгдэл(events)-тэй байна гэж үздэг.
– Үйлдэл гэдэг нь объектийн гүйцэтгэж чадах
үйлдэл юм.
– Үзэгдэл нь тодорхой нөхцөлд ажиллах үйлдэл
юм.
Програмчлалын үндэс
 Объект
–
–

Хандлагат Програмчлал (ОХП)

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

 Үйлчлүүлэгч

–

C++ , Java нь ОХП-ын хэл. (мөн процедур
хандлагат).
 Үйлдэл

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

ОХП нь хэд хэдэн үр ашигтай талыг бий
болгодог
Объектууд

байдлаар дүрсэлсэн системийг
зохиох хэрэгжүүлэх, засварлахад амархан
ойлгомжтой байдаг.
Мөн кодын дахин ашиглалтыг бий болгодог.
Нэг удаа класс хөгжүүл, түүнийгээ дахин
дахин ашигла.
Удамшил хэмээх хүчирхэг аргын
тусламжтайгаар эх классаас хүү классыг
удамшуулан шинэ класс хялбар үүсгэдэг.
Програмчлалын үндэс


C/C++/Java хэлний бүлэг
–

C системийн програмчлалд зориулагдан зохиогдсон.
Доод түвшний боломжийг агуулсан дээд түвшний хэл
 Хэтэрхий нарийн, өргөн боломжтой болохоор сурахад
ашиглахад хүнд


–

C++ нь C хэлийг өргөтгөн ОХ боломжийг оруулсан хэл.


–

C хэл дээр бичигдсэн програм C++ хэл дээр бичигдсэн байж
болно.

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

програмчлалын ойлголтууд
ихэнх програмчлалын хэлэнд байдаг
–

–

Comments, Identifiers, Data Types,
Expressions, Functions, Condition Control
statements, Input and Output
Тайлбар, Хувьсагч, Өгөгдлийн төрөл,
Илэрхийлэл, Функц, Нөхцөлт командөгүүлбэр, Оролт ба Гаралт
Анхаарал тавьсанд баярлалаа.
Зорилт





Жава хэлний түлхүүр онцлогуудыг тодорхойлох
Жава виртуаль машины функцуудыг тодорхойлох
Garbage collection хэрхэн ажилладагийг
тодорхойлох
Жава платформын кодын нууцлалыг хангадаг
гурван аргыг нэрлэх
Зорилт
 Class,

package, applets, applications гэсэн
үгнүүдийн утгыг тайлбарлах
 Энгийн Жава програмуудыг бичих,
хөрвүүлэх, ажиллуулах
 Жава хөтөлбөр програмчлах онлайн
авлагыг ашиглан java.lang багцийн
аргуудыг тайлбарла
Лавламж





Жава програмчлалын хэл нь бүхэл бие даасан
хэл үү эсхүл зөвхөн Веб програм бичихэд
ашиглагддаг хэл үү?
Яагаад өөр програмчлалын хэл хэрэгтэй вэ?
Жава технологийн платформ өөр ямар хэлний
платформ дээр суурилж хөгжсөн бэ?
Жава Програмчлалын Хэл гэж ЮУ
вэ?


Жава хэл нь:
–
–
–
–




Програмчлалын хэл
Хөгжүүлэлтийн орчин
Application орчин
Deployment орчин

Синтакс нь С++, семантик нь SmallTalk-тай төстэй
Aплет болон Аппликэшн хөгжүүлэхэд
ашиглагддаг
Жава Програмчлалын Хэлний Vндсэн
Зорилт
 Дараахь

онцлогууд нь уг хэлийг үлэмж уян
хатан болгодог:
–
–
–

Бусад хэлний нийтлэг дутагдлаас зайлсхийсэн
Обьект хандалтат
Хэрэглэгчдэд ойлгомжтой, цэгцтэй код бичих
бололцоо олгодог
Жава Програмчлалын Хэлний Vндсэн
Зорилт


Хөрвүүлсэн орчинг:
–
–





Хөгжүүлэлтийн хурдац
Кодын ашиглалт

Хэрэглэгчдэд нэг зэрэг олон процесс удирдах
бололцоо олгодог
Ажиллах явцад програм динамикаар өөрчлөгдөх
бололцоотой
Нууцлалын ахисан зэрэг
Жава Програмчлалын Хэлний Vндсэн
Зорилт
 Дараахь

онцлогууд дээр дурьдсан бүх
зүйлсийг хангах юм:
–
–
–

Жава Виртуаль Машин (JVM)
Garbage Collection
Кодын нууцлал
Жава Виртуаль Машин (JVM)





Хатуумжийн платформ тодорхойлолтуудыг
хангана
Платформоос үл хамаарах хөрвөсөн байт
кодуудыг уншина
Уямж эсхүл хатуумж байдлаар хэрэглэгдэнэ
Жава хөгжүүлэлтийн багаж эсхүл веб браузер
байдлаар хэрэглэгдэнэ
Жава Виртуаль Машин (JVM)
JVM нь дараахь тодорхойлолтуудыг барина:
 Instrcution set (CPU)
 Register set
 Class file format
 Stack
 Garbage collected-heap
 Memory area
Жава Виртуаль Машин (JVM)
 Байткод

нь кодоос бий болсон хамгийн
эвтэйхэн хэлбэр
 Кодыг хөрвүүлэх явцад ихэнхи төрөл
шалгалтууд явагддаг
 SUN-аас хүлээн зөвшөөрөгдсөн JVM-ууд
бүх класс файлыг ажиллах чадвартай
Garbage Collection





Байршсан санамж хэрэгцээгүй болсон бол цэвэрлэгдэж
байх хэрэгтэй
Зарим хэлнүүдэд цэвэрлэх үйлдэл нь програмчын хийх
ёстой үйлдэл байдаг
Жава хэлэнд санах ойг цэвэрлэх системийн
трийдүүд(зүтгүүр) байдаг
Garbage Collection:
- Хэрэгцээгүй санамж байгаа эсэхийг шалгаж, тийм бол
цэвэрлэдэг
-Автоматаар
-JVM-ийн онцлогоос шалтгаалан олон янзын хэлбэрээр
хэрэгжих бололцоотой.
Кодын нууцлал
Жава програмын орчин дараахь байдлаар
хэрэгжинэ:
Жава Runtime Орчин
 Гурван
–
–
–

үндсэн үйлдлийг гүйцэтгэнэ:

Кодыг ачаална
Кодыг нягтлана
Кодыг гүйцэтгэнэ
Класс Ачаалагч
 Программыг

ажиллуулахад хэрэгцээтэй
классуудыг ачаална
 Локал файл системийн классуудыг тусгай
нэршлийн дагуу ачаална
 Хуурмаг нөхцөл байдлаас сэргийлнэ
БайтКод Хянагч


Дараахь нөхцлүүдийг нягтлана:
–
–
–
–
–

JVM-ы шаардлагад нийцэж байгаа эсэх
Системийн нэгдэлд харшлахгүй байгааг
Код нь стектэй холбоотой ямар нэгэн хэтрэлт, дуталт
үүсгээгүйг
Ажиллах кодны параметр төрлүүд зөв эсэх
Дүрмийн бус өгөгдөл хувиргалт хийгдээгүйг
Энгийн Жава Програм
HelloWorldApp-ийг хөрвvvлэх ба
ажиллуулах нь
хөрвүүлэх нь
javac HelloWorldApp.java
 Программыг ажиллуулах нь
java HelloWorldApp
 Хөрвүүлэлтийн болон гүйцэтгэлийн алдааг
нягтлах
 HelloWorld.java-г
Хөрвvvлэлтийн vеийн алдаанууд





javac: Command not found
HelloWorldApp.java:6: Method
printl(java.lang.String) not found in class
java.io.PrintStream.System.out.printl^(“HelloWo
rld”);
In class HelloWorldApp: main must be public and
static
Гvйцэтгэлийн vеийн алдаанууд


Can’t find class HelloWorldApp

 Нэршил
 Файл

бүрт нэг public класс
Соорс Файлын Хэлбэр
“Дээд түвшний” гурван элементийг
агуулна:


–
–
–

Багцийн тодорхойлолт (заавал биш)
Тодорхой тооны импорт мэдэгдлүүд
Класс болон интерфэйсийн зарлалтууд
Класс болон Багцууд - Танилцуулга
 Классууд
–

болон багцууд:

Жава класс сангийн чухал багцууд:
java.lang
java.awt
java.applet
java.net
java.io
java.util
Жава API Баримтыг Хэрэглэх нь




HTML хуудсуудад API-ийн тухай мэдээллийг
багтаасан байдаг
Нэг багц нь өөртөө орших бүх классын линкийг
агуулдаг
Классын баримт нь тухайн классын үе шат,
тодорхойлолт, гишүүн хувьсагчид,
байгуулагчуудын мэтчилэнгийн мэдээллийг
багтаадаг
Дасгал: Жавагийн vндсэн даалгавруудыг
гvйцэтгэх нь


Дасгалын зорилт:
–
–
–



API баримтаас метод, класс,багцийг зааж үзүүлэх
Стандарт оролт/гаралтын методуудыг зааж үзүүлэх
Дээрх аргуудыг хэрэглэсэн хоёр програмыг бичиж,
хөрвүүл, ажиллуул

Даалгавар:
–
–
–

Баримтыг унш
Жава програм зохио
Стандарт оролт/гаралтыг ашигла
Өөрийн явцыг шалга








Жава хэлний гол онцлогуудыг тайлбарла
JVM-ы функцуудыг тайлбарла
Garbage Collection хэрхэн ажилладагийг тайлбарла
Жава платформын кодын нууцлалыг хангах гурван
аргыг нэрлэ
Class, packages, applets, applications гэсэн нэршлийг
тайлбарла
Жава програмыг бич, хөрвүүл, ажиллуул
Жава хөтөлбөр програмчлах онлайн авлагыг ашиглан
java.lang багцийн аргуудыг тайлбарлах
Чинагш сэтгэх
 Энэ

програмчлалын
хэлийг
ашигласнаар ямар
үр дүнд хүрч
болмоор байна вэ?

More Related Content

What's hot

U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3Badral Khurelbaatar
 
U.cs101 алгоритм программчлал-1(1)
U.cs101   алгоритм программчлал-1(1)U.cs101   алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)Badral Khurelbaatar
 
U.cs101 алгоритм программчлал-7
U.cs101   алгоритм программчлал-7U.cs101   алгоритм программчлал-7
U.cs101 алгоритм программчлал-7Badral Khurelbaatar
 
Давталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудДавталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудБаярсайхан Л
 
u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1Khuder Altangerel
 
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргуудBayalagmaa Davaanyam
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритмEnkh Gvnj
 
Html хэлний хичээл
Html хэлний хичээлHtml хэлний хичээл
Html хэлний хичээлOtgonzaya Maagshin
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэсGombo Tumuruu
 
си хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиси хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиenhsaran_tsahim
 
хэрэглээний програмууд ба системийн програмууд
хэрэглээний програмууд ба системийн програмуудхэрэглээний програмууд ба системийн програмууд
хэрэглээний програмууд ба системийн програмуудTsetsenkhuu Otgonbayar
 
функцийн тодорхойлогдох муж ба утгын муж
функцийн тодорхойлогдох муж ба утгын мужфункцийн тодорхойлогдох муж ба утгын муж
функцийн тодорхойлогдох муж ба утгын мужHorloo Ebika
 
алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголталгоритм үндсэн ойлголт
алгоритм үндсэн ойлголтЖавзмаа Ж
 

What's hot (20)

U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
 
Html хичээл
Html хичээлHtml хичээл
Html хичээл
 
6 9 -r angi
6 9 -r angi6 9 -r angi
6 9 -r angi
 
U.cs101 алгоритм программчлал-1(1)
U.cs101   алгоритм программчлал-1(1)U.cs101   алгоритм программчлал-1(1)
U.cs101 алгоритм программчлал-1(1)
 
U.cs101 алгоритм программчлал-7
U.cs101   алгоритм программчлал-7U.cs101   алгоритм программчлал-7
U.cs101 алгоритм программчлал-7
 
Давталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогуудДавталттай алгоритмын бодлогууд
Давталттай алгоритмын бодлогууд
 
U.it101 lab 4
U.it101 lab 4U.it101 lab 4
U.it101 lab 4
 
u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1u.cs101 "Алгоритм ба програмчлал" Лекц №1
u.cs101 "Алгоритм ба програмчлал" Лекц №1
 
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
 
давталттай алгоритм
давталттай алгоритмдавталттай алгоритм
давталттай алгоритм
 
Html хэлний хичээл
Html хэлний хичээлHtml хэлний хичээл
Html хэлний хичээл
 
Paint програм
Paint програмPaint програм
Paint програм
 
алгоритмчлалын үндэс
алгоритмчлалын үндэсалгоритмчлалын үндэс
алгоритмчлалын үндэс
 
си хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р ангиси хэлний хичээлүүд 11 р анги
си хэлний хичээлүүд 11 р анги
 
хэрэглээний програмууд ба системийн програмууд
хэрэглээний програмууд ба системийн програмуудхэрэглээний програмууд ба системийн програмууд
хэрэглээний програмууд ба системийн програмууд
 
мэдээллийн технологи 1 тест
мэдээллийн технологи 1 тестмэдээллийн технологи 1 тест
мэдээллийн технологи 1 тест
 
функцийн тодорхойлогдох муж ба утгын муж
функцийн тодорхойлогдох муж ба утгын мужфункцийн тодорхойлогдох муж ба утгын муж
функцийн тодорхойлогдох муж ба утгын муж
 
Test
TestTest
Test
 
алгоритм үндсэн ойлголт
алгоритм үндсэн ойлголталгоритм үндсэн ойлголт
алгоритм үндсэн ойлголт
 
C++
C++C++
C++
 

Viewers also liked

Web design -_lecture_1
Web design -_lecture_1Web design -_lecture_1
Web design -_lecture_1Soyokos Soyoko
 
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Urantuya Purevtseren
 
Lecture file and folder working
Lecture file and folder workingLecture file and folder working
Lecture file and folder workingganzorigb
 
Lecture network programming
Lecture network programmingLecture network programming
Lecture network programmingganzorigb
 
Lecture graphic programming
Lecture graphic programmingLecture graphic programming
Lecture graphic programmingganzorigb
 
Lecture11 12
Lecture11 12Lecture11 12
Lecture11 12ganzorigb
 
статистикийн функцууд
статистикийн функцуудстатистикийн функцууд
статистикийн функцуудKahatanbayr
 
Lecture data base programming part1
Lecture data base programming part1Lecture data base programming part1
Lecture data base programming part1ganzorigb
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of pythonsodbilego
 
С++ without new and delete
С++ without new and deleteС++ without new and delete
С++ without new and deletePlatonov Sergey
 

Viewers also liked (20)

Web design -_lecture_1
Web design -_lecture_1Web design -_lecture_1
Web design -_lecture_1
 
Lec03
Lec03Lec03
Lec03
 
Pl lecture8
Pl lecture8Pl lecture8
Pl lecture8
 
Pl lecture4
Pl lecture4Pl lecture4
Pl lecture4
 
Pl lecture2
Pl lecture2Pl lecture2
Pl lecture2
 
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2
 
CS203 Лекц01 Prefeace
CS203 Лекц01  PrefeaceCS203 Лекц01  Prefeace
CS203 Лекц01 Prefeace
 
Lecture file and folder working
Lecture file and folder workingLecture file and folder working
Lecture file and folder working
 
Lecture2
Lecture2Lecture2
Lecture2
 
Lecture network programming
Lecture network programmingLecture network programming
Lecture network programming
 
Lecture graphic programming
Lecture graphic programmingLecture graphic programming
Lecture graphic programming
 
Pl lecture6
Pl lecture6Pl lecture6
Pl lecture6
 
PL Lecture3
PL Lecture3PL Lecture3
PL Lecture3
 
Lecture11 12
Lecture11 12Lecture11 12
Lecture11 12
 
Lec04
Lec04Lec04
Lec04
 
статистикийн функцууд
статистикийн функцуудстатистикийн функцууд
статистикийн функцууд
 
Lecture data base programming part1
Lecture data base programming part1Lecture data base programming part1
Lecture data base programming part1
 
Tutorial of python
Tutorial of pythonTutorial of python
Tutorial of python
 
Pl lecture1
Pl lecture1Pl lecture1
Pl lecture1
 
С++ without new and delete
С++ without new and deleteС++ without new and delete
С++ without new and delete
 

Similar to Lecture1

Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...batnasanb
 
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунуудАндройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунуудBatjargal Batbold
 
It glossary
It glossaryIt glossary
It glossaryMr Bt
 
хэрэглээний програм
хэрэглээний програмхэрэглээний програм
хэрэглээний програмCHBD_6684
 
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...batnasanb
 

Similar to Lecture1 (20)

Lecture1
Lecture1Lecture1
Lecture1
 
Ood lesson1
Ood lesson1Ood lesson1
Ood lesson1
 
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
Булган - Монгол дахь Software Engineering-ийн өнөөгийн байдал, түүнийг хөгжүү...
 
PL Lecture2
PL Lecture2PL Lecture2
PL Lecture2
 
сорил
сорилсорил
сорил
 
1
11
1
 
Ood lesson1
Ood lesson1Ood lesson1
Ood lesson1
 
Лекц 1
Лекц 1Лекц 1
Лекц 1
 
2014 is101 lec7
2014 is101 lec72014 is101 lec7
2014 is101 lec7
 
PL Lecture1
PL Lecture1PL Lecture1
PL Lecture1
 
Лекц №5
Лекц №5Лекц №5
Лекц №5
 
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунуудАндройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
Андройд үйлдлийн системийн аппликейшний суурь ухагдахуунууд
 
It glossary
It glossaryIt glossary
It glossary
 
Lecture 14 test strategy
Lecture 14   test strategyLecture 14   test strategy
Lecture 14 test strategy
 
Sw206 lec
Sw206 lecSw206 lec
Sw206 lec
 
хэрэглээний програм
хэрэглээний програмхэрэглээний програм
хэрэглээний програм
 
Lekts1
Lekts1Lekts1
Lekts1
 
Lekts1
Lekts1Lekts1
Lekts1
 
Lekts1
Lekts1Lekts1
Lekts1
 
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
Д.Өнөрхишиг, Б.Гэрэлтуяа - ТӨСЛИЙН ТОДОРХОЙ АСУУДЛЫН ТӨЛӨВЛӨЛТ БА ХЭРЭГЖИЛТИЙ...
 

More from ganzorigb

Lecture tread
Lecture treadLecture tread
Lecture treadganzorigb
 
Lecture file man prog
Lecture file man progLecture file man prog
Lecture file man progganzorigb
 
Lecture data base programming part3
Lecture data base programming part3Lecture data base programming part3
Lecture data base programming part3ganzorigb
 
Lecture data base programming part2
Lecture data base programming part2Lecture data base programming part2
Lecture data base programming part2ganzorigb
 
Lecture hibernate
Lecture hibernateLecture hibernate
Lecture hibernateganzorigb
 
Lekts presentation10
Lekts presentation10Lekts presentation10
Lekts presentation10ganzorigb
 
Lekts presentation12
Lekts presentation12Lekts presentation12
Lekts presentation12ganzorigb
 
Lekts presentation9
Lekts presentation9Lekts presentation9
Lekts presentation9ganzorigb
 
Lekts presentation8
Lekts presentation8Lekts presentation8
Lekts presentation8ganzorigb
 

More from ganzorigb (15)

Lecture 1 2
Lecture 1 2Lecture 1 2
Lecture 1 2
 
Pl lecture3
Pl lecture3Pl lecture3
Pl lecture3
 
Pl lecture5
Pl lecture5Pl lecture5
Pl lecture5
 
Pl lecture7
Pl lecture7Pl lecture7
Pl lecture7
 
Pl lecture8
Pl lecture8Pl lecture8
Pl lecture8
 
Lecture tread
Lecture treadLecture tread
Lecture tread
 
Lecture file man prog
Lecture file man progLecture file man prog
Lecture file man prog
 
Lecture data base programming part3
Lecture data base programming part3Lecture data base programming part3
Lecture data base programming part3
 
Lecture data base programming part2
Lecture data base programming part2Lecture data base programming part2
Lecture data base programming part2
 
Lecture hibernate
Lecture hibernateLecture hibernate
Lecture hibernate
 
PL Lecture4
PL Lecture4PL Lecture4
PL Lecture4
 
Lekts presentation10
Lekts presentation10Lekts presentation10
Lekts presentation10
 
Lekts presentation12
Lekts presentation12Lekts presentation12
Lekts presentation12
 
Lekts presentation9
Lekts presentation9Lekts presentation9
Lekts presentation9
 
Lekts presentation8
Lekts presentation8Lekts presentation8
Lekts presentation8
 

Lecture1

  • 2. Програмчлалын үндэс  Програмчлал гэж юу вэ?  Хүмүүс програм хангамжийг бүтээхийн тулд компьютерийн кодыг бичдэг. – Энэ програм хангамж нь хүснэгт боловсруулах хэрэглээний, вэбийн, үйлдлийн систем, байгууллагын мэдээллийн сан боловсруулагч байж болно.
  • 3. Програмчлалын үндэс   Програм хангамж гэдэг нь үнэндээ заавруудын дараалал юм. Тодорхой үр дүн гаргаж авах зорилгоор зааврыг ашиглан компьютерийн төхөөрөмжийг удирддаг. Програмчлалын хэл нь дээрх заавруудыг хэрхэн ашиглах дүрмүүдийн олонлог юм. – – Түүнийг ашиглан компьютер болон хүн ойлгодог програм хангамжийг бүтээж болдгоороо бусад бодит хэлтэй төстэй. Гэвч түүнийг ашиглахад тогтсон маш хатуу дүрэмтэй. Үүгээрээ ярианы хэлнээс эрс ялгардаг.
  • 4. Програмчлалын үндэс  Машин нь ямар нэгэн утга санааг хүн шиг ойлгож чадахгүй. Тиймээс програм зохиогч нь бодит ертөнцийн явдал, утга санааг програмчлалын хэл рүү хийсвэрлэн буулгадаг юм.  Програмчлал гэдэг нь тодорхой зорилгод хүрэхийн тулд хийгддэг логик дарааллуудын хэлхээс юм.
  • 5. Програмчлалын үндэс Бид програмыг хэрхэн бичдэг вэ?  Компьютер ухаалаг биш бөгөөд ямар нэгэн асуудлыг шинжлэн зөв шийдлийг олох чадваргүй.  Бид програм бичихдээ компьютерт үйлдлүүдийг ямар дарааллаар биелүүлэхийг зааж өгдөг.  Програм бичих үйл ажиллагааг ерөнхийд нь 2 шатанд хувааж үздэг: бодлогын-шийдэл ба хэрэгжүүлэлт.
  • 6. Програмчлалын үндэс  Бодлого-шийдлийн 1. 2. 3. шат Шинжилгээ ба Тодорхойлолт гаргах. Асуудлыг ойлгож ямар зүйл хийхээ тодорхойлох. Ерөнхий шийдэл (Алгоритм). Шаардлагатай өгөгдлийн төрөл болон тухайн бодлогыг бодох логик дарааллуудыг тодорхойлох. Нягтлах. Тодорхойлсон алхмуудын дагуу тухайн бодлого үнэхээр бодогдож байгааг шалгах.
  • 7. Програмчлалын үндэс  Хэрэгжүүлэлтийн 1. 2. шат Тодорхой шийдэл (Програм). Алгоритм(ерөнхий шийдэл) програмчлалын хэл рүү хөрвүүлэх. Тестчилэл. Зааврын дагуу компьютерийг ажиллуулж үр дүн зөв эсэхийг шалгана. Хэрэв ямар нэгэн алдаа илэрвэл, алгоритм програмыг шинжлэн алдааны эх үүсвэрийг олж, түүнийг засах.
  • 8. Програмчлалын үндэс Бид програмыг хэрхэн бичдэг вэ?  Програм бүрэн бичигдсэний дараагаар 3р үе шат руу шилждэг: засвар үйлчилгээ.  Засвар үйлчилгээний шат 1. 2. Ашигла. Програмыг ашиглана. Засвар үйлчилгээг хий. Ашиглаж байх явцад илэрсэн алдааг засах ба мөн шаардлага өөрчлөгдсөний улмаас програмд өөрчлөлт хийдэг.
  • 9. Програмчлалын үндэс  Дээрх үе шатуудыг зургаар дүрслэн үзүүлбэл: Програмчлал ерөнхийдөө програм хангамж хөгжүүлэлтийн код бичих хэсэг юм. Сайн програм хангамж хөгжүүлэлт нь кодчлолоос гадна хэд хэдэн хэсгээс тогтдог.
  • 10. Програмчлалын үндэс Програм хангамж хөгжүүлэлтийн товч тодорхойлолт  Програм хангамжийг хөгжүүлэхийн тулд, хөгжүүлэгч(програм зохиогч) нь дараах алхмуудын дагуу ажилладаг: – – – – Хэрэгцээ шаардлагын шинжилгээ Зохиомж гаргах Код бичих Тестлэх
  • 11. Програмчлалын үндэс  Хэрэгцээ шаардлагын шинжилгээний үе шатанд хэрэглэгчийн хүсэж буй хэрэгцээ, шаардлагыг шинжилдэг. Зарим хүмүүс үүнийг програм хангамж хөгжүүлэлтийн хамгийн чухал үе шат гэж үздэг. – – Амжилттай програм хангамжийг бий болгоход хэрэгцээ шаардлага маш тодорхой, нарийвчлалтайгаар дүрслэгдсэн байх хэрэгтэй. Хэрэгцээ шаардлагын шинжилгээг зөв хийх нь цаашид хийгдэх үр дүнгүй ажиллагаанаас сэргийлдэг.
  • 12. Програмчлалын үндэс  Зохиомжийн – – хэсэг Энэ шатанд програмын ерөнхий бүтцийг тодорхойлж түүнийг ямар дэд хэсгүүдэд хуваах, тэдгээр нь хоорондоо хэрхэн харилцан ажиллаж хэрэгцээ шаардлагыг биелүүлэхийг зохиомжилдог . Програм хангамжийг хөгжүүлэхэд хэд хэдэн ялгаатай загварчлалын аргууд ашиглагдаж болдог. Эдгээр аргууд нь системийн ялгаатай түвшинг дүрслэхийн тулд төрөл бүрийн визуаль хэрэгслүүдийг (програм) ашигладаг.
  • 13. Програмчлалын үндэс  Кодчилол зохиомжийн үр дүнд бий болсон загварыг програмчлалын хэл дээрх дэс дараалсан зааврууд руу хөрвүүлэх үйл ажиллагаа. – – Өмнөх үеийн ихэнх програмчлалын хэлнүүд нь математикийн функц шиг байсан. Орчин үеийн ихэнх програмчлалын хэлнүүд нь илүү хүний хэлтэй төстэй болж ирсэн. (Англи хэлтэй). Ийм хэл дээр бичигдсэн програм нь уншиж ойлгоход хялбар байдаг(засвар үйлчилгээ хийхэд) ба, мөн илүү утга төгөлдөр болдог байна(илүү хүчирхэг). Тэдгээрийг дээд түвшний програмчлалын хэл гэж нэрлэдэг.  Жишээ нь: C++, Java, Delphi, C+, PHP, Python, Ruby гэх мэт.
  • 14. Програмчлалын үндэс Програм хангамж хөгжүүлэлтийн товч тодорхойлолт (үргэлжлэл) – Кодчилол: Програм зохиогч нь програм хангамжийг Кодчилол үүсгэхийн тулд доорх алхмуудыг дэс дараалан давтан гүйцэтгэдэг: Код(эх код) бичих – програм зохиогч тухайн програмчлалын хэлний дүрмийн дагуу програмын шаардлагын логикийг дүрслэн буулгана..  Кодыг хөрвүүлэх – Компьютерийн ойлгодог заавруудын дараалал руу хөрвүүлнэ. Энэ шатанд хөрвүүлэгч(compiler) гэж нэрлэгддэг тусгай програмыг ашигладаг. Хөрвүүлэгч эх кодыг хөрвүүлэхийн өмнө түүний зөв бичлэгийн алдааг илрүүлж тэдгээрийг бүрэн зассаны дараа хөрвүүлдэг.  Кодыг холбох – Зарим програмчлалын хэлнүүдэд 2 програмыг нийлүүлэн 1 програм болгох нэмэлт боломж байдаг. Холбогч хэмээх тусгай програм хангамж дээрх үүргийг гүйцэтгэдэг. 
  • 15. Програмчлалын үндэс Програм хангамж хөгжүүлэлтийн товч тодорхойлолт (үргэлжлэл) Кодыг ажиллуулан шалгах – эх кодыг хөрвүүлж холболт хийсний(хэрэв шаардлагатай бол) дараа програм зохиогч хөрвөсөн машины кодыг(заавруудын дарааллыг) ажиллуулан түүний зөв ажиллагааг шалгадаг. Програм зохиогч кодын хэсэг бүрийг шалгаснаар түүний бүрэн найдвартай ажиллагааг шалгаж болдог. Кодын жижиг хэсгүүдийг дангаар нь тестлэх ажиллагааг нэгж хэсгийн тест(unit testing) гэдэг.  Кодыг зүгшрүүлэх – Заримдаа програм зохиогч түүний кодын дотоод ажиллагааг харах шаардлагатай байдаг. Зүгшрүүлэгч хэмээх програмыг ашиглан програмын кодын нэг мөрийг ажиллуулах, ажиллагааг түр саатуулж болдог.  Кодыг багцлах – програм бэлэн болсны дараа түүнийг(бусад хамааралтай програм хангамжуудын хамт) багцалж эцсийн хэрэглэгч болон өөр хүн рүү тестлэхийн тулд илгээдэг. Тухайн багц нь суулгах заавар болон бичиг баримтыг агуулж болно. 
  • 16. Програмчлалын үндэс Програм хангамж хөгжүүлэлтийн товч тодорхойлолт (үргэлжлэл) – Тестчилэл нь програмыг хэрэгцээ шаардлагын дагуу эсэхийг шалган, зарим өгөгдлийн хувьд гарч буй үр дүнг тулгаж, хэрэглэгч програмыг үр ашигтай үнэн зөвөөр ашиглаж болох уу гэдгийг нягтлан үздэг.  Кодыг ашиглахын өмнө түүний алдааг илрүүлж засах зорилгоор тестлэсэн байх ёстой.  Хэрэв програмд хэвийн бус ажиллагаа илэрвэл түүнийг засаж, тестчилэлийг дахин хийх хэрэгтэй.
  • 17. Програмчлалын үндэс  Програм хангамж болон Техник хангамжийн зарчмын ялгаа – – – Програм хангамж гэдэг нь машины заавруудын дараалал юм. Техник хангамж нь компьютерийн хувьд амархан өөрчлөгдөх боломжгүй. Компьютерийн гол төхөөрөмж болох CPU нь үйл ажиллагааг ерөнхийд нь удирддаг. CPU нь өөртөө суурилагдсан програм хангамж болон техникийн шийдэлдээ захирагддаг.
  • 18. Програмчлалын үндэс  Хөгжүүлэгч болон Хэрэглэгчийн зарчмын ялгаа – – – Програмыг ажиллуулан ашиглаж буй хүнийг эцсийн хэрэглэгч гэнэ. Програмыг зохиодог хүнийг хөгжүүлэгч гэдэг.  Зарим хөгжүүлэгч нар програмын хэрэгцээ шаардлагын шинжилгээгээр мэргэжиж туршлагажсан байдаг.  Мөн програмын код бичигч, тестлэгч нар нэлээдгүй хувийг эзэлдэг. Мөн төрөл бүрийн програм хангамжууд байдгаас тэдгээрийг хөгжүүлэхэд төрөл бүрийн мэргэшлүүд хэрэгтэй байдаг
  • 19. Програмчлалын үндэс  Синтакс(зөв бичих дүрэм зүй), Семантикийн(утга зүй) ялгаа – – Синтакс: Хэл бүхэнд ямар нэгэн команд-өгүүлбэрийг Синтакс хэрхэн бичихийг тодорхойлсон дүрэм байдаг. Програм хэлний дүрмээс гажууд бичигдсэн байвал хөрвүүлэгч програм хөрвүүлэх ажиллагааг зогсоон алдааны мэдээлэл үүсгэдэг. Хэрэв ямар ч алдаагүй хөрвүүлэгдвэл тэр ажиллах боломжтой  Хэдийгээр ажиллах боловч бид нарын санасны дагуу ажиллахгүй байх нь их 
  • 20. Програмчлалын үндэс  Синтакс(зөв бичих дүрэм зүй), Семантикийн(утга зүй) ялгаа – – Програм зөв үр дүн гаргахын тулд зөв командуудыг зөв дарааллаар байрлуулсан байх хэрэгтэй – семантикийн хувьд зөв програм. Зааврын утга санаа буюу юу хийдгийг семантик гэнэ.  Үүнийг ойлгох нь програмчлалын хэлийг сайтар сурахын үндэс юм.  Яагаад дээд түвшний програмчлалын хэл амархан байдгийн шалтгаан нь бас энэ юм. Илүү хүний сэтгэлгээ рүү ойртсон.
  • 21. Програмчлалын үндэс  Програмчлалын төрлүүд – Хэд хэдэн төрлийн програмчлалын төрлүүд байдаг. Зарим үндсэн төрлүүд:  Ажиллах орчин Console-based – Командын мөрнөөс текст горимд ажилладаг – Windows-based – Цонх буюу график горимд – Web-based – Вэбийн буюу интернэтийн орчны –  Програм бичих зарчим Procedural – Процедур хандлагат – Object-oriented – Объект хандлагат – Event-driven – Үзэгдлээр удирдагддаг –
  • 22. Програмчлалын үндэс  Console-Based, Windows-Based Програмын ялгаа – Console based програм нь хэрэглэгчтэйгээ харьцахдаа терминал ашиглан тэмдэгтээр дамжуулан оролтын командыг авч үр дүнг гаргадаг.  – Windows-Based нь график дүрслэл ашиглан програмын оролт гаралтын өргөн боломжийг бий болгодог.  – – Иймэрхүү програм нь график дүрсэлдэггүй зөвхөн тэмдэгт дүрсэлдэг. Цонхон програмчлал нь хөгжүүлэгчид Graphical User Interface (GUI) ашиглан хэрэглэгчээс өгөгдөл авах хэрэглэгчид үр дүн үзүүлэх боломжийг олгодог. Цонхон програмчлалыг сурахад арай хэцүү бөгөөд системийн нөөц илүү шаарддаг. Console-based програмчлал нь windows програмчлалаас амархан бөгөөд системийн нөөц бага шаарддаг.
  • 23. Програмчлалын үндэс  Процедур – – хандлагат програмчлал Процедур хандлагат програмчлал бараг бүх програмчлалын хэлэнд хэрэглэгддэг. Ямар нэгэн ажлыг гүйцэтгэхийн тулд заавруудын алхам алхам бүхий дараалалд гол анхаарал хандуулдаг.  Компьютер нь зөв үйлдлийн дарааллыг сонгох чадваргүй учир үйлдлийн дарааллыг зааж өгөх хэрэгцээ гардаг. – Хамгийн өргөн ашиглагддаг процедур хэлнүүд C, C++, Java,FORTRAN.
  • 24. Програмчлалын үндэс  Объект Хандлагат Програмчлал (ОХП) – ОХП нь програм зохиогчийн програмчлах, асуудал шийдэх арга замыг өөрчилсөн. ОХП-д, бодит ертөнцийн юмсийг төлөөлөх объектийн үйл ажиллагаагаар илэрхийлэгдэнэ. – Бодит ертөнцийн юмс нь шинж чанар, тэдгээртэй холбоотой үйлдлүүдтэй байдаг. ОХП-д объект нь шинж чанар(properties), үйлдэл(methods), үзэгдэл(events)-тэй байна гэж үздэг. – Үйлдэл гэдэг нь объектийн гүйцэтгэж чадах үйлдэл юм. – Үзэгдэл нь тодорхой нөхцөлд ажиллах үйлдэл юм.
  • 25. Програмчлалын үндэс  Объект – – Хандлагат Програмчлал (ОХП) ОХП -ын хэл нь Классын(Бүлэг) зарчмыг дэмждэг. Класс гэдэг нь тодорхой объектын ерөнхийлчлөл юм. бол класс, харин Дорж бол Үйлчлүүлэгч классын объект (тохиолдол) юм.  Үйлчлүүлэгч – C++ , Java нь ОХП-ын хэл. (мөн процедур хандлагат).  Үйлдэл болон үзэгдлийн кодыг процедур хандлагат аргаар бичдэг.
  • 26. Програмчлалын үндэс – ОХП нь хэд хэдэн үр ашигтай талыг бий болгодог Объектууд байдлаар дүрсэлсэн системийг зохиох хэрэгжүүлэх, засварлахад амархан ойлгомжтой байдаг. Мөн кодын дахин ашиглалтыг бий болгодог. Нэг удаа класс хөгжүүл, түүнийгээ дахин дахин ашигла. Удамшил хэмээх хүчирхэг аргын тусламжтайгаар эх классаас хүү классыг удамшуулан шинэ класс хялбар үүсгэдэг.
  • 27. Програмчлалын үндэс  C/C++/Java хэлний бүлэг – C системийн програмчлалд зориулагдан зохиогдсон. Доод түвшний боломжийг агуулсан дээд түвшний хэл  Хэтэрхий нарийн, өргөн боломжтой болохоор сурахад ашиглахад хүнд  – C++ нь C хэлийг өргөтгөн ОХ боломжийг оруулсан хэл.  – C хэл дээр бичигдсэн програм C++ хэл дээр бичигдсэн байж болно. Java хэлийг C/C++ бүлгийн гуравдагч үе гэж үзэж болно C/C++ дээрх програм Java дээр бичигдсэн байж болохгүй боловч хоорондоо маш төстэй  Java хэлийг зохиосон хүмүүс C/C++ хэлний зарим төвөгтэй ойлголтуудыг хассан.  Энэ хэл дээр бичигдсэн програм ямар ч компьютер дээр ажилладаг. 
  • 28. Програмчлалын үндэс  Зарим програмчлалын ойлголтууд ихэнх програмчлалын хэлэнд байдаг – – Comments, Identifiers, Data Types, Expressions, Functions, Condition Control statements, Input and Output Тайлбар, Хувьсагч, Өгөгдлийн төрөл, Илэрхийлэл, Функц, Нөхцөлт командөгүүлбэр, Оролт ба Гаралт
  • 30. Зорилт     Жава хэлний түлхүүр онцлогуудыг тодорхойлох Жава виртуаль машины функцуудыг тодорхойлох Garbage collection хэрхэн ажилладагийг тодорхойлох Жава платформын кодын нууцлалыг хангадаг гурван аргыг нэрлэх
  • 31. Зорилт  Class, package, applets, applications гэсэн үгнүүдийн утгыг тайлбарлах  Энгийн Жава програмуудыг бичих, хөрвүүлэх, ажиллуулах  Жава хөтөлбөр програмчлах онлайн авлагыг ашиглан java.lang багцийн аргуудыг тайлбарла
  • 32. Лавламж    Жава програмчлалын хэл нь бүхэл бие даасан хэл үү эсхүл зөвхөн Веб програм бичихэд ашиглагддаг хэл үү? Яагаад өөр програмчлалын хэл хэрэгтэй вэ? Жава технологийн платформ өөр ямар хэлний платформ дээр суурилж хөгжсөн бэ?
  • 33. Жава Програмчлалын Хэл гэж ЮУ вэ?  Жава хэл нь: – – – –   Програмчлалын хэл Хөгжүүлэлтийн орчин Application орчин Deployment орчин Синтакс нь С++, семантик нь SmallTalk-тай төстэй Aплет болон Аппликэшн хөгжүүлэхэд ашиглагддаг
  • 34. Жава Програмчлалын Хэлний Vндсэн Зорилт  Дараахь онцлогууд нь уг хэлийг үлэмж уян хатан болгодог: – – – Бусад хэлний нийтлэг дутагдлаас зайлсхийсэн Обьект хандалтат Хэрэглэгчдэд ойлгомжтой, цэгцтэй код бичих бололцоо олгодог
  • 35. Жава Програмчлалын Хэлний Vндсэн Зорилт  Хөрвүүлсэн орчинг: – –    Хөгжүүлэлтийн хурдац Кодын ашиглалт Хэрэглэгчдэд нэг зэрэг олон процесс удирдах бололцоо олгодог Ажиллах явцад програм динамикаар өөрчлөгдөх бололцоотой Нууцлалын ахисан зэрэг
  • 36. Жава Програмчлалын Хэлний Vндсэн Зорилт  Дараахь онцлогууд дээр дурьдсан бүх зүйлсийг хангах юм: – – – Жава Виртуаль Машин (JVM) Garbage Collection Кодын нууцлал
  • 37. Жава Виртуаль Машин (JVM)     Хатуумжийн платформ тодорхойлолтуудыг хангана Платформоос үл хамаарах хөрвөсөн байт кодуудыг уншина Уямж эсхүл хатуумж байдлаар хэрэглэгдэнэ Жава хөгжүүлэлтийн багаж эсхүл веб браузер байдлаар хэрэглэгдэнэ
  • 38. Жава Виртуаль Машин (JVM) JVM нь дараахь тодорхойлолтуудыг барина:  Instrcution set (CPU)  Register set  Class file format  Stack  Garbage collected-heap  Memory area
  • 39. Жава Виртуаль Машин (JVM)  Байткод нь кодоос бий болсон хамгийн эвтэйхэн хэлбэр  Кодыг хөрвүүлэх явцад ихэнхи төрөл шалгалтууд явагддаг  SUN-аас хүлээн зөвшөөрөгдсөн JVM-ууд бүх класс файлыг ажиллах чадвартай
  • 40. Garbage Collection     Байршсан санамж хэрэгцээгүй болсон бол цэвэрлэгдэж байх хэрэгтэй Зарим хэлнүүдэд цэвэрлэх үйлдэл нь програмчын хийх ёстой үйлдэл байдаг Жава хэлэнд санах ойг цэвэрлэх системийн трийдүүд(зүтгүүр) байдаг Garbage Collection: - Хэрэгцээгүй санамж байгаа эсэхийг шалгаж, тийм бол цэвэрлэдэг -Автоматаар -JVM-ийн онцлогоос шалтгаалан олон янзын хэлбэрээр хэрэгжих бололцоотой.
  • 41. Кодын нууцлал Жава програмын орчин дараахь байдлаар хэрэгжинэ:
  • 42. Жава Runtime Орчин  Гурван – – – үндсэн үйлдлийг гүйцэтгэнэ: Кодыг ачаална Кодыг нягтлана Кодыг гүйцэтгэнэ
  • 43. Класс Ачаалагч  Программыг ажиллуулахад хэрэгцээтэй классуудыг ачаална  Локал файл системийн классуудыг тусгай нэршлийн дагуу ачаална  Хуурмаг нөхцөл байдлаас сэргийлнэ
  • 44. БайтКод Хянагч  Дараахь нөхцлүүдийг нягтлана: – – – – – JVM-ы шаардлагад нийцэж байгаа эсэх Системийн нэгдэлд харшлахгүй байгааг Код нь стектэй холбоотой ямар нэгэн хэтрэлт, дуталт үүсгээгүйг Ажиллах кодны параметр төрлүүд зөв эсэх Дүрмийн бус өгөгдөл хувиргалт хийгдээгүйг
  • 46. HelloWorldApp-ийг хөрвvvлэх ба ажиллуулах нь хөрвүүлэх нь javac HelloWorldApp.java  Программыг ажиллуулах нь java HelloWorldApp  Хөрвүүлэлтийн болон гүйцэтгэлийн алдааг нягтлах  HelloWorld.java-г
  • 47. Хөрвvvлэлтийн vеийн алдаанууд    javac: Command not found HelloWorldApp.java:6: Method printl(java.lang.String) not found in class java.io.PrintStream.System.out.printl^(“HelloWo rld”); In class HelloWorldApp: main must be public and static
  • 48. Гvйцэтгэлийн vеийн алдаанууд  Can’t find class HelloWorldApp  Нэршил  Файл бүрт нэг public класс
  • 49. Соорс Файлын Хэлбэр “Дээд түвшний” гурван элементийг агуулна:  – – – Багцийн тодорхойлолт (заавал биш) Тодорхой тооны импорт мэдэгдлүүд Класс болон интерфэйсийн зарлалтууд
  • 50. Класс болон Багцууд - Танилцуулга  Классууд – болон багцууд: Жава класс сангийн чухал багцууд: java.lang java.awt java.applet java.net java.io java.util
  • 51. Жава API Баримтыг Хэрэглэх нь    HTML хуудсуудад API-ийн тухай мэдээллийг багтаасан байдаг Нэг багц нь өөртөө орших бүх классын линкийг агуулдаг Классын баримт нь тухайн классын үе шат, тодорхойлолт, гишүүн хувьсагчид, байгуулагчуудын мэтчилэнгийн мэдээллийг багтаадаг
  • 52. Дасгал: Жавагийн vндсэн даалгавруудыг гvйцэтгэх нь  Дасгалын зорилт: – – –  API баримтаас метод, класс,багцийг зааж үзүүлэх Стандарт оролт/гаралтын методуудыг зааж үзүүлэх Дээрх аргуудыг хэрэглэсэн хоёр програмыг бичиж, хөрвүүл, ажиллуул Даалгавар: – – – Баримтыг унш Жава програм зохио Стандарт оролт/гаралтыг ашигла
  • 53. Өөрийн явцыг шалга        Жава хэлний гол онцлогуудыг тайлбарла JVM-ы функцуудыг тайлбарла Garbage Collection хэрхэн ажилладагийг тайлбарла Жава платформын кодын нууцлалыг хангах гурван аргыг нэрлэ Class, packages, applets, applications гэсэн нэршлийг тайлбарла Жава програмыг бич, хөрвүүл, ажиллуул Жава хөтөлбөр програмчлах онлайн авлагыг ашиглан java.lang багцийн аргуудыг тайлбарлах
  • 54. Чинагш сэтгэх  Энэ програмчлалын хэлийг ашигласнаар ямар үр дүнд хүрч болмоор байна вэ?

Editor's Notes

  1. (1991) Sun компанийн төсөл болох “Green” нь электрон төхөөрөмжийн хөгжүүлэх зорилготой байсан. “Green” төсөлд сууриас хамааралгүй програмчлалын хэлний шаардлага гарсан. James Gosling шинэ програмчлалын хэл зохиосон нь Oak байлаа. Энэ хэл нь цахилгаан хэрэгслийг удирдахад зориулагджээ. Тэр хожим “Java-гийн эцэг” хэмээн нэрлэгдсэн. (1993) “Green” төсөл бизнесийн янз бүрийн шалтгаанаас болж зогссон. Вэб илүү нийтийг хамарч Sun компани Oak-ийг интернэт програмчлалд ашиглахаар шийдсэн. Sun, HotJava нэртэй байт-кодыг ажиллуулдаг вэб зууч програмыг бүтээсэн. Oak –ийн нэр Java болж өөрчлөгдсөн. (1995) Sun, Java-г интернэтийн ертөнцөд чиглүүлснээр өргөн хэрэгцээний вэб зууч програмууд болох Internet Explorer, Netscape Navigator Java –гийн апплет технологийг дэмжиж эхэлсэн. Шинэчлэгдэн сайжирсан Java-г танилцуулсан (v1.0 - v1.5) Тодорхой чиглэлээр Java-гийн тодорхойлолтууд гарч ирсэн: Сервэр талын: J2EE Хөдөлгөөнт төхөөрөмжүүдэд: J2ME Ширээний компьютерийн: Java Swing
  2. Синтакс: Хэл бүхэнд ямар нэгэн команд-өгүүлбэрийг хэрхэн бичихийг тодорхойлсон дүрэм байдаг. Тэдгээр дүрэм нь англи хэлний зөв бичих дүрэм шиг ба түүний дагуу програмыг бичдэг. Програм хэлний дүрмээс гажууд бичигдсэн байвал хөрвүүлэгч програм хөрвүүлэх ажиллагааг зогсоон алдааны мэдээлэл үүсгэдэг. Хэрэв ямар ч алдаагүй хөрвүүлэгдвэл тэр ажиллах боломжтой Хэдийгээр ажиллах боловч бид нарын санасны дагуу ажиллахгүй байх нь их Програм зөв үр дүн гаргахын тулд зөв командуудыг зөв дарааллаар байрлуулсан байх хэрэгтэй – семантикийн хувьд зөв програм. Зааврын утга санаа буюу юу хийдгийг семантик гэнэ. Үүнийг ойлгох нь програмчлалын хэлийг сайтар сурахын үндэс юм. Яагаад дээд түвшний програмчлалын хэл амархан байдгийн шалтгаан нь бас энэ юм. Илүү хүний сэтгэлгээ рүү ойртсон. Синтакс: Хэл бүхэнд ямар нэгэн команд-өгүүлбэрийг хэрхэн бичихийг тодорхойлсон дүрэм байдаг. Програм хэлний дүрмээс гажууд бичигдсэн байвал хөрвүүлэгч програм хөрвүүлэх ажиллагааг зогсоон алдааны мэдээлэл үүсгэдэг. Хэрэв ямар ч алдаагүй хөрвүүлэгдвэл тэр ажиллах боломжтой Хэдийгээр ажиллах боловч бид нарын санасны дагуу ажиллахгүй байх нь их Програм зөв үр дүн гаргахын тулд зөв командуудыг зөв дарааллаар байрлуулсан байх хэрэгтэй – семантикийн хувьд зөв програм. Зааврын утга санаа буюу юу хийдгийг семантик гэнэ.