Шинжлэх Ухаан Технологийн Их Сургууль
Мэдээлэл, Холбооны Технологийн Сургууль
ОБЪЕКТ ХАНДЛАГАТ
ПРОГРАМЧЛАЛ
2-Р ЛАБОРАТОРЫН АЖЛЫН
ТАЙЛАН
Гүйцэтгэсэн: Д.Сүх-Очир
2015 он
Д.СҮХ-ОЧИР B140910044 1
ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН
Даалгавар 1: Хамгийн багадаа 4 өгөгдөлийн төрөл ашигласан жишээ бич.
import javax.swing.JOptionPane;
import java.text.DecimalFormat;
public class DialogBoxExample {
public static void main(String args[]){
String name; // хэрэглэгчээс тэмдэгт мөр хүлээж авна.
String code; // хэрэглэгчээс тэмдэгт мөр хүлээж авна.
String print_mt101;
String print_it101;
String print_mh101;
String print_ph101;
String print_ml101;
String print_ph102;
float mt101,mt100_gpa;
float it101,it101_gpa;
float mh101,mh101_gpa;
float ph101,ph101_gpa;
float ml101,ml101_gpa;
float ph102,ph102_gpa;
double gpa; //Үнэлгээний голч дүн
int max_grade=100;//
int max_gpa=4;
DecimalFormat two=new DecimalFormat("0.00");
name=JOptionPane.showInputDialog(null, "Та нэрээ оруулна уу","Шутис МХТС",
JOptionPane.PLAIN_MESSAGE);
code=JOptionPane.showInputDialog(null, "Та оюутны кодоо оруулна уу","Шутис МХТС",
JOptionPane.PLAIN_MESSAGE);
print_mt101=JOptionPane.showInputDialog(null, "Та Математик 1 хичээлийн дүнг оруулна
уу","ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE);
mt101=Float.parseFloat(print_mt101);
mt100_gpa=mt101*max_gpa/max_grade;
if(mt101>100) JOptionPane.showMessageDialog(null, "Буруу дүн оруулсан байн
хамгийн ихдээ 100 байх ёстой!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE);
if(mt101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр
унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE);
print_it101=JOptionPane.showInputDialog(null,"КТҮ хичээлийн дүнгээ оруулна уу",
"ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE);
it101=Float.parseFloat(print_it101);
it101_gpa=it101*max_gpa/max_grade;
Д.СҮХ-ОЧИР B140910044 2
ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН
if(it101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр
унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE);
print_mh101=JOptionPane.showInputDialog(null,"Монголын түүх хичээлийн дүнгээ
оруулна уу", "ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE);
mh101=Float.parseFloat(print_mh101);
mh101_gpa=mh101*max_gpa/max_grade;
if(mh101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр
унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE);
print_ph101=JOptionPane.showInputDialog(null,"Физик 1 хичээлийн дүнгээ оруулна
уу", "ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE);
ph101=Float.parseFloat(print_ph101);
ph101_gpa=ph101*max_gpa/max_grade;
if(ph101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр
унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE);
print_ml101=JOptionPane.showInputDialog(null,"Хэл ярианы соёл хичээлийн дүнгээ
оруулна уу", "ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE);
ml101=Float.parseFloat(print_ml101);
ml101_gpa=ml101*max_gpa/max_grade;
if(ml101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр
унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE);
print_ph102=JOptionPane.showInputDialog(null,"Физик 2 хичээлийн дүнгээ оруулна
уу", "ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE);
ph102=Float.parseFloat(print_ph102);
ph102_gpa=ph102*max_gpa/max_grade;
if(ph102<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр
унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE);
gpa=(mt100_gpa+it101_gpa+mh101_gpa+ph101_gpa+ml101_gpa+ph102_gpa)/6;
JOptionPane.showMessageDialog(null, name+ " таны голч дүн "+two.format(gpa)+"
байн","ШУТИС-МХТС", JOptionPane.INFORMATION_MESSAGE);
}
}
Д.СҮХ-ОЧИР B140910044 3
ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН
JOptionPane бол javax.swing сангийн класс юм. Import түлхүүр үгийн тусламжтайгаар импортлож
оруулж ирнэ.Түүний тусламжтайгаар тусгай цонхонд мэдээлэл үзүүэлх,хэрэглэгчээс мэдээлэл хүлээж авах
зэрэг олон үйлдэл хийж болно.
Import javax.swing.JOptionPane;
DecimalFormat бол java.text сангийн класс юм. Import түлхүүр үгийн тусламжтайгаар
импортлож оруулж ирнэ. Түүний тусламжтайгаар тоог ямар хэлбэрээр үзэгдэхийг зааж форматлаж өгдөг.
Жишээ нь бутархай тоо таслалын ард маш олон тоотой байх нь зарим програмд зохимжгүй байдаг.
DecimalFormat two=new DecimalFormat("0.00");
Энд DecimalFormat классын two объектийг new операторын тусламжтайгаар зарлаж байн. Тэгэхдээ
зуутын оронгоор нарийвчлан харуулахаар тохируулсан байн. Энэ классын формат функц нь тоог форматлан
буцаадаг.
two.format(gpa) хэрэв gpa=3.333335 Байсан бол энэ үйлдлийн дараа 3.33 болно.
 name=JOptionPane.showInputDialog(null, "Та нэрээ оруулна уу","Шутис
МХТС", JOptionPane.PLAIN_MESSAGE);
хэрэгэгчээс тэмдэгт мөр уншиж аваад name хувьсагчид олгож байна.
JOptionPane.PLAIN_MESSAGE-ямар нэгэн icon-гүйгээр зүгээр л мэдээлэл хэвлэн үзүүлэх цонх.
JOptionPane.showInputDialog нь дараах байдалтай харагдана.
 print_mt101=JOptionPane.showInputDialog(null, "Та Математик 1 хичээлийн
дүнг оруулна уу","ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE);
хэрэгэгчээс тэмдэгт мөр уншиж аваад print_mt101 хувьсагчид олгож байна.
 mt101=Float.parseFloat(print_mt101);
Тэмдэгт мөрийг бутархай тоо руу харвүүлж байна. Float.parseFloat-ийн буцааж байгаа бодит тоон утга
нь mt101 хувьсагчид олгогдоно.
 mt101_gpa=mt101*max_gpa/max_grade;
Математик 1 хичээлийн голч дүнг тооцон гаргаж mt101_gpa хувьсагчид олгоно.
 if(mt101>100) JOptionPane.showMessageDialog(null, "Буруу дүн оруулсан байн
хамгийн ихдээ 100 байх ёстой!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE);
хэрэв гараас оруулсан дүн 100с их бол анхааралын цонх гарч ирнэ.
JOptionPane.WARNING_MESSAGE-Сануулын цонх, Хэрэглэгчид ямар нэгэн болзошгүй алдааны талаар сануулга өгөх
үед ашиглана.
Д.СҮХ-ОЧИР B140910044 4
ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН
JOptionPane.showMessageDialog нь дараах байдалтай харагдана.
 if(mt101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр
унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!",
JOptionPane.WARNING_MESSAGE);
хэрэв дүн 61-с бага бол энэ хичээл дээр унасан талаар мэдээлэл гарч ирнэ.
Дээрхтэй адил аргаар бусад хичээлийн дүн,мэдээлэлийг харуулах болно.
Бүх хичээлийн дүнг оруулж дууссаны дараа голч дүнг хэвлэн үзүүлэх болно.
Мэдээлэх цонхны төрлүүд Тайлбар
JOptoinPane.ERROR_MESSAGE Алдааны цонх. Алдаа гарсныг мэдээлэх үед хэрэглэнэ
JOptionPane.INFORMATION_MESSAGE
Мэдээлэлх цонх. Хэрэглэгчид мэдээлэх зорилгоор текст
үзүүлэх үед хэрэглэнэ.
JOptionPane.WARNING_MESSAGE
Сануулгын цонх. Хэрэглэгчид ямар нэгэн болзошгүй алдааны
талаар сануулга өгөх үед хэрэглэнэ.
JOptionPane.QUESTION_MESSAGE
Асуух цонх. Хэрэглэгчээс асуулт асуун хариултыг хүлээн авах
цонх, YES, NO товчнуудтай байдаг
JOptionPane.PLAN_MESSAGE Ямар нэг icon-гүйгээр зүгээр л мэдээлэл хэвлэн үзүүлэх цонх
Д.СҮХ-ОЧИР B140910044 5
ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН
Даалгавар 2: Ил болон далд төрөл хувиргалт ашигласан жишээ бич.
 Ил төрөл хөрвүүлэлт
import java.util.Scanner;
public class Money {
public static void main(String args []){
Scanner too = new Scanner(System.in);
double dollor_prices;
int mnt;
int dollor;
System.out.print("Өнөөдрийн долларын ханш оруулна уу: ");
dollor_prices=too.nextDouble();
System.out.print("Та өөрт байгаа мөнгөний хэмжээг оруулна уу: ");
mnt=too.nextInt();
dollor=(int) (mnt/dollor_prices);
System.out.print("Таньд "+dollor+" нь доллор өгөх боломжтой");
}
}
Хэрэглэгчээс авч байгаа өнөөдрийн доллорын ханш / dollor_prices / нь double төрөлтэй, харин өөрт байгаа
мөнгний хэмжээ нь int (бүхэл тоо) төрөлтэй байн. Өөрт байгаа мөнгөнд хэдэн ширхэг 1-тын доллор багтахын
олохын тулд өөрт байгаа мөнгний хэмжээг өнөөдрийн доллорын ханшид хувааж бүхэл хэсгийг нь авах хэрэгтэй
болно. Уг хоёр хувьсагчийн нэг нь int ,нөгөө нь double байгаа тул бид ил төрөл хувиргалт хийх шаардлагатай
болно.
Утга оноож байгаа хувьсагчийн санах ойд үзлэх хэмжээ нь илэрхийлэлд оролцож байгаа аль нэг хувьсагчийн
санах ойд үзлэх хэмжээнээс бага байвал шууд утга оноох боломжгүй. энэ үед програм бичиж байгаа хүн
хөрвүүлэх үйлдэл хийж өгдөг. Далд/автомат/ төрөл хөрвүүлэлт
dollor=(int) (mnt/dollor_prices);
Бүтэц: Шинэ төрөл=(Төрөл) Хуучин төрөл
Програмын харагдах байдал
 Далд буюу автомат төрөл хөрвүүлэлт
public class Convert
{
public static void main(String args[]){
byte b = 42;
char c = 'a';
short s = 1024;
int i = 50000;
float f = 5.67f;
Д.СҮХ-ОЧИР B140910044 6
ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН
double d = 0.35;
double result = (f * b) + (i / c) - (d * s);
System.out.println("(float*byte)+(int/char)-(double*short)");
System.out.println("Илэрхийлэлийн үр дүн: " + result);
}
}
Утга олгож байгаа хувьсагчийн хэмжээ нь илэрхийлэлд оролцож байгаа хувьсагчдийн санах ойд эзлэх
хэмжээтэй тэцүү эсвэл их байвал далд буюу автомат төрөл хувиргалт хийгдэнэ.
Энэ тухай дэлгэрэнгүй авч үзье:
(f * b) + (i / c) - (d * s); энэ илэрхийлэлд byte, char, short, int, float,
double төрлийн өгөгдөлүүд оролцсон бөгөөд илэрхийлэлийн үрд дүнг double result гэсэн хувьсагчид
оноосон байн. Эдгээр илэрхийлэлийн үр дүн double төрлийн утгын мужид багтаж байгаа тул java compiler
автоматаар төрөл хөрвүүлэлт хийнэ.
double result = (f * b) + (i / c) - (d * s);
Програмын харагдах байдал
Даалгавар 3: For, while. Do while ашигласан жишээ бич
3.1 For - Тоолуурт давталт /Параметр давталт/
Хоёрын n зэргийг олдог програм
Import java.util.Scanner;
Public class ForLoop
{
Public static void main(String args[])
{
int quadrate=1;
int n;
Scanner too = new Scanner(System.in);
System.out.print("Та 2-ын хэдэн зэргийг олмоор байн: ");
n=too.nextInt();//Хэрэглэгчээс бүхэл тоон утга авна.
for(int i=1; i<=n; i++)
{
quadrate=quadrate*2;
}//for давталтын нөхцөл
Д.СҮХ-ОЧИР B140910044 7
ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН
System.out.print("2-ын "+n+" зэрэг нь "+quadrate);
}//main аргын төгсгөл
}//ForLoop классын төгсгөл
Бүтэц: For(тоолуурын анхны утга; давталт дуусах нөхцөл; тоолуурыг өөрчлөх)
Тайлбар: Тоолуурын “анхны утгаас” эхлээд “тоолуурыг өөрчилсөөр” байгаад “давталт дуусах нөхцөл” хүртэл
давтан Бичлэг үйлдлийг гүйцэтгэнэ.
2n
зэрэг гэдэг нь 2 гэсэн тоог n удаа өөрөөр нь үржүүл гэсэн үг юм. Тиймээс эхлээд хэдэн удаа үржүүлхээ (2-ын
хэдэн зэргийг олохоо) гараас оруулна.
 n=too.nextInt();
Дараагийн алхам нь n удаа үржүүлэх давталтаа бичих:
 for(int i=1; i<=n; i++)
 for тоолуурт давталтын түлхүүр үг.
 int i=1 тоолуур эхлэх нөхцөл/анхны утга нь 1/
 i<=n Давталтыг зогсоох нөхцөл
 i++ Тоолуурын ахлам/i-гийн утгыг нэг нэгээр нэмэгдүүлнэ/
 for давталтанд хийгдэж байгаа үйлдэлүүдийг цэгтэй таслал (;) –аар тусгаарладаг.
 quadrate=quadrate*2 үүнийг давталтын бие гэх бөгөөд давтал дуустал энэ үйлдэл давтагдан
хийгдэх болно.
Програмын харагдах байдал
3.2 While - Өмнөх нөхцөлт давталт /1-c 20 хүртлэх тооны квадрат олдог програм/
while( x<=20 ) Давталт дуусах нөхцөл
System.out.print(x+ " ын квадрат: " + x*x ); x++;
Давталтын бие: x-ыг x-ээр үржүүлж дараа нь х-ын утгыг
нэг нэгээр нэмэгдүүлнэ.
System.out.print("n");
Давталтын үр дүнг шинэ мөрөнд шилжүүлж алхам
алхамаар нь хэвлэн үзүүлнэ.
While давталт нь эхэлж нөхцөлөө шалгаад хэрэв биелж
байвал ямар нэгэн үйлдэл хийж нөхцөл биелэхгүй бол
давталтаа дуусгадаг.
Програмын үр дүн
public class WhileLoop {
public static void main(String args[]) {
int x = 1;
while( x<=20 ) {
System.out.print(x+ " ын квадрат: " + x*x );
x++;
System.out.print("n");
} // while давталтын төгсөл
}
}
Д.СҮХ-ОЧИР B140910044 8
ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН
3.3 Do while : Дараах нөхцөлт давталт /1-c 20 хүртлэх тооны квадрат олдог програм/
Өмнөх while давталтын жишээг do while давталтруу
хөрвуулж үзүүллээ. While давталтаас ялгаатай нь нөхцөл
шалгалт нь давталтын төгсгөлд байрладаг.
public class DoWhileLoop
{
public static void main(String args[]){
int x=1;
do{
System.out.print(x+ " ын квадрат: " + x*x );
x++;
System.out.print("n");
}
while(x<=20);
}
}
Д.СҮХ-ОЧИР B140910044 9
ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН
4. String, int, double төрлийн хувьсагчид гараас утга авч, хэвлэх жишээ бич
import java.util.Scanner;
public class bvrtgel {
public static void main(String args[]){
String name;
int nas;
double high;
Scanner in=new Scanner(System.in);
System.out.print("Та нэрээ оруулна уу: ");
name=in.nextLine();
System.out.print("Та насаа оруулна уу: ");
nas=in.nextInt();
System.out.print("Та өөрийн өндөрөө оруулна уу: ");
high=in.nextDouble();
System.out.println(name+" "+nas+" нь настай, "+high+" нь метр
өндөртэй");
}
}
 import java.util.Scanner; Import түлүүр үгийн тусламжтайгаар java.util багцын Scanner
классыг импортлож оруулж ирнэ.
 Scanner in=new Scanner(System.in); програмд ашиглагдах in нэртэй хувьсагчийг зарлаж
байн. Энэхүү in хувьсагч нь Scanner классын хувьсагчаар зарлагдсан. Scanner класс нь програмд
ашиглагдах өгөгдөлийг файлаас, хэрэглэгчээс унших боломжоор хангагдсан байдаг.
 name=in.nextLine(); Хэрэглэгчээс тэмдэгт мөр уншиж name хувьсагчид хадгална.
 nas=in.nextInt(); Хэрэглэгчээс бүхэл тоо уншиж nas хувьсагчид хадгална.
 high=in.nextDouble(); Хэрэглэгчээс бодит тоо уншиж high хувьсагчид хадгална.
Програмын харагдах байдал

CS202 Lab2

  • 1.
    Шинжлэх Ухаан ТехнологийнИх Сургууль Мэдээлэл, Холбооны Технологийн Сургууль ОБЪЕКТ ХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН Гүйцэтгэсэн: Д.Сүх-Очир 2015 он
  • 2.
    Д.СҮХ-ОЧИР B140910044 1 ОБЪЕКТХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН Даалгавар 1: Хамгийн багадаа 4 өгөгдөлийн төрөл ашигласан жишээ бич. import javax.swing.JOptionPane; import java.text.DecimalFormat; public class DialogBoxExample { public static void main(String args[]){ String name; // хэрэглэгчээс тэмдэгт мөр хүлээж авна. String code; // хэрэглэгчээс тэмдэгт мөр хүлээж авна. String print_mt101; String print_it101; String print_mh101; String print_ph101; String print_ml101; String print_ph102; float mt101,mt100_gpa; float it101,it101_gpa; float mh101,mh101_gpa; float ph101,ph101_gpa; float ml101,ml101_gpa; float ph102,ph102_gpa; double gpa; //Үнэлгээний голч дүн int max_grade=100;// int max_gpa=4; DecimalFormat two=new DecimalFormat("0.00"); name=JOptionPane.showInputDialog(null, "Та нэрээ оруулна уу","Шутис МХТС", JOptionPane.PLAIN_MESSAGE); code=JOptionPane.showInputDialog(null, "Та оюутны кодоо оруулна уу","Шутис МХТС", JOptionPane.PLAIN_MESSAGE); print_mt101=JOptionPane.showInputDialog(null, "Та Математик 1 хичээлийн дүнг оруулна уу","ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE); mt101=Float.parseFloat(print_mt101); mt100_gpa=mt101*max_gpa/max_grade; if(mt101>100) JOptionPane.showMessageDialog(null, "Буруу дүн оруулсан байн хамгийн ихдээ 100 байх ёстой!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE); if(mt101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE); print_it101=JOptionPane.showInputDialog(null,"КТҮ хичээлийн дүнгээ оруулна уу", "ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE); it101=Float.parseFloat(print_it101); it101_gpa=it101*max_gpa/max_grade;
  • 3.
    Д.СҮХ-ОЧИР B140910044 2 ОБЪЕКТХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН if(it101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE); print_mh101=JOptionPane.showInputDialog(null,"Монголын түүх хичээлийн дүнгээ оруулна уу", "ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE); mh101=Float.parseFloat(print_mh101); mh101_gpa=mh101*max_gpa/max_grade; if(mh101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE); print_ph101=JOptionPane.showInputDialog(null,"Физик 1 хичээлийн дүнгээ оруулна уу", "ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE); ph101=Float.parseFloat(print_ph101); ph101_gpa=ph101*max_gpa/max_grade; if(ph101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE); print_ml101=JOptionPane.showInputDialog(null,"Хэл ярианы соёл хичээлийн дүнгээ оруулна уу", "ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE); ml101=Float.parseFloat(print_ml101); ml101_gpa=ml101*max_gpa/max_grade; if(ml101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE); print_ph102=JOptionPane.showInputDialog(null,"Физик 2 хичээлийн дүнгээ оруулна уу", "ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE); ph102=Float.parseFloat(print_ph102); ph102_gpa=ph102*max_gpa/max_grade; if(ph102<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE); gpa=(mt100_gpa+it101_gpa+mh101_gpa+ph101_gpa+ml101_gpa+ph102_gpa)/6; JOptionPane.showMessageDialog(null, name+ " таны голч дүн "+two.format(gpa)+" байн","ШУТИС-МХТС", JOptionPane.INFORMATION_MESSAGE); } }
  • 4.
    Д.СҮХ-ОЧИР B140910044 3 ОБЪЕКТХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН JOptionPane бол javax.swing сангийн класс юм. Import түлхүүр үгийн тусламжтайгаар импортлож оруулж ирнэ.Түүний тусламжтайгаар тусгай цонхонд мэдээлэл үзүүэлх,хэрэглэгчээс мэдээлэл хүлээж авах зэрэг олон үйлдэл хийж болно. Import javax.swing.JOptionPane; DecimalFormat бол java.text сангийн класс юм. Import түлхүүр үгийн тусламжтайгаар импортлож оруулж ирнэ. Түүний тусламжтайгаар тоог ямар хэлбэрээр үзэгдэхийг зааж форматлаж өгдөг. Жишээ нь бутархай тоо таслалын ард маш олон тоотой байх нь зарим програмд зохимжгүй байдаг. DecimalFormat two=new DecimalFormat("0.00"); Энд DecimalFormat классын two объектийг new операторын тусламжтайгаар зарлаж байн. Тэгэхдээ зуутын оронгоор нарийвчлан харуулахаар тохируулсан байн. Энэ классын формат функц нь тоог форматлан буцаадаг. two.format(gpa) хэрэв gpa=3.333335 Байсан бол энэ үйлдлийн дараа 3.33 болно.  name=JOptionPane.showInputDialog(null, "Та нэрээ оруулна уу","Шутис МХТС", JOptionPane.PLAIN_MESSAGE); хэрэгэгчээс тэмдэгт мөр уншиж аваад name хувьсагчид олгож байна. JOptionPane.PLAIN_MESSAGE-ямар нэгэн icon-гүйгээр зүгээр л мэдээлэл хэвлэн үзүүлэх цонх. JOptionPane.showInputDialog нь дараах байдалтай харагдана.  print_mt101=JOptionPane.showInputDialog(null, "Та Математик 1 хичээлийн дүнг оруулна уу","ШУТИС-МХТС", JOptionPane.PLAIN_MESSAGE); хэрэгэгчээс тэмдэгт мөр уншиж аваад print_mt101 хувьсагчид олгож байна.  mt101=Float.parseFloat(print_mt101); Тэмдэгт мөрийг бутархай тоо руу харвүүлж байна. Float.parseFloat-ийн буцааж байгаа бодит тоон утга нь mt101 хувьсагчид олгогдоно.  mt101_gpa=mt101*max_gpa/max_grade; Математик 1 хичээлийн голч дүнг тооцон гаргаж mt101_gpa хувьсагчид олгоно.  if(mt101>100) JOptionPane.showMessageDialog(null, "Буруу дүн оруулсан байн хамгийн ихдээ 100 байх ёстой!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE); хэрэв гараас оруулсан дүн 100с их бол анхааралын цонх гарч ирнэ. JOptionPane.WARNING_MESSAGE-Сануулын цонх, Хэрэглэгчид ямар нэгэн болзошгүй алдааны талаар сануулга өгөх үед ашиглана.
  • 5.
    Д.СҮХ-ОЧИР B140910044 4 ОБЪЕКТХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН JOptionPane.showMessageDialog нь дараах байдалтай харагдана.  if(mt101<61) JOptionPane.showMessageDialog(null, name+ " та энэ хичээл дээр унасан байн. Та дараа жил дахин үзнэ үү!!!","АНХААР!!!", JOptionPane.WARNING_MESSAGE); хэрэв дүн 61-с бага бол энэ хичээл дээр унасан талаар мэдээлэл гарч ирнэ. Дээрхтэй адил аргаар бусад хичээлийн дүн,мэдээлэлийг харуулах болно. Бүх хичээлийн дүнг оруулж дууссаны дараа голч дүнг хэвлэн үзүүлэх болно. Мэдээлэх цонхны төрлүүд Тайлбар JOptoinPane.ERROR_MESSAGE Алдааны цонх. Алдаа гарсныг мэдээлэх үед хэрэглэнэ JOptionPane.INFORMATION_MESSAGE Мэдээлэлх цонх. Хэрэглэгчид мэдээлэх зорилгоор текст үзүүлэх үед хэрэглэнэ. JOptionPane.WARNING_MESSAGE Сануулгын цонх. Хэрэглэгчид ямар нэгэн болзошгүй алдааны талаар сануулга өгөх үед хэрэглэнэ. JOptionPane.QUESTION_MESSAGE Асуух цонх. Хэрэглэгчээс асуулт асуун хариултыг хүлээн авах цонх, YES, NO товчнуудтай байдаг JOptionPane.PLAN_MESSAGE Ямар нэг icon-гүйгээр зүгээр л мэдээлэл хэвлэн үзүүлэх цонх
  • 6.
    Д.СҮХ-ОЧИР B140910044 5 ОБЪЕКТХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН Даалгавар 2: Ил болон далд төрөл хувиргалт ашигласан жишээ бич.  Ил төрөл хөрвүүлэлт import java.util.Scanner; public class Money { public static void main(String args []){ Scanner too = new Scanner(System.in); double dollor_prices; int mnt; int dollor; System.out.print("Өнөөдрийн долларын ханш оруулна уу: "); dollor_prices=too.nextDouble(); System.out.print("Та өөрт байгаа мөнгөний хэмжээг оруулна уу: "); mnt=too.nextInt(); dollor=(int) (mnt/dollor_prices); System.out.print("Таньд "+dollor+" нь доллор өгөх боломжтой"); } } Хэрэглэгчээс авч байгаа өнөөдрийн доллорын ханш / dollor_prices / нь double төрөлтэй, харин өөрт байгаа мөнгний хэмжээ нь int (бүхэл тоо) төрөлтэй байн. Өөрт байгаа мөнгөнд хэдэн ширхэг 1-тын доллор багтахын олохын тулд өөрт байгаа мөнгний хэмжээг өнөөдрийн доллорын ханшид хувааж бүхэл хэсгийг нь авах хэрэгтэй болно. Уг хоёр хувьсагчийн нэг нь int ,нөгөө нь double байгаа тул бид ил төрөл хувиргалт хийх шаардлагатай болно. Утга оноож байгаа хувьсагчийн санах ойд үзлэх хэмжээ нь илэрхийлэлд оролцож байгаа аль нэг хувьсагчийн санах ойд үзлэх хэмжээнээс бага байвал шууд утга оноох боломжгүй. энэ үед програм бичиж байгаа хүн хөрвүүлэх үйлдэл хийж өгдөг. Далд/автомат/ төрөл хөрвүүлэлт dollor=(int) (mnt/dollor_prices); Бүтэц: Шинэ төрөл=(Төрөл) Хуучин төрөл Програмын харагдах байдал  Далд буюу автомат төрөл хөрвүүлэлт public class Convert { public static void main(String args[]){ byte b = 42; char c = 'a'; short s = 1024; int i = 50000; float f = 5.67f;
  • 7.
    Д.СҮХ-ОЧИР B140910044 6 ОБЪЕКТХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН double d = 0.35; double result = (f * b) + (i / c) - (d * s); System.out.println("(float*byte)+(int/char)-(double*short)"); System.out.println("Илэрхийлэлийн үр дүн: " + result); } } Утга олгож байгаа хувьсагчийн хэмжээ нь илэрхийлэлд оролцож байгаа хувьсагчдийн санах ойд эзлэх хэмжээтэй тэцүү эсвэл их байвал далд буюу автомат төрөл хувиргалт хийгдэнэ. Энэ тухай дэлгэрэнгүй авч үзье: (f * b) + (i / c) - (d * s); энэ илэрхийлэлд byte, char, short, int, float, double төрлийн өгөгдөлүүд оролцсон бөгөөд илэрхийлэлийн үрд дүнг double result гэсэн хувьсагчид оноосон байн. Эдгээр илэрхийлэлийн үр дүн double төрлийн утгын мужид багтаж байгаа тул java compiler автоматаар төрөл хөрвүүлэлт хийнэ. double result = (f * b) + (i / c) - (d * s); Програмын харагдах байдал Даалгавар 3: For, while. Do while ашигласан жишээ бич 3.1 For - Тоолуурт давталт /Параметр давталт/ Хоёрын n зэргийг олдог програм Import java.util.Scanner; Public class ForLoop { Public static void main(String args[]) { int quadrate=1; int n; Scanner too = new Scanner(System.in); System.out.print("Та 2-ын хэдэн зэргийг олмоор байн: "); n=too.nextInt();//Хэрэглэгчээс бүхэл тоон утга авна. for(int i=1; i<=n; i++) { quadrate=quadrate*2; }//for давталтын нөхцөл
  • 8.
    Д.СҮХ-ОЧИР B140910044 7 ОБЪЕКТХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН System.out.print("2-ын "+n+" зэрэг нь "+quadrate); }//main аргын төгсгөл }//ForLoop классын төгсгөл Бүтэц: For(тоолуурын анхны утга; давталт дуусах нөхцөл; тоолуурыг өөрчлөх) Тайлбар: Тоолуурын “анхны утгаас” эхлээд “тоолуурыг өөрчилсөөр” байгаад “давталт дуусах нөхцөл” хүртэл давтан Бичлэг үйлдлийг гүйцэтгэнэ. 2n зэрэг гэдэг нь 2 гэсэн тоог n удаа өөрөөр нь үржүүл гэсэн үг юм. Тиймээс эхлээд хэдэн удаа үржүүлхээ (2-ын хэдэн зэргийг олохоо) гараас оруулна.  n=too.nextInt(); Дараагийн алхам нь n удаа үржүүлэх давталтаа бичих:  for(int i=1; i<=n; i++)  for тоолуурт давталтын түлхүүр үг.  int i=1 тоолуур эхлэх нөхцөл/анхны утга нь 1/  i<=n Давталтыг зогсоох нөхцөл  i++ Тоолуурын ахлам/i-гийн утгыг нэг нэгээр нэмэгдүүлнэ/  for давталтанд хийгдэж байгаа үйлдэлүүдийг цэгтэй таслал (;) –аар тусгаарладаг.  quadrate=quadrate*2 үүнийг давталтын бие гэх бөгөөд давтал дуустал энэ үйлдэл давтагдан хийгдэх болно. Програмын харагдах байдал 3.2 While - Өмнөх нөхцөлт давталт /1-c 20 хүртлэх тооны квадрат олдог програм/ while( x<=20 ) Давталт дуусах нөхцөл System.out.print(x+ " ын квадрат: " + x*x ); x++; Давталтын бие: x-ыг x-ээр үржүүлж дараа нь х-ын утгыг нэг нэгээр нэмэгдүүлнэ. System.out.print("n"); Давталтын үр дүнг шинэ мөрөнд шилжүүлж алхам алхамаар нь хэвлэн үзүүлнэ. While давталт нь эхэлж нөхцөлөө шалгаад хэрэв биелж байвал ямар нэгэн үйлдэл хийж нөхцөл биелэхгүй бол давталтаа дуусгадаг. Програмын үр дүн public class WhileLoop { public static void main(String args[]) { int x = 1; while( x<=20 ) { System.out.print(x+ " ын квадрат: " + x*x ); x++; System.out.print("n"); } // while давталтын төгсөл } }
  • 9.
    Д.СҮХ-ОЧИР B140910044 8 ОБЪЕКТХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН 3.3 Do while : Дараах нөхцөлт давталт /1-c 20 хүртлэх тооны квадрат олдог програм/ Өмнөх while давталтын жишээг do while давталтруу хөрвуулж үзүүллээ. While давталтаас ялгаатай нь нөхцөл шалгалт нь давталтын төгсгөлд байрладаг. public class DoWhileLoop { public static void main(String args[]){ int x=1; do{ System.out.print(x+ " ын квадрат: " + x*x ); x++; System.out.print("n"); } while(x<=20); } }
  • 10.
    Д.СҮХ-ОЧИР B140910044 9 ОБЪЕКТХАНДЛАГАТ ПРОГРАМЧЛАЛ 2-Р ЛАБОРАТОРЫН АЖЛЫН ТАЙЛАН 4. String, int, double төрлийн хувьсагчид гараас утга авч, хэвлэх жишээ бич import java.util.Scanner; public class bvrtgel { public static void main(String args[]){ String name; int nas; double high; Scanner in=new Scanner(System.in); System.out.print("Та нэрээ оруулна уу: "); name=in.nextLine(); System.out.print("Та насаа оруулна уу: "); nas=in.nextInt(); System.out.print("Та өөрийн өндөрөө оруулна уу: "); high=in.nextDouble(); System.out.println(name+" "+nas+" нь настай, "+high+" нь метр өндөртэй"); } }  import java.util.Scanner; Import түлүүр үгийн тусламжтайгаар java.util багцын Scanner классыг импортлож оруулж ирнэ.  Scanner in=new Scanner(System.in); програмд ашиглагдах in нэртэй хувьсагчийг зарлаж байн. Энэхүү in хувьсагч нь Scanner классын хувьсагчаар зарлагдсан. Scanner класс нь програмд ашиглагдах өгөгдөлийг файлаас, хэрэглэгчээс унших боломжоор хангагдсан байдаг.  name=in.nextLine(); Хэрэглэгчээс тэмдэгт мөр уншиж name хувьсагчид хадгална.  nas=in.nextInt(); Хэрэглэгчээс бүхэл тоо уншиж nas хувьсагчид хадгална.  high=in.nextDouble(); Хэрэглэгчээс бодит тоо уншиж high хувьсагчид хадгална. Програмын харагдах байдал