Tekken гэвэл танд юу санаанд орж байна? Мэдээж PlayStaion биз дээ. За, тэгээд Tekken тоглоомоо санаад, дээр нь өөрийн цахим тооцоолуур тогломоор санагдаад нэтээс хайж эхлэв. Мэдээж Цонх анх дээр бол хамгийн шилдэг эмулетор програм бол pSX билээ. Тэгээд л Убунту дээрээ pSX суулгах гээд үзлээ. Дарс (WINE)-аар үзсэн болдоггүй ээ. За, тэгвэл Лайнукс дээрх хувилбарыг нь хайсан аз болж байна шүү. Тэгээд л татаад суулгасан чинь Убунту ахын хурдан хөгжлөөс аль хэдийнээ хоцрогдсон байдаг байгаа. Баахан амбсын файлууд нэхээд, нөгөөдөхүүдийг нь нэтээр нэг самнаад. Арай гэж олоод суулгахаар одоо энэ хэрэгтэй, тэр хэрэгтэй гээд л. Тэгж тэгж нэг юм цонх гаргадаг болгосон шүү. Тэгсэн bio файлаа уншдаггүй ээ. Хэдэн цаг нухсан бүхэн ингэж нэг талаар боллоо.
Тэгсэн бас нэг эмулетор програм оллоо. Энэ бол PCSx. Ёстой гоё сайхан ажиллуулсан чинь тохиргоо хийх бүх сонголт нь идэвхгүй байна. За яахав гээд тоглох гэсэн чинь товчлуурууд нь төө хэрийн зайтай тохируулчихсан, өнөө дайснаа цохих гэж товчлуураа хайж олоод дарах гэсээр байтал амины тал дуусаа, тэгээд нэг хөл гарны комбинд ороод л тоолуулчих нь. Энэ арай бишээ гээд л дахиад л хайж үзлээ, нэтээр олигтой юм олдсонгүй.
Тэгвэл тооцоолуур дээр суусан янз бүрийн ямар тохиргооны файлууд байна энэ тэр гэж хайж явж байгаад PCSx-ийн bio байхгүй болохгүй анзаарлаа. Даруй л pSX-ын bio-г хуулж аваад тийшээ хийчихсэн чинь болчихдог байна шүү. Тэгээд жаал нүдэлцээд л сууж байна даа хө.
1. PCSx-ээ Ubuntu Software Center-ээс суулгачих нь.
2. Нөгөө алдарт bio хавтасны файл нь: http://www.mediafire.com/?ldypt4ffge35hab
3. Татаж авсан файлаа ~/.pcsx/bios дотор хуулаад гүйцээ
asdf
Saturday, January 28, 2012
Tuesday, January 24, 2012
Амрах цаг боллоо!
Та компьютер дээр хир удаан суудаг вэ? Би лав нэг суугаад л ертөнцөөс тасарсан л юм шиг болчихдог. Тэгтэл сүүлийн үед нуруу өвддөг боллоо. Манай найз нар ч гэсэн нуруу нь өвддөг болжээ. Тэгээд яах вэ? өөртөө нэг зориулж нэг бүрхүүл код Убунту дээр бичлээ.
30 минут болоод нэг анхааруулга өгөөд 5 минут амарч байхаар тохирууллаа.
Код нь:
notify-send Ажилдаа\!
while true;do
sleep 1800
notify-send Амраад\!
t=30
while [ $t -gt 0 ];do
notify-send $t
t=`expr $t - 1`
done
notify-send Ажилдаа\!
done
Энийгээ sh өргөтгөлтэй хадгалаад ажиллуулах эрх олгоод л болоо. startup applications-даа хийчихвэл машин чинь асах болгон автоматаар бүрхүүл кодоо ажиллуулчихна. Тэгээд өөртөө зориулаад 5 минут амар!
30 минут болоод нэг анхааруулга өгөөд 5 минут амарч байхаар тохирууллаа.
Код нь:
notify-send Ажилдаа\!
while true;do
sleep 1800
notify-send Амраад\!
t=30
while [ $t -gt 0 ];do
notify-send $t
t=`expr $t - 1`
done
notify-send Ажилдаа\!
done
Энийгээ sh өргөтгөлтэй хадгалаад ажиллуулах эрх олгоод л болоо. startup applications-даа хийчихвэл машин чинь асах болгон автоматаар бүрхүүл кодоо ажиллуулчихна. Тэгээд өөртөө зориулаад 5 минут амар!
Saturday, January 21, 2012
Thursday, January 19, 2012
Анхны тоо олох эртний Грекийн арга
За хальт юм хум харж явсан чинь нэг ийм арга байна хө. Сонирхолтой болов уу? гэж бодож байна.
За би 20 хүртэлх тоонуудаас анхны тоонуудыг ялгая.
За би 20 хүртэлх тоонуудаас анхны тоонуудыг ялгая.
- 1-оос 20 хүртэлх тоогоо жагсаана.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 - Анхны тоо гэж хоёрхон хуваагчтай натурал тоог хэлдэг. Уг тодорхойлолт ёсоор 1 маань 1 гэсэн ганцхан хуваагчтай тул анхны тоо биш юм. Тэгэхээр 1 ийг дарлаа.
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 - 2-ын тооноос эхлэн хоёроор тоолж тоонуудыг дарна. Тэгэхээр 4, 6, 8, 10, 12, 14, 16, 18, 20 тоонууд дарагдана.
12 34567891011121314151617181920 - 3-аас эхлэн гурваар тоолж тоонуудыг дарна. Тэгэхээр 6, 9, 12, 15, 18 тоонууды дарагдана.
12 34567891011121314151617181920 - 5-аас (4 дарагдчихсан) эхлэн таваар тоолж тоонуудыг дарна. 10, 15, 20. Аль хэдийнээ дарагдчихаж.
- 7-оос эхлэн долоогоор тоолж тоонуудыг дарна. 14. Бас дарагдаас.
- 11-ээс эхлэн 11-ээр. За цаашаа дарагдах тоонууд гарахгүй юм байна.
- Одоо үлдсэн тоонууд биччихээр чинь
2, 3, 5, 7, 11, 13, 17, 19 За энэ дээ. 1-ээс 20 хүртэлх тооны хоорондох бүх анхны тоонууд.
Wednesday, January 11, 2012
Code::Blocks IDE-ийн xterm терминалыг gnome-terminal-аар солих
Code::Blocks гэж юу вэ?
Code::Blocks бол үнэгүй, нээлттэй эхтэй, олон үйлдлийн систем дээр ажилладаг програм хөгжүүлэгч юм. Үндсэн хөгжүүлэх програмчлалын хэл нь С\С++. Мөн DirectX, Fortran, GTK++, MATLAB, OpenGL, Qt, SDL гэх мэт олон програмыг үүсгэж чаддаг.
Олон төрлийн хөрвүүлэгчдийг дэмждэг. Тухайлбал MinGW/GCC, Digital Mars, Microsoft Visual C++, Borland C++, Watcom, LCC, Intel C++ compiler.
Dev C++, Microsoft Visual C++-ийн төслүүдийг (project) ажиллуулдаг, гэх мэт.
Си дээр програм бичихэд тун зүгээр. Eclipse дээр Си аймаар удаан ажилладаг. Терминалаас хөрвүүлнэ энэ тэр гэхээр залхуу хүрээд байдаг. Code::Blocks л хамгийн дажгүй санагдсан.
Тэгсэн нэг гэм нь терминал нь икстерм (xterm) дээр юм аа. Тэгээд жином-терминал болгох хүсэл их байлаа. Тэгсэн их амархан сольчихдог юм байна.
Settings -> Environment гэж ороод General settings цэс дотор Terminal to launch console programs: гэсэн хэсэг дээр gnome-terminal -x гэж болгоод л терминал чинь жином-терминал болчихсон байна.
Code::Blocks бол үнэгүй, нээлттэй эхтэй, олон үйлдлийн систем дээр ажилладаг програм хөгжүүлэгч юм. Үндсэн хөгжүүлэх програмчлалын хэл нь С\С++. Мөн DirectX, Fortran, GTK++, MATLAB, OpenGL, Qt, SDL гэх мэт олон програмыг үүсгэж чаддаг.
Олон төрлийн хөрвүүлэгчдийг дэмждэг. Тухайлбал MinGW/GCC, Digital Mars, Microsoft Visual C++, Borland C++, Watcom, LCC, Intel C++ compiler.
Dev C++, Microsoft Visual C++-ийн төслүүдийг (project) ажиллуулдаг, гэх мэт.
Си дээр програм бичихэд тун зүгээр. Eclipse дээр Си аймаар удаан ажилладаг. Терминалаас хөрвүүлнэ энэ тэр гэхээр залхуу хүрээд байдаг. Code::Blocks л хамгийн дажгүй санагдсан.
Тэгсэн нэг гэм нь терминал нь икстерм (xterm) дээр юм аа. Тэгээд жином-терминал болгох хүсэл их байлаа. Тэгсэн их амархан сольчихдог юм байна.
Settings -> Environment гэж ороод General settings цэс дотор Terminal to launch console programs: гэсэн хэсэг дээр gnome-terminal -x гэж болгоод л терминал чинь жином-терминал болчихсон байна.
Tuesday, January 10, 2012
Флашгот(Flashgot) дээр хүссэн Интернет Татагчаа оруулах
Миний хамгийн дуртай програмуудын нэг нь Флашгот. Жилийн өмнөхөн л Виндөвс ахаас Убунту руу шилжиж билээ. Тэгсэн нөгөө алдарт Интернет Дөвшлөүд Менежер (Internet Download Manager - АиДиЭм) гуай Лайнукс дээр байдаггүй. Сайтаас видео энэ тэр татах болсон чинь болдоггүй. Тэгээд хайж байгаад Мозилла(Mozilla) ахын Файрфокс (Firefox) дээр Флашгот байж нэг нар гардаг байна ш дээ. Флашгот бол сайт дахь медиаг барьж аваад татагчтай холбож өгдөг файрфоксын нэмэгдэл юм.
Тэгсэн бас болоогүй ээ. Нөгөө татагчид нь арай удаан байлаа. АиДиЭм шиг л хурдан татдаг татагч хэрэгтэй байлаа. Тэгсэн Аксел (Axel) гэдэг нэг сайхан залуу гараад ирлээ. Акселыг суулгахаар Флашгот дээр автоматаар нэмэгдчихдэг юм байна. Даанч нэг гэм нь терминал дээр ажилладаг татагч нар маань икстерм (xterm) терминал дээр ажиллаад байх юм. Икстерм-д би дургүй ээ.
Саяхан надад акселийн икстермийг жином-терминал (gnome-terminal)-аар солих хүсэл бий болоод Гүүглэ ахаасаа шалгаалаа. Тэгсэн Монголын Лайнукс бүлгэмийн вики дээр байна. Тэгээд л хүсэж байсан мэдлэгээ олж авлаа. Баярлалаа Лимнукс-даа.
За өөрийнхөөрөө нэг товч тайлбарлачихъя.
1. Танд Флашгот, Интернет татагч чинь байгаа
2. Интернет татагчаа ашиглах бүрхүүл (shell) кодоо бичнэ.
Акселын хувьд нэг иймэрхүү.
--command гэдгийн ардаас Татагчийнхаа командыг бичиж өгнө. Тэгээд л sh өргөтгөлтэй хадгална. Жишээ нь дээр бүрхүүл кодыг axel1.sh гэж хадгалъя.
3. Флашгот-доо нэмье. Файрфоксын tools->Flashgot->More Options гэж ороод
General цэс дээр Add гэдгийг дараад axel1 гээд нэр өгчихье. Тэгээд Executable path дээр нь өнөөх бүрхүүл код axel1.sh ээ заагаад өгнө. Тэгээд OK товч дараад дуусаа.
4. Файл татахдаа axel1 гэсэн татагчаа сонгоод л татна.
Одоо хүссэн татагчаа флашгот руу оруулж чаддаг боллоо. Баяр хүргэе!
Тэгсэн бас болоогүй ээ. Нөгөө татагчид нь арай удаан байлаа. АиДиЭм шиг л хурдан татдаг татагч хэрэгтэй байлаа. Тэгсэн Аксел (Axel) гэдэг нэг сайхан залуу гараад ирлээ. Акселыг суулгахаар Флашгот дээр автоматаар нэмэгдчихдэг юм байна. Даанч нэг гэм нь терминал дээр ажилладаг татагч нар маань икстерм (xterm) терминал дээр ажиллаад байх юм. Икстерм-д би дургүй ээ.
Саяхан надад акселийн икстермийг жином-терминал (gnome-terminal)-аар солих хүсэл бий болоод Гүүглэ ахаасаа шалгаалаа. Тэгсэн Монголын Лайнукс бүлгэмийн вики дээр байна. Тэгээд л хүсэж байсан мэдлэгээ олж авлаа. Баярлалаа Лимнукс-даа.
За өөрийнхөөрөө нэг товч тайлбарлачихъя.
1. Танд Флашгот, Интернет татагч чинь байгаа
2. Интернет татагчаа ашиглах бүрхүүл (shell) кодоо бичнэ.
Акселын хувьд нэг иймэрхүү.
#!/bin/bash
cd /home/CHANGE_IT_TO_YOUR_USERNAME/Downloads
gnome-terminal --command "axel -an 10 $1"
Татсан файл чинь ~/Downloads дотор хадгалагдана. Дураараа өөрчилж болно.
--command гэдгийн ардаас Татагчийнхаа командыг бичиж өгнө. Тэгээд л sh өргөтгөлтэй хадгална. Жишээ нь дээр бүрхүүл кодыг axel1.sh гэж хадгалъя.
3. Флашгот-доо нэмье. Файрфоксын tools->Flashgot->More Options гэж ороод
General цэс дээр Add гэдгийг дараад axel1 гээд нэр өгчихье. Тэгээд Executable path дээр нь өнөөх бүрхүүл код axel1.sh ээ заагаад өгнө. Тэгээд OK товч дараад дуусаа.
4. Файл татахдаа axel1 гэсэн татагчаа сонгоод л татна.
Одоо хүссэн татагчаа флашгот руу оруулж чаддаг боллоо. Баяр хүргэе!
Monday, January 9, 2012
Оруулах эрэмбэлэлт (Insertion Sort) [Lisp VS C]
Оруулах эрэмбэлэлт бол маш энгийн эрэмбэлэлт. Бид ихэвчлэн амьдралдаа энэ эрэмбэлэлтийг хэрэглэж байдаг. Үндсэн санаа нь бол жагсаалтаас нэг элементийг нь аваад эрэмбэлэгдсэн жагсаалт руу зөв байрлуулахад оршдог. Уг эрэмбэлэлтийн давуу талууд гэвэл:
- Хялбархан, ойлгомжтой
- Жижиг жагсаалтыг хурдан эрэмбэлдэг
- Нэмэлт санах ой шаардлагагүй
- Бараг эрэмбэтэй жагсаалтад илүү үр дүнтэй
- Жагсаалтын хэмжээнээс үл хамааран эрэмбэлж эхэлдэг гэх мэт
for i ←1 to i <= length(A)-1
key ← A[ i ]
> A[ i ] is added in the sorted sequence A[0, .. i-1]
j ← i - 1
while j >= 0 and A [ j ] > key
A[ j +1 ] ← A[ j ]
j ← j -1
A [j +1] ← key
Хугацааны хувьд:
Сайн тохиолдолд (Бараг эрэмбэлэгдсэн): Ө(n)
Дундаж тохиолдолд: O(n^2)
Муу тохиолдолд : О(n^2)
Си хэл дээр:
#include <stdio.h>
//Массиваа хэвлэнэ
void print_array(int a[], int n)
{
int i;
for(i = 0; i < n; i++)
printf("%d ", a[i]);
putchar('\n');
}
void insertion_sort(int a[], int n)
{
int i, j;
int key;
for(i = 1; i < n; i++)
{
key = a[i];
j = i - 1;
//key-ээс их элементүүдийг урагшлуулж
while(j >= 0 && a[j] > key)
{
a[j + 1] = a[j];
j--;
}
//Үүссэн хоосон зайд key орно
a[j + 1] = key;
//Массивыг хэвлэж байна
print_array(a, n);
}
}
int main()
{
int a[8] = {6, 5, 3, 1, 8, 7, 2, 4};
print_array(a, 8);
insertion_sort(a, 8);
return 0;
}
Гаралт нь:
6 5 3 1 8 7 2 4
5 6 3 1 8 7 2 4
3 5 6 1 8 7 2 4
1 3 5 6 8 7 2 4
1 3 5 6 8 7 2 4
1 3 5 6 7 8 2 4
1 2 3 5 6 7 8 4
1 2 3 4 5 6 7 8
Lisp дээр:
Гаралт нь:
Өсөхөөр эрэмбэлэгдэж буй
(6)
(5 6)
(3 5 6)
(1 3 5 6)
(1 3 5 6 8)
(1 3 5 6 7 8)
(1 2 3 5 6 7 8)
(1 2 3 4 5 6 7 8)
Буурахаар эрэмбэлэгдэж буй
(6)
(6 5)
(6 5 3)
(6 5 3 1)
(8 6 5 3 1)
(8 7 6 5 3 1)
(8 7 6 5 3 2 1)
(8 7 6 5 4 3 2 1)
Лисп дээр өөрийнх нь эрэмбэлэх SORT гэсэн МАКРО байдаг. Энэ эрэмбэлэх МАКРО нь
Оруулах Эрэмбэлэлт дээр үндэслэсэн байдаг. Жишээ програм:
(setq list '(6 5 3 1 8 7 2 4))
(write-line "Lisp-ийн өөрийнх нь эрэмбэлэх функц ашиглаж байна")
(print list)
;Өсөхөөр эрэмбэлээд хэвлэж байна
(print (sort list #'<))
;Буурахаар эрэмбэлээд хэвлэж байна
(print (sort list #'>))
Гаралт нь:
Lisp-ийн өөрийнх нь эрэмбэлэх функц ашиглаж байна
(6 5 3 1 8 7 2 4)
(1 2 3 4 5 6 7 8)
(8 7 6 5 4 3 2 1)
Дараагийн эрэмбэлэлт Хурдан Эрэмбэлэлт(Quick Sort) байна.
Sunday, January 8, 2012
Виндөвс (Windows) дээр Лайнукс (Linux)-ыг мэдэрцгээе!
Юникс(UNIX) програмчлал үзэж байгаатай холбогдуулж бүхэл бүтэн үйлдлийн систем суулгахгүйгээр ердөө Виндөвс дээрээ л Юникс, Лайнукс програмчлалыг хийж болохуйц програмыг танилцуулж байна. Энэ бол Сигвин (Cygwin). Сигвиний уриа бол Виндөвс дээр Лайнуксыг мэдэрцгээе! За тэгээд сонирхоно биз дээ.
www.cygwin.com
www.cygwin.com
Subscribe to:
Posts (Atom)