Баасан, 2024-04-26, 1:11 AM
Соёлын өвөө хамгаалцгаая...
 

+Зар нэмэх Ta зар оруулмаар байна уу... Бид таны зарыг үнэгүй нийтлэе.. X
Үндсэн цэс

Бидний тоолуур


buy tramadol 50mg


Хайлт

Хооллоорой

Дэлхийн аварга


歯科医院向け開業税理士


Цаг агаар

All programm

Main » Articles » Хичээл

Лекц №2 С++ заалт, заагч

Ëåêöèéí çîðèëãî:

Ñýäâèéí õ¿ðýýíä çààã÷ ãýæ þó áîëîõ, çààã÷èéã ÿìàð ¿åä ÿàæ àøèãëàõ âý ãýäãèéã, õýðýãëýý íü þó áîëîõ ÿìàð òºðë¿¿äýä ÿàæ õýðýãëýäýã, çààã÷èéã õýðýãëýõ ¿åä ãîë àíõààðàõ ç¿éë þó âý, äèíàìèê ñàíàõ îéí ìóæûí õóâèðãàëò áà ÷ºëººëºëò, çààã÷èéí òºðºë áóþó òºðºëò çààã÷èéã õýðõýí àøèãëàäàã òóõàé ñóäëàõ ìºí ñóäàëñàíàà ã¿íçãèéð¿¿ëýõ áîëíî. Ãîë íü áèä C++-ïðîãðàì÷èëàëûí õýëíèé îíöëîã áîëîõ void çààã÷èéí òóõàé ìýäýõ þì. Ò¿¿í÷ëýí óëàìæëàëò á¿òöèéí ïðîãðàì÷èëàëààñ îáúåêò õàíäàëòàò ïðîãðàì÷èëàë íü çàð÷èìûí õóâüä ÿìàð ÿëãààòàé âý, ÿìàð äàâóó òàëóóä áàéíà âý ãýäãèéã áàãà ÷ ãýñýí ñóäëàæ, ìýäñýíýý áàòàëãààæóóëàõ áîëíî. ̺í õóâüñàã÷èéí òºëººëñºí íýð áîëîõ çààëòûí òàëààð çààã÷òàé õàðüöóóëàõ çàìààð ñóäàëíà.

 

Ýíãèéí òàéëáàð:

Äèíàìèê ñàíàõ îéã õýðýãëýõ, ñàíàõ îéã ¿ð àøèãòàé õýðýãëýõèéí òóëä áèä çààã÷èéã õýðýãëýäýã. Çààã÷ áà çààëòûã òàëààð äîîðõ õýñýãò äýëãýðýíã¿é òàéëáàðëàõ ó÷èð  ýíä ýíãèéí æèøýýãýýð ä¿éö¿¿ëýí òàéëàðëàÿ. Áàò 4 äàâõàðûí õàìãèéí çàõûí 415 òîîò ºðººíä ñóóäàã. Õàðèí Áîëä 3 äàâõàðûí   ýõíèé 301 òîîò ºðººíä ñóóäàã.Ñàíàõ îéä õóâüñàã÷èä õàÿã á¿õèé ¿¿ðýíä áàéäàã áîë Áàò Áîëä 2 ÷ 415 áà 302 òîîò õàÿã á¿õèé ºðººíä ñóóäàã áàéõ íü. Áèä Áîëäûã õàéæ îëîõûí òóëä ò¿¿íèé õàÿã áîëîõ 415 òîîò ºðººãººð îëæ áîëíî. Òà á¿õýí ñàíàæ áàéãàà áîë int I=13; èëýðõèéëëèéí õóâüä õóâüñàã÷èéí ¿¿ð ð¿¿ õàíäàõäàà ººðººð õýëáýë 13 ãýñýí òîî ðóó õàíäàõäàà I õóâüñàã÷èéí íýðýýð ýñâýë ò¿¿íèé ñàíàõ îé äàõü õàÿãààð áóþó çààã÷ õýðýãëýæ õàíäàæ áîëîõ þì.Òýãâýë Áàòûí ºðºº ð¿¿ õàíäàõäàà Áàòûí ºðºº ãýäãýýð ýñâýë 415-ð ºðºº ãýæ õàíäàæ áîëîõ þì.Àëü ÷ òîõèîëäîëä áèäýíä îéëãîãäîíî.Äýýðõ èëýðõèéëýëýýñ Áàòûã I õóâüñàã÷òàé, õóâüñàã÷èéí ñàíàõ îé äàõü õàÿãèéã 415 òîîòòîé ä¿éö¿¿ëæ áîëîõ þì. Ýíä çààã÷ áà õóâüñàã÷èéã ýíãèéíýýð òàéëáàðëëàà. Õàðèí çààëò áóþó õóâüñàã÷èéí òºëººëñºí íýð ãýäýã íü Áàòûí ýñâýë  Áîëäûí ºðººã ººðººð  íýðëýíý ãýñýí ¿ã þì. Áàòûí ºðººã 4–ð äàâõàðûí çàõûí ºðºº ãýæ íýðëýæ áîëîõ òóõàé ë ýíä ÿðèãäàæ áàéíà. Áèä Áàòûí ºðººíä î÷îîä èð, ýñâýë 4-ð äàâõàðûí õàìãèéí çàõûí ºðººíä î÷îîä Áàòûã äóóä ãýõ ìýò ÿðüæ áîëäîã øèã õóâüñàã÷èéí ººð íýðýýð òºëººë¿¿ëæ áîëäîã þì. Æèøýý íü I õóâüñàã÷èéã I_ref ãýñýí ººð íýðýýð òºëººë¿¿ëæ àëü ÷ íýðýýð íü õàíäàæ áîëíî. Èíãýõýä íýã ë ¿¿ðýíä õàíäàõ íü îéëãîìæòîé.Åð íü Áàòûí ºðºº ãýõ ìýò ºðººí¿¿äèéã çàõûí ºðºº, òýðíèé ºðºº, ýíýíèé ºðºº ýñâýë á¿ð òýä äýõ ºðºº, õàð áàðèóëòàé ºðºº, øàð ìîäîí õààëãàòàé ºðºº ãýõ ìýò õýäýí ÷ ÿíçààð íýðëýæ áîëæ áàéãàà áèç. Òýãâýë ýíý ë áèäíèé ¿çýõ ãýæ  áóé çààëò þì.Çààëò ãýäýã íü õóâüñàã÷èéí òºëººëñºí íýð áóþó ò¿¿íèé ººð íýð þì. Áàòûí ºðººã ººðººð íýðëýñýí íýðýýðýý Áîëäûí ºðººã áàñ íýðëýæ áîëîõã¿é. Ýíý ë çààëòûí îíöëîã þì. Òýãâýë çààã÷ íü õàÿã àãóóëæ áàéäàãààñ ãàäíà ººð õàÿã ðóó áàñ øèëæèæ áîëäîã þì. 

 

Òºðºëò çààã÷

C áîëîí C++ õýë¿¿äýä çààã÷ ìàø ÷óõàë àñóóäëóóäûí íýã áîëäîã.  C++-ä çààã÷èéã Ñ-ä çàðëàäãèéí àäèë çàðëàíà. Çààã÷ çºâõºí ººðèéí çàðëàãäñàí òºðëèéí õóâüñàã÷èéã çààæ ÷àäíà. Çààã÷èä óòãà îëãîîã¿é ¿åä òýð ÿìàð ÷ îáúåêòûã çààõã¿é, õàðèí ò¿¿íä ÿìàð íýãýí õóâüñàã÷èéí õàÿãèéã îëãîõäîî & ¿éëäëèéã àøèãëàíà. Çààã÷èéí çààæ áóé îáúåòîä õàíäàõäàà * òýìäãèéã àøèãëàäàã. Íýã çààã÷èä íºãºº çààã÷èéí õàÿãèéã îëãîæ ìºí çààã÷äûã õîîðîíä íü õàðüöóóëæ áîëíî.

Òºðºëò çààã÷èéã àøèãëàõäàà ìºí õóâüñàã÷èéí íýðèéí ºìíº * òàâèíà. Òºðºëò çààã÷ íü íýãýí òºðëèéí õóâüñàã÷èéã çààñàí áîë ººð òºðëèéí õóâüñàã÷èéã çààæ ÷àäàõã¿é. Æèøýýëáýë: POINTER.CPP æèøýýã àâ÷ ¿çüå.


 


POINTERS.CPP –òºðºëò çààã÷ áîëîí void çààã÷


 


1.     #include <iostream.h>

2.     void main()

{

3.     int   *pt_int;

4.     float *pt_float;

5.     int   pig = 7, dog = 27;

6.     float x = 1.2345, y = 32.14;

7.      void *general;

8.      pt_int = &pig;

9.     *pt_int += dog;

10. cout << "Pig now has the value of " << *pt_int << "\n";

11. general = pt_int;

12. pt_float = &x;

13. cout << "pt_float now has the value of " << pt_float << "\n";

14. pt_float = 5 + (*pt_float);

15. cout << "pt_float now has the value of " << pt_float << "\n";

16. general = pt_float;

17. cout << "general now has the value of " << *(float*)general << "\n";

18. general = pt_int;

19. cout << "general now has the value of " << *(int*)general << "\n";

20. const char *name1 = "John";    // óòãà íü ººð÷ëºãäºõã¿é.

21. char *const name2 = "John";    // çààã÷ íü ººð÷ëºãäºõã¿é

}

¯ð ä¿íä:

Pig now has the value of 7

Pig now has the value of 34

pt-float now has the value of 1.2345

pt-float now has the value of 6.2345

general now has the value of  6.2345

general now has the value of 7

 

ªºðººð õýëáýë pt_int çààã÷ íü integer áóþó á¿õýë òîîí òºðëèéí õóâüñàã÷èéã ë çààõ áà ººð float òºðëèéí õóâüñàã÷èéã çààæ ÷àäàõã¿é. Ïðîãðàìûí 8-ð ìºðºíä pt_int çààã÷ íü pig õóâüñàã÷ààñ ººð òºðëèéí õóâüñàã÷èéã çààõã¿é. 9-ð ìºðºíä pt_int çààã÷èéã dog-èéí  õýìæýýãýýð èõýñãýæ áàéãàà áîëîõîîñ áèø dog ðóó çààëãàæ áàéãàà õýðýã áèø þì. Õýðýâ dog ðóó çààëãàÿ ãýâýë pt_int=& dog ãýñýí ¿éëäëèéã õèéõ ¸ñòîé.

7

 
Pt_int                                                                         pig



 


27

 
                                   

dog

 

Òºðºëò çààã÷èéí ñàíàõ îéí ¿¿ðýí äîòîðõè óòûã õýâëýå ãýâýë ºìíº íü * òàâüæ õýâëýíý, õàðèí çààæ áàéãàà óòãûã íü õýâëýå ãýâýë ºìíº íü îä òàâèõã¿é.( ýíý íü ïðîãðàìûí 10,13-ð ìºð þì.)

 

 

Òîãòìîë çààã÷, òîãòìîëûí çààã÷

C++-ä òîãòìîë çààã÷, òîãòìîëûí çààã÷èéí àëü àëü íü ººð÷ëºãääºãã¿é.

1.     Òîãòìîëûí çààã÷èéí çààñàí ÿìàð õóâüñàã÷ íü ººð÷ëºãääºãã¿é  áîëîâ÷ òîãòìîëûí çààã÷ íü ººðºº ººð÷ëºãäºæ áîëíî. Òîãòìîëûí çààã÷èéã òîäîðõîéëîõûã POINTER.CPP ïðîãðàìûí 20-ð ìºðºíä çààæ ºã÷ýý.

2.     Òîãòìîë çààã÷ûí çààñàí óòãà íü ººð÷ëºãäºæ áîëíî õàðèí ººðºº ººð÷ëºãääºãã¿é.

Çààã÷ ººðèéí òîãòìîë øèíæ ÷àíàðààñ áîëîîä ººð õàÿã ðóó øèëæèõã¿éã òà ìýääýã áîë ò¿¿íèéã òîãòìîë çààã÷ ãýæ ¿ç, õàðèí õóâüñàã÷ íü ººð÷ëºãäºõã¿éã ìýäýõ þì áîë ýíý íü òîãòìîëûí çààã÷ áîëîõûã òîäîðõîéëíî. Îäîî õóâüñàã÷ ººð÷ëºãäºæ áàéãàà  ýñâýë çààã÷ íü ººð÷ëºãääºãèéã ìýäýõèéí òóëä Const ò¿ëõ¿¿ð ¿ãèéã àøèãëàí çààã÷èéí õýðýãëýýí¿¿äèéã ñóðàõ íü ÷óõàë. ¯¿íèé òóëä const ò¿ëõ¿¿ð ¿ãèéã òàéëàí óíøèæ ÷àääàã áàéõ ¸ñòîé.

Õýðýãëýýíèé äàðààõ òîõèîëäëóóä áàéäàã.

1.     const char *buf;

2.     char const *buf;

3.     char * const buf;

4.     char const * const buf; ãýñýí òîõèîëäëóóäûã ýíä òàéëáàðëàõ áîëíî.

Ø      C++-ä Ñ-ýýñ ÿëãààòàé ç¿éë íü const ò¿ëõ¿¿ð ¿ãèéã àøèãëàí ìàññèâûí õýìæýýã òîäîðõîéëîí ¿ç¿¿ëæ áîëíî.

int const size=10;

char buf [size]  //- 10 õýìæýýñò ìàññèâ çàðëàãäàâ.

Ø      Const ò¿ëõ¿¿ð ¿ãíèé öààøäûí õýðýãëýýí¿¿ä íü çààã÷ààð èëýðäýã.

Char const *buf;

Buf- íü ñhar òºðëèéã çààõ çààã÷ õóâüñàã÷. Buf-ýýð çààãäñàí þó÷ áàéñàí ººð÷ëºãäºõã¿é õàðèí buf çààã÷ íü ººðºº ººð÷ëºãäºæ áîëíî. ªºðººð õýëáýë (buf++;) ¿éëäëèéã çºâøººðíº .   const char* buf íü  äýýðõè ¿éëäýëòýé  èæèë áàéíà.

Ø      char *const buf;

Buf íü ººðºº const çààã÷ òóë buf íü ººð÷ëºãäºõã¿é. Õàðèí buf-ýýð çààãäñàí ÿìàð÷ char òºðëèéí õóâüñàã÷ íü ººð÷ëºãäºæ áîëíî.

Ø      char const * const buf;

Èéì çààã÷  áàéæ áîëîõ òàéëòàé. Ãýâ÷ õýðýãëýý áàãàòàé þì.  Çààã÷ áîëîí çààãäàõ õóâüñàã÷ íü ººð÷ëºãäºõã¿é ãýñýí ¿ã.

Const ò¿ëõ¿¿ð ¿ãèéí ãîë çàð÷èì íü äàðààõ õýëáýðòýé áàéõ áîëíî. Ò¿ëõ¿¿ð ¿ãíèé ºìíº áàéãàà þó ÷ áàéñàí ººð÷ëºãäºõã¿é const îðñîí  çàðëàëòàíä õóâüñàã÷ ýñâýë ôóíêöýýñýý ýõëýæ óíøèíà. Æèøýý íü:" buf íü òîãòìîë çààã÷, òîãòìîë char òºðëèéí õóâüñàã÷èéã çààíà” ãì ..

int main()

{           char const *buf=”Hello”;

            buf++;                                   // áîëíî.

*buf=”a”;                  // áîëîõã¿é.

return (0);

}

Îäîî òà  ÿàãààä buf++ ¿éëäýë íü áîëæ *buf=”a” ¿éëäýë áîëîõã¿é áàéãààã îéëãîñîí áèçýý.

 

VOID Çààã÷

Void çààã÷ íü íü Ñ–ã áîäâîë Ñ++ èë¿¿ ÷óõàë ¿¿ðýãòýé.Ýíý çààã÷ íü ÿìàð ÷ ºãºãäëèéí òºðëèéã çààæ ÷àäíà. ªºðººð õýëáýë  void çààã÷ çàðëàãäñàí ¿åä òýð íü á¿õýë, áîäèò, òýìäýã òºðëèéã çààæ ÷àäíà. ̺í ò¿¿í÷ëýí õýðýãëýã÷èéí òîäîðõîéëñîí òºðëèéã ÷ çààæ ÷àäíà. Òýäíèéã õààíà çàðëàõààñ íü øàëòãààëæ local, global void çààã÷ ãýæ  àíãèëíà. Pointer.cpp æèøýýíä void *general; ãýæ íýãýí çààã÷ àâàí ò¿¿íèéã float òºðëèéí õóâüñàã÷èéã çààõ òºðºëò çààã÷èéã  çààëãàâ (general=pt_float; general= pt_int)  Õàðèí float áîëîí int òºðëèéí õóâüñàã÷èäûã çààëãàÿ ãýâýë general=&y; general=&dog ãýæ àøèãëàíà.

 Void çààã÷èéã õýâëýõýä ò¿¿íèé ñàíàõ îéä çààõ ¿¿ðèéí äóãààðûã õýâëýõ áîëîõîîð ò¿¿íèé çààæ áàéãàà ñàíàõ îéí ¿¿ðýí äýõ óòãûã õýâëýõäýý:

 *(ÿìàð òºðëèéí õóâüñàã÷ çààæ áàéãàà áè÷ýýä *) çààã÷èéí íýð ãýñýí ôîðìàòààð õýâëýíý.

Íýìæ àíõààðóóëàõàä òºðºëò çààã÷èéí óòãûã void çààã÷èä îëãîæ áîëîõ áîëîâ÷ õàðèí void çààã÷èéí  óòãûã òºðºëò çààã÷èä îëãîæ áîëîõã¿é.

int I=10;

int * pt_int=&I;

void * buf=pt_int;

Pt_int=buf;//--áóðóó

Õàðèí void çààã÷èéã  òºðºë õóâèðãàëò õèéñíèé äàðàà ýíý ¿éëäëèéã çºþøººðäºã.

Pt_int= int(buf);// çºâ.

Void çààã÷ íü ººðºº ñàíàõ îéí ¿¿ðýíä áàéðëàõ áà òýíäýý çààæ áàéãàà ñàíàõ îéí ¿¿ðýí äýõ õàÿãàà õàäãàëæ áàéäàã.

 


Çààã÷ çààëò õî¸ðûí ÿëãàà

            Äîîð çààã÷ çààëò õî¸ðûí õîîðîíäûí õýä õýäýí ÿëãààã õàðóóëàâ

Ø      Çààëò íü äàíãààðàà îðøèõã¿é. ªºðººð õýëáýë ÿìàð íýãýí þìûã òºëººëºõã¿éãýýð äàíãààð îðøèõã¿é. Òóõàéëáàë int &ref; Ýíäýýñ õàðàõàä ref þóã òºëººëºõ þì áý ãýñýí àñóóäàë òóëãàðíà.

Ø      Çààëò íü ôóíêöûí ïàðàìåð ìàÿãààð îðøèæ áîëíî.

Ø      Çààëò íü class-ûí ãèø¿¿í ºãºãäºë ìàÿãààð õýðýãëýãäýæ áîëíî.

Ø      ¯¿íýýñ ÿëãààòàé íü çààã÷ íü ººðºº õóâüñàã÷ þì.

Ø      Çààã÷ íü ººð ººð õóâüñàã÷èéã çààæ ÷àäíà

Ø      Çààëò íü òºëººëæ áàéãàà õóâüñàã÷òàéãàà ñàíàõ îéí íýã ¿¿ðýíä áàéðëàäàã áîë çààã÷ íü ººð ¿¿ðýíä áàéðëàäàã.

 


Category: Хичээл | Added by: uugii (2012-02-17) | Author: uugii
Views: 1452 | Comments: 1 | Rating: 0.0/0
Total comments: 0
Нэр*:
Й-мэйл:
Code *:
Цаг хугацаа

Клип


Админтай холбогдох

Byambadorj


Шууд мессэнжэрдэх
Листэндээ нэмэх
И-Мэйл илгээх 


Энд таны реклам

Сурталчилгаа...

Статистик

Нийт Онлайн 1
Зочид 1
Хэрэглэгчид 0

Мэндчилгээ

All program
Guest


Бүртгүүлээд өдөр
Таны IP: 18.220.1.239
Бүртгэлээ засах
Таны булан
Захиа унших ()


Уучлаарай та бүртгэлгүй байна. !


Site created in uCoz
Зохиогчийн эрх хуулиар хамгаалагдсан © 2012 он
Зохиосон: Дархан дээд сургуулийн АХК-4 ангийн оюутан Д.Бямбадорж