2011/05/07

Эртний грекийн анхны тоо олдог арга

За халь юм хум харж явсан чинь нэг ийм арга байна хө. Сонирхолтой болов уу? гэж бодож байна.

За би 20 хүртэлх тоонуудаас анхны тоонуудыг ялгая.
  1. 2-оос 20 хүртэлх тоогоо жагсаана.
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  2. Анхны тоо гэж хоёрхон хуваагчтай натурал тоог хэлдэг. Уг тодорхойлолт ёсоор 1 маань анхны тоо биш юм. Тэгэхээр 1 ийг дарлаа.
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  3. 2-ын тооноос эхлэн хоёроор тоолж тоонуудыг дарна. Тэгэхээр 4, 6, 8, 10, 12, 14, 16, 18, 20 тоонууд дарагдана.
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  4. 3-аас эхлэн гурваар тоолж тоонуудыг дарна. Тэгэхээр 6, 9, 12, 15, 18 тоонууды дарагдана.
          1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
  5. 5-аас (4 дарагдчихсан) эхлэн таваар тоолж тоонуудыг дарна. 10, 15, 20. Аль хэдийнээ дарагдчихаж.
  6. 7-оос эхлэн долоогоор тоолж тоонуудыг дарна. 14. Бас дарагдаас.
  7. 11-ээс эхлэн 11-ээр. За цаашаа дарагдах тоонууд гарахгүй юм байна.
  8. Одоо үлдсэн тоонууд биччихээр чинь
            2, 3, 5, 7, 11, 13, 17, 19            За энэ дээ. 1-ээс 20 хүртэлх тооны хоорондох бүх анхны тоонууд.
Цаашаа 100, 1000 энэ тэрийг ингээд бодож болно. Гэхдээ энэ арга аль ампсын үеийн арга л даа \Эртний Грек\. 

    2011/03/27

    Why I Want a Wife?

    Бангалорын Их Сургуульд "Нэмэлт Англи Хэл" гэсэн хичээл ордог билээ. Үнэндээ уран зохиолын л хичээл юм даа. Уг хичээлээр Жуди Брэди (Judy Brady)-ийн Яагаад би эхнэр хүсдэг вэ? (Why I Want a Wife?) гэсэн эссэг үзлээ. Та бүхэнд сонирхолтой байх болов уу? хэмээн оруулж байна. Таалан уншина уу!
     
    Why I Want a Wife? 
     
    I belong to that classification of people known as wives. I am A Wife. 
    And, not altogether incidentally, I am a mother.
    
    Not too long ago a male friend of mine appeared on the scene fresh 
    from a recent divorce. He had one child, who is, of course, with his 
    ex-wife. He is looking for another wife. As I thought about him while I 
    was ironing one evening, it suddenly occurred to me that 1, too, would 
    like to have a wife. Why do I want a wife?

    2011/03/10

    Тооны Олонлогийн Тухай Бодрол №1


    За тооны олонлогийн тухай жаахан ярилцах уу? Ер нь олонлог гэж юу вэ? Ер нь олонлог гэж цуглуулга гэж ойлгож болох юм л даа. Жишээ нь манай анги 20 хүүхэдтэй гэвэл 20 хүүхэд цугларчихсан. Тэгэхээр манай анги маань нэг олонлог юм байна л даа. Хүүхэд бүр маань элементүүд юм. Элемент гэдэг нь уг олонлогийг бүрдүүлж байгаа зүйлийг хэлээд байгаа юм шиг байгаа юм. Тэгэхээр манай анги гэдэг олонлог маань 20 элементтэй юм байна л даа. За тэгвэл тооны олонлог уруу оръё. Тооны гэхээр баахан тооны цуглуулга байх нь л дээ.

    За эхлэх үү? За хүмүүс хамгийн анх хуруугаараа тоолж сурсан гэнэ. Тэгээд л нэг, хоёр, гурав гээд л ес хүртэл тоолдог байж л дээ.
    Манай хурууны олонлог маань тэгэхээр есөн элементтэй. Тэгээд л есийн дотор ёстой дуржигнуултал нь тоо боддог болжээ. Тэгсэн есхөн тоо маань хангалтгүй болж эхэлсэн байна. Нэг хуруу, хоёр хуруу, гурван хуруу, … , найман хуруу, есөн хуруу, ????? гэхээр нь тэр чулуу арав, тэр мөчир арван нэг гээд тоолчихдог болжээ. За тэгээд ерөөсөө цаашаа хязгааргүй тоолж чаддаг болж. Тэгээд уг тоонуудаа нийтэд нь натурал тоон олонлог буюу ориг тоонуудын цуглуулга гэж нэрлэжээ. Тэмдэглэхдээ N ийм үсгээр тэмдэглэнэ. Крилл цагаан толгойд л лав байдаггүй үсгүүдээр тэмдэглэдэг юм байна лээ.



    За ингээд цаашаа тоолоод л байна даа. Тэгэхээр нь хүмүүс нэмэх гэдэг үйлдлийг мэддэг болж л дээ. Яаж нэг нэгээр тоолоод байх вэ? Гурав дөрвөөр нь тоолъё гэж залхуу толгойд нь ороод ирж. Ингээд тоонуудаа нэмээд байж дээ.


    За нэмэх үйлдлээ ёстой гартаа ортол бодож сурчээ. Бизнесменүүд бол орлогоо л лав тооцоод байж чаддаг болж. Тэгсэн чинь зарлага гарсан чинь яах вэ? Гээд гацчихжээ. Тэгээд өнөөх нэмэхийн эсрэг үйлдэл хэрэгтэй болж хасах үйлдлийг зохиожээ. Тэгээд манай бизнесменүүд зарлагаа бодож сурчээ. Үнэндээ бизнесменүүд биш нягтлан бодогчид л боддог л доо, хэ хэ.


    Манай натурал тоонууд тоо бодоход хүрэлцээтэй байгаа биз дээ. 3 гэдэг тоо натурал тооны олонлогт байна уу? Байна. 99 байна уу? Байна. Тэгээд ёстой лаг бодоод явж байсан чинь гай газар доороос гахай модон дундаас гэж дахиад хүмүүс гацчихлаа. Юун дээр вэ? Гэвэл хасах үйлдэл хийж яваад шүү дээ.


     Таваас зургааг хасвал юу гарах вэ?

    2011/03/03

    Интегралын Хэсэгчлэх Аргын Томъёоны гаргалгаа

    Хоёр дахь улирлаар Математик үзэж байна. Математик нь Монголд үздэгийг бодвол хамаагүй муу ордог юм байна. Манайд чинь дээд математик 1, 2 гээд аймар аймар юм үзээд байдаг байсан энд чинь Монголын ахлах ангийн математик үзэж байна.

    Тэгээд л өнөөх шалгалтын хуудсаар дүгнэдэг энэтхэгийн шалгалтын системээрээ энэ бодлогын бодолтыг заавал бүтэн нүүр хүргэсэн байх ёстой гээд бид нарын нэг мөр бичээд бодчихдог бодлогыг бүтэн самбар дүүрэн болтол нь бодолтоо бичнэ. Энэ жижигхэн бодлого байна. Хагас нүүр байхад болно ч гэх шиг. Шалгалтаа яаж өгнөө. Нөгөө бодлогуудыг нь хоёр гурван мөрөөр бодчихвол хариу нь зөв байсан ч баахан оноо алдаад тэнцэж чадахгүй болох нь байна ш дээ...

    Математикынх нь тэмдэглэгээнүүд нь жаахан өөр юм билээ. Энэтхэг чинь Английг дагадаг бол манайх чинь Оросыг дагадагдаа. Тиймдээ ч зарим шинэ шинэ, бас балай балай тэмдэглэгээнүүд сураад сууж байна даа.  


    Саяхан интеграл тоолол (Integral Calculus) орлоо. Тэгээд Интегралын хэсэгчлэх арга (Integration of Part) орж байна. Тэгээд нэг харсан энэ томъёоных нь гаргалгаа гарчихмаар санагдаад болдоггүй. Тэгээд оролдож суугаад эцэст олчихлоо. Нэг иймэрхүү: 

    Компьютерын Үндэс Хичээлийн Шалгалт 2010 оны Өвлийн шалгалт


    2011/02/20

    The Terrorist, He Watches - Алан хядагч, Тэр харж байна

    Польшийн яруу найрагч Вислава Шимборскагийн нобелийн шагнал хүртсэн зохиол болох "Алан хядагч, Тэр харж байна" гэдэг зохиолыг "Англи Хэл 2" гэдэг хичээлээр үзлээ. Та бүхэн сонирхуулъя. Таалан болгооно уу.

    The Terrorist, He Watches
     
    The bomb will go off in the bar at one twenty p.m.
    Now it’s only one sixteen p.m.
    Some will still have time to go in,
    Some to get out.

    The terrorist has already crossed to the other side of the street.
    The distance protects him from any danger,
    and what a sight for sore eyes.

    A woman in a yellow jacket, she goes in.
    A man in dark glasses, he comes out.
    Guys in dark jeans, they are talking.
    One seventeen and four seconds.
    That shorter guy’s really got it made, and gets on a scooter,
    and that taller one, he goes in.

    One seventeen and forty seconds.
    That girl there, she’s got a green ribbon in her hair.
    Too bad that bus just cut her from view.
    One eighteen p.m.
    The girl’s not there any more.
    Was she dumb enough to go in, or wasn’t she?
    That we’ll see when they carry them out.

    One nineteen p.m.
    No one seems to be going in.
    Instead a fat baldy’s coming out.
    Like he’s looking for something in his pockets and
    at one nineteen and fifty seconds
    he goes back in for those crummy gloves of his.

    It’s one twenty p.m.
    The time, how it drags.
    Should be any moment now.
    Not yet.
    Yes, this is it.
    The bomb, it goes off.

    --Wislawa Szymborska (translated by Robert Maguire and Magnus Jan Krynsky)

    2011/02/15

    Си++, Лаборатори 1

    Write a program to calculate area and circumference of circle using inline function.
    Дотоод функц ашиглан тойргийн талбай болон уртыг олох програм бич.


    Эхний лаборатори нэг иймэрхүү байна даа. Хамгийн гол нь дотоод функц (inline function) ашиглах нь чухал юм. Дотоод функцын тухай цухас тэмдэглэл хийчихье.


    Энгийн функцыг санаж байгаа байх.

    Програм үндсэн фукц (main function - дугаар 8)-аас эхэлж ажиллуулж эхлэх бөгөөд func функц (дугаар 10)-ыг дуудна. Тэгээд яг одоо байгаа удирдлагын хаягийг санаж аваад func функцын эх биерүү үсэрнэ (дугаар 3 руу). Функцыг биелүүлж дууссаны дараа буцаад анхны санасан хаягтаа буцана. 


    Функцын давуу тал бол санах ойг хэмнэнэ, програмчлах ажлыг хөнгөвчлөнө, модулийн програмчлалыг дэмжинэ, засаж сайжруулахад хялбар болгодог. Гэвч нэг функц маань жижигхэн, түүнийг олон дахин дуудах хэрэгтэй үед функц маань програмын хурдан муу нөлөө үзүүлж эхэлнэ. 


    Жишээ нь func функцыг 100 удаа дуудъя. Тэгвэл 100 удаа удирдлага функц дуудсан хаягийг хадгалана, 100 удаа функцруу үсэрнэ, 100 удаа функцээ ажиллуулна, 100 удаа удирдлага буцаж ирнэ гэсэн үг. Тиймээс програмын хурданд их нөлөө үзүүлж байгаа юм. Хамгийн гол нь функц маань жижигхэн. Ийм жижигхэн функцыг ажиллуулахын тулд ийм их ажиллагаа орж байгаа нь гол асуудал юм.


    Харин дотоод функц маань энгийн функцээс жаахан ялгаатай. Тэр нь юу вэ? гэвэл дотоод функцыг дуудахад функцын эх биерүү үсрэх биш харин функцын командуудыг дуудсан хэсэг оруулан ажиллуулдаг. За ёстой өөрөө ч ойлгохооргүй биччихлээ. 

    За дотоод функ болгоод биччихлээ. Ингээд биччихвэл func функцыг (10-р мөр) дуудахад удирдлага func функцын эх биерүү (3-р мөррүү) үсрэх биш func() (10-р) функцын оронд функцын эх бие хуулагдан ажиллана. Өөрөөр хэлбэл 
    Ийм болсонтой адил гэсэн үг. Тэгсэн хөөе, заавал ийм балай юм бичих хэрэг байгаа юм уу? Макро гэдэг бүтэц байгаа ш дээ гэх байх. Макрог дуудахад макрогийн эх бие тэр чигээрээ хуулагддаг. Дээрх дотоод функцтэй програмыг макрогоо бичиж үзье.
    Үр дүн нь яг адилхан. Яг адилхан зарчимтайгаар func-ын оронд cout<<"Hi, all" гэсэн мөр орлогдон тавигдана. Гэвч дотоод функц маань макрогоо давуу талтай. 
    Дараах жишээгээр тайлбарлая.
    За хоёр тооны ихийг олдог хоёр програм. Эхнийх нь max гэсэн макрогоор. Хоёр дахь max гэсэн дотоод функцээр. Хоёулаа эх биеэ дуудалтандаа хуулж ажиллуулдаг. Гэхдээ макрогоор бичихэд max-д буцаах утга гэж байхгүй, аргументуудынх нь өгөгдлийн төрөл (datatype)-г заахгүй бол дотоод функцэд эдгээр бүгдийг зааж өгсөн байдаг. Өөрөөр хэлбэл дотоод функц нь макрогийн сайжруулсан бүтэц юм. Дотоод функц нь Си++ дээр бий болсон бүтэц. Си хэлэнд байдаггүй билээ.










    За ингээд үндсэн ажил руугаа оръё. Бодлогоо бодъё.
    Гаралт нь:

    Блог нээсэн түүх

    За энэ блогийн нэр бол "Миний хичээлүүд". Энэ блогтоо өөрийнхөө сурсан мэдсэнээ бусадтай хуваалцаж, бусдаас суралцах гэж нээлээ.