Объёкт хандалтат програмчлал-Жава I хичээлийн
         Лабораторийн ажил №2




        Улаанбаатар хот       2011-05-05
Хичээлийн нэр: Жава 1
Лаборатори № 2
Сэдэв:    Жава хэлний нөхцөл шалгах болон давталтууд
Зорилго : Жава хэлний нөхцөл шалгах, давталтын операторуудыг ашиглаж сурах
Оноо: 0-5 оноо
Хугацаа 7 хоног

Дасгал 1. if else, if ...else if... жишээ

public class IfTest {

       public static void main(String[] args) {
            int a=202;

              if(202%2==0){
                   System.out.println("Even number");
              }else {
                   System.out.println("Odd number")
               }
       }
}

Гаралт
Even number

public class IfElseDemo {

       public static void main(String[] args) {
            int score=76;

              if(score>90){
                   System.out.println("A");
              }else if(score>80){
                   System.out.println("B");
              }else if(score>70){
                   System.out.println("C");
              }else if(score>60){
                   System.out.println("D");
              }
              else {
                   System.out.println("F");
              }
       }
}
Гаралт
C



2
Дасгал 2. switch/case жишээ.
      -day хувьсагчийн утгыг 4, 6,7,10 гэх өөрчилж ажиллуулж туршина

public class SwitcDemo1 {

      public static void main(String[] args) {
           int day=4;

             switch(day){
             case 1:
                        System.out.println("Monday");
                        break;
             case 2:
                        System.out.println("Tuesday");
                        break;
             case 3:
                        System.out.println("Wendesday");
                        break;
             case 4:
                        System.out.println("Thursday");
                        break;
             case 5: System.out.println("Friday");
                        break;
             case 6:
             case 7:
                        System.out.println("Weekend");
                        break;
             default:
                        System.out.println("Unknown");

             }
      }
}
Гаралт
Thursday
Дасгал 3. while давталтын жишээ. Тоог урвуулна
public class WhileDemo {

          public static void main(String[] args){
            int n = 12345;
            int t,r = 0;
            System.out.println("The original number : " + n);
            while (n > 0) {
              t = n % 10;
              r = r * 10 + t;
              n = n / 10;
            }
            System.out.println("The reverse number : " + r);
}}


3
Гаралт
The original number : 12345
The reverse number : 54321

Дасгал 4. do while Жишээ

public class DoWhile{
       public static void main(String[] args){
         int n = 12345;
         int t,r = 0;
         System.out.println("The original number : " + n);
         do{
           t = n % 10;
           r = r * 10 + t;
           n = n / 10;
         }while (n > 0);
         System.out.println("The reverse number : " + r);
       }
     }

Гаралт:
The original number : 12345
The reverse number : 54321


Дасгал 5. for давталт. Өндөр жил олно

public class ForDemo {
       public static void main(String[] args)
       {
         int i=2006;
         int n;
         for (n=1990; n<=i ; n++){
           int l=n%4;
           if (l==0){
             System.out.println("leap year: "+n);
           }
         }
       }
     }

Гаралт:
leap year: 1992
leap year: 1996
leap year: 2000
leap year: 2004


4
Дасгал 6. labeled давталт
public class LabelDemo {

      public static void main(String[] args) {
           outer:
                 while(true){
                      for(int i=0; i<10; i++){
                            System.out.println(i);
                            if(i==5)
                                 break outer;
                      }
                      System.out.println("Inside while");
                 }
      System.out.println("Outside while");
      }
}

Гаралт
1
2
3
4
5
Outside while

Дасгал 7. break жишээ. Анхны тоонууд олно
public class BreakDemo {

                public static void main(String[] args){
                  int i,j;
                  System.out.println("Prime numbers between 1 to 50 : ");
                  for (i = 1;i < 50;i++ ){
                    for (j = 2;j < i;j++ ){
                      if(i % j == 0)
                      {
                        break;//дотор давталтаас гарна
                      }
                    }
                    if(i == j)
                    {
                      System.out.print(" " + i);
                    }
                  }
                }
            }




5
Гаралт.
Prime numbers between 1 to 50 :
 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

Дасгал 8. continue жишээ.
          20 хүртэлх тооноос Тэгш тоонуудыг хэвлэнэ

public class ContinueDemo {

      public static void main(String[] args) {
           for(int i=0; i<20; i++){
                 if(i%2!=0)
                      continue;
                 System.out.print(i+" ");
           }
           System.out.println();

      }
}
Гаралт
0 2 4 6 8 10 12 14 16 18

БИЕ ДААЖ ГҮЙЦЭТГЭХ АЖИЛ
Дараах даалгавруудыг гүйцэтгэнэ
Тайлбар: Санамсаргүй тоог дараах байдлаар үүсгэнэ
         Math классын random функц нь 0-1 хооронд double төрөлтэй санамсаргүй тоо
         буцаадаг

int a=(int)(Math.random()*100); //100 дотор санамсаргүй тоо үүсгэнэ

Дасгал 1.
     Санамсаргүйгээр 4 тоо үүсгэнэ.Хамгийн их болон хамгийн багыг нь олно
Дасгал 2.
     Сарын дугаарыг өгөхөд тухай сарын өдрийн тоог хэвлэх програм бичнэ
Дасгал 3.
     100 хүртэлх тоонуудаас 5-д хуваагддаг тоо байвал “fizz”,7-д хуваагддаг тоо
     таарвал “buzz”, хоёуланд нь хуваагддаг тоо таарвал “fizzbuzz” гэж хэвлэдэг
     програм бичнэ
Дасгал 4.
     0-15 буцаагаад 15-0 хүртэл хэвлэдэг програм бичнэ


Дасгал 5.
     Фибоначийн дарааллын эхний 20 тоог хэвлэх програм бичнэ

6
Дасгал 6.
      Өгсөн тооны факториалыг олдог програм бичнэ
Дасгал 7.
      Өгсөн тоо палиндром мөн эсэхийг шалгадаг програм бичнэ
Дасгал 8.
      Үржүүлэхийн хүснэгт хэвлэдэг програм бичнэ
Дасгал 9. A нэртэй барааны үнийг тооцоолдог програм бичнэ.
           Үүнд:
           Нэгжийн үнэ: ₮50
           30-аас дээш ширхэгээр авбал 10% хямдарна
           50-аас дээш ширхэгээр авбал 15% хямдарна
           200-аас дээш ширхэгээр авбал 20% хямдарна
           Худалдан авах барааны тоо random-оор өгөгдөнө
Дасгал 10.
      Дараах дүрсийг давхар давталт ашиглан хэвлэнэ.
#
##
###
####
#####




7

Лабораторийн ажил № 2

  • 1.
    Объёкт хандалтат програмчлал-ЖаваI хичээлийн Лабораторийн ажил №2 Улаанбаатар хот 2011-05-05
  • 2.
    Хичээлийн нэр: Жава1 Лаборатори № 2 Сэдэв: Жава хэлний нөхцөл шалгах болон давталтууд Зорилго : Жава хэлний нөхцөл шалгах, давталтын операторуудыг ашиглаж сурах Оноо: 0-5 оноо Хугацаа 7 хоног Дасгал 1. if else, if ...else if... жишээ public class IfTest { public static void main(String[] args) { int a=202; if(202%2==0){ System.out.println("Even number"); }else { System.out.println("Odd number") } } } Гаралт Even number public class IfElseDemo { public static void main(String[] args) { int score=76; if(score>90){ System.out.println("A"); }else if(score>80){ System.out.println("B"); }else if(score>70){ System.out.println("C"); }else if(score>60){ System.out.println("D"); } else { System.out.println("F"); } } } Гаралт C 2
  • 3.
    Дасгал 2. switch/caseжишээ. -day хувьсагчийн утгыг 4, 6,7,10 гэх өөрчилж ажиллуулж туршина public class SwitcDemo1 { public static void main(String[] args) { int day=4; switch(day){ case 1: System.out.println("Monday"); break; case 2: System.out.println("Tuesday"); break; case 3: System.out.println("Wendesday"); break; case 4: System.out.println("Thursday"); break; case 5: System.out.println("Friday"); break; case 6: case 7: System.out.println("Weekend"); break; default: System.out.println("Unknown"); } } } Гаралт Thursday Дасгал 3. while давталтын жишээ. Тоог урвуулна public class WhileDemo { public static void main(String[] args){ int n = 12345; int t,r = 0; System.out.println("The original number : " + n); while (n > 0) { t = n % 10; r = r * 10 + t; n = n / 10; } System.out.println("The reverse number : " + r); }} 3
  • 4.
    Гаралт The original number: 12345 The reverse number : 54321 Дасгал 4. do while Жишээ public class DoWhile{ public static void main(String[] args){ int n = 12345; int t,r = 0; System.out.println("The original number : " + n); do{ t = n % 10; r = r * 10 + t; n = n / 10; }while (n > 0); System.out.println("The reverse number : " + r); } } Гаралт: The original number : 12345 The reverse number : 54321 Дасгал 5. for давталт. Өндөр жил олно public class ForDemo { public static void main(String[] args) { int i=2006; int n; for (n=1990; n<=i ; n++){ int l=n%4; if (l==0){ System.out.println("leap year: "+n); } } } } Гаралт: leap year: 1992 leap year: 1996 leap year: 2000 leap year: 2004 4
  • 5.
    Дасгал 6. labeledдавталт public class LabelDemo { public static void main(String[] args) { outer: while(true){ for(int i=0; i<10; i++){ System.out.println(i); if(i==5) break outer; } System.out.println("Inside while"); } System.out.println("Outside while"); } } Гаралт 1 2 3 4 5 Outside while Дасгал 7. break жишээ. Анхны тоонууд олно public class BreakDemo { public static void main(String[] args){ int i,j; System.out.println("Prime numbers between 1 to 50 : "); for (i = 1;i < 50;i++ ){ for (j = 2;j < i;j++ ){ if(i % j == 0) { break;//дотор давталтаас гарна } } if(i == j) { System.out.print(" " + i); } } } } 5
  • 6.
    Гаралт. Prime numbers between1 to 50 : 2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 Дасгал 8. continue жишээ. 20 хүртэлх тооноос Тэгш тоонуудыг хэвлэнэ public class ContinueDemo { public static void main(String[] args) { for(int i=0; i<20; i++){ if(i%2!=0) continue; System.out.print(i+" "); } System.out.println(); } } Гаралт 0 2 4 6 8 10 12 14 16 18 БИЕ ДААЖ ГҮЙЦЭТГЭХ АЖИЛ Дараах даалгавруудыг гүйцэтгэнэ Тайлбар: Санамсаргүй тоог дараах байдлаар үүсгэнэ Math классын random функц нь 0-1 хооронд double төрөлтэй санамсаргүй тоо буцаадаг int a=(int)(Math.random()*100); //100 дотор санамсаргүй тоо үүсгэнэ Дасгал 1. Санамсаргүйгээр 4 тоо үүсгэнэ.Хамгийн их болон хамгийн багыг нь олно Дасгал 2. Сарын дугаарыг өгөхөд тухай сарын өдрийн тоог хэвлэх програм бичнэ Дасгал 3. 100 хүртэлх тоонуудаас 5-д хуваагддаг тоо байвал “fizz”,7-д хуваагддаг тоо таарвал “buzz”, хоёуланд нь хуваагддаг тоо таарвал “fizzbuzz” гэж хэвлэдэг програм бичнэ Дасгал 4. 0-15 буцаагаад 15-0 хүртэл хэвлэдэг програм бичнэ Дасгал 5. Фибоначийн дарааллын эхний 20 тоог хэвлэх програм бичнэ 6
  • 7.
    Дасгал 6. Өгсөн тооны факториалыг олдог програм бичнэ Дасгал 7. Өгсөн тоо палиндром мөн эсэхийг шалгадаг програм бичнэ Дасгал 8. Үржүүлэхийн хүснэгт хэвлэдэг програм бичнэ Дасгал 9. A нэртэй барааны үнийг тооцоолдог програм бичнэ. Үүнд: Нэгжийн үнэ: ₮50 30-аас дээш ширхэгээр авбал 10% хямдарна 50-аас дээш ширхэгээр авбал 15% хямдарна 200-аас дээш ширхэгээр авбал 20% хямдарна Худалдан авах барааны тоо random-оор өгөгдөнө Дасгал 10. Дараах дүрсийг давхар давталт ашиглан хэвлэнэ. # ## ### #### ##### 7