«Դ Պ Ի Ր» ամսագիր "Mkhitar Sebastatsi" Educational Complex
«Մխիթար Սեբաստացի» կրթահամալիր "D P I R" Magazine
 

ԴՊԻՐ 25

ՄԱՍՆԱԳԻՏԱԿԱՆ ԶԱՐԳԱՑՈՒՄ

Ուսումնական բնագավառներ

Ա. Խինչին
«Մաթեմատիկայի դասերի դաստիարակչական ազդեցության մասին»

Հակոբ Հակոբյան
Էջեր ֆիզիկայի ապագա դասագրքից

Դավիթ Մինասյան
«Նորից այդ կոտորակները»

Վահրամ Թոքմաջյան
«Սերիալային ենթամշակույթ. վիճակն ու ազդեցությունները»

Մեթոդական մշակումներ

Էնտոնի Դալման-Ջոնս «Երեխայի ճանաչողական հետաքրքրության բնույթը»

Ռուստամ Կուրբատով «Միջին դպրոց»

Ուսումնական նյութեր

Վոլտեր
«Բաբելոնի արքայադուստրը»

Խնդիրներ Գևորգ Հակոբյանից

ՏԱՐԲԵՐ ԵՐԿՐՆԵՐԻ ԴՊՐՈՑՆԵՐԸ

Սարգիս Գալոյան
«Շվեդիայի հանրակրթական համակարգը»

Դուման ՄՊՔ բարեփոխում է նախապատրաստում

ՀԱՅԱՍՏԱՆԻ ԴՊՐՈՑՆԵՐԸ

Աշոտ Տիգրանյան Կրթությո˜ւն…աո˜ւ

Արմեն Հակոբյան, Քրիստինե Սահակյանց, Արտյոմ Բոյաջան
««Ֆիզկուլտուրա» առարկայի խնդիրները հատուկ բժշկական խմբերում ընդգրկված առողջության սահմանափակ կարողություններով սովորողների խմբում»


ՄԱՆԿԱՎԱՐԺԱԿԱՆ ՄՈՏԵՑՈՒՄՆԵՐ

Մարիա Մոնտեսորի
«Երեխայի տունը»

Հեգել
«Գիմնազիայի տնօրենի ճառեր»


ՓՈՔՐԵՐՆ ՈՒ ՄԵԾԵՐԸ (մանկավարժական ակումբ)

ԱՐՁԱԳԱՆՔ

Աշոտ Տիգրանյան Համաժողով


Դավիթ Մինասյան
Դասավանդող, ՏՀՏ մասնագետ

ՆՈՐԻՑ ԱՅԴ ԿՈՏՈՐԱԿՆԵՐԸ ...
(համագործակցային դաս մաթեմատիկայից և ծրագրավորումից)

Համագործակցային դասի իրականացման շարժառիթ հանդիսացավ «Կիրառական մաթեմատիկա և ծրագրավորում» խորացված ուսուցման 10-րդ դասարանում ծրագրավորման ՊԱՍԿԱԼ լեզվի ուսումնասիրությունը՝ այն կիրառելով մաթեմատիկական բազմաթիվ խնդիրների լուծման ժամանակ:

Իր բնույթով սովորական և խառը կոտորակների ուսումնասիրությունը բավականին հնարավորություններ կարող է տալ ծրագրավորման ոչ մեծ բարդության առաջադրանքներ կատարելու համար: Կոտորակների թեման 10-րդ դասարանում արդեն իսկ ուսումնասիրված է և մտնում է ընդհանուր կրկնության թեմաների մեջ: Այդ պատճառով ինտեգրված դասը կարող է խթանել սովորողներին՝ անցած թեման վերհիշելու և համապատասխան ծրագրեր գրելու համար: Այստեղ կարևորվում են սովորողների՝ ինչպես անհատական, այնպես էլ խմբային աշխատանքների իրականացումը, իհարկե մաթեմատիկայի, ծրագրավորման դասավանդողների և ՏՀՏ մասնագետի անմիջական մասնակցությունը:

Մենք կներկայացնենք ՊԱՍԿԱԼ լեզվում «Ֆունկցիաներ» բաժինը և կտանք մի քանի խնդիրների լուծման ալգորիթմներ: Միաժամանակ կբերենք թեմային վերաբերող առաջադրանքների ցանկը, որոնք սովորողները կարող են կատարել ինքնուրույն:

Ֆունկցիաներ

Շատ դեպքերում անհրաժեշտություն է լինում օպերատորների որոշակի հաջորդականություն մի քանի անգամ կիրառել ծրագրում և այն էլ՝ նրա տարբեր մասերում: Ծրագրերի նման հատվածները ձևակերպվում են ինքնուրույն միավորներով, որոնց ծրագրավորողի կողմից տրվում են որոշակի անուններ (իդենտիֆիկատորներ): Ծրագրերի այսպիսի մասերն անվանում են ենթածրագրեր, որոնք կանչվում են իրենց անունների օգնությամբ:

Ենթածրագրերի օգտագործումը տալիս է մի շարք առավելություններ, որոնցից կարող ենք նշել հետևյալ կարևորագույնները` համակարգչի հիշողության խնայումը և խնդիրների լուծման ալգորիթմների «վերից-վար» ներկայացումը:

ՊԱՍԿԱԼ ծրագրավորման լեզվում օգտագործվում են երկու տեսակի ենթածրագրեր` ֆունկցիաներ և պրոցեդուրաներ:

Ֆունկցիան ունի հետևյալ կառուցվածքը`
FUNCTION ֆունկցիայի անունը (պարամետրերի ցուցակ): ֆունկցիայի տիպը՝
 «նկարագրման բաժին»,
 BEGIN՝  «օպերատորների հաջորդականություն»,
 END, որտեղ FUNCTION-ը պահեստավորված բառ է, ֆունկցիայի անունը` իդենտիֆիկատոր, պարամետրերի ցուցակը` ֆորմալ պարամետրեր իրենց տիպերով, իսկ ֆունկցիայի տիպը վերադարձվելիք արժեքի տիպն է:
Ֆունկցիան ծրագրում կանչվում է իր անվան միջոցով և օգտագործվում է արտահայտության մեջ:

Օրինակ,
x:=max(x,y,z),
y:=ar_12(x,12):
Այստեղ max և ar_12 ֆունկցիաների կանչի ժամանակ աշխատանքի արդյունքները վերագրվում են x և y փոփոխականներին:

Բերենք երկու թվերի ամենամեծ ընդհանուր բաժանարարի և ամենափոքր ընդհանուր բազմապատիկի հաշվման ալգորիթմները նկարագրման (Նկարագրման 1, Նկարագրման 2), բլոկ-սխեմայի (ԲՍ – 1, ԲՍ – 2) և ՊԱՍԿԱԼ ծրագրավորման լեզվով (Ծրագիր 1, Ծրագիր 2) օգնությամբ, որոնց հիման վրա կարելի է կազմել կոտոակներ թեմային վերաբերվող առաջադրանքների հիմնական մասը: Այստեղ կներկայացնենք նաև ամենամեծ ընդհանուր բաժանարարի և ամենափոքր ընդհանուր բազմապատիկի հաշվումը ֆունկցիաների տեսքով (Ֆունկցիա 1, Ֆունկցիա 2):
Նկարագրման 1
Երկու թվերի ամենամեծ ընդհանուր բաժանարարը հաշվենք հետևյալ ալգորիթմով`

  1. համեմատվում են երկու թվերը.
  2. եթե երկու թվերը հավասար են, ապա ամենամեծ ընդհանուր բաժանարարը հենց այդ թիվն է, հակառակ դեպքում՝
  3. մեծից հանում ենք փոքրը և ստացված թվերը նորից համեմատում ըստ 1-ին կետի:

Նկարագրման 2
 Երկու թվերի ամենափոքր ընդհանուր բազմապատիկը հաշվենք հետևյալ ալգորիթմով`

  1. համեմատվում են երկու թվերը.
  2. եթե երկու թվերը հավասար են, ապա ամենափոքր ընդհանուր բաժազմապատիկը հենց այդ թիվն է, հակառակ դեպքում՝
  3. փոքրին գումարում ենք սկզբնական թիվը և ստացված թվերը նորից համեմատում ըստ 1-ին կետի:

Ալգորիթմների օրինակները բերված են աղյուսակում

Երկու թվերի ամենամեծ ընդհանուր բաժանարար

 

Երկու թվերի ամենափոքր ընդհանուր բազմապատիկ

64

24

 

45

18

40

24

 

45

36

16

24

 

45

54

16

8

 

90

54

8

8

 

90

72

 

 

 

90

90

ԲՍ – 1 (երկու թվերի ամենամեծ ընդհանուր բաժանարար)

Ծրագիր 1. (երկու թվերի ամենամեծ ընդհանուր բաժանարար)

Program apyb;
{Erku tveri amenapokr yndhanur bazmapatikn}
uses crt;
 label 22;
 var i,j,k,l:integer;
begin
 clrscr;
 writeln('');
 writeln('Erku tveri amenapokr yndhanur bazmapatikn /[i,j] = l/`');
 writeln('');
 write(' i = ');
 readln(i);
 write(' j = ');
 readln(j);
 k:=i;
 l:=j;
22: if k=l then l:=k
 else
 if k>l then begin l:=l+j; goto 22 end
 else begin k:=k+i; goto 22 end;
 writeln('');
 writeln('[',i,',',j,'] = ',l);
 readln;
end.
Ֆունկցիա 1. (երկու թվերի ամենամեծ ընդհանուր բաժանարար)
Function apyb(i,j:integer):integer;
{Erku tveri amenapokr yndhanur bazmapatikn}
 label 22;
 var k,l:integer;
begin
 k:=i;
 l:=j;
22: if k=l then l:=k
 else
 if k>l then begin l:=l+j; goto 22 end
 else begin k:=k+i; goto 22 end;
apyb:=k;
end.

ԲՍ – 2 (երկու թվերի ամենափոքր ընդհանուր բազմապատիկ)

Ծրագիր 2.
(երկու թվերի ամենափոքր ընդհանուր բազմապատիկ)
Program amyb;
{Erku tveri amenamec yndhanur bajanarar}
uses crt;
 label 12;
 var i,j,k,l:integer;
begin
 clrscr;
 writeln('');
 writeln('Erku tveri amenamec yndhanur bajanarar /(k,l) = i/`');
 writeln('');
 write(' k = ');
 readln(k);
 write(' l = ');
 readln(l);
 i:=k;
 j:=l;
12: if i>j then begin i:=i-j; goto 12 end
 else
 begin
 if i<>j then begin j:=j-i; goto 12 end
 end;
 writeln('');
 writeln('(',k,',',l,') = ',i);
 readln;
end.

Ֆունկցիա 2. (երկու թվերի ամենափոքր ընդհանուր բազմապատիկ)
Function amyb(k,l:integer):integer;
{Erku tveri amenamec yndhanur bajanarar}
 label 12;
 var k,l:integer;
begin
12: if k>l then begin k:=k-l; goto 12 end
 else
 begin
 if k<>l then begin l:=l-k; goto 12 end
 end;
amyb:=k;
end.

Առաջադրանքներ ամենամեծ ընդհանուր բաժանարարի և ամենափոքր ընդհանուր բազմապատիկի հաշվման ֆունկցիաների կիրառմամբ`

  1. Կրճատել կոտորակը:
  2. Կոտորակները բերել ընդհանուր հայտարարի:
  3. Համեմատել սովորական կոտորակների:
  4. Գումարել, հանել, բազմապատկել և բաժանել սովորական կոտորակները:
Գումարել, հանել, բազմապատկել և բաժանել խառը կոտորակները:
???????@Mail.ru © «ՄԽԻԹԱՐ ՍԵԲԱՍՏԱՑԻ» ԿՐԹԱՀԱՄԱԼԻՐ, 2007թ.