Friday, March 6, 2009

Ubuntu, Eclipse IDE, C/C++ тохируулах

1-р курсын оюутнууддаа зориулан Ubuntu үйлдлийн систем дээр хэрхэн Eclipse IDE суурилуулах, мөн CDT буюу C Development Toolkit суулган С хэл дээр хөгжүүлэлт хийх орчинг бүрдүүлэх заавар оруулж байна. Eclipse IDE нь Windows, Mac, Linux үйлдлийн системүүд дээр ажиллах үнэгүй нээлттэй эх бүхий хөгжүүлэлтийн орчин юм. Eclipse-г ашиглан Java, C/C++, Cobol, Python, Perl, PHP зэрэг олон хэл дээр хөгжүүлэлт хийх боломжтой.

1. Ubuntu дээр Eclipse IDE суулгах
Applications->Add/Remove... үйлдлээр програм суурилуулах цонхыг нээнэ. Show сонголтоос All Open Source applications гэдгийг сонгоод доор гарах жагсаалтаас Eclipse-г сонгоод APPLY CHANGES товчийг дарж суулгана.
2. CDT суулгах
Eclipse-ээ ажиллуулаад Help->Software Updates->Find and install... сонголтыг ажиллуулна.
Дараах цонх гарч ирэх бөгөөд Search for new features to install-г сонгоод NEXT.
Дараагийн хуудсаас Callisto Discovery Site-г сонгоод FINISH дарна.
Ингэхэд тухайн вэб рүү холбогдож шалгаад дараах цонх гарч ирэх ба Eclipse C/C++ Development Tools 3.1.2.xxxx-г сонгоод Next, Next, Finish гээд install хийнэ.


3. Hello World програм
Одоо Hello world гэж хэвлэх програм бичье. File цэсээc New Project сонгоход дараах цонх гарна. C-г задлаад Managed Make C Project-г сонгоод Next дарна.
Дараа нь project-ынхоо нэр болон бусад тохиргоог сонгоод FINISH хийж төслөө үүсгэнэ.
Одоо төсөл дээрээ шинэ C файл үүсгэе. File цэсээс New->C Source File сонгоод файлын нэрээ өгөөд файлаа үүсгэе.
Hello World гэж хэвлэх кодоо бичье.
Ажиллуулах товчийг дарж програмаа ажиллуулахад дараах үр дүн гарч байна:

Thursday, March 5, 2009

Ubuntu, Netbeans IDE, C/C++ тохируулах


1-р курсын оюутнууддаа зориулан Ubuntu үйлдлийн систем дээр хэрхэн Netbeans IDE суурилуулах, мөн C/C++ plugin суулган С хэл дээр хөгжүүлэлт хийх орчинг бүрдүүлэх заавар оруулж байна. Netbeans IDE нь Windows, Mac, Linux, Solaris үйлдлийн системүүд дээр ажиллах үнэгүй нээлттэй эх бүхий хөгжүүлэлтийн орчин юм.

1. Ubuntu үйлдлийн систем суулгасны дараа системээ UPDATE хийх

Ubuntu ҮС-ийнхээ шаардлагатай UPDATE-уудыг хийж шинэчлэхийн тулд Applications->Accessories->Terminal үйлдлээр терминал цонх нээгээд дараах 3 командыг ажиллуулна. 

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

2. NetBeans IDE суулгах
Дараа нь Applications->Add/Remove... үйлдлээр програм суурилуулах цонхыг нээнэ. Show сонголтоос All Open Source applications гэдгийг сонгоод доор гарах жагсаалтаас Netbeans IDE-г сонгоод APPLY CHANGES товчийг дарж суулгана. 


3. Netbeans IDE-г update хийх
Ubuntu 8.10 хувилбарын хувьд дээрх байдлаар суулгахад Netbeans IDE 6.1 хувилбарыг суулгаж байсан. Уг нь Netbeans 6.5 хувилбар одоо ашиглагдаж байгаа, шаардлагатай бол http://www.netbeans.org сайтаас шинэ хувилбарыг татан авч суулгаж болно. Netbeans IDE суулгасны дараа IDE-гаа мөн шинэчилье. Tools цэснээс Plugins сонголтыг сонгоно.   
 
Дараа нь Plugins цонхны Updates хэсгээс Reload Catalog үйлдлээр Update жагсаалтаа шинэчилээд доор нь гарах бүх update-уудыг тэмдэглээд UPDATE үйлдлийг хийнэ.


4. C/C++ plugin суулгах

Дараа нь Tools цэсийн Plugins цонхны Available Plugins хэсгээс C/C++ plugin-г тэмдэглээд Install үйлдлийг хийж plugin-аа суулгана. Суулгасны дараа Netbeans IDE-гаа RESTART хийх хэрэг гарах байх.


5. Hello World програм

За одоо Hello World гэж хэвлэх програм бичье. 

Хамгийн эхлээд File цэсээ New Project сонгон шинэ төсөл үүсгэнэ. Ингэхэд шинэ төсөл үүсгэх цонх гарч ирэх ба төслийн ангилалаас C/C++ сонгоод дараа нь C/C++ Application гэж сонгоод NEXT хуудас руу оръё.

Дараачийн хуудсанд төслийнхөө нэрийг hello гэж оруулаад FINISH дарж төслөө үүсгэе. 

Одоо төслийнхөө Source Files дээр хулганы баруун товчоо дараад цэсээс Main C File... гэж сонгоод үндсэн C файлаа үүсгэе. 

Үндсэн C файлын нэрийг асуух диалог гарч ирэх ба үндсэн C файлаа бас hello гэж нэрлээд FINISH дарж үүсгэе. 
Үүссэн файл дээрээ засвар хийн Hello World хэмээн хэвлэх функц бичлээ. 
Одоо Run цэсээс Run Main Project командыг сонгох эсвэл F6 товчийг ашиглан бичсэн програмаа ажиллуулъя. 

Ингээд Ubuntu + Netbeans IDE дээр анхны C програм маань ажиллаа ! Дараах үр дүн гарав.


Tuesday, February 24, 2009

Хувьсагч ба өгөгдлийн төрлүүд


Бүх программчилалын хэлүүд хувьсагч тодорхойлж, өгөгдөлтэй ажиллах тодорхой механизмуудтай байдаг.  Си хэлэнд энгийн өгөгдлийн төрлүүд болох бүхэл, бодит тоо, тэмдэгтэн төрлүүдтэй ажиллах олон арга замууд байдаг. 

Бусад программчилалын хэлүүдэд байдаггүй тийм аргууд нь  Си  хэлийг улам ч хүчирхэг болгодог. Энэ бүлэгт үзэх санаануудыг Си хэлэнд эхлэн суралцагч хэн бүхэн сайн ойлгох хэрэгтэй.  

Өгөгдлийн төрлүүд болон тэдгээртэй ажиллах үйлдлүүдийн олонлог нь Си хэлийг улам уян хатан болгодог ч , зарим талдаа буюу Си хэлийг төгс эзэмшиж ойлгоход хүндрэлтэй байдаг талтай. 

Идентификаторууд

Хувьсагчид болон функцийн нэрийг идентификатор гэнэ. Си хэлний идентификатор нь үсэг, тоо, доогуур зураас тэмдэгтээс бүрдсэн 32 тэмдэгт хүртэлх урттай байж болно. Идентификаторийг том болон жижиг үсгээр бичиж болох ба Си хэлэнд том жижиг үсгийг ялгаатайд тооцдог. Өөрөөр хэлбэл Count, count , COUNT гэсэн гурван нэр нь гурвуулаа ялгаатай нэрүүд болно.  Практикаас үзэхэд өөрийн бичих программаа илүү ойлгомжтой болгохын тулд хувьсагчдын нэрийг жижиг үсгээр, тогтмолуудыг том үсгээр бичиж ашигладаг.

Зөв идентификатор Буруу идентификатор
far_out.........................Tom’s
TIME............................whicha$macallit
age.................................%dollar
time...............................do-it

Зөвлөгөө  :
  • Хувьсагчийн нэрийг үсгээр эхлэх
  • Хувьсагчийг түлхүүр үгтэй ижлээр нэрлэж болохгүй. ( do, while , if ,  int, float , case  . . . )
  • Хувьсагчдыг гүйцэтгэж байгаа үүрэгтэй нь зохисон нэрээр нэрлэх
  • Дотоод хувьсагч ялангуяа индекс зэргийг богино , гадаад хувьсагчийг арай уртаар нэрлэхэд тохиромжтой.

printf функц. Тусгай тэмдэгтүүд


Курсорын байрлал удирдах тэмдэгтүүд

Си хэлэнд маш олон ийм тэмдэгтүүд байдаг ба тэднээс зарим хэсгийг нь л их өргөн ашигладаг.   

 Хүснэгт 3.1   Курсорын байрлал удирдах тэмдэгтүүд

Код Тайлбар
\n Шинэ мөр
\a Дуут дохио гаргах
\t Tab тэмдэгт ( Хэд хэдэн хоосон зай )
\\ \ тэмдэгтийг өөрийг нь хэвлэх
\” “ тэмдэгт хэвлэх
\r Мөрийн эхэнд

“\a” тусгай тэмдэгтийг хэвлэхэд дуут дохио гардаг. Өмнөх жишээнд бид хоёр тэмдэгт мөр хэвлэхэд тэд 2 мөрт биш , 1 мөрт гарч байсан . Тэгвэл одоо \n  тусгай тэмдэгт ашиглан энэ үйлдлийг гүйцэтгэе.  Эхлээд эхний тэмдэгт мөрөө хэвлээд дараа нь курсорыг дараагийн мөрт шилжүүлэх шаардлагатай. 

printf(“ Сайн байцгаана уу  !\n”);
printf(“ Хичээлээ эхлэцгээе !”);

Функц нь тэмдэгт мөрийг хэвлэж байгаад \n тэмдэгт дайралдангуут курсорын байрлалыг дараагийн мөрт шилжүүлдэг.  Ингэсний дараа хэвлэгдэх тэмдэгтүүд шинэ байрлалаас цааш хэвлэгдэх болно.

Тусгай тэмдэгтүүдийг ашигласан жишээ :

printf(“Тэмдэгт\tмөр\tхэвлэв.\n”);     /* Тэмдэгт  мөр  хэвлэв. */
printf(“Дохио дуугарав. \a\n”);              /*  Дохио дуугарав.   */
printf(“Тэр  \”Үгүй\”  гэж хэлсэн.\n”);/* Тэр “Үгүй” гэж хэлсэн.*/
printf(“\\ тэмдэгтийг  хэвлэв.\n”);      /*  \\ тэмдэгтийг хэвлэв. */


Хөрвүүлэлтийн тусгай тэмдэгтүүд

printf функцийг ашиглан тэмдэгт болон тоо хэвлэхдээ тэдгээрийг яаж хэвлэгдэхийг тодорхойлох хэрэгтэй болдог. Ингэхдээ хөрвүүлэлтийн тусгай тэмдэгтүүдийг ашигладаг. 

    Хүснэгт 3.2  Хөрвүүлэлтийн тусгай тэмдэгтүүд

Тэмдэгт Тайлбар
%d int төрлийн утгыг төлөөлнө.
%i int төрлийн утгыг төлөөлнө.
%c Зөвхөн нэг тэмдэгт
%s Тэмдэгт мөр
%o unsigned int (8-т тооллын систем)
%u unsigned int
%x unsigned int (16-т тооллын систем)
%X unsigned int (16-т)
%f Бодит тоон утга [-]dddd.ddd
%e Бодит тоон утга [-]d.ddd e [+/-]ddd
%% % тэмдэгт
%p XXXX:YYYY санах ойн хаяг
%hd, %hi, 
%ho, %hx short int
%ld, %li, 
%lo, %lx long int
%le, %lE, 
%lf, %lg double
%Le, %LE 
%Lf, %Lg long double

Жич : Хамгийн хялбар бөгөөд  юуны түрүүнд бидэнд хэрэг болох тусгай тэмдэгтүүдийг  тод хараар бичэв.

Тоо, тэмдэгт хэвлэхдээ Удирдлагын тэмдэгт мөр дотор хөрвүүлэлтийн тусгай тэмдэгтүүдийг бичих ба дараа нь Удирдлагын тэмдэгт мөрийн  ард хэвлэх утгуудаа таслалаар зааглан харгалзуулан жагсааж өгдөг.

Жишээ : 

printf(“%s  %d  %f  %c\n”,”Hi”,14,-8.76,’x’);

Энэ жишээ нь дараах үр дүнг хэвлэнэ. 

Hi  14  -8.760000  x

“Hi” тэмдэгт мөр нь  хашилтанд бичигдэнэ. Харин Си хэлэнд нэг тэмдэгтийг ‘’ хашилтанд  бичдэг.  –8.76 гэсэн бодит тоог хэвлэхэд  Си  түүнийг  -8.760000 болгож хэвлэсэн байна.  Си хэлэнд бодит тоог хэвлэхдээ % ба f  тэмдэгтийн хооронд . тэмдэгтийг хэрэглэн хэвлэгдэх хэлбэрийг тодорхойлно. 


Жишээ : 

printf(“%f  %.3f  %.2f  %.1f”, 4.5678, 4.5678, 4.5678, 4.5678);

Үр дүн :      4.567800   4.578   4.57   4.6


fprintf() функц

Энэ функц нь  өгөгдлийг урсгал (принтер, диск, файл, ...) хэмээн нэрлэгдэх виртуал төхөөрөмжид гаргадаг. 

Бичих хэлбэр :  

int  fprintf(FILE *stream, const char *format[, argument, . . . ]);


Энэ функц нь UNIX үйлдлийн системд өргөн хэрэглэгддэг. 

Жишээ : 

#include

int main(void)
{
int n=3;
float x=45.875;

/* Дэлгэцэнд  хэвлэх  */
printf(“ Сайн байна уу ? \n”);

/* Принтерт хэвлэх  */
fprintf(stdprn,“ Сайн байна уу ?  \n”);

/* Дэлгэцэнд  хэвлэх  */
printf(“ x=%f  ба  n=%d \n”,x,n);

/* “Принтерт  хэвлэх  */
fprintf(stdprn,“ x=%f  ба  n=%d \n”,x,n);
}

Дэлгэцэнд мэдээлэл хэвлэх


printf функц

Таны программ ажиллаж дуусаад тодорхой үр дүнг гаргах бөгөөд түүнийг бид үзэх буюу дэлгэцэнд үр дүн нь хэвлэгдэх зайлшгүй шаардлагатай байдаг. Си хэлэнд үүнийг хэрэгжүүлдэг printf гэсэн функц байдаг. Энэ функц нь дэлгэцэнд тоо, тэмдэгт , үг гаргахад ашиглагдана. printf функц нь маш өргөн боломжтой бөгөөд ихэнх хүмүүс боломжийг нь бүрэн ашиглаж чаддаггүй.

Энэ  функцын үндсэн формат нь : 

      printf(Удирдлагын тэмдэгт мөр [,өгөгдөл] );


Тайлбар: 

Си хэлэнд функцуудын форматыг бичиж үзүүлэхдээ зарим тусгай тэмдэглэгээг хэрэглэдэг ба энд [ ] гэсэн тэмдэглэгээг ашигласан байна.  Ер нь тэмдэглэгээг  зөвхөн танд ойлгуулах үүднээс л ашигладаг ба энэ нь тайлбарлаж буй  функцын бичлэгт ордоггүй юм.  Иймээс энэ функцыг  ашиглахдаа [ ] хаалтыг бичихгүй байх болно. Энэ хаалтанд бичигдсэн өгөгдөл түүнийг бичихгүй байж болно гэсэн утгыг агуулдаг. 

Удирдлагын тэмдэгт мөр нь тухайн өгөгдөл ямар хэлбэрээр дэлгэцэнд гарахыг тодорхойлдог. 

printf(“ Жишээ %d”,1);     /* Энэ жишээнд Жишээ 1 гэсэн үгийг хэвлэж байна*/

Си хэлэнд тэмдэгт мөрийг заавал хашилтанд  (“”) бичдэг.  Тэгэхээр удирдлагын тэмдэгт мөр нь заавал хашилтанд  бичигдэнэ. 

Си хэлэнд бичигдсэн команд бүр “;”-аар төгсөх ёстой.  Өөрөөр хэлбэл энэ нь команд дуусч байна, үүнийг биелүүлэх ёстой гэдгийг Си энэ тэмдэгтээр мэдэх болно. 


Тэмдэгт мөр хэвлэх

Бид дэлгэцэнд тэмдэгт мөр мэдээлэл хэвлэхдээ энэ функцыг ашиглана. 

printf(“ Сайн байна уу !  ”);

Энэ комманд биелэгдэхэд дэлгэцэнд  Сайн байна уу !  гэсэн үг хэвлэгдэнэ. 

printf(“ Сайн байцгаана уу  !”);
printf(“ Хичээлээ эхлэцгээе !”);   

гэсэн коммандууд юу хэвлэхийг үзэцгээе.

Сайн байцгаана уу  !  Хичээлээ эхлэцгээе  !  

Си нь тэмдэгт мөр хэвлээд  дараа нь курсорыг дараагийн мөрт автоматаар шилжүүлдэггүй. Тэгвэл ингэж курсорын байрлалыг удирдахдаа Удирдлагын тэмдэгт мөр  дотор тусгай тэмдэгтүүдийг ашигладаг.  

Saturday, February 14, 2009

С програмын бүтэц

Си програм нь функцуудын олонлогоос бүрдэх бөгөөд  эдгээр функцууд нь нэг буюу хэд хэдэн эх файлд хадгалагдаж болно. Эдгээр эх файл бүр нь тус тусдаа хөрвүүлэгддэг. (машины хэлд)   

Си програмд зөвхөн нэг л функц “main” нэртэй байж болох бөгөөд бусад функцууд нь дурын байдлаар нэрлэгдэж болно.  Си програм бичихэд ядаж нэг функц заавал бичих бөгөөд энэ нь “main” функц юм. Си хэлний функц нь бас процедурын үүрэг гүйцэтгэнэ.  

Ө.х Си хэл нь бусад хэл шиг функцийг  функц , процедур гэж ялгадаггүй.  Си хэл дээр бичигдсэн програм “main” функцээс эхэлж ажиллах бөгөөд хэрвээ програм хэвийн ажилласан бол энэ функцээр үйл ажиллагаагаа дуусгах болно. 

Програм ажилллах явцад “main” функц нь бусад функцийг  дуудаж болох бөгөөд тэр функц нь цааш өөр  функц дуудах гэх мэтчилэн үйл ажиллагаа нь үргэлжилнэ. Тухайн функц үйл ажиллагаагаа дуусгамагц түүнийг дуудсан функцэд удирдлагаа шилжүүлнэ. 

С хэл дээр программчилах процесс

Ихэнх хүмүүс программ бичихдээ дараах дарааллыг баримталдаг.
  • Программаа яг юу хийхийг тодорхойлно. ( Үйл ажиллагааг нь төсөөлнө. )
  • Алгоритмаа тодорхойлоод программаа бичнэ.
  • Си программыг  дурын текст боловсруулагч программ дээр бичиж болно. Гэхдээ ихэнх Си компиляторууд нь өөртөө текст боловсруулагчтай байдаг.  Си хэл дээр бичигдсэн программ нь  .С  өртгөтгөлтэй файлд хадгалагдана.
  • Программаа хөрвүүлэх 
  • Программын алдааг хянаж, засварлах
  • Си компилятор нь танд алдааны тухай мэдээллүүд өгдөг. Хэрвээ алдаагаа засаж дууссан бол программ ажиллахад бэлэн боллоо гэсэн үг.
  • Программаа ажиллуулах, үр дүнг нь үзэх
Одоогоор хэрэглэгдэж байгаа ихэнх Си компиляторууд нь маш өргөн боломжтой бөгөөд  энэ бүх үйл ажиллагааг  нэгэн программаас хийх боломжийг бүрдүүлсэн байдаг.  

  © Blogger template 'A Click Apart' by Ourblogtemplates.com 2008

Back to TOP