Սկիզբ » Ուսումնական նյութեր » Ծրագրավորում (Էջ 6)

RSSԲաժին: Ծրագրավորում

Տնային աշխատանք #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)))) Սա իմպերատիվ լուծում է, որտեղ ցիկլի կազմակերպմամբ բացահայտորեն նկարագրված […]

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

Tcl ցուցակների հետ աշխատանքը

| Հունվար 17, 2013 |
Tcl ցուցակների հետ աշխատանքը

Ցուցակները Tcl լեզվում կառուցվում են list պրոցեդուրայով։ Այն ստանում է արգումենտների ցուցակ, հաշվարկում է դրանք և արդյունքներից կառուցվում է նոր ցուցակ։ Օրինակ, set a [list [expr 1 + 2] 7 [expr 34 * 2]] պրոցեդուրայի կատարումը a փոփոխականին կվերագրի {3 7 68} ցուցակը։ Հաստատուններից ցուցակ կարելի է կառուցել դրանք պարզապես թվարկելով “{” և “}” փախագծերի […]

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

C++11: Կապակցված ցուցակներ (II)

| Հունվար 9, 2013 |
C++11: Կապակցված ցուցակներ (II)

Ժամանակ առ ժամանակ ինձ մոտ ցանկություն է առաջանում ծանոթանալ C++ լեզվի C++11 ստանդարտի հնարավորություններին։ Այս գրառման մեջ ես երկկապակցված ցուցակի (doubly linked list) իրականացման օրինակով փորձում եմ ծանոթանալ լեզվի այնպիսի նորամուծություններին, ինչպիսիք են զրոյական ցուցիչի nullptr արժեքը, տիպի դուրսբերման auto եղանակը, արժեքավորող ցուցակով կոնստրուկտորները, մի կոնստրուկտորում մեկ այլ կոնստրուկտորի օգտագործումը, և այլն։ * * * […]

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

Android + PC + Arduino: Տնային սարքերի կառավարում անդրոիդ օհ -ով սմարթ ֆոնից/պլանշետից: Մաս 7, Էլեկտրոնային համակարգերի ավտոմատ նախագծման PROTEUS համակարգ. Տվյալների փոխանցում UART/USART ինտերֆեյսի միջոցով:

| Հունվար 4, 2013 |
Android + PC + Arduino: Տնային սարքերի կառավարում անդրոիդ օհ -ով սմարթ ֆոնից/պլանշետից: Մաս 7, Էլեկտրոնային համակարգերի ավտոմատ նախագծման PROTEUS համակարգ. Տվյալների փոխանցում UART/USART ինտերֆեյսի միջոցով:

Շարունակում ենք: Նախորդ մասում հավաքեցինք սարքի սեխման, բայց այն չի սիմուլացվի Proteus -ում այնքան ժամանակ քանի դեռ չենք գրել և տեղակայել միկրոկոնտրոլերի firmware -ը: Ինչը և կանենք հիմա: ՈՒրեմն քաշում ենք Code VIsionAvr -ծրագրիրը այստեղից  , տեղակայում և բացում ենք: Ստեղծում ենք նոր project: File -> New:   Բացվում է փոքրիկ դիալոգային պատուհան` Create New […]

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

Android + PC + Arduino: Տնային սարքերի կառավարում անդրոիդ օհ -ով սմարթ ֆոնից/պլանշետից: Մաս 6, Էլոկտրոնային համակարգերի ավտոմատ նախագծման PROTEUS համակարգ. միջանկյալ սարքի նախագծում:

| Դեկտեմբեր 30, 2012 |
Android + PC + Arduino: Տնային սարքերի կառավարում անդրոիդ օհ -ով սմարթ ֆոնից/պլանշետից: Մաս 6, Էլոկտրոնային համակարգերի ավտոմատ նախագծման PROTEUS համակարգ. միջանկյալ սարքի նախագծում:

Բարև ձեզ հարգելի IT ընթերցողներ: Մոտեցավ նոր տարին ես էլ տոնական արձակուրդում եմ և որոշեցի շարունակել սկսած գործը: Նախորդ մասերում մենք իրականարեցինք Android + Arduino +  Pc ինտերֆեյսը և ես խոստացա հոդվածաշարի հաջորդ հոդվածներում Arduino -ի փոխարեն պատրաստել մեր պլատֆորմը և նույն ինտերֆեյսը աշխատացնել մեր պլատֆորմի միջոցով: Ահա և հոդվածաշարի այս կեսում կներկայացնենք դրա՝ մեր […]

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

Tcl: Օբյեկտներին կողմնորոշված ծրագրավորման օրինակ

| Դեկտեմբեր 25, 2012 |
Tcl: Օբյեկտներին կողմնորոշված ծրագրավորման օրինակ

Մի քանի օր առաջ նորությունների կայքում կարդացի Tcl ծրագրավորման լեզվի 8.6 (Tcl 8.6) տարբերակի թողարկման մասին։ Հաղորդագրության մեջ, ի թիվս այլ կետերի, նշվում էր նաև, որ TclOO փաթեթը արդեն հանդիսանում է լեզվի բաղկացուցիչ մաս՝ որպես օբյեկտներին կողմնորոշված ծրագրավորման հիմնական միջոց։ Փորձեցի մաթեմատիկական արտահայտությունների օրինակով գրել մի կարճ ծրագիր՝ օգտագործելով հենց այդ TclOO ընդլայնումը։ Այս օրինակս ընդհանուր պատկերացում […]

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

Python: Բառարանի օգտագործումը

| Դեկտեմբեր 22, 2012 |
Python: Բառարանի օգտագործումը

Այս գրառման մեջ ես առաջարկում եմ ևս մի լուծում իմ նախորդ գրառման մեջ առաջարկված և Tcl լեզվով լուծված խնդրի համար։ Նորից հիշեցնեմ խնդրի ձևակերպումը. Տրված է որևէ գեղարվեստական ստեղծագործության տեքստ։ Կազմել տեքստում հանդիպող բառերի հաճախության բառարան, որտեղ ամեն մի բառին համապատասխանեցված է տեքստում նրա հանդիպելու քանակը։ Հաշվել տեքստի առանձին բառերի քանակի հարաբերությունը բոլոր բառերի քանակին։ […]

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

116