Sunday, October 27, 2013

Инженер lecture№2 /асуугдах/




Програмчлалын Си хэлийг 1970 онд Bell Laboratories фирмийн ажилтан Деннис Ритчи нь UNIX үйлдлийн системийг боловсруулж байхдаа зохиожээ. Сайн бүтэц зохион байгуулалттай програмыг боловсруулахад чиглэгдсэн системийн програмчлалын хэрэгсэл байхаар анхандаа төлөвлөгдөж байв. Товч тодорхой бөгөөд илэрхийлэх баялаг боломжоор хосолсон нь Си хэлийг системийн болон хэрэглээний програм хангамжийг боловсруулахад хэрэглэдэг хамгийн сайн түгээмэл хэл болон тархжээ.



Си хэлний компиляторууд нь UNIX, MS-DOS, Mac OS, OS/2, Windows, Windows NT, Solaris гэх мэтийн үйлдлийн системүүдтэй бараг бүх төрлийн компьютер дээр ажиллаж байна.




Өргөн хэрэглээний бус ажлын хэрэгсэл болгох зорилгоор зохиогдсон болохоор програмчлалын бусад хэлнүүдийн адил үндэсний болон олон улсын стандартгүй байв. 1978 онд АНУ-д хэвлэгдэн гарсан Б.Керниган, Д.Ритчи нарын эхний ном болох компилятор боловсруулагчдын гарын авлага Си хэлний албан бус стандартын (K&R) үүргийг гүйцэтгэж байсан бөгөөд эдүгээ ч санаа нь хадгалагдсан хэвээр л байна.



Америкийн Yндэсний Стандартын Институт Б.Керниган, Д.Ритчийн номын хоёр дахь хэвлэлийг стандарт болгон авч Си хэлний ANSI стандарт бий болжээ. Одоогоор ANSI стандартаас гадна Олон улсын стандарт (ISO C ­International Standard Organization C) ч боловсруулагдсан.




Ñè ïðîãðàìûí á¿òýö

1. Ñè õýëíèé ýëåìåíò¿¿ä
Ø  Öàãààí òîëãîé
Ø  Èäåíòèôèêàòîð áóþó íýð
Ø  Ò¿ëõ¿¿ð ¿ãñ
Ø  Õóâüñàã÷ áà íýðëýñýí òîãòìîëóóä
Ø  Òàéëáàð
1.1. Цагаан толгой
Си хэлний цагаан толгойд:
Ø  Том болон жижиг латин үсгүүд: A,B,C,...,Z, a,b,c,...,z
Ø  Цифрүүд: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
Ø  Тусгай тэмдэгтүүд: “ , {} | [] () + - / % \ ; ‘ . : ? < = > _ ! & * # ~ ^
Ø  Дүрслэгддэггүй тэмдэгтүүд: лексемүүдийг бие биенээс нь тусгаарлах зорилгоор ашиглагддаг дүрслэгддэггүй тэмдэгтүүд юм. Тухайлбал, пробел, табуляцийн тэмдэгт, шинэ мөрөнд шилжүүлэх тэмдэгт гэх мэт.
o   Си хэлнээ 6 төрлийн лексемүүд байдаг:
*      Äураараа сонгож ашиглаж болох нэрс;
*      Íөөц (түлхүүр) үгс;
*      Òогтмолууд;
*      Ìөр(мөр тогтмолууд);
*      ¯йлдлүүд(үйлдлийн тэмдгүүд);
*      Òусгаарлагчид(цэг цэглэлийн тэмдгүүд);
1.2. Идентификатор буюу нэр. 
Ïðîãðàìä àøèãëàãäàõ ôóíêö, òýìäýã, õóâüñàã÷èéí íýð çýðãèéã èдентификатор буюу нэр ãýæ ¿çäýã. Íýð íü ¿ñãýýð ýõýëñýí , äîîãóóðàà çóðààñòàé òýìäýãò, öèôð, íýã  áóþó õýä õýäýí äàðààëñàí ëàòèí ¿ñýã áàéæ áîëíî.
·         Íýðèéí óðò íü 32 òýìäýãò õ¿ðòýë
·         Òîì æèæèã ¿ñã¿¿ä ÿëãààòàé òîîöîãäîíî. ªºðººð õýëáýë Count, count , COUNT ãýñýí ãóðâàí íýð íü ãóðâóóëàà ÿëãààòàé íýð¿¿ä áîëíî. 
Æèøýý íü:
Ǻâ èäåíòèôèêàòîð
 Áóðóó èäåíòèôèêàòîð
far_out
Tom’s
TIME
whicha$macallit
age
%dollar
time
do-it
1.3. Түлхүүр (нөөц) үгс.
Програм зохиогч түлхүүр үгсийг дураар сонгон авч нэр болгон хэрэглэж болохгүй, ñè хэлний ñàíä нөөцөлсөн нэрийг түлхүүр үгс гэдэг. Ãýõäýý áè÷ëýãèéí õóâüä ò¿ëõ¿¿ð ¿ãýýñ ÿëãààòàé áàéæ áîëíî.
  Æèøýý íü:
Ò¿ëõ¿¿ð ¿ã
Õóâüñàã÷

for
FOR

if
IF
Си хэлэнд дараах түлхүүр үгс тодорхойлогдоно:
Õ¿ñíýãò 1.1
asm
continue
float
new
signed
try
auto
default
for
operator
sizeof        
typedef
break
delete
friend
private
static
union
case
do
goto
protected
struct
unsigned
catch
double
if
public
switch
virtual
char
else
inline
register
template
void
class
enum
int
return
this
volatile
const
extern
long
short
throw        
while
                                                                              
Стандарт Си хэлний нөөц түлхүүр үгсийн тоонд модификаторуудыг оруулдаггүй, гэвч Си хэлний ямар ч компилятортай ажилласан тэдгээрт дараах модификаторууд ашиглагддаг.
asm, cdecl, _cs, _ds, _es, far, fortran, huge, interrupt, near, pascal, _ss
Си хэлний стандартад тодорхойлогдсон үндсэн түлхүүр үгс болон модификаторуудаас гадна зарим Си хэлний компиляторууд нь нөөц(түлхүүр) үгсийг өргөтгөх өөрийн гэсэн өргөтгөлүүдтэй байдаг. Тухайлбал, Borland C++ компилятор нэмэлт дараах модификаторуудыг оруулдаг:(бүгдийг нь дурьдаагүй)
_cdecl, _export, _far, _fastcall, _loadds, _near, _pascal, _saveregs, _seg
1.4. Тîãòìîëóóä
Òîãòìîë ãýäýã íü ïðîãðàìûí ÿâöàä îãò ººð÷ëºãäºõã¿é óòãóóäûã õýëíý. Си хэл дээр програм бичихдээ тогтмолыг бүхэлд нь том үсгээр бичвэл бусдаас ялгамж болгоход дээр байдаг.  Ïðîãðàì äîòîð òîãòìîë óòãà òîäîðõîéëîõ ¿íäñýí õî¸ð àðãà áàéäàã.
1.                    #define ò¿ëõ¿¿ð ¿ãýýð òîãòìîëûã çàðëàõ
2.                    const ò¿ëõ¿¿ð ¿ãýýð çàðëàõ






1. DEFINE  ò¿ëõ¿¿ð ¿ãèéã àøèãëàõ.
Áè÷èãäýõ õýëáýð íü :    #define <Òîãòìîëûí íýð> <Òîãòìîë óòãà>
Òîãòìîë óòãà òîäîðõîéëæ áàéãàà õýäýí æèøýý ¿çüå.
#define DAY   31                              // ýåðýã á¿õýë òîãòìîë
#define DEGREE  –30                                // ñºðºã á¿õýë òîãòìîë
#define PI    3.1412                          // áóòàðõàé òîãòìîë
#define NAME    “Merry”                       // òýìäýãò ìºð òîãòìîë
#define QUESTION    “Sure?”                 // òýìäýãò ìºð òîãòìîë
̺ð á¿ðèéí òºãñãºëä ‘//’ òýìäãýýð ýõýëñýí êèðèëë òåêñòèéã îðóóëñàí áàéíà. Ýäãýýð òåêñò ïðîãðàììûí ¿éë àæèëëàãààíä çºâ áóðóó ÿìàð íýãýí íºëºº ¿ç¿¿ëýõã¿é. Ó÷èð íü êîìïèëÿòîð èéì òýìäãýýñ õîéø óã ìºðºíä áàéãàà òåêñòèéã åðäèéí òàéëáàð ãýæ îéëãîäîã þì.
 ‘#’ òýìäãýýð ýõýëñýí íººö ¿ãèéã êîìïèëÿòîðûí äèðåêòèâ ãýæ íýðëýõ áºãººä #define íü ÷ ãýñýí äèðåêòèâ áîëíî. Ýíýõ¿¿ #define äèðåêòèâ íü ýíä ¿çñýíýýñ ººð, èë¿¿ ºðãºí áîëîìæòîé áºãººä ýíý òóõàé äàðààõ á¿ëãýýñ äýëãýð¿¿ëýí ¿çýýðýé.
2. CONST ò¿ëõ¿¿ð ¿ãèéã àøèãëàõ.
Áè÷èãäýõ õýëáýð íü :    ñînst  <Òºðºë>  <Íýð>=<Òîãòìîë óòãà>
Òîãòìîë óòãà òîäîðõîéëæ áàéãàà õýäýí æèøýý ¿çüå.
const int day=12
const int degree=–30
const double pi=3.1412
const char name[ ]=“Merry”
const char question[ ]=“Sure?”
Ǻâõºí òîãòìîëûí íýð áà óòãûí õîîðîíä òýíö¿¿ãèéí òýìäýã òàâüäàãààðàà ºìíºõ äèðåêòèâýýñ ÿëãàðàõ þì. Áè÷ëýãèéí õóâüä èæèë áîëîâ÷ êîìïèëÿòîðûí õóâüä ýíý õî¸ð íü ìàø èõ ÿëãààòàé òîäîðõîéëîëòóóä þì. Ó÷èð íü const íººö ¿ãèéã àøèãëàí òîäîðõîéëñîí òîãòìîë íü ïðîãðàìûí ÿâöàä îãò ººð÷ëºãäºõã¿é áîëîâ÷ õóâüñàã÷ øèã ïðîãðàìûí òóðøèä ñàíàõ îéä íýã áîëîí õýä õýäýí áàéòûã ýçëýí îðøñîîð áàéäàã. Ãýòýë #define äèðåêòèâýýð òîäîðõîéëñîí òîãòìîë óòãà ãýäýã ìààíü æèíõýíý áèåëýõ ïðîãðàìûí õààíà íü ÷ áàéäàãã¿é þì. Õàðèí ïðîãðàì õºðâºõ ¿åä óã òîãòìîëûã àøèãëàæ áàéãàà ãàçàð á¿ðò óã óòãûã íü øóóä îðëóóëàí áè÷äýã áàéíà.
Мөн Си хэлний стандартад препроцесорын нэрлэсэн олон тогтмолуудыг санал болгосон байдаг. Жишээ:
FLT_MAX -float төрөлтэй дан нарийвчлалтай хамгийн их бодит утга;
CHAR_BIT -нэг байт дахь битийн тоо;
INT_MIN -int төрөлтэй өгөгдлийн хувь дахь хамгийн бага утга;
Препроцессорын тогтмолууд Си хэлний сан файлд тодорхойлогдсон байдаг. Эдгээрийг ашиглах бол:
 #include <толгой_файлын_нэр>
толгой_файлын_нэр -гэдгийн оронд limiths.h(бүхэл төрөлтэй өгөгдлүүдийн хувьд), float.h(бодит өгөгдлүүдийн хувьд) нэрийг бичнэ:
#include<limiths.h>
limiths.h толгой файлд дараах:
#define CHAR_BIT 8
#define SHRT_MAX 0x7FFF
#define LONG_MAX 0x7FFFFFFFFL ...
float.h толгой файлд дараах:
#define FLT_MIN 1.17549435E-38F
#define DBL_MIN 2.2250738585072014E-308
#define DBL_EPSILON 2.2204460492503131E-16 ...
Дээрх урьдчилан тодорхойлогдсон препроцессорын тогтмолуудын утга янз бүрийн хувьд өөр байж болно.
Äàðààõ òºðë¿¿ä á¿õèé òîãòìîëóóä áàéäàã.
*      Á¿õýë òîîí òîãòìîëóóä
*      Áîäèò òîîí òîãòìîë
*      Òýìäýãòýí  òîãòìîë
*      Òýìäýãòýí ìºð òîãòìîë
1. Бүхэл тогтмол. Ñè õэлний дүрэмд дараах бүхэл тогтмолуудыг тодорхойлсон байдаг. Тогтмолын бичлэг дэх угтвар буюу эхний тэмдэглэгээ íü тоон системийн суурийг тодорхойлно.
*   Àравт, 0-ээс ялгаатай цифрээр эхлэнэ
*   Íаймт, 0-ээр эхлэнэ, 7-îîñ àõëàõ öèôð àøèãëàõã¿é
*   Àрванзургаат, 0x, 0X-ээр эхлэнэ
Дагавар ашиглан тогтмолын төрөлд нөлөөлж болно
*        l эсвэл  L дагавартай бүхэл тоо нь long төрөлтэй болох юм

Бүхэл тоо
Төрөл
255
decimal int
0x200
int
512U
unsigned int
0L
long
0Xf0fUL
hexdecimal, unsigned long
0377
octal int
Бодит тоо
Утга
0.0
0
10.0
10
2.34E5
2.34 x 105
67e-12
67.0 x 10-12
0xa.fP-10
(10 + 15/16) x 2-10

2. Бодит тогтмол.
     Бодит тоо дараахь хэлбэрүүдээр бичигдэж болно
         Àравтын
         Àрван зургаат
         Çэрэг èëòãýã÷
1.2e34 1.2 x 1034  
1.5e3   1.5e-3
3. Òэмдэгт тогтмол.
         Тэмдэгт нь дан хашилтад ‘ ‘ бичигддэг           'a‘, ‘X‘, '0‘, '*‘
         ASCII хүснэгтýýð, Жишээ, 'a' тогтмол нь ASCII хүснэгтэд 97 утгатай байна
         Өргөн тэмдэгт ,     L'a' L'12' L'\012' L'\u03B2'
Ïринтер, гар дээр, дэлгэц дээр тэмдэгт дүрслэдэггүй кодуудыг компьютерт ашигладаг. Ийм тэмдэгт тогтмолуудыг програмд дүрслэхийн тулд тэмдэгт дүрстэй хэд хэдэн тэмдэгтүүдийн хослолыг хэрэглэнэ. Энэ хослол ‘\’ тэмдгээр(“backslash”) эхлэх бөгөөд ийм хослолыг Си хэлэнд Êóðñîð óдирдàõ òóñãàé òýìäýãò хэмээн нэрлэдэг:
Õ¿ñíýãò 1.2.
Тэмдэгт
Нэр
Утга
\0
Null
Null тэмдэгт
\b
Backspace
Нэг тэмдэгтээр буцах
\f
Form Feed
Шинэ хуудсын эхлэлд шилжих
\n
Newline
Дараагийн мөрд шилжих
\r
Return
Мөрийн эхэнд шилжих
\t
Tab
Tab шилжилт хийх (8 багана)
\’
Apostrophe
  тэмдэгт
\"
Double quote
тэмдэгт
\\
Backslash
\ тэмдэгт
\xh[h...]

16-тын коäоор өгөгдсөн тэмдэгт

4. Òýìäýãò ìºð òîãòìîë.
Мөр тогтмол нь давхар хашилтад бичигдсэн тэмдэгтүүдийн дарааллаас тогтоно
          "Hello world!\n“,           printf("Hello world!\n“);
Хоосон мөр нь "" санах ойд null тэмдэгтийг агуулсан 1 байтыг эзлэнэ

1.5. Òàéëáàð
Тайлбар нь хувьсагчид, зааврууд болон програмын бусад элементүүдийг тайлбарлахад хэрэглэгдэнэ. Òàéëáàð õèéõ äàðààõ àðãóóä áàéíà. ¯¿íä:
  1. Íýã ìºð òàéëáàð õèéõ òîõèîëäîëä: // äàâõàð òàøóó çóðààñûí àðààñ áè÷íý.
  2. Îëîí ìºð òàéëáàð õèéõ òîõèîëäîëä: /*      */   õîîðîíä òàéëáàðàà áè÷èæ áîëíî.
Бичсэн програм тань эссэ шиг л уншигдах ёстой. Аль болох тодорхой, ойлгоход хялбар байх хэрэгтэй. Тайлбарыг олон хэлбэрээр хийж болно
  1. Толгой : Програмын нэр , Програм юу хийдэг болох тухай товч тодорхойлолт
  2. Зохиогч: Зохиогчийн тухай мэдээлэл оруул
  3. Зорилго: Яах гэж энэ програмыг бичсэн бэ? ,  Юу хийдэг програм бэ?
  4. Хэрэглэх заавар:  Програмыг яаж ажиллуулах товч заавар
  5. Заалт:  Хуулбарлах болон, зохиогчийн эрхийн тухай
  6. Файлын формат:  Програмын уншиж, бичиж буй файлын жагсаалт болон тэдгээрийн бүтэцийн тодорхойлолт
  7. Хязгаарлалт:  Оролтын өгөгдөл дээр тавигдах шаардлага гэх мэт хязгаарлалтуудын жагсаалт
  8. Засварын түүх: Энэ хэсэг нь програмыг хэн өөрчилсөн болон хэзээ, юуг өөрчилсөн зэрэг жагсаалтыг агуулна
  9. Алдааны боловсруулалт:  Хэрэв програмд алдаа илэрвэл, програм юу хийхийг тодорхойлно
  10. Тэмдэглэл: Тусгай тайлбар болон бусад мэдээллийг багтаана
Жишээ íü:
/* Äàðààõ ìºð¿¿äýä òàéëáàð õýðõýí õèéõ õÿëáàð æèøýý àâ÷ ¿çüå */
/********************************************************
*********************************************************
******** WARNING: This is an example of a *******
******** warning message that grabs the ***********
******** attention of the programmer. ***************
*********************************************************
********************************************************/

/*>>>>>>>>> Major section header <<<<<<<<<<< */
Жишээ íü:
/********************************************************
* We use boxed comments in this book to denote the
* beginning of a section or program. *
********************************************************/

/*------------------------------------------------------*\
* This is another way of drawing boxes. *
\*------------------------------------------------------*/

/*------------> Another, less important warning <--------*/
1.6. Õóâüñàã÷
Си хэлний үндсэн ойлголтуудын нэг бол санах ойн нэрлэгдсэн муж болох объект юм. Объектын тухайн тохиолдол нь хувсагч. Хувьсагчид утгыг олгох үед санах ойн харгалзах мужид утга байрлана. Хувьсагчийн утганд хандах үед хувьсагчийн нэр л хангалттай бөгөөд санах ойн хэсэгт хандахдаа зөвхөн түүний хаягаар л хандах боломжтой байдаг. Хаяг болон нэрсийн уялдааны тухай заагчийн тухай сэдвээс дэлгэрэнгүй үзэх болно. Харин одоохондоо хувьсагч гэдгийн доор “нэр-утга” гэсэн хосыг л ойлгоход хангалттай байх.
Хувьсагчийг тодорхойлох. Програм дахь хувьсагч бүрийг ашиглахын өмнө түүнийг тодорхойлох ёстой, ө.х хувьсагчид зориулан санах ойгоос муж хуваарилна. Энэхүү мужийн хэмжээ, түүнд хадгалагдах утгын төрөл нь уг хувьсагчийг тодорхойлох үеийн төрлөөс хамаарна.  Хувьсагчийг тодорхойлох энгийн хэлбэр:
<Õóâüñàã÷èéí төрөл> < хувсагчийн_нэр>;
Õóâñàã÷èéí òºðºë ãýäýã íü ò¿¿íèé àâ÷ áîëîõ óòãóóäûí ìóæèéã õýëæ áàéãàà þì. Ñè õýëýíä äàðààõ ñòàíäàðò òºðë¿¿ä áàéäàã.
Òºðºë
Íýð
Óòãûí ìóæ
Õýìæýý
char
8bit ýýñ öººí óðòòàé á¿õýë
‘0’..’9’,’A’..’Z’,’a’..’z’,*/+-¡@#$%^&*(){}[];;.,’”?`~
1 byte
short
Áîãèíî á¿õýë
-128..127
2 byte
int
Á¿õýë
-32768..32767
4 byte
long
Óðò á¿õýë
-2147483648.. 2147483647
8 byte
unsigned short
Ýåðýã áîãèíî á¿õýë
0..255
2 byte
unsigned int
Ýåðýã á¿õýë
0..65535
2 byte
unsigned long
Ýåðýã óðò á¿õýë
0..4294967295
8 byte

Ñè õýëýíä äàðààõ ñòàíäàðò áîäèò òºðë¿¿ä áàéäàã.
Төрөл
Íýð
Утга
Хамгийн бага эерэг утга
Бутархай орон
Хэмжээ
float
Äàí íàðèéâ÷ëàëòàé áîäèò
±3.4E+38
1.2E-38
6 digits
4 bytes
double
Äàâõàð íéàðèéâ÷ëàëòàé áîäèò
±1.7E+308
2.3E-308
15 digits
8 bytes
long double
Õàìãèéí ºíäºð  íàðèéâ÷ëàëòàé áîäèò
±1.1E+4932
3.4E-4932
19 digits
10 bytes
Ýäãýýð ñòàíäàðò òºð뺺ñ ãàäíà õýðýãëýã÷ ººðèéí õýðýãöýýíä òààðñàí øèíý òºðëèéí ¿¿ñãýæ áîëîõ áºãººä ýíý òóõàé äàðàà á¿ëã¿¿äýä òóí äýëãýðýíã¿é ¿çýõ áîëíî.
Õóâüñàã÷ òîäîðõîéëæ áàéãàà õýä õýäýí æèøýý àâ÷ ¿çüå.
char  symbol;                            // òýìäýãò òºðëèéí óòãà àâàõ õóâüñàã÷
unsigned char code;                 // òýìäýãò òºðëèéí óòãà àâàõ õóâüñàã÷
int number_row;                       // á¿õýë òîîí òºðëèéí óòãà àâàõ õóâüñàã÷
unsigned long long_number;    // ýåðýã óðò á¿õýë òîîí òºðëèéí óòãà àâàõ õóâüñàã÷
float  x, X, cc3, pot_8;                // áîäèò òîîí òºðëèéí óòãà àâàõ õóâüñàã÷èä
double  e, Stop, B4;                  // áîäèò òîîí òºðëèéí óòãà àâàõ õóâüñàã÷èä
Ñàíàìæ:
*        Ïðîãðàìûí äóðûí õýñýãò õóâüñàã÷èéí óòãûã ººð÷èëæ áîëîõ áîëîâ÷ õóâüñàã÷èä ºã÷ áàéãàà óòãà íü óã õóâüñàã÷èéí òîäîðõîéëñîí òºðëèéíõ áàéõ ¸ñòîé.
*        Íýã ïðîãðàì äîòîð èæèë íýðòýé 2 õóâüñàã÷ áàéæ áîëîõã¿é.
*        Õóâüñàã÷èéí óòãàòàé õîëáîîòîé ãàð÷ áîëîõ àëäààã ¿ðãýëæ òîîöîæ, áîëîâñðóóëæ áàéõ íü ç¿éòýé.
*        Øààðäëàãàã¿é òîõèîëäîëä èõ òîì õýìæýýíèé óòãûí ìóæòàé õóâüñàã÷ òîäîðõîéëîõ íü ïðîãðàìûã èõ í¿ñýð, áîëõè áîëãîäîã.
*        Тодорхойлолт бүрийн ард байх ( ; )-ыг анхаарна уу!
Хувьсагчдын анхны утгыг олгох. Хэлний дүрмээр бол хувьсагчийг тодорхойлсоны дараа санах ойд тодорхой утгагүй байдаг. Тухайлбал, тэр нь ямагт 0 гэсэн утгатай байх ёстой гэж үзэж болохгүй. Гэхдээ хувьсагчдыг тодорхойлох явцдаа эхний утгыг нь олгож болдог:
<Õóâüñàã÷èéí төрөл>  <Xувьсагчийн_нэр> <=анхны_утга>;
Үүнийг инициаци хийх гэж нэрлэдэг. Утга олгох үйлдэл нь програмын биелэлтийн явцад хийгддэг бол инициаци нь хувьсагчийн санах ойгоос муж хуваарилах үед хийгдэгээрээ ялгаатай юм. Инициаци хийх жишээнүүд:
 float pi=3.1415, cc=1.23;
           /* áîäèò òîîí òºðëèéí óòãà àâàõ pi íýðòýé õóâüñàã÷èä 3,1215 ãýñýí óòãà, ìºí ññ 
               íýðòýé õóâüñàã÷èä 1,23 ãýñýí óòãûã îíîîæ áàéíà. */
unsigned int year=1997;
1.7. Ñàíàõ îéí õàÿã
Ñè õýëýíä õóâüñàã÷äûã òýäãýýðèéí ñàíàõ îéí õàÿã íü òºëººëäºã.
int cost;
Òýãâýë ýíý cost õóâüñàã÷èéí óòãà íü ñàíàõ îéí äàðààëñàí 2 ¿¿ðýíä õàäãàëàãäàõ áà ýíý ¿¿ðíèéõ íü õàÿãèéã & ¿éëäëýýð àâ÷ áîëíî.  ªºðººð õýëáýë  &cost ãýâýë ýíý õóâüñàã÷èéí ñàíàõ îé äàõü õàÿã íü áîëíî. & õàÿã àâàõ ¿éëäýë íü  Ñè õýëýíä ìàø ºðãºí õýðýãëýãääýã.

 

No comments:

Post a Comment