kulvietiene_zapolskiene mokomoji knyga

Post on 21-Apr-2015

80 Views

Category:

Documents

8 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Vilniaus Gedimino technikos universitetas

���������������� ������������������

�����������������������������

Mokomoji knyga

Vilnius 2005

������������ ���������������������������������������������� Mokomoji knyga. Vilnius:

Technika, 2005. 36 p.

P���������� ���������� � ��������� ��� �� ����� � ����� ��� � ���������� � ����� �� ���������������������������������������������� ���� ����������������� ��������� �������� ������������ ��� ������ �� ��������s studentams, studijuojant����� ���������

������������������������������������������������������ ���������� ����������� � �������������������� ����� ����� � �������� ������������� � ��������� ���������������� ������������������ �������� ��� ������ � !������� "������ � ���#��� �� ����������� � $������������� � ���� ������� ���������� �������� �������� �� ���#���������%��&� ���������� ���&��'��������� !"()������ ��*(��#����+�,-.�� � � �� ����� �������������� ������� ISBN 9986-05-896-1 /����0�����������1��2� ������, 2005 © VGTU leidykla „Technika“, 2005

3

Turinys ������...........................................................................................................................................................................................4 1. REXX programos pavyzdys ....................................................................................................................................................4 3�������� ����� ��������� ......................................................................................................................................................4 3. Komentarai ..............................................................................................................................................................................5 4��(��������������� ......................................................................................................................................................................5 5. Instrukcijos ..............................................................................................................................................................................5

5.1. Instrukcija EXIT...............................................................................................................................................................5 5.2. Instrukcija SAY................................................................................................................................................................5 5.3. Instrukcija PULL..............................................................................................................................................................6 5.4. Instrukcija PARSE PULL.................................................................................................................................................6

6. Komandos................................................................................................................................................................................7 7. Priskyrimai ..............................................................................................................................................................................7 8. Aritmetika................................................................................................................................................................................8 -��5���� ......................................................................................................................................................................................9 67��8����������������������� �.....................................................................................................................................................9

10.1. Instrukcija IF ... THEN...................................................................................................................................................9 10.2. Instrukcija SELECT .................................................................................................................................................... 10

11. True ir False operatoriai .................................................................................................................................................... 13 12. Loginiai operatoriai (not, and, or) ...................................................................................................................................... 14 13. Ciklai .................................................................................................................................................................................. 14

13.1. Kartotiniai ciklai .......................................................................................................................................................... 14 69�3��8�������������� ........................................................................................................................................................... 16 69�9��8����������������������� ������� ���������:����baigti ci��. ..................................................................................... 18 69�4��;������������������������������������ ........................................................................................................................ 19 13.5. Ciklo nutraukimas su CTRL+BREAK........................................................................................................................ 19

64��!������������������� � .................................................................................................................................................... 20 14.1. ABS (num)................................................................................................................................................................... 20 14.2. ADDRESS () ............................................................................................................................................................... 20 14.3. ARG ([argumentonr[,param]]) .................................................................................................................................... 21 14.4. CHARIN ([šaltinis][,[start][,ilgis]]) ............................................................................................................................ 22 14.5��;<&�=)(�>?������ ��@?�?�����@?������@@A................................................................................................................... 23 14.6. CHARS ([šaltinioid])................................................................................................................................................... 24 64�,��;= %&���>�����6������3?�����@A ............................................................................................................................ 25 64�B��;=%C�8�>������������A ................................................................................................................................................ 26 14.9. COUNTSTR (fragmentas, seka) ................................................................................................................................. 26 14.17��D&(&(E%��>�����?�����@A ...................................................................................................................................... 26 64�66��$CFD�>�����������A .................................................................................................................................................... 27 64�63��1)8(C$E�>������������?�����@A.................................................................................................................................. 27 14.13. LINEIN ([šaltinioid][,line][,kiekis]).......................................................................................................................... 27 14.14. LINEOUT ([šaltinioid][,[seka][, pozicija]]).............................................................................................................. 29 14.15. LINES (eilutesid[, raktas]) ........................................................................................................................................ 30 14.16. STREAM (streamid[,option[,command]]) ................................................................................................................ 31 14.17. SUBWORD (seka[,startas[,ilgis]])............................................................................................................................ 33 64�6B�� &��>����:���6?�����:���3@���A.................................................................................................................................. 34 64�6-�� CF�>����:���6?�����:���3@���A ................................................................................................................................... 34 64�37��8C"F�>����:���A ......................................................................................................................................................... 34

���������� .................................................................................................................................................................................. 34

4

������

REXX (Restruktured Extended Executer) -������ ����������������������� �������� ����������������������� ��������� ���������������������� � �� ���� ���� ����%� ���������������������������������������� ����� ���������������������������������st������������������������������������� � ����

����������6-,-–6-B3�����������Mike Cowlishaw ���CG ��(�������������� ��������� ���� �� �������� �������������������������������������������������išmokstama. Komerciniai ir laisvai platinami jos ���������� ������������������ ����������� ��� ���������������� ����0������� ������������������������������������������������������ ������� ���������>� ������������:����A�

������� �������������� �������������CG �! �� ��������������� �����������������;H���;3����������������6-B7���������������������� �������� ������������������������������ ������������� ���������

��������� ������� ��� ���������������� ��I� !8��!8���=8H3��J��� K�-L��F(��3777���%��MFC�����kitose.

1. REXX programos pavyzdys

������ ���� ���������������������� ����������� �������� ������ ������������; D����������� Tarkime, rinkmenoje 1.CMD yra tekstas: �������������� SAY "Sveikas, as esu REXX!" SAY "Koks tavo vardas?" PULL kas IF kas="" THEN say " Labas, nepazystamasis!" ELSE say "Labas,"kas EXIT !��� ���������������������� ���������� ������ Jei norime prat������ ��������� ��������������������������������>�A� 1������� ������������������ ��� ���� ���� ����������� ��>NA� !���������� ����� ����������������������I

2. �����������������������

REXX programinis vienetas vadinamas pr ��������%� ������������ I • Komentarai, • ������� • Instrukcijos,

!�������������������������� �

5

• OS/2, MS-DOS, WINDOWS arba UNIX komandos, • Priskyrimai (Assignements), • 5�����>Labels), • !�������������� ��

3. Komentarai

0 ������������� ������������������������������ ����������������������0 ������������� ���������������������������������� ���� ��������������I

/ * Cia komentaras */ SAY “ Budekite! ” /* komentaras prasideda vienoje, o baigiasi sekancioje eiluteje */ /* Komentara gali sudaryti keletas eiluciu */

4. ���������������

������������������ ����������������������������������:��I ���� ������������� “ arba kitaip “ "���������������������:������� �����I SAY 'Maryte sake "Jis cia." ' O��� ���������������������������I Maryte sake "Jis cia" "���������� �����������������������C��������� ��������������������������������������������� ����

problemomis: programa,���������������� ��������� ������������������������ ��� ������� ������������ � �� Pvz: SAY " Maryte sake" ""Jis cia"" Programa supras taip : “Maryte sake“, tada ““, paskui Jis cia ir ““. arba SAY "Maryte sake "Jis cia."" Programa supras taip : “Maryte sake “, tada Jis cia ir ““. (������������Jis cia�� ������������������������������������0�����������������������������������������

� ����������������������������������������� ������������1C8����'C&��D��� ��� ��� ���� �����������������������I Maryte sake JIS CIA

5. Instrukcijos

5.1. Instrukcija EXIT

O��� ������������������� ����� �������� EXIT HM������� ����� ��������MH�

5.2. Instrukcija SAY

SAY reiškinys

6

F��� ���������������������������������������������� ��������� Pvz.: SAY 5+6 ”=vienuolika” Ekrane pamatysite: 11= vienuolika

5.3. Instrukcija PULL

PULL v F��� ����������� � ������������������������������ �� Pvz.: /*PULL naudojimas*/ SAY ‘Ivesk failo pavadinima ! ‘ PULL vardas /* informacij�������������������������������� nepriklausomai nuo to, kaip buvo ivesta*/ SAY vardas EXIT

5.4. Instrukcija PARSE PULL

PARSE PULL v, :�����–������������������������� %������������ ���������������������������������������������������� ����������������������������������

������������������������ ������ �� Pvz.: /* PARSE PULL naudojimas */ SAY ‘Tu dar cia?’ SAY ‘Pamiršau tavo varda. Koks jis?’ PARSE PULL: vardas SAY vardas “ , ar eisi i Operaciniu sistemu paskaita ? “ PULL ats IF ats= ‘TAIP’ THEN SAY ‘Tai iki! ‘ IF ats= ‘NE’ THEN SAY ‘ Na, tai ir as neisiu’ EXIT Ekrane matysime:

7

6. Komandos

��LL�� ����� ���������������� ��� �� ��������������� ������� ������ ������� ���� ��������komandos.

Pvz.: /* Komandu panaudojimas*/ SAY „Failo hello.cmd turinio�������������������� TYPE hello.cmd EXIT

7. Priskyrimai

%��������������������������� �������������������������������� Kintamasis = reiškinys 0����� � ��������������������������������������� ��I A,B,C,D,E,F,…………1,2,3,….!?_ 0����� � ���������������������� gramos vykdymo metu. num1=10 num1= num1+3 work =’building 021’ ������������ ����������� ������I LIST = 2 20 40 SAY LIST EXIT Ekrane matysime: 2 20 40 1�����������������������������������������������I SAY list C��������������������� � ������I LIST

8

T����������� ������������������������������� ����� ���������I /*priskyrimai*/ a=4 SAY a b="def" SAY a b EXIT Ekrane matysime:

0��������������������������������� ���8&E���������� ���������������������������������I /* kitas pavyzdys*/ the='NO' SAY Here is the person I want to meet EXIT !�������������� �����������������������I

8. Aritmetika

&������������������ ������ ��� ����������������:���������1�������� �������������� ������������������� �, ��������������������� ��������������������������������=������ �������������� ������������� ���I

+ -��������� - - atimtis, * - daugyba, / - dalyba, // - operacijos rezultatas bus dalybos liekana, % - operacijos rezultatas bus dalybos sveikoji dalis. Pvz.: /*Aritmetikos naudojimas*/ SAY 4+2 /*sudetis */ SAY 7/2 /*dalyba*/ SAY 7//2 /* isskiria liekana */

9

SAY 7%2 /* isskiria sveika dali*/ EXIT Ekrane matysime:

9. �� ����

5����–������ �����������������>IA 5�������� � �������� ������������������ ��� ��� ����� ����������������������������� �����aldymas

komandomis SIGNAL arba CALL iškviesti. Pvz.: IF problem = ‘ yes’ THEN SIGNAL error ... error: SAY ‘ neteisingi duomenys’ EXIT

10. !��������������������"��

10.1. Instrukcija IF ... THEN

IF reiškinys THEN Instrukcija 1 ELSE Instrukcija 2 Ši instru���������������������� ����� ���������������� �(<�F�����������������������������%����������������

���� ���� ����� ����������������� ���8�I IF ats = ‘ yes ‘ THEN SAY ‘ OK! ‘ ELSE SAY ‘ WHY NOT ? ‘ 1�������� �� �������������������������������������������������� ��������������� ��� ���C�����������

grupavimas atliekamas, naudojant operatorinius skliaustus DO…END: DO Instrukcija 1 Instrukcija 2 ... END Pvz.: /* IF- THEN – ELSE -taikymas */

10

SAY “ Ar eisi i diskoteka” PULL ats IF ats =’TAIP’ THEN DO SAY ‘ Gerai, as tave susirasiu’ SAY ‘ Palauk manes.’ END ELSE SAY ‘Kaip nori, as tai eisiu’ EXIT

10.2. Instrukcija SELECT

������������������������������� ��������������1������ ������������J<�F��(<�F���FD��������ais su OTHERWISE.

�FD���� � �8���;(�������������� SELECT WHEN reiškinys 1 THEN instrukcija 1 WHEN reiškinys 2 THEN instrukcija 2 ... WHEN reiškinys n THEN instrukcija n OTHERWISE Instrukcija 1 Instrukcija 2 ... Instrukcija m END '���n , m – bet kokie sveikieji teigiami�����:����� C��������� ��8���;(���������������������� ������������I

11

8���;(����������� ���������������� �������� ���� �����������������D=P�FDI SELECT WHEN reiškinys THEN DO Instrukcija 1 Instrukcija 2 ... END

SELECT

WHEN

Reiškinys

TRUE

FAL

SE

WHEN

Reiškinys

2

TRUE

FAL

SE

OTHERWISE

Instrukcija 1

Instrukcija 2

Instrukcijos

END

THEN

THEN

Instrukcija n Reiškinys

TRUE

FALSE

12

(����������� ��������������� ����� ���������I ��������������������� SAY ' Kelinta siandien savaites diena? ' PULL diena SELECT WHEN diena = 1 THEN SAY ' Susitikimas su Rita 18 val.' WHEN diena =2 THEN SAY " Operaciniu sistemu paskaita " WHEN diena = 3 THEN SAY 'Einu i kino teatra "Vingis"' WHEN diena = 4 THEN SAY " Pasiimti konspekta is Tomo " WHEN diena = 5 THEN SAY " vaziuoju namo " OTHERWISE SAY " Savaitgalis ! " END EXIT

SELECT

WHEN

Reiškinys

TRUE

DO

Instrukcija 1 Instrukcija 2 ...

END

AL

SE

END

13

!���������� �������������������������������������������������������������������I

11. True ir False operatoriai

O��� ���� �������� � � ���� ��������� ����������� ����� ������������ ������� �����������I > - daugiau, < -�������� = - lyginimas arba priskyrimas. =���� ������������I� True = 1 False = 0 Pvz.: 5>3 → 1 2.0=0.02 → 0 322>421 → 0 Galime taip lyginti ir tekstines reikšmes Airmail<airplane → 1 *Q+������������������������– priskyrimo ir lyginimo (santykio). Pvz., jei vykdysime šias instrukcijas: /*Priskyrimo ir lyginimo pavyzdys*/ m=5 /* priskyrimas */ SAY m=5 /* lyginimas */ Ekrane matysime: 1

14

0�������������������� ����������� ���������� ����������I /*Kitas pavyzdys. Nustato, ar teisingas reiškinys */ a = 4 b =2 c = a>b SAY 'Loginis reiskinys' a '>' b 'yra ' c EXIT Ekrane matysime : Loginis reiskinys 4>2 yra 1

12. Loginiai operatoriai (not, and, or)

� ������� ���� ������������ ��� ��� �������������������������������������������6������7�>(���������$���A�� NOT (¬ arba \�A����:�����������(����>6A�⇔$����>7A��������������:���I Pvz.: SAY \ 0 → 1 SAY \ 1 → 0 SAY \ (4=4) → 0 SAY \ 2 → �� ������������������ AND ( & ) Pvz., SAY ( 3 = 3 ) & ( 5 = 5 ) SAY ( 3 = 4 ) & ( 5 = 5 ) OR ( ) arba ( | ) kodas ( 124 ) Pvz.: SAY (A>B)|(C>D) ����������������������6����������������������������������

13. Ciklai

Ciklas –��������� ���������������������������� ��������� ���������:��������������� ��� ��������� � ��ar nevykdomos nurodytos����� ��

;������������������ �������>repetitive loopsA��������������>conditional loops)

13.1. Kartotiniai ciklai

D=�����:���������������� Instrukcija 1 Instrukcija 2 ... END Pvz.: �������� ��������������� ��� DO 5 SAY "Thank you" END EXIT Ekrane matysime:

15

0��� �������������������������� ���������������� ����������������������� ���������� ������� DO n = a to b ( arba DO n = a to b by c) Instrukcija 1 Instrukcija 2 ... END '�� n – ciklo kintamasis, a –���� ������� � ���������������� b –���� ������� � ����������������� c –������� � ������ ���������� Pvz.: /*su ciklo kintamaisiais*/ sum=0 DO n=1 to 7 SAY 'ivesk skaicius' PULL sk sum=sum+sk END SAY 'Tavo skaiciu suma =' sum EXIT !���������� �������, ekrane matysime:

16

13.2. !� ������������

DO WHILE REIŠKINYS Instrukcija 1 Instrukcija 2 ... END '�����CO0CFE8�–� �����������������!���������������������������������������1����������� �������� � ��

������� ������������ ��

Pvz.: /*Ciklas Do While*/ SAY 'Kiek turi pinigu ?' PULL stip isl = 0 SAY 'Tu esi parduotuveje, ivedinek prekiu kainas po viena ' DO WHILE isl<stip /*Šis ciklas bus vykdomas, kol kintamasis ‘isl’ netaps neigiamu*/ SAY 'Kiek kainuoja preke ?' PULL k Isl= isl + k END SAY 'Stop ! Pinigai baigesi' EXIT Ekrane matysime:

DO WHILE

REIŠKINYS

FAL

SE

TRUE

Instrukcija 1 Instrukcija 2 ...

END

17

DO UNTIL –�����������������������������������������������ga tikrinama ciklo pabaigoje.

DO UNTIL

Instrukcija 1 Instrukcija 2 ...

TR

UE

FALSE

END

Reiškinys

18

8�������I DO UNTIL REIŠKINYS Instrukcija 1 Instrukcija 2 ... END

13.3. !� ���������"������������ ����������������#���baigti ����.

!���������������������&!��������������� �������������������������:��� ����� � ���� ������ ��(END).

Pvz.: /*LEAVE panaudojimas */ SAY 'Kiek turi pinigu? ' PULL suma SAY 'Turi' suma 'Lt.' Isl = 0 DO UNTIL isl>suma SAY 'ivesk prekiu kainas arba zodi "gana", jei daugiau nepirksi.' PULL kaina IF kaina= 'GANA' THEN LEAVE Isl= isl + kaina END SAY 'isleidai' Isl 'Lt.' SAY ' Viskas! ' EXIT !���������� ����������������������I

19

13.4. $���������������%���������"�������

Pvz.: /* DO FOREVER ir LEAVE panaudojimas */ sum = 0 DO FOREVER SAY 'Ivesk skaicius, kuriuos nori susumuoti, arba zodi"stop" '. PULL n IF n= 'STOP' �����!"#��$%&�������������� �������'���� Sum=sum+n END SAY 'Sum =' sum EXIT

13.5. Ciklo nutraukimas su CTRL+BREAK

!����������� ����������� �������� Pvz.: ��%������� ����������� DO UNTIL ats = 'SEZONAS' SAY 'Ivesk slaptazodi' PULL ats END SAY 'Atspejote' EXIT Ekrane matysime:

20

F�������������� ��� ��� �����������������������������;(��RG��&0�

14. &������������'����"��

!���������XX funkcijos -������ ����� ������������:� ��������������������:� ����������������()�F��!��� � ����������������������������� ����� ��������%� ���� ���� ������ ����������� ����C(��������:��� ������ ���������� ����������������������� ������������:���t jas instrukcija CALL.

'����������� ����� ������������LL�$������ ������������������ !������������������� ������ ��� � vykdant priskyrimus bei kitas instrukcijas��1���������� �����������

������ ��� ����������� ������ ���������������

14.1. ABS (num)

Patei��������� �� ��������� ���:� �num���� ��:�������������� :��I num -���������������������������������� ������� � �����������������:���� ��������������� ������ ���������������������������������������%�������������������� ���-�������������

skaitmenys: ABS (-42) → 42 ABS (100) → 100 ABS (4-12) → 8 ABS (-100000002.45) → 100000002 ABS (5987461234657.14) → 5.98746123E+12

14.2. ADDRESS ()

%�� � ����� ��������������������������������������:��� ��� ���� �� ADDRESS () → UNIX /* Ga���MH

21

14.3. ARG ([argumentonr[,param]])

%�� � ���� ���������������� � ��� ����� ���������������������$��������������������������������������������������� �����:�����

Argumentonr����������������������������is�����:�������������� � ��������� ����������������kcijos kvietime. Jei nurodytas tik argumentonr���� ���������� ����������������������������%����jam argumentui priskirtas 1.

Jei argumentonr���������������������������������>�������������������������argumentonr yra didesnis �������������������:���A��������������:����������

Jei param taip pat nurodytas, tuomet funkcija����������� �����������6������7������� ������ ����� ���������������� �� �������� ������������������� �������������������8��� ����������I

[O] (Omitted) -���������������6���������������������������������������������������������0�����������išveda 0.

[E] (Existing) -����������������6�������������������������������������������0������������������7� 1�������:��������I CALL FUNCTION 'This is', 'a', , 'test', , funkcijos &�"��������������� �� �I ARG () → 4�HM��� ���������������������MH ARG (1) → 'This is' ARG (2) → 'a' AGR (3) → ' ' ARG (9) → ' ' /* devintas parametras neegzistuoja*/ ARG (2, 'E') → 1 ARG (2, 'O') → 0 ARG (3, 'E') → 7�HM����:����������������������stas */ ARG (9, 'O') → 1 Pvz.: Tarkime, rinkmenoje ARGUM.CMD turinys yra: ���( ����) ���' �����������*���������� say say argumentu suma sum(1,2,5,7) exit sum: say 'Nurodytu argumentu kiekis' arg() do i=1 to 4 say 'arg('i')' arg(i) end s=arg(1)+arg(2)+arg(3)+arg(4) return s

22

!������������ ����������������I

14.4. CHARIN ([šaltinis][,[start][,ilgis]])

Ši funkcija bendruoju atveju nuskaito simbolius iš šaltinio��������������������������������������� ���������� Parametras šaltinis���� � ���������������� ���������� ������� �����1������������������������ ������

������������������� ����������������������������������������� Parametras start���� � ����� � �������������������� ����� ������������������������%�����������������

start , skaitymas vyksta nuo pirmo dar neperskaityto simbolio. Parametras ilgis nurodo,���������� �������������� ����%�������������������������� ��������������� ��� %����������������������� ����\tmt\file.txt turinys yra ‘Tai yra tekstas’. Tokiu atveju funkcija CHARIN

������s: CHARIN () → 'F' HM�"����MH CHARIN ( , , 6 ) → 'Foobar' HM�"����MH CHARIN ('\tmt\file.txt’, , 6) → 'Tai yr' Pvz.: Tarkime, rinkmenos CHARINAS1.CMD turinys yra: /* CHARIN naudojimo pavyzdys*/ SAY"ivesk failo pavadinima" PULL fail n=chars(fail) SAY faile fail yra n simboliu SAY 'Nuo kelinto simbolio pradesim skaityti?' PULL i SAY 'Kiek simboliu skaitysime?' PULL k simb=charin(fail,i,k) SAY simb Exit Rinkmenoje D.DAT yra tekstas ‘Labas, cia as’ !�������������� �����������������������I

23

14.5. $()�*+��,-���������.- -����.- �����../

G����� �������������������������������������šaltinioid, pradedant pozicija start. Jei šaltinioid��������� ���������������� ��������������������������������������������������������1�����start nenurodytas, ��� ��������� ������ ������������������ ���������� ���������$������������������������������ ���������

CHAROUT (, 'Foobar') → '0' CHAROUT (outdata, 'Foobar') → '0' CHAROUT (outdata, 'Wow', 5) → '0' Pvz.: Tegul rinkmenos CHAROUTAS.CMD turinys yra: /* CHAROUT naudojimas*/ SAY irasymas i faila SAY Iveskite failo pavadinima PULL fail SAY 'Iveskite duomenis' PULL eil z=charout(fail,eil) SAY 'Liko neirasyti' z 'simboliai' SAY 'failo ' fail 'turinys' TYPE fail EXIT !�������������� �������������������sime:

O�� ����������� ������������������������D) &8�D&(��1������������� ���������������� ����������������

�������� ��������������� ������������ ��������� Pvz.: Rinkmenos charout1.cmd turinys:

24

/* CHAROUT naudojimas*/ SAY irasymas i faila SAY Iveskite failo pavadinima PULL fail SAY 'Iveskite duomenis' PULL eil z=charout(fail,eil,4) SAY 'Liko neirasyti' z 'simboliai' SAY 'failo ' fail 'turinys' TYPE fail EXIT !�������������� ������,���� ����������� ��������� ��F&)1&8�D&(����������������������������I

O�� ����������� ������������������F&)1&8�D&(�������� ����������� �������������������avi������������

��������4� ������������������������������ ��������� ����� ������� ����� ���1�������:���� �������������������� ������������������ ���:������������D) &8�D&(���������� ������������������������������� �4�pozicijos:

14.6. CHARS ([šaltinioid])

C���������� �������:�������������� �������šaltinioid������������������������ ������������šaltinioid nenurodytas.

CHARS () → '1' /* more data on def. input stream */ CHARS () → '0' /* EOF for def. input stream*/ CHARS ('outdata') → '94' HM�"����MH Pvz: /* charin ir chars naudojimas*/ Say "ivesk failo pavadinima" pull fail n=chars(fail)

25

SAY 'Faile' fail 'yra' n 'simboliu:' do i=1 to n a=charin(fail,,1) say i "simbolis yra " a say 'Liko dar' chars(fail) say end exit Vykdydami������ �����������������������I

14.7. $*01)���,����2 ����3- ����./

Ši funkcija palygins dvi eilutes �� ��+ bei �� ��,�������������������������:��������������7������� ��������� ����������������������������� � ������������ �� ��������������������������������1������������������� � ���� ���������������������������� ����� �� ���� ���� ��������� ����� ���������� �� ������� �������������� ����������������������� �������� ���1������� �������� ������������������� ������������ ����������

COMPARE ('FooBar', 'Foobar') → '4' COMPARE ('Foobar', 'Foobar') → '0' COMPARE ('Foobarrr', 'Fooba') → '6' COMPARE ('Foobarrr', 'Fooba', 'r') → '0'

26

14.8. $*1��!�,���� ������/

Išveda eilut�������������� �kiekis������������ ���� �����Kiekis�������������������������������������:�����(���� ������� �������� �������������

COPIES('Foo', 3) → 'FooFooFoo' COPIES('*', 16) → '****************' COPIES('Bar ', 2) → 'Bar Bar ' COPIES(' ', 10000) → ' '

14.9. COUNTSTR (fragmentas, seka)

Išveda nurodyto fragmento fragmentas��������������������seka������� COUNTSTR(' ', ' ') → 0 COUNTSTR('a', 'abcdef ') → 1 COUNTSTR(0, 0) → 1 COUNTSTR('a', 'def ') → 0 COUNTSTR('a ', ' ') → 0 COUNTSTR(' ', 'def ') → 0 COUNTSTR('abc ', 'abcdef ') → 1 COUNTSTR('abcdefg ', 'abcdef ') → 0 COUNTSTR('abc ', 'abcdefabccdabcd ') → 3

14.10. 4)�)�51��,����- �����./

8����������������������������������� ���������� ���S�� ��������S��C��������������TF) T������������������� ����������������:�����0�����������������T;<&�T��1������ ���������������������������������������������������nurodyto tipo. tipas����������S6S������S7S������� ������ �� ������������������ ��� ��� ���������"��� ��������� �tipas���������:

A – (AlphanumericA������������ �������������������� ����>����� �� ����H�������� �� ��������A����skaitmenys.

B – (BinaryA������������ �����������������������������7����6� L – (LowerA������������ ���������� �� ����������������� M – (MixedA������������ ��������������������>����� �� ����H�������� �� �A� N – (NumericA������������ ��������������������:���� S – (SymbolicA������������ ����������������������� ����–�����������������������������U��V������������ U – (UpperA������������ ���������� �� ����������������� W – (WholeA������������ ���������������:����������������������������������������69�7���������������

����:����������� ������69�R6��������������������:������������������������������� ����������697����H������.� X - (Hexadecimal) eilut������� ��������� �������������� ������������������&-$�>����� �� ����H�������� �� �A�

ir skaitmenys 0-9. DATATYPE (' - 1.35E-5 ') → 'NUM' DATATYPE (' 1E999999999 ') → 'CHAR' DATATYPE (' 1E9999999999 ') → 'CHAR' DATATYPE (' !@#a&#$(*%` ') → 'CHAR' DATATYPE ('FooBar', 'A') → '1' DATATYPE ('Foo Bar', 'A') → '0' DATATYPE ('010010111101', 'B') → '1' DATATYPE ('0100 1011 1101', 'B') → '0' DATATYPE('foobar', 'L') → '1' DATATYPE ('FooBar', 'M') → '1' DATATYPE ('A_simbolis?', 'S')

27

14.11. FIND ,���� '��6�/

���������� ������� ���� �� �������� ��*��-���������� ��� �������������������� ��� ����������������� ����� ����������������� �����1�����������������������������7�

FIND(‘Labas, cia as’,’cia as’) → 2

14.12. �+!��75�,���� ������- ����./

Formu ����������������� ��� ����������ilgis���� ������������������� �� ������������ ��� ����������� ��, ir ������ ��� �������������������������� ���������

Parametras simb ��� � ����� �������� ������������������������ ������1���simb nenurodytas, tai bus tarpai. JUSTIFY (‘Ten javai linguoja’, 14) → ‘Ten javai’ JUSTIFY (‘Ten javai linguoja’, 20) → ‘Ten javai linguoja’ JUSTIFY (‘Ten javai linguoja’, 20,’+’) → ‘Ten++javai++linguoja’

14.13. LINEIN ([šaltinioid][,line][,kiekis])

"����������������������������������� ��šaltinioid����������������� ������� ��������� ������šaltinioid nenurodytas.

Parametras line���� � ������������������������������������������������������� ����1���line nenurodytas, skaitoma pirm ����������������������

Parametras kiekis���������������������6������7����������6�>�������� �������� �������������������� ���kiekis ����� �����A�������������������������������������������7�� � ����������������������:����������O�� �������������buvo nurodyta line, atliekamas skaitymo pozicijos nustatymas ties nurodyta eilute.

1������������� ��� �šaltinioid��������� ��������������������������������� ���( ��������������� ������������ ���� ����������������������������,������������������� ������������������

Pvz.: Tarkime, rinkmenos D.DAT turinys yra: Pirmos eilutes duomenys Antros eilutes duomenys Trecios eilutes duomenys Rinkmenos LINEIN.CMD turinys yra: /* ivedimas is failo eilutemis*/ SAY'Iveskite egzistuojancio failo pavadinima' PULL file eil=LINEIN(file,3,1) /* 3-cia eilute*/ SAY eil /* skaitymo pozicionavimas ties 1-ma eilute*/ SAY LINEIN(file,1,0) SAY LINEIN(file) exit !�������������� �����������������������I�

28

Pvz.: Rinkmenos duom.txt turinys:

LINEIN.CMD rinkmenos turinys yra: /*LINEIN naudojimas*/ SAY SAY 'Isvedu trecia, po to antra eilutes.' SAY SAY LINEIN(duom.txt,3,1) SAY LINEIN(duom.txt,2) SAY SAY 'Isvedu pirma eilute su treciu parametru lygiu 0.' SAY LINEIN(duom.txt,1,0) SAY SAY 'O dabar visas is eiles.' SAY DO n=1 TO 4 SAY LINEIN(duom.txt) END SAY SAY 'Ivesk norimo paziureti failo varda.' SAY 'Kad programa butu vykdoma toliau, uzdaryk iskviesta faila.' LINEIN() SAY SAY 'Ir vel trecia eilute.' SAY LINEIn(duom.txt,3) EXIT !���������� ����� ����������������������I

29

14.14. LINEOUT ([šaltinioid][,[seka][, pozicija]])

Ši funkcija���������������������� �����šaltinioid�>����� �� �����A�������� ���� �������������:���seka. Jeigu pozicija nenurodyta, o sukurta šaltinioid rinkmena dar �������:������� ������a����� �����������������0���šaltinioid���������:������� ������������ ��������������������������

1����� ���������� ����������������������šaltinioid�����:��������������:������������� ������������ �������� ������������������� ��������������:� ��������������������� ���0��� ���������� �������������������šaltinioid ���������������:������� ������������ �������������:���������

Kai šaltinioid ����� ���������� ��������������������������>�������������A� 1������� ������������������������������������������������������������7��1��������� ����� ���������:���

�����������������������������������������������6� Pvz.: /*LINEOUT naudojimas*/ y=LINEOUT(,'isvedama i ekrana eilute') /* nenurodytas saltinis, todel eilute bus isvesta i ekrana*/ SAY LINEOUT(duom.txt,'111111111') /*Irasoma pirma eilute*/ SAY LINEOUT(duom.txt,'222222222') /*Irasoma antra eilute*/ SAY LINEOUT(duom.txt,'333333333') /*Irasoma trecia eilute*/ SAY LINEOUT(duom.txt,'444444444',2) /* Perrasoma antra eilute ir istrinamos visos zemiau esancios eilutes*/ SAY LINEOUT(duom.txt,'555555555') /*Irasoma trecia eilute*/ SAY LINEOUT(duom.txt,'sesta',6) /* Nors pozicija nurodyta 6, irasoma ketvirta eilute*/ EXIT Pro������������������������� ���L������� ������������� � ����I

30

%� ��������������������������� ������������� ��I

14.15. LINES (eilutesid[, raktas])

Ši funkcija išveda rinkmenoje, nurodytoje eilutesid, ����:������:�������:������������������� ��������������� ��������������������:���

Funkcija turi du raktus: [C] -�������:�� ������ ��������������������������������:��������������������������������������������

����:���� [N] – rodo,����������� ��������������������������������:����������������������6������7��Rezultatas 1, kai

yra,����7������������O������������������������������� Pvz.: /*LINES naudojimas*/ d = 'c:\sendisk\regina\darbinis\d.txt' SAY SAY "Failo pirmos eilutes turinys" SAY SAY LINEIN(d,1) SAY n=LINES(d,c) SAY "Faile liko nenuskaitytu" n "eil." SAY SAY "Failo likusiu eiluciu turinys:" SAY Do WHILE LINES(d) > 0 line = LINEIN(d) SAY line END EXIT ������� ������� ����� �����������������������������I

31

!���������� ����������������������I

14.16. STREAM (streamid[,option[,command]])

Ši funkcija skirta operacijoms su srautais (rinkmenomis). streamid����������� ������ ������ ��������,���������������������rinkmenos pavadinimas. option���� � ���������������� �������I [C] –������������������� ��������������������� ������������:����������������command, kuris nurodo, kokia

� �������������������� ����0 ���� ���������������� ��� �������� ������� ��������������"CF&������� ��� [D] -�������������� ����� ��� �streamid�������� ������� [S] -�������������� �streamid������ ������������- ERROR, NOTREADY, READY arba UNKNOWN. command���� � �� ����:���� �������������������� ������ � �����������I [READ] –������� ��������������t���&��������� ���� ������������������� ������� ������������ ������

skaitymo operacijos. Komandos READ vietoje galima naudoti OPEF���&D�� ������ [WRITE] –������� ��������������ti���� ���� �� �������� ��������������� ������� ����1�����������

������ ��������������������!��� ��� ���� ��J�C(������������ ���=%�F�J�C(��� ������ [APPEND] –������� ��������������ti, pozicionavimas - rinkmenos pabaigoje. Vietoj jos galima naudoti

=%�F�J�C(��&%%�FD�� ������ [CREATE] – atidaro �������� rašyt��� ���� �� �����rinkmenos���������!��� ��� ���� ��;��&(��������

���� ���=%�F�J�C(����%�&;��� ������ [CLOSE] –������ ��������>��������A� [READABLE] –���������6����������������������������������������������������������7� [WRITEABLE] –���������6���������������������������������������������������������������7� [QUERY] –������������ ��������������� ���������������1������ ����������������������� ������������

���:����������0 �������������� �������komandas: EXISTS –���������������� ��� ��������� ��������������� SIZE –���������������� ����������� �����

32

DATETIME –������������ ��� ��������� ������������� ��������� ���������������� ����u MM-DD-YY HH:MM:SS.

[OPEN] –������� ������������� �������e�������1����e����������� �����������������������������=%�F�G=(<����������������������� �������� ����������� ���������� ���� �� ������������ ����������0�����������I

READ – skaitymas, pozicija –�������� ��������� WRITE – rašymas, pozicija – rinkmenos pabaiga. WRITE APPEND – rašymas, pozicija – rinkmenos pabaiga. WRITE REPLACE – rašymas, pozicija –�������� ��������� 8����������� ������������������������8(��& ���������������������?6@. Pvz.: /*STREAM naudojimas*/ say say d = 'c:\sendisk\regina\darbinis\duom.txt' IF STREAM(d,'c','QUERY EXISTS') = "" /* Ar egzistuoja? */ THEN SAY d 'failas bus sukurtas' ELSE DO SAY d 'failas egzistuoja. ' SAY 'Jis bus istrintas ir vel sukurtas' 'erase ' d END CALL LINEOUT( d, 'REXX YRA PUIKU') CALL LINEOUT( d, 'AS MEGSTU REXX') CALL LINEOUT( d, 'AS NAUDOJU REXX VISOSE SAVO PROGRAMUOSE') CALL STREAM d,'C','CLOSE'/*Jei noriu toliau dirbti su d failu, reikia ji uzdaryti */ SAY SAY "Naujai sukurto failo turinys" /*Do While LINES(d) > 0*/ /*arba*/ DO i=1 UNTIL LINES(d)==0 l = LINEIN(d) SAY say l end CALL STREAM d,'C','CLOSE' SAY SAY SAY "ivesk norimo redaguoti failo varda" LINEIN() EXIT !���������� ����������������������I

33

14.17. SUBWORD (seka[,startas[,ilgis]])

O�������������������������� ������ �������:� ������ ��� ����� �����sekoje, pradedant nuo start >���������������������������������������������:���A��1���� ilgis >���������������������������������������������:���A�����nurodytas, išrenka ilgis�� ����� ������ ������ ���������:����%��������������ilgis���������������������� ��

(��������������������� ������������������� ��������������� ��I

8�����������LL���������� Pvz.: /* dvieju tiesiniu lygciu sistema ir darbas su failais */ say 'spresim lygciu sistema:' say 'ax+by=c' say 'dx+ey=f' echo. say n=chars(duom.txt) e1=charin(duom.txt,,n) say 'radau koeficientus' say e1 say say 'spausk bet koki klavisa' say 'pause>nul' d=subword(e1,1,1)*subword(e1,5,1)-subword(e1,2,1)*subword(e1,4,1)

34

if d\=0 then signal testi do say 'determinantas =o, sprendinys neapibreztas' signal pab end testi: dx=subword(e1,3,1)*subword(e1,5,1)-subword(e1,6,1)*subword(e1,2,1) dy=subword(e1,1,1)*subword(e1,6,1)-subword(e1,4,1)*subword(e1,3,1) say 'd='d 'dx='dx 'dy='dy say say 'x=dx/d y=dy/d' say ax=dx/d; ay=dy/d say "x="ax "y="ay pab: exit !���������� ����� ����������������������I

14.18. 0)��,����#��2- ����#��3.���/

C������� �����:�������� ������������:�������� ������������������������

14.19. MIN (skai#��2- ����#��3.���/

C������� �����:�������� ������������:�������� �����������������������

14.20. !�89�,����#��/

Išveda -6��7��6������� ������ �� ���������:�����������������������������, ar teigiamas.

:���������

1. Christensen A. The Regina REXX Interpreter. Norvegan Institute of Technology University of Trondhein. 2000. 176 p.

2. Regina REXX. http://regina-rexx.sourceforge.net 3. WIKIPEDIA. The Free Encyclopedia. http://en.wikipedia.org/wiki/REXX 4. The REXX Language Association. http://www.rexxla.org

35

���������������� ������������������ �;1:�!��9���*0)94�9���):<)����� Mokomoji knyga ������ ������0��������� 2005 10 03. 4,5 apsk. leid. l. Leido Vilniaus Gedimino technikos universiteto leidykla „Technika“, 8������� ����66���(-10223 Vilnius-40

top related