Սկիզբ » Հեղինակ ՝ armenbadal

Հեղինակի հոդվածները: armenbadal

Ժապավեն

Հեղինակի կայքը

Գրել է 32 հոդված:

Բաժինները ` Ծրագրավորում , Ուսումնական նյութեր , Lisp և Common Lisp , Ծրագրավորման լեզուներ , C և C++ , Կոմպիլյատորներ , Go , Ալգորիթմներ , Java , Վերլուծություն , Python , Հումոր , Լինուքս/Յունիքս հրամաններ , PROLOG , Տվյալների բազաներ

Հետաքրքրությունները` C++ , go , Common Lisp , LISP , binary search tree , բինար որոնման ծառ , AST , Tcl , Scheme , Scanner , ցուցակ

Երեք պատահական խնդիր

| Դեկտեմբեր 19, 2017 |
Երեք պատահական խնդիր

Արտահայտության հապավում Խնդիրը։ Տրված է ինչ-որ արտահայտություն, օրինակ, «Միացյալ ազգերի կազմակերպություն» և պահանջվում է սրանից ստանալ «ՄԱԿ» հապավումը։ Դպրոցականը կամ ուսանողը, հավանաբար, առաջին լուծումը կտանի այսպես. տողը դարձնել ցուցակ, հետո անցնել տողի վրայով ու հավաքել բոլոր այն տառերը, որոնց նախորդում են տառ չհանդիսացող այլ սիմվոլներ։ Հետո՝ հավաքած տառերը դարձնել մեծատառ ու միավորել մեկ տողի մեջ։ […]

Կարդալ ամբողջը

Yacc֊ի և Lex֊ի մասին

| Նոյեմբեր 28, 2016 |
Yacc֊ի և Lex֊ի մասին

Ովքե՞ր են այդ Yacc֊ն ու Lex֊ը Ի՞նչ է լեզվի քերականությունը Լեզվի սահմանում GNU Bison֊ի ֆայլը Քերականության ստուգումը Bison֊ի միջոցով Բառային վերլուծություն Flex֊ի միջոցով Գործարկման առաջին փորձ Թեսթավորում․ առաջին մաս Արվածի ամփոփում և հետագա քայլերի մշակում Աբստրակտ քերականական ծառ Bison նկարագրության ընդլայնում Գործարկման երկրորդ փորձ Ես պատմում եմ ծրագրավորման լեզվի շարահյուսական վերլուծիչի իրականացման մասին։ Պատմությունս հնարավորին […]

Կարդալ ամբողջը

Միակապ ցուցակի շրջելը ռեուրսիվ եղանակով

| Դեկտեմբեր 15, 2015 |
Միակապ ցուցակի շրջելը ռեուրսիվ եղանակով

Մի քանի օր առաջ Լիլիթն ինձ առաջարկեց գրել միակապ ցուցակը շրջելու ֆունկցիան՝ օգտագործելով ռեկուրսիվ ալգորիթմ։

Կարդալ ամբողջը

[գիրք] Զրույցներ C լեզվի մասին

| Ապրիլ 6, 2014 |
[գիրք] Զրույցներ C լեզվի մասին

Ես նախաձեռնել եմ այս զրույցների շարքը որպես C ծրագրավորման լեզուն ներկայացնող կենդանի գիրք։ Կենդանի այն իմաստով, որ զրույցների պարունակությունը երբեք վերջնական չի լինելու։ Տեքստն անընդհատ թարմացվելու է և լրացվելու է նոր նյութով։ Որպես առաջին քայլ, ես կպատմեմ ամենաանհրաժեշտ, ամենակարևոր նյութը ․․․

Կարդալ ամբողջը

Scheme: Չփոփոխվող բինար ծառերի մասին

| Մարտ 12, 2014 |
Scheme: Չփոփոխվող բինար ծառերի մասին

Ուզում եմ օրինակով ցույց տալ, թե ինչպես կարելի է ծրագրեր գրել օգտագործելով միայն չփոփոխվող (immutable) տվյալների կառուցվածքներ։ Այս անգամ բինար որոնման ծառերի վարքը ծրագրավորել եմ Scheme լեզվով (այն Lisp ընտանիքի թերևս ամենահայտնի ներկայացուցիչն է)

Կարդալ ամբողջը

Տն. աշխ. #3: Նախապատվություններով հերթ

| Փետրվար 14, 2013 |
Տն. աշխ. #3: Նախապատվություններով հերթ

Հերթի այն տեսակը, որտեղ տարրերը կարող են ավելացվել կամայականորեն, բայց կարող են հեռացվել միայն ըստ նրանց մեջ սահմանված կարգի, կոչվում է նախապատվություններով հերթ։ Օրինակ, եթե որպես հերթի մեջ ավելացվող տարրեր դիտարկվում են թվերը, իսկ թվերի մեջ սահմանված կարգ է հանդիսանում “<” (փոքր է) գործողությունը, ապա ամեն անգամ հերթից որևէ տարր պահանջելով կստանանք այնտեղ եղած տարրերից […]

Կարդալ ամբողջը

Տնային աշխատանք #2։ Սիմվոլիկ դիֆերենցում

| Փետրվար 8, 2013 |
Տնային աշխատանք #2։ Սիմվոլիկ դիֆերենցում

Մի քանի օր առաջ թերթում էի Structure and Interpretation of Computer Programs գիրքը և աչքովս ընկավ մի օրինակ, որտեղ հաշվում էր պարզագույն մաթեմատիկական արտահայտությունների դիֆերենցիալը (2.3.2 Example: Symbolic Differentiation)։ Փորձեցի այն վերարտադրել Tcl լեզվով ու ահա թե ինչ ստացվեց։ Նախապես ասեմ, որ արտահայտություները սահմանափակված են միայն գումարում, հանում, բազմապատկում և բաժանում բինար գործողություններով, իսկ դիֆերենցիալը […]

Կարդալ ամբողջը

Չփոփոխվող տվյալների կառուցվածքների մասին

| Հունվար 30, 2013 |
Չփոփոխվող տվյալների կառուցվածքների մասին

Շարունակելով իմ նախորդ գրառման բինար որոնման ծառերի թեման, ուզում եմ նույն այդ օրինակով ցույց տալ, թե ինչպես կարելի է ծրագրեր գրել օգտագործելով միայն չփոփոխվող (immutable) տվյալների կառուցվածքներ։ Այս անգամ բինար որոնման ծառերի վարքը ծրագրավորել եմ Scheme լեզվով (այն Lisp ընտանիքի թերևս ամենահայտնի ներկայացուցիչն է)։ Ծառը ներկայացված է ցուցակի տեսքով, որի առաջին տարրը արմատի արժեքն է, […]

Կարդալ ամբողջը

C++11: Բինար որոնման ծառեր

| Հունվար 24, 2013 |
C++11: Բինար որոնման ծառեր

Այս գրառման մեջ ես ներկայացնում եմ բինար որոնման ծառի (binary search tree, BST) դասի ծրագրավորումը C++11 լեզվով։ Բինար որոնման ծառերն առանձնանում են նրանով, ամեն մի հանգույցի պարունակած արժեքը ավելի փոքր է քան նրա ձախ ենթածառի արժեքները և ավելի մեծ է, քան նրա աջ ենթածառի արժեքները։ Քանի որ բինար ծառի ամեն մի հանգույցը կարող է ունենալ […]

Կարդալ ամբողջը

Common Lisp: Պարզ ու կատարյալ թվերի մասին

| Հունվար 20, 2013 |
Common Lisp: Պարզ ու կատարյալ թվերի մասին

«N թիվը կոչվում է պարզ, եթե այն բացի մեկից և իրենից այլ բաժանարարներ չունի։» Եթե թվի պարզությունը որոշող ֆունկցիան գրենք ըստ այս սահմանման, ապա պետք է որ ստանանք մոտավորապես հետևյալը․ (defun is-prime-a (num) (loop for k from 2 to (1- num) never (zerop (mod num k)))) Սա իմպերատիվ լուծում է, որտեղ ցիկլի կազմակերպմամբ բացահայտորեն նկարագրված […]

Կարդալ ամբողջը

102