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

ԴՊԻՐ 27

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

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

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

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

Դավիթ Մինասյան
«Տեքստային փոփոխականներ: Տեքստերի հետ աշխատանքի ֆունկցիաներ և պրոցեդուրաներ»

Լուսինե Մանուկյան
«Լաո Ցզի: Դաոսիզմ. փիլիսոփայությո՞ւն, թե՞ …»

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

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

Ռիչարդ Բախ
«Ողջույն»

Սեյմուր Բայջան
«Ովքե՞ր են ադրբեջանցիները և ի՞նչ են ուզում մարդկությունից»

Լաո Ցզի
«Դաո Դե Ցզին»

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

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

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

Աշոտ Բլեյան
«Բարով եկար, սիրուն մեդիա»

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

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

Սելեստեն Ֆրենե
«Մանկավարժական ինվարիանտներ»

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


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

ԱՐՁԱԳԱՆՔ


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

Տեքստային փոփոխականներ: Տեքստերի հետ աշխատանքի ֆունկցիաներ և պրոցեդուրաներ

Դասը ներկայացվել է 2010թ. հունվարի 22-ին` «Թվային տեխնիկական միջոցները արդյունավետ կրթության գործիքներ» միջազգային ստուգատեսի ժամանակ

Տեքստային ինֆորմացիայի մշակման համար ՏՈՒՐԲՈ ՊԱՍԿԱԼ լեզվում օգտագործվում է STRING (տող) տիպը: STRING տիպի փոփոխականները իրենից ներկայացնում են սիմվոլների հաջորդականություն և այն կարելի է դիտարկել որպես սիմվոլներից կազմված միաչափ զամգված (մասիվ): Նրա արժեքը ապաթարցերի մեջ վերցված ցանկացած սիմվոլների հաջորդականություն է և նրանում սիմվոլների քանակը չի գերազանցում 255-ը:

STRING տիպի փոփոխականների նկարագրման ընդհանուր տեսքը հետևյալն է`
փոփոխականի անուն : STRING[տողի երկարություն];
որտեղ STRING-ը պահեստավորված բառ է, փոփոխականի անունը իդենտիֆիկատոր է, իսկ տողի երկարությունը INTEGER տիպի հաստատուն է, որը որոշում է տվյալ տողի սիմվոլների հնարավոր մեծագույն քանակը: Եթե տողի երկարությունը նշված չէ, ապա այն ընդունվում է հավասար 255-ի:

Օրինակ`             VAR S1, S2: STRING[25]; X: STRING։

Այստեղ S1-ը և S2-ը տողեր են, որոնք ունեն ամենաշատը 25 սիմվոլ, իսկ X-ը` մինչև 255:

Եթե T տողն ունի N երկարություն, ապա նրա մեջ եղած ցանկացած սիմվոլի կարելի է դիմել T[i] ձևով, որտեղ i -ն սիմվոլի գրաված դիրքի համարը:

Օրինակ, T[15], X[201], S1[L], S2[5*I+1]:

STRING տիպի փոփոխականների համար սահմանված են մի շարք ստանդարտ ֆունկցիաներ և պրոցեդուրաներ, մասնավորապես`
LENGTH (S1) – INTEGER տիպի ֆունկցիա է, որը վերադարձնում է S1 տողի երկարությունը:
CONCAT (S1, S2, ..., SN) – STRING տիպի ֆունկցիա է, որը վերադարձնում է S1, S2, ..., SN տողերի հաջորդական միավորումից ստացված տողը:
COPY(S1, K, N) – STRING տիպի ֆունկցիա է: Այն վերադարձնում է տող, որը ստացվել է S1 տողից` պատճենահանելով K – րդ դիրքից սկսած N հատ սիմվոլ:
DELETE(S1, K, N) – պրոցեդուրա է, որը S1 տողի K – րդ դիրքից սկսած հեռացնում է N հատ սիմվոլ:
INSERT(S1,S2,K)- պրոցեդուրա է, որը S1 ենթատողը ներդնում է S2 տողի մեջ K – րդ դիրքից սկսած:
POS(S1,S2)- INTEGER տիպի ֆունկցիա է: Այն վերադարձնում է այն դիրքի համարը, որից սկսած S1 ենթատողը առաջին անգամ հանդիպում է S2 տողի մեջ: Եթե S2 տողի մեջ չկա S1 ենթատողը, ապա ֆունկցիան կընդունի 0 արժեք:
STR(X, S1) – պրոցեդուրա է, որն ամբողջ կամ իրական տիպի X փոփոխականը ձևափոխում է S1 տողային տիպի փոփոխականի:
VAL(S1, X,CODE) – պրոցեդուրա է, S1 տողը դարձնում է INTEGER կամ REAL տիպի և պահպանում X փոփոխականի մեջ, որտեղ CODE պարամետրը ցույց է տալիս ձևափոխման արդյունքի կոդը: Ճիշտ ձևափոխման դեպում CODE պարամետրն ընդունում է 0 արժեք, հակառակ դեպքում` CODE-ի մեջ գրվում է սխալ ձևափոխման սիմվոլի համարը: 
STRING տիպի փոփոխականը կարելի է համեմատել նույնատիպի այլ փոփոխականի կամ հաստատունի հետ` օգտվելով համեմատության =, >, >=, <, <=, <> նշաններից:

Բերենք տողերի հետ աշխատելու ֆունկցիաների և պրոցեդուրաների օրինակներ`

  1. A:= ‘VARDAN’; B:=’PETROSYAN’; C:=CONCAT (A,’ ‘,B);
  2. X:=’YURI SHMAVONYAN’; K:= LENGTH(X);
  3. X:=’ANI TER-ARSENYAN’; Y:=COPY(X, 5, 3);
  4. X:=’ANI TER-ARSENYAN’; DELETE (X, 5, 4);
  5. A:= ‘VARDAN PETROSYAN’; INSERT(A,’TER- ‘,7);
  6. X:=’TER-‘; Y:=’ANI TER-ARSENYAN ’ ; K:=POS(X,Y); L:=POS(‘PETROSYAN‘, Y);
  7. X:=514.05; STR(X,Y);
  8. VAL(‘-31.48’,M,L)։

Բերենք խնդրի օրինակ, որում օգտագործվում են տեքստային փոփոխականների մշակման գործողություններ:

Խնդիր: Մուտքագրել տեքստ: Այդ տեքստի հիման վրա ստանալ նոր տեքս, որը ստացվում է մուտքագրած տեքստից երկու և ավելի հաջորդական բացատանիշերը մեկ բացատանիշով փոխարինելով: Արտածել ստացված տեքստը:

Նկարագրություն

1 ՍԿԻԶԲ:
2 Մուտքագրել տեքստը` X-ը, այն ունի STRING տիպ:
3 Գտնել երկու հաջորդական բացատանիշի դիրքի համարը (i) մուտքագրված տեքստում: Այն ամբողջ տիպի է (INTEGER):
4 Ստուգել, եթե դիրքի համարը (i) հավասար է 0-ի, ապա անցնել 6-րդ բլոկին:
5 Հեռացնել i-րդ դիրքի բացատանիշը և անցնել 3-րդ բլոկին:
6 Ելքում ստանալ նոր տեքստը` X-ը:
7 ԱՎԱՐՏ:

Բլոկ-սխեմա

Ծրագիրը ՊԱՍԿԱԼ լեզվով

Program probel2;
uses crt;
var i: integer; x:string;
begin
 clrscr;
 writeln('');
 writeln(' Mutqagrel texstn`');
 readln(x);
 repeat
 i:=pos(' ',x);
 if i<>0 then delete(x,i,1);
 until i=0;
 writeln('');
 writeln(' Elq nor texstn`');
 writeln(x);
 readln;
end.

Առաջադրանքներ

  1. Մուտքագրել տեքստ և հաշվել նրանում առկա բառերի քանակը (բառերն միմյանցից բաժանվում են առնվազն մեկ բացատտանիշով /պրոբելով/):
  2.  Մուտքագրել տեքստ և սիմվոլ: Հաշվել մուտքագրված տեքստում մուտքագրված սիմվոլի քանակը:
  3. Կազմել ծրագիր, որն դուրս կբերի մուտքագրված տեքստը սիմվոլների հակառակ հաջորդականությամբ դասավորված (օրինակ` մուտք` english, ելք` hsilgne):
  4. Մուտքագրված տեքստում – (հանման նշան) սիմվոլները փոխարինել _ (տողատակի գծիկ) սիմվոլներով:
???????@Mail.ru © «ՄԽԻԹԱՐ ՍԵԲԱՍՏԱՑԻ» ԿՐԹԱՀԱՄԱԼԻՐ, 2007թ.