Monday, January 30, 2017

Plural nouns- A regular nouns(олон тооны-Дүрмийн нэр үгс) and A irregular nouns(олон тооны-Дүрмийн бус нэр үгс)


  • олон тооны нэр үгс үүсгэхдээ (-s) дагавар авч үүснэ.

book-books
computer-computers
magazine-magazines

  • Нэр үгийн төгсгөл нь -s, -ss, -sh, -ch, x, -o байвал (es) авна.

bus-buses       dress-dresses    church-churches tomato-tomatoes

  • зарим нэр үгийн төгсгөл нь (-o) байсан ч шууд (-s) дагавар авна.

photo-photos     radio-radios

  • хэрвээ нэр үгийн төгсгөл нь гийгүүлэгчийн араас (-y) байвал (ies) болгон өөрчилнө.

lorry-lorries   country-countries   baby-babies
харин эгшиг үсгийн арааас (-y) байвал шууд (-s) авна.
boy-boys   toy-toys

  • нэр үгийн төгсгөл нь (-f, -fe) байвал (ves) болгон өөрчилнө.
knife-knives   wolf-wolves leaf-leaves


Plural nouns- A irregular nouns(олон тооны-Дүрмийн бус нэр үгс)

  • Дүрмийн бус нэр үгс нь дүрэмээ дагадаггүй харин ч гажих тохиолдол байдаг.
янз бүрийн аргаар олон тоо үүсгэдэг.  
child-children   foot-feet    mouse-mice person-people 
  • зарим нэр үгс олон тоон дээр хувирдаггүй
one fish-three fish   one sheep-ten sheep 
example:
dictionaries   
games
 bananas 
goose-geese
  tooth-teeth 
 stories 
potatoes 
families 
cities
stars
universities

Saturday, January 28, 2017

Англи хэлний ялгац гишүүн (Article Alndefine article of English)



Article Alndefine article буюу Тодорхой бус ялгац гишүүн


a, an зөвхөн ганц тоон дээр ашиглана.
-(a)-гийгүүлэгчээр эхэлсэн нэр үгийн өмнө авна.
а magazine, a zebra, a doctor
-(an)-г зөвхөн эгшигээр эхэлсэн нэр үгийн өмнө авна.
an alligator, an exercise, an octopus
харин нэр үгийн өмнө тэмдэг нэр байвал (a,an) тэмдэг нэрийн эхний үсгээс хамаарна.
an expensive car, a red umbrella, an ice cream гэх мэт
example:

 an orange
 an airplane
an axe
    a cat
    an owl
   a friend
   a notebook
   a board
   an egg
   a door
   a dictionary
   a map
an uncle
a teacher
a bicycle
a golden ring

Wednesday, January 4, 2017

Дахин тодорхойлогдсон оператор

     Дахин тодорхойлогдсон оператор гэдэг энгийн операторын объектын илэрхийлэлд ашиглахаар тодорхойлохыг хэлнэ.
 (+ - * / = <> += -= *= /= << >> == != <= >= ++ -- & ! && // [] () new Delete ) дахин тодорхойлох боломжтой.
Бичигдэх хэлбэр:
<Төрлийн нэр> оператор<тэмдэглэгээ>(параметр)
жишээ: Float operator+(teacher t1)
Оролт гаралтын оператор
OOstream & operator<<(ostream & Student s1)
OIstream & operator<<(isrteam & Student s1)
жишээ:1
class Student{
string name;
int age;
string aimag;
public:
  Student(string n, int a, string m)
{
 name=n; age=a; aimag=m;  }
 Student operator=(Student S1)
  {

 name=S1.name;
 age=S1.age;
 aimag=S1.aimag;
 return *this;
} friend ostream & operator<<(ostream & out ,Student S1)
 { out<<"\nner="<<S1.name;
  out<<"\nage="<<S1.age;
  out<<"\naimag="<<S1.aimag;
  return out;
  
   } 
};
main()
{ string n,m; int a,r,i;
cout<<"too oruulnauu=";
cin>>r;
for(i=0;i<=r;i++)
  cout<<"ner="; cin>>n;
  cout<<"nage="; cin>>a;
  cout<<"naimag="; cin>>m;
  Student S1(n, a, m);
  Student S2("",0,"");
  S2=S1;
  cout<<"S1"<<S1;
  cout<<"S2"<<S2;
}
жишээ:2
OClass Teacher{
Public:
Float salary;
Teacher operator+(teacher t1)
{Teacher t2;
T2.salary=salary+t1.salary;
Return t2;}
};
Main(){
Teacher t1,t2;
Cout<<t2;
Cout<<t1;

Template class and function



   Загвар нь 2 төрөлтэй.
  •          Функц ( алгоритмын боловсруулалт)
  •         Класс (обьектын боловсруулалт)
           Загвар функц 
  •    Загвар функц дээр параметрийн төрөл тодорхойлох шаардлагагүй.
  •       Загвар функц нь аргументийн утгыг тодорхойлдог.


Программын биеийг багасгах,кодчилох хэлбэрийг сайжруулахын тулд загвар функц ашигладаг . Бичигдэх хэлбэр:
Template<class T>
Max(T a, T b){
If(a>b) then
Return a;
Else
Return b;}
      Загвар класс
  •          Загвар класс нь аргументийн утгыг       тодорхойлдог.
  •    Зарлалт нь template түлхүүр үгээр эхлэн           параметрийн  жагсаалт,классын нэр болон классын их бие болох зарлалтуудаас бүрдэнэ.
  •    Загвар класс дахь параметр нь  загвар функцийн параметрийн адил тодорхойлогдоно.
  • —  Загвар классын тодорхой  тохиолдлын обьектыг үүсгэхдээ хэрэглэгч нь классын нэр параметрийн жагсаалтын утга болох өгөгдлүүдийг <> хаалтанд тодорхойлж өгнө.
Бичигдэх хэлбэр:
Template<class T,int element>
   Stack<double,100>moon;
 (100 бүхэл тоон элементтэй stack классын  moon гэдэг обьект гэсэн үг)
Зарлагдах байдал:
Найз функцүүд болон классууд нь загвар класс дотор зарлагдаж болно.
If найз функц класс нь загвар байдлаар тодорхойлогддог бол тэдгээрийн бүхий л тохиолдлууд нь зарлагдсан загвар классынхаа найз нь байна.
Жишээ:1
#include<iostream>
#include<string.h>
using namespace std;
template<class t , class u>
t getmin(t  a, u b){
return(a<b) a:b;}
main(){
int i=10;
int j=6;
long l=4500;
i=getmin(j,l);
cout<<i<<endl;}
Жишээ:2
using namespace std;
template<class T >
class Pair{
T value1, value2;
public:
Pair(T first, T second){
value1=first;
value2=second;}
getmax(void);};
template<class T> Pair<T>::getmax(void){
T retval;
retval=value1>value2? value1:value2;
return retval;}
main(){
Pair<int> myob(100,75);
cout<<myob.getmax()<<endl;
Pair<float>myob2(10.5,7.5);
cout<<myob2.getmax()<<endl;
Pair<long>myob3(1000,7500);
cout<<myob3.getmax()<<endl;}
Бие дааж бодох бодлого:
1. Хоёр тооны нийлбэрийг олох загвар функц ашиглан 4-н тооны нийлбэрийг олох программ зохио.
2.5-н сурагчийн мэдээллийг гараас оруулж суралцаж буй ангиар нь өсөхөөр эрэмбэл.
3.ЭММТ ангийн оюутнуудын хэрэглэж буй компьтерийн үзүүлэлтийг ихээс багаруу эрэмбэлэн хэвлэ.(Hard,cpu.ram)



Удамшил

Удамшил
}Удамшлыг дотор нь энгийн болон нийлмэл гэж 2 ангилдаг.

}Энэ удаад энгийн удамшлыг авч үзэх болно.
Энгийн удамшил
}  Энгийн удамшил гэдэг нь өмнө үүссэн нэг классаас шинэ класс удамшихыг хэлдэг.Өмнө үүссэн байсан буюу удамшуулсан классыг эх класс, удамшсан буюу шинээр үүссэн классыг удамшигч класс гэнэ.













}Удамшсан класс нь өөр классын эх класс байж болно.Өөрөөр хэлбэл удамшсан класс өөр классыг удамшуулж болно.Ийм байдлаар энгийн удамшлын шаталсан харьцааг авч үзэж болох ба энэ харьцааны класс бүр нэг л эх класстай байна.
Нэг классаас хэдэн ч класс удамшиж болно.

}Удамшсан класс нь өөрийн эх классаасаа гишүүн өгөгдлүүд ба гишүүн функцүүдийг өвлөнө.Харин байгуулагч функц ба устгагч функц удамшихгүй.Үүгээр ч барахгүй классын статик гишүүд болон найз функцууд удамшихгүй.
Удамшсан классыг зарлах
}Удамших хандалт нь эх классын гишүүдийн хандах эрхийн адилаар public, protected,   private байж болно.Мөн private хандах эрхтэй гишүүдийг protected юмуу public,  эсвэл protected хандах эрхтэй гишүүдийг public хандах эрхтэй болгож чадахгүй.
Удамшсан классыг тодорхойлохдоо классын нэрийн ард : тавьж эх классын нэрийг бичнэ.
}class Max:public Too {
}public:
} int avahArea()
}{ if (xtoo>ytoo)
}return xtoo;
}else
}return ytoo;
} }
}}; 
Бие дааж бодох бодлогууд:
1.      Мөнгө гэсэн классаас доллар гэсэн классыг удамшуулж  өөрийнхөө дансанд байгаа мөнгөн дүнг доллараар илэрхийл. Жич:Мөнгө классын гишүүн өгөгдөл нь дансан дахь мөнгө доллар классын гишүүн өгөгдөл нь ханш.
2.      Person гэсэн класс нь нэр, нас гэсэн гишүүн өгөгдөлтэй эндээс Ажилтан гэсэн классыг удамшуулж нэр, нас, мэргэжил, цалинг гараас авч хэвлэ.

friend class and friend function


Найз класс & Найз функц
Image result for friend class and friend function
Нэг класс нь нөгөө класстай найз,классууд бие биедээ найз буюу харилцан найз классууд гэсэн хоёр хэлбэртэй.
      Найз классуудын хувьд дараах онцлогуудтай.
qХэрэв олон найз классуудтай бол бүгдийг тоочих ёстой.
qКлассын найз класс нь уг классын private , protected гишүүдэд хандаж чадна.
qКласс өөрөө өөртэйгээ найз байж болохгүй.
qНайз класс нь классын өмнө , хойно хаана ч зарлагдсан байж болно.
Бичигдэх хэлбэр
class School1;     //Класс зарлаж байна.
class School2
{ private:
  char name;            //Найз класс нь энд зарлагдсан гишүүдэд             хандаж чадна.
  int  on;
  public:
void get()            //  Утга авдаг функц бөгөөд найз класс хандаж чадна.
   {
  cout<<"School name";
  cin>>name;
  cout<<"School year";
  cin>>on;
  }
  friend class School1;   //найз класс
};
Жишээ:
#include<iostream>
#include<string.h>
using namespace std;
classA;
class B;
class C
{                              char name;
  int on;
  public:
  void get()   {                   cout<<"School name";  cin>>name;
  cout<<"School year";  cin>>on;     }
  friend class B;    };
class A
{                              char name;
  int on;
  public:
  void get()
  {                              cout<<"School name";  cin>>name;
  cout<<"School year";  cin>>on;  }
  friend class B    };
class B
{                                 char name;
  int on;
  public:
  void get()
  {                                      cout<<"School name";
  cin>>name;
  cout<<"School year";
  cin>>on;    }
  friend class C;   };
int main(void)
{      A H;
H.get();  }
Image result for friend class and friend function

Ердийн найз функц гэдэг нь ямар нэгэн классын гишүүн биш функц класст найзаар зарлагдсан байхыг хэлдэг. Энэ функц нь класс объектын нууцлагдсан гишүүнд хандаж чадна. Зарлахдаа friend нөөц үгийн ард функцийн нэрийг бичиж өгнө.
Friend void Show()
Гишүүн найз функц
Классын гишүүн функц өөр классын найз функц байж болох ба ийм гишүүн функцийг
Найз гишүүн функц гэнэ.
Энэ функц нь өөрийн классын бүх гишүүдэд хандах эрхтэй байхаас гадна найз классынхаа бүх гишүүнд хандах эрхээр хангагдана.
Жишээ:
#include <iostream>
using namespace std;
class Tegsh;  // forward declaration
class Gurwaljin {
  int width, height;
public:
  Gurwaljin(int w = 1, int h = 1):width(w),height(h){}
  friend void display(Gurwaljin &, Tegsh &);
};
class Square {

  int side;
public:
  Tegsh(int s = 1):side(s){}
  friend void display(Gurwaljin &, Tegsh &);
};
void display(Gurwaljin &r, Tegsh &s) {
  cout << "Gurwaljin: " << r.width * r.height << endl;
  cout << "Tegsh: " << s.side * s.side << endl;
}
int main () {
  Gurwaljin rec(5,10);
  Tegsh sq(5);
  display(rec,sq);
  return 0;
}