МБда узгармас ва узгарувчи катталиклар
Белгили кийматларни хамда белгили узгармаслар ва узгарувчиларни таркибни тавсифлашда келтирилган С турдаги берилганлар
базасидаги ёзувлар майдонлари кабул килади. Белгили константаларни ЭХМга киритишда ва ёзишда улар апостроф ёки куштирнок ичига ёзилади 'Шерзод','121','э'лон'.Охириги келтирилган мисол белгили узгармаслар кийматларини апостроф ва куштирнок билан чегаралашда улардан фойдаланиш имконияти кулайлигини курсатади,агар опостроф узгармаснинг белгилари таркибига кирса унда унинг киймати куштирнок ичига олиб ёзилади.Белгили кийматлар аввал куриб чикилган коидалар асосида узаро таккосланиши мумкин.2та белгили кийматни таккослаш белгима-белги чапданунга караб амалга оширилади. Таккослаш 2та бир хил булмаган белги пайдо булиши билан тухтатилади,навбатдаги "катта" белгига эга киймат катта хисобланади.2 белгидан каттаси деб куйидаги руйхатда узокрок жойлашгани олинади:
! # $ % & * ( ) - +
сонлар 0-9
: ; < к > ? @
лотин алифбоси харфлари А-Z
[ г ] ^ _
кичик лотин харфлари а-z
{ | }
катта рус алифбоси харфлари А-Я
кичик рус алифбоси харфлари а-я
Келтирилган руйхатдаги белгиларнинг жойлашиш тартиби компютерда кулланилган кодлаш тизими билан аникланади. Руйхатдан урин олган белгилар кодларнинг тартиб ракамлари ошиб бориш тарзида жойлашган, улар оркали белгилар ЭХМ хотирасида ифолдаланилади.Келтирилган ушбу руйхат ЕС-1840 ЭХМида кулланилган кодлаш тизимига мосдир.Белгили кийматларни таккослаш коидаси информатикада яна бир коида билан тулдирилади:иккита тенг булган кийматнинг бирига кушимча белгини кушиш унинг кийматини катта килади. DBase -3 нинг бу коидаси факат махсус.SET EXACT ON
буйруги берилганда амалга оширилади. SET EXACT ON буйруги киритилгунга кадар EXACT OFF холати урнатилган хисобланади.Ушбу холатда таккосланаётган иккита кийматнинг белгилар сони,мантикий шартнинг унг томонида жойлашган киймат узунлиги билан аникланади. Мисол учун мантикий 'Шерзод'='Ше'шартда унг томонда жойлашган киймат узунлиги 2 белгига тенг. Шу таккослашда 2та белги (Ше) иштирок этади.Бу таккослаш натижаси .Т.-ростдир.Агар биз шартни чап ва унг томонларини алмаштирсак
'Ше'='Шерзод'
у холда натижа .F.-ёлгон булади,яьни таккослашда энди 6та белги иштирок этаяпти.Текшириш 3 белгига утганда,2та тенг кийматни бирига учинчи белгини кушиш уни каттага айлантириш коидасига асосан бир киймат 2-сидан катта булади.
Ю 3корида 0 3 келтирилган 0 dBase - 3да белгили кийматларини таккослаш бир мунча кулайликлар тугдиради.Масалан маълумотлар белгили майдон кийматлари буйича кидирилганда уларнинг киймат белгилари тулалигича эмас, балки энг кам (зарур булган дастлабки) белгиларни бериш билан амалга ошириш мумкин. Бу хол эса куплаб излашларни бажариш учун имкон ярата-ди.Масалан
FАMк'C'
шарти маълумотлар туплами барча ёзувларининг FAM майдонида сакланаётган "С"харфидан бошланувчи фамилиялар учун рост булади.
EXACT ON ва EXACT OFF холатларида белгили кийматларни
таккослаш амаллари 1 расмда келтирилган. Белгили катор усул + белги билан курсатиладиган уланиш амалини куллаш мумкин.Мисол учун
.?'Иванов'+' С.'+'А.' натижаси
Иванов С.А.
_________________________________________________
¦.? 'ABCDE'к'ABCDE' ¦
¦.T. ¦
¦.? 'Abcde'>'ABCDE' ¦
¦.T. ¦
¦.? '12345'>'ABCDE' ¦
¦.F. ¦
¦.? 'ABCDE'<'ABCDEI' ¦
¦.T. ¦
¦.? '121'<'125' ¦
¦.T. ¦
¦.? '12'<'115' ¦
¦.F. ¦
¦.? 'ABCDE'к'AB' ¦
¦.T. ¦
¦.? 'AB'к'ABCDE' ¦
¦.F. ¦
¦.SET EXACT ON ¦
¦.? 'ABCDE'к'AB' ¦
¦.F. ¦
¦.? 'ABCDE'>'AB' ¦
¦.T. ¦
¦_______________________________________________¦
1-РАСМ
Келтирилган мисолда _ белгилаш "бушлик" белгисидир .
Уланиш амалининг натижаси хамма белгилар ифодага кай тартибда кирган булса.шу тартибда уланадиган белгили кийматларнинг хамма белгиларига эга булган белган катор булади.Белгили ифодаларга узгармаслар билан бир каторда,узгарувчилар ва аввалдан олинган МТи жорий ёзувларнинг белгили майдонлар номларини киритиш мумкин. 2-расмнинг охирида келтирилган мисолда, майдонда сакланаётган физика бахосининг сонли киймати,STR функцияси ёрдамида белгига айлантирилган.Белгили кийматни кайта ишлаш учун махсус функциялардан куп фойдаланилади.
_______________________________________________
¦.NAME к 'Полина' ¦
¦Полина ¦
¦.DR к '2 августа' ¦
¦2 августа ¦
¦.? NAME + '-'+DR ¦
¦Полина- 2 августа ¦
¦. ¦
¦.USE TALABA ¦
¦.? FAM+ISM+OISM ¦
¦Ахмедова Азиза Ахмедовна ¦
¦. GOTO 5 ¦
¦.? FAM+' физикадан'+STR(FIZ,1)+'бахоли' ¦
¦Ахмедова физикадан 3 бахоли ¦
¦. ¦
¦_____________________________________________¦
2-расм
LEN функцияси аргумент сифатида берилган белгили каторлар узунлигини аниклашга имкон беради.LEN функцияси натижаси аргумент-каторга кирувчи белгилар микдорини курсатувчи сондир. 3-расмда функциядан фойдаланишга мисоллар курсатилган.
______________________________________________________________
¦.? LEN ('COMPUTER') ¦
¦ 8 ¦
¦.Aк'' ¦
¦.? LEN (A) ¦
¦ 0 ¦
¦.Bк' ' ¦
¦.? LEN (B) ¦
¦ 2 ¦
¦.Cк'EC-1842' ¦
¦ EC-1842 ¦
¦.? LEN (C) ¦
¦ 7 ¦
¦.? LEN ('COMPUTER'+B+C) ¦
¦ 17 ¦
¦.USE TALABA ¦
¦.? LEN (FAM) ¦
¦ 18 ¦
¦____________________________________________________________¦
3-pacm
TRIM функцияси белгили каторлардан "думдаги" буш жойларни
четлаштиради.4-расмда функцияни куллаш курсатилган.
______________________________________________________________
¦.USE TALABA ¦
¦.? FAM+ISM+OISM ¦
¦ Ахмедова Азиза Ахмедовна ¦
¦. ¦
¦.? TRIM (FAM)+' '+TRIM (ISM)+' '+OISM ¦
¦ Ахмедова Азиза Ахмедовна ¦
¦____________________________________________________________¦
4-pacm
SUBSTR функцияси М номерли белгидан бошлаб (аргумент 2) L узунлигидаги белгилар ост каторини узунликни (аргумент 3) ар-гумент-катордан аргумент 1 ажратишга имкон беради.
SUBSTR (<катор>,M,L) 5 расмда SUBSTR функциясининг каторли ажратишни бажарилиши схема симон килиб курсатилган. 6 расмда функцияни ишлатиш мисоллари курсатилган.
АТ функцияси катор остидаги (аргумент 1)ни (аргумент 2)га киритишни аниклашга ёрдам беради.
______________________________________________________________
¦.USE TALABA ¦
¦.2 ¦
¦.DISP FAM,ISM,OISM ¦
¦ Record# FAM ISM OISM ¦
¦ 2 Равилов Шовкат Мугавеевич ¦
¦.F_IкTRIM(FAM)+' '+SUBSTR(ISM,1,1)+'.'+SUBSTR(OISM,1,1)+'.' ¦
¦ Равилов Ш.М. ¦
¦____________________________________________________________¦
6-РACM
АТ функцияси.Функция куйидаги куринишга эга:
AT (<ост катор>,<катор>)
АТ функцияси катор (арг1)ни,катор (арг2)га киритишни аниклашга ёрдам беради.Функция натижаси.бериган ост катор мос келган,2-катор булаги энг четки чап белгини тартиб раками булади (7-расм).
______________________________________________________________
¦ ¦
¦ .Aк А З И З ¦
¦ ¦
¦ 1 2 3 4 5 6 7 8 9 . . ¦
¦ .Вк О Д А М Л А Р - А З И З ¦
¦ ¦
¦ .? AT (A,B) ¦
¦ 9 ¦
¦____________________________________________________________¦
6-PACM
7 расмда АТ функцияси ишлатилишига мисоллар курсатилган.Мисоллардан куриниб турибдики. агар белгининг биринчи катори иккинчи каторга бир неча мартта кирса,у холда АТ функция натижаси белгиларнинг мос тушувчи биринчи группасини жойлашганлигини курсатувчи сон.Белгилар мос тушувчи топилмаса,у холда АТ функцияси натижаси 0 га тенг.АТ функцияси кидирув шартларида ишлатилиши мумкин.Масалан,шарт
АТ ("C",FAM)
______________________________________________________________
¦.? AT('M','COMPUTATION') ¦
¦ 3 ¦
¦.STк'COMPUTATION' ¦
¦ COMPUTATION ¦
¦.? AT('C',ST) ¦
¦ 1 ¦
¦.? AT('C1',ST) ¦
¦ 8 ¦
¦.? AT('ST',ST) ¦
¦ 0 ¦
¦____________________________________________________________¦
7-PACM
АТ ("С",FM)
С харфидан бошланган FM майдонидаги сакланаётган фамилияларнинг хамма ёзуви учун рост булади.
UPPER функцияси кичик харифлардаги берилганларни босма харфлига айлантиришга имкон беради
.? UPPER ("Ахмедов")
АХМЕДОВ
. А к Тошкент
. UPPER (A)
ТОШКЕНТ
UPPER функциясини яна бир имкони борки,у кидирилаётган кийматни берилганлар базасида кайси харф билан ёзилишини билмаган холатда шартни кидиришга имкон беради.Мисол учун Иванов "ИВАНОВ" ёки "иванов" холатида ёзилган булиши мумкин.Кидириш шартини куйидаги холатда берсак
. LOCATE FOR APRER (FAM) к"Ахмедов"
FAM майдонида 3 хил куринишнинг хохлаган биридан ташкил топган булса хам,буйрук амалга оширилади,яъни топилади.
LOWER функцияси APRER функциясига карама-карши.
У босма харфдаги ёзилганларни ёзма килиб кабул килади.
. ? LOWER ("ТОШКЕНТ")
тошкент
. А к "Аа Вв"
Аа Вв
. ? LOWER (A)
аа вв
SPACE функцияси берилган буш жойларнинг хажмига караб белгили кийматларни ташкил килишда ишлатилади.
.? 'H 123456789 K'
H 123456789 K
.? 'H'+SPACE(g)+'K'
H K
Келтирилган 2хил каторли буйрукларнинг бажарилгандаги натижаларини таккослаб.осонгина билиш мумкинки.2-холда SPACE функцияси 9та буш жойдан иборат белгили кийматга мос келади. SPACE функциясини турли хисобот ва справкаларни формировка килишда кулайлик яратади.качонки экранга ёки печатга чакириладиган белгили кийматларга мос буш жой бериш керак.
VAL функцияси сонликларга жавоб берадиган (+),(-),(_)
белгилар ва ракамлардан ташкил топган белгили кийматларни кабул килади 8 расимда VAL фукцияси кулланилиши курсатилган.
VAL фукцияси аргуминти сонли белгидан эмас. Масалан харфлардан ташкил топган булса у холда VAL фукцияси киймати 0 га тенг булади.Ташкил килинган кийматнинг каср кисми экранда курсатилмайди,балки хоирада сакланиб,ташкил килинган сонли киймат катталиги арфметик операсиялар бажарилишида ишлатилади.
______________________________________________________________
¦.? VAL ('CLASS_6') ¦
¦ 0 ¦
¦.A1кVAL ('146') ¦
¦ 146 ¦
¦.B1к'146' ¦
¦ 146 ¦
¦.? A1+15 ¦
¦ 161 ¦
¦.? B1+15 ¦
¦ Data type mismach ¦
¦ ? ¦
¦.? B1+15 ¦
¦Do you want some help?(Y/N) No ¦
¦.Xк'-146.175' ¦
¦-146.175 ¦
¦.? VAR(X) ¦
¦ -146 ¦
¦.? 0.000+VAL(X) ¦
¦ -146.175 ¦
¦.? 0.00+VAL(X) ¦
¦ -146.18 ¦
¦____________________________________________________________¦
8-PACM
VAL функцияси узининг хизматига караб STP фукциясига
карама каршидир .( 4.2 кара)
9-расмда KARTUCH белгили мйдонларни берилганлар базаси кайта ишлаш курсатилган.Курилаётган мисолда REPLACE буйруги
F_I- "Фамилия и инициалу" майдон кийматини формировка килади.
FM,IM ва OT белгили майдонларни кайта ишлаш натижалари,F_I майдон кийматини формировка килиш максадида LIST буйруги билан курсатилади.Бунда укувчиларнинг ботаника ва географиядан олган бахолари экранга чикади.
______________________________________________
¦ ¦
¦ . FM к И в а н о в ¦
¦ ¦
¦ .? TRIM(FM) ¦
¦ ¦
¦ И в а н о в ¦
¦____________________________________________¦
10-расм
_______________________________________________
¦.USE KARTUCH ¦
¦.REPLASE ALL F_I WI TH TRIM(FM)+''+; ¦
¦ SUBSTR(IM,1,1)+'.'+SUBSTR(OT,1,1)+'.' ¦
¦.LIST F_I,BOT,GEO ¦
¦Record# F_I BOT GEO ¦
¦ 1 Иванов С.И. 5 4 ¦
¦ 2 Астафьев В.В. 5 5 ¦
¦ 3 Борисов С.И. 4 4 ¦
¦ 4 Козлов А.П. 4 3 ¦
¦ 5 Мельникова Т.И. 5 4 ¦
¦ 6 Власова Е.М. 5 5 ¦
¦. ¦
¦______________________________________________¦
9-расм
_________________________________________________
¦ ¦
¦ 1 2 3 4 5 6 7 8 9 . . ¦
¦.Bк у ч е н ь е - с в е т ¦
¦ ¦
¦.? SUBSTR(B,8,4) ¦
¦ свет ¦
¦________________________________________________¦
11-расм
Сонли ва санали малумотларни кайта ишлаш.
Кайта ишлаш аммалларини DATA туридаги кийматларга куллаш натижасида улар белгили куринишга айлантирилиши мумкин;ой тартиб ракамига караб унинг номи келиб чикиши мумкин,берилган сана буйича хафта кунининг номи ва х.з. Бу ва бошка саналарни кайта ишлаш аммалари куйида куриб чикиладиган махсус функциялар оркали амалга оширилади.
CTOD функцияси DATA туридаги кийматни белгили кийматга айлантириш учун мулжалланган:
.? CTOD (01/01/20)
01/01/90
Кавсларда курсатиладиган функция аргументи сананинг кавсга ёки аппострофга олинган мм/дд/гг - мм ой тартиб раками,дд ой куни,гг йилнинг охирги 2та ракамини билдирувчи – форматда ёзилган сананинг белгили каторини акс эттиради.
DATE() функцияси компютерга амалий тизим юкланган вактдаги сананинг кийматини олишга ёрдам беради:
.? DATA ()
04/15/90
CTOD ва DATE функциялари кийматлари DATA туридаги узгармаслар деб каралиши мумкин.dBASE-3 да DATA туридаги яна узгармасларни беришнинг имкониятлари йук.Агар куйидагини киритишга харакат килинса:
.? 01/01/90
у холда экраннинг кейинги каторида 0,01 киймат чикади,бу
01/01/80 белгилар кетма-кетлигининг тизим томонидан сонли уз-
гармас каби кабул килганлигини курсатади.
DATA туридаги ифодалар узгарувчиларги хам узлаштирилиши мумкин.(1-расм)
______________________________
¦. AкCTOD(01/01/90) ¦
¦01/01/90 ¦
¦. STORE 04/16/90 TO B ¦
¦04/16/90 ¦
¦.? A ¦
¦01/01/90 ¦
¦.? B ¦
¦04/16/90 ¦
¦. ¦
¦____________________________¦
1-расм
DATA туридаги узгармас ва узгарувчиларга, тизим томонидан кунларнинг санасидек интерпретацияланувчи, бутун сон "кушилиши" мумкин.Сана ва куннинг кушилиши натижасида оркада булган дастлабкидан мос кунлар сонига янги сана хосил булади.(2-расм)
_______________________________________
¦.? CTOD (01/05/90)+15 ¦
¦01/20/90 ¦
¦.? DATE () ¦
¦04/15/90 ¦
¦.? DATE ()+100 ¦
¦07/24/90 ¦
¦.Cк11/07/17 ¦
¦11/07/17 ¦
¦.? Cк20000 ¦
¦Date tyme mismatch ¦
¦.? C+20000 ? ¦
¦Do you want some help ? (Y/N) NO ¦
¦.? CTOD (C)+20000 ¦
¦08/10/72 ¦
¦. ¦
¦_____________________________________¦
2-расм
2-расмдаги мисолларда сананинг белгили турини билдирувчи С узгарувчига сон кушишга харакат,тизим томонидан нотугри берилганлар тури деб талкин килинишига эътибор беринг.
Саналар узаро тенглаштирилишлари. Бу холда энг сунггиси "катта" хисобланади.3-расмда мантикий шартлар мисоли келтирилган.Улар мантикий муносабат аммаларини саналарга куллашни ахамиятини тушунтириб беради:катта(>),кичкина(<),тенг(к) ва бошкалар.Рост шартлар натижаси -.Т,ёлгон шарт натижаси -.F. 4-расмдаги мисолларни тахлил килганда,04/16/90 куринишидаги "дата узгармасларини" бериб булмаслигига яна бир бор эътибор беринг.
4-расмда берилган мантикий муносабатлар берилганларни танлаш ва излаш шартларида кулланиши мумкин.
5-расмда ANKETA маълумотлар туплами учун DATA киймат турини FOR опцияси,LIST ва LOCATE буйрукларининг мантикий ифодаларида куллаш мисоллари келтирилган, LOCATE буйругида иккита оддий,улардан бири текширишни ва укувчининг тугилган санасига
караб танлашни амалга оширадигин мураккаб излаш шартлари фойдаланилган.
______________________________________
¦. D=04/14/90 ¦
¦04/14/90 ¦
¦.? DATE () ¦
¦.? DATE ()>CTOD(D) ¦
¦.T. ¦
¦.? DATE ()к DATE () ¦
¦.T. ¦
¦.? DATE ()<04/16/90 ¦
¦Date tyme mismatch ¦
¦ ? ¦
¦.? DATE ()<04/16/90 ¦
¦Do you want some help ? (Y/N) NO ¦
¦.? DATE ()
¦.T. ¦
¦.? A ¦
¦01/01/90 ¦
¦.? DATE ()<к A ¦
¦.F. ¦
¦. ¦
¦____________________________________¦
4-расм
____________________________________________________________
¦.USE ANKETA ¦
¦.LIST FM,DR ¦
¦Record# FM DR ¦
¦ 1 Иванов 11/02/78 ¦
¦ 2 Астафьев 01/23/78 ¦
¦ 3 Борисов 12/04/79 ¦
¦ 4 Козлов 08/24/79 ¦
¦ 5 Мельникова 05/21/78 ¦
¦ 6 Власов 04/26/79 ¦
¦.LIST FM,DR FOR DR
¦Record# FM DR ¦
¦ 1 Иванов 11/02/78 ¦
¦ 2 Астафьев 01/23/78 ¦
¦ 5 Мельникова 05/21/78 ¦
¦.LOCATE FOR POLкж.AND.DR>кCTOD(01/01/79) ¦
¦Record к 6 ¦
¦.DISP FM,DR ¦
¦Record# FM DR ¦
¦ 6 Власова 04/26/79 ¦
¦___________________________________________________________¦
5-расм
dBASEдан фойдаланувчи DATA туридаги кийматларни кайта ишлаш
имкониятларини кенгайтирувчи,юкорида курилганлардан бошка,бир
нечта функциялардан фойдаланиши мумкин.
CDOW функцияси берилган сана учун хафта кунининг белгили
кийматини ташкил килади.
DOW функциясининг натижасида хафта кунининг бир неча
давлатларда кабул килинган сонли тартиб киймат ракам хосил
булади.
Якшанба - 1,
Душанба - 2,
ва хокозо.
DOW функцясини куллашга мисоллар 6(б) расмда келтирилган.
DAY функцияси берилган санадан ой куни (кк)ни курсатувчи белгиларни ажратиб,уларни ракамли кийматга айлантиради (6(в)-рассм)
CMONTH функцияси берилган сана учун ой номининг белгили кийматини ташкил килади.(7(б)-расм)
MONTH функцияси йилдаги ой тартиб ракамини сон кийматини ташкил килади.
YEAR функцияси берилган санадаги йилнинг охирги 2 белгисини (йй) ажратади ва 19йй форматдаги йилнинг ракамли кийматини ташкил килади.(7(в)-расм)
________________________________
а)¦.? DATE () ¦
¦04/15/90 ¦
¦.? CDOW(DATE()) ¦
¦ Sunday ¦
¦.? CDOW(CTOD(01/01/91)) ¦
¦ Tuesday ¦
¦.B=CTOD(04/16/90) ¦
¦04/16/90 ¦
¦.? CDOW(B) ¦
¦ Monday ¦
¦.? CDOW(B+17) ¦
¦Thursday ¦
¦. ¦
¦______________________________¦
______________________________
б) ¦.? DOW (DATE()) ¦
¦1 ¦
¦.? DOW (B) ¦
¦2 ¦
¦.? DOW (B+17) ¦
¦5 ¦
¦. ¦
¦____________________________¦
______________________________
в)¦.? DAY (DATE()) ¦
¦15 ¦
¦.? DAY (DATE()+24) ¦
¦9 ¦
¦.? DAY(B) ¦
¦16 ¦
¦.? DAY(B+24) ¦
¦10 ¦
¦. ¦
¦____________________________¦
5-расм
____________________________________________________
¦ __________________________ ¦
¦ ¦.? DATE() ¦а) ¦
¦ ¦04/15/90 ¦ ¦
¦ ¦.? CMONTH(DATE()) ¦ ¦
¦ ¦April ¦ ¦
¦ ¦.? CMONTH (DATE()+236) ¦ ¦
¦ ¦December ¦ ¦
¦ ¦. ¦ ¦
¦ ¦________________________¦ ¦
¦ __________________________ ¦
¦ ¦.? MONTH(DATE()) ¦б) ¦
¦ ¦ 4 ¦ ¦
¦ ¦.? MONTH (DATE()+236) ¦ ¦
¦ ¦ 12 ¦ ¦
¦ ¦. ¦ ¦
¦ ¦________________________¦ ¦
¦ ¦
¦ __________________________ ¦
¦ ¦.?YEAR (DATE( )) ¦в) ¦
¦ ¦ 1990 ¦ ¦
¦ ¦.?YEAR (DATE( )+2000) ¦ ¦
¦ ¦ 1995 ¦ ¦
¦ ¦.?YEAR (DATE( ))+15 ¦ ¦
¦ ¦ 2005 ¦ ¦
¦ ¦. ¦ ¦
¦ ¦________________________¦ ¦
¦__________________________________________________¦
5-расм
DTOC функцияси CTOD функцияси бажарадиган ишига карама-карши. Бу функция DATA турида берилган кийматни белгили куринишга келтирилади.(6-расм)
___________________________________________________
¦.? DTOC (DATE())+ -дата ¦
¦ ¦
¦ 04/15/90-дата ¦
¦.USE KARTUCH ¦
¦.Fк"Мельникова" ¦
¦ Мельникова ¦
¦ .LOCATE FOR FMкF ¦
¦ RECORDк5 ¦
¦ .TкF+":"+"дата рождения"+DTOC(DR) ¦
¦ Мельникова:дата рождения-05/21/78 ¦
¦ ¦
¦__________________________________________________¦ ¦
6-расм
Куриб чикилган функциялар dBASE воситаларини ташкил килади.Булар DATA туридаги берилганларни амалда кайта ишлашдаги
хохлаган мисолларни ечишда етарлидир.Натижаси белгили булган, саналарни кайта ишлаш функциялари купинча матнли ахборотлар ва маълумотларни шакллантириш ва босиб чикаришда ишлатилади.
DAY,MONTH,YEAR функцияларнинг натижаси булган сонли ифодалар,математик кайта ишлашларда учраши мумкин.STR ва CTOD
функциялар ёрдамида олинган йил,ой,кунларнинг янги ракамли кийматлари кайтатдан DATA туридаги белгиларга айлантирилиши мумкин.
REPLACE буйруги ёрдамида сананинг хисобланган кийматлари МТИ ёзувларининг DATA туридаги майдониларга саклаш учун жойланиши мумкин. Хулосада берилганлар тупламини DATA туридаги майдонлар буйича курсаткичлашнинг хусусиятларини куриб чикамиз.3.3да курсаткичлашнинг факат белгили кийматларда бажарилиши хакида айтилган эди. Шунинг учун,масалан,ANKETA берилганлар базасини ТS-"Тугилган
сана" майдони буйича курсаткичлаш учун ТS майдонини белгили кийматга айлантириш керак.Лекин,санани оддий йул билан,DTOC
функцияси ёрдамида (7-расм),белгили кийматга айлантириш, хохланган натижага олиб келмайди.Бу холда саналарни солиштириш, белгили берилганлар муносабатларида кулланиладиган, коидалар оркали амалга оширилади. Шунинг учун, LIST буйруги билан олинган руйхатда биринчи булиб тугилган йилига боглик булмасдан январда тугилган кимса туради, ундан кейин апрелда ва х.з. ____________________________________________________
¦.USE ANKETA ¦ ¦
¦.INDEX TO ANK DR ON DTOC(DR) ¦
¦ 6 records indexed ¦
¦.LIST FM,DR ¦
¦Record # FM DR ¦
¦ 2 Астафьев 01/23/78 ¦
¦ 6 Власова 04/26/79 ¦
¦ 5 Мельникова 05/21/78 ¦
¦ 4 Козлов 08/24/79 ¦
¦ 1 Иванов 11/02/78 ¦
¦ 3 Борисов 12/04/79 ¦
¦ ¦
¦__________________________________________________¦
7-расм
Тартиблашни тугри бажаришга тугилган йилни билдирувчи 2 соннинг санани ифодалашнинг,оо/кк/йй стандарт форматининг охирида туришлиги халакит беради.Шунинг учун,тартиблашдан аввал DATA туридаги кийматни,биринчи уринда йил ракамлари,кейин ойнинг 2 раками ва охирида куннинг 2 раками турган белгили каторга айлантириб олиш керак.
8-расмда ANKETA берилганлар тупламини жорий ёзувлари учун шундай кийматларни олишнинг 2 имконияти курсатилган.Улардан биттаси куйидагига ухшайди:
STR(YEAR(TS)+STR(MONTH(DR))+STR(DAY(DR))
бошкаси эса -
STR (YEAR (DR),4)+STR(MONTH(DR),2+STR(DAY(DR),2)
____________________________________________________
¦. USE ANKETA ¦
¦.AкSTR(YEAR(DR)) ¦
¦ 1979 ¦
¦.BкSTR(MONTH(DR)) ¦
¦ 11 ¦
¦.CкSTR(DAY(DR)) ¦
¦.?A+B+C ¦
¦ 1978 11 ¦
¦.AкSTR(YEAR(DR),4) ¦
¦1978 ¦
¦.BкSTR(MONTH(DR),2) ¦
¦11 ¦
¦.CкSTR(DAY(DR),2) ¦
¦2 ¦
¦.?A+B+C ¦
¦1978 11 2 ¦
¦. ¦
¦__________________________________________________¦
8-расм
Берилганлар базасини DR майдон буйича ON опциясида кур-
саткичлашда келтирилган ифодалардан факат иккинчиси-
ни куллаш мумкин .2 ифоданинг биринчидан фарки:хар бир STR функци-
яси оркали айлантирилган киймат олиб келади.Тасвирлаб бирилганидек,STR функциясининг узунлигини курсатувчисиз ишлатиш кенг таркалган хатолик хисобланади. Шунинг учун бунга этибор беринг.
9-расимда ANKETA берилганлар базасини "тугилган сана" буйича индексировка килишни тўєри буйруєи кўрсатилган ва яна экранга индексировкадан кейин чикадиган берилганлар базасининг ёзувлари чикади. Расмдан кўриниб турибдики .ёзувлар катнашчиларнинг "ўсиб бориш" тартибида киритилади .
______________________________________________________
¦.USE ANKETA ¦
¦.INDEX TO ANK DR ON STR(YEAR(DR),4+STR(MONTH(DR),2)+;¦
¦ STR(DAY(DR),2) ¦
¦ 6 Records indexed ¦
¦.LIST FM,DR ¦
¦Record # FM DR ¦
¦ 2 Астафьев 01/23/78 ¦
¦ 5 Мельникова 05/21/78 ¦
¦ 1 Иванов 11/02/78 ¦
¦ 6 Власова 04/26/79 ¦
¦ 4 Козлов 08/24/79 ¦
¦ 3 Борисов 12/04/79 ¦
¦. ¦
¦_____________________________________________________¦
9-расм
10-расмда FIND ва SEEK буйрукларининг ишлатилишига доир мисоллар бор.Бу буйруїлар DR-"туєулган сана" майдонли ифоданинг индиксация килинган. ANKETA берилганлар базаси кидирув ташкил килади. Этибор беринг."кун" ва "ой" ифодалари доим икки белги билан ифодаланиши лозим,
агар.кун ёки ой ифодасини номери 1 ракам билан берилса.у холда кидирувда у билан "пробел" белгиси бирга юриши лозим. Колган хамма вари-
антлар (1та раїам .0 билан раїам вхк) "NO FIND" (топилмади)га олиб келади.
_______________________________________________________
а) ¦.USE AN KE TA IN DEX ANK_DR ¦
¦.FIND 1978112 ¦
¦No find ¦
¦.FIND 197811 2 ¦
¦.DISP FM,DR ¦
¦Record # FM DR ¦
¦ 1 Иванов 11/02/78 ¦
¦.GOTO TOP ¦
¦.FIND 1979 426 ¦
¦.DISP FM,DR ¦
¦Record# FM DR ¦
¦ 6 Власова 04/26/79 ¦
¦. ¦
¦_____________________________________________________¦
____________________________________________________
б) ¦.GOTO TOP ¦
¦.SEEK '1978'+'11'+'2' ¦
¦No find ¦
¦.SEEK '1978'+'11'+'2' ¦
¦.DISP FM,DR ¦
¦Record# FM DR ¦
¦ 1 Иванов 11/02/78 ¦
¦. ¦
¦__________________________________________________¦
10-расм
___________________________________________________
¦.? DTOC (DATE())+ -дата ¦
¦ ¦
¦ 04/15/90-дата ¦
¦.USE KARTUCH ¦
¦.Fк"Мельникова" ¦
¦ Мельникова ¦
¦ .LOCATE FOR FMкF ¦
¦ RECORDк5 ¦
¦ .TкF+":"+"дата рождения"+DTOC(DR) ¦
¦ Мельникова:дата рождения-05/21/78 ¦
¦ ¦
¦__________________________________________________¦ ¦
6-расм
____________________________________________________
¦.USE ANKETA ¦ ¦
¦.INDEX TO ANK DR ON DTOC(DR) ¦
¦ 6 records indexed ¦
¦.LIST FM,DR ¦
¦Record # FM DR ¦
¦ 2 Астафьев 01/23/78 ¦
¦ 6 Власова 04/26/79 ¦
¦ 5 Мельникова 05/21/78 ¦
¦ 4 Козлов 08/24/79 ¦
¦ 1 Иванов 11/02/78 ¦
¦ 3 Борисов 12/04/79 ¦
¦ ¦
¦__________________________________________________¦
7-расм
______________________________________________________
¦.USE ANKETA ¦
¦.INDEX TO ANK DR ON STR(YEAR(DR),4+STR(MONTH(DR),2)+;¦
¦ STR(DAY(DR),2) ¦
¦ 6 Records indexed ¦
¦.LIST FM,DR ¦
¦Record # FM DR ¦
¦ 2 Астафьев 01/23/78 ¦
¦ 5 Мельникова 05/21/78 ¦
¦ 1 Иванов 11/02/78 ¦
¦ 6 Власова 04/26/79 ¦
¦ 4 Козлов 08/24/79 ¦
¦ 3 Борисов 12/04/79 ¦
¦. ¦
¦_____________________________________________________¦
9-расм
_______________________________________________________
¦.GO TO TOP ¦
¦.SEEK "1978"+"11"+"2" ¦
¦No find ¦
¦.SEEK "1978"+"11"+"2" ¦
¦.DISP FM,DR ¦
¦Record # FM DR ¦
¦ 1 Иванов 11/02/78 ¦
¦. ¦
¦_____________________________________________________¦
10-расм(б)
____________________________________________________
¦. USE ANKETA ¦
¦.A=STR(YEAR(DR)) ¦
¦ 1979 ¦
¦.B=STR(MONTH(DR)) ¦
¦ 11 ¦
¦.C=STR(DAY(DR)) ¦
¦.?A+B+C ¦
¦ 1978 11 ¦
¦.A=STR(YEAR(DR),4) ¦
¦1978 ¦
¦.B=STR(MONTH(DR),2) ¦
¦11 ¦
¦.C=STR(DAY(DR),2) ¦
¦2 ¦
¦.?A+B+C ¦
¦1978 11 2 ¦
¦. ¦
¦__________________________________________________¦
8-расм
____________________________________________________
¦ __________________________ ¦
¦ ¦.? DATE() ¦а) ¦
¦ ¦04/15/90 ¦ ¦
¦ ¦.? CMONTH(DATE()) ¦ ¦
¦ ¦April ¦ ¦
¦ ¦.? CMONTH (DATE()+236) ¦ ¦
¦ ¦December ¦ ¦
¦ ¦. ¦ ¦
¦ ¦________________________¦ ¦
¦ __________________________ ¦
¦ ¦.? MONTH(DATE()) ¦б) ¦
¦ ¦ 4 ¦ ¦
¦ ¦.? MONTH (DATE()+236) ¦ ¦
¦ ¦ 12 ¦ ¦
¦ ¦. ¦ ¦
¦ ¦________________________¦ ¦
¦ ¦
¦ __________________________ ¦
¦ ¦.?YEAR (DATE( )) ¦в) ¦
¦ ¦ 1990 ¦ ¦
¦ ¦.?YEAR (DATE( )+2000) ¦ ¦
¦ ¦ 1995 ¦ ¦
¦ ¦.?YEAR (DATE( ))+15 ¦ ¦
¦ ¦ 2005 ¦ ¦
¦ ¦. ¦ ¦
¦ ¦________________________¦ ¦
¦__________________________________________________¦
5-расм
_____________________________________________________________
¦.USE ANKETA ¦
¦.LIST FM,DR ¦
¦Record# FM DR ¦
¦ 1 Иванов 11/02/78 ¦
¦ 2 Астафьев 01/23/78 ¦
¦ 3 Борисов 12/04/79 ¦
¦ 4 Козлов 08/24/79 ¦
¦ 5 Мельникова 05/21/78 ¦
¦ 6 Власов 04/26/79 ¦
¦.LIST FM,DR FOR DR
¦Record# FM DR ¦
¦ 1 Иванов 11/02/78 ¦
¦ 2 Астафьев 01/23/78 ¦
¦ 5 Мельникова 05/21/78 ¦
¦.LOCATE FOR POLкж.AND.DR>кCTOD(01/01/79) ¦
¦Record к 6 ¦
¦.DISP FM,DR ¦
¦Record# FM DR ¦
¦ 6 Власова 04/26/79 ¦
¦___________________________________________________________¦
3-расм
________________________________
а)¦.? DATE () ¦
¦04/15/90 ¦
¦.? CDOW(DATE()) ¦
¦ Sunday ¦
¦.? CDOW(CTOD(01/01/91)) ¦
¦ Tuesday ¦
¦.B=CTOD(04/16/90) ¦
¦04/16/90 ¦
¦.? CDOW(B) ¦
¦ Monday ¦
¦.? CDOW(B+17) ¦
¦Thursday ¦
¦. ¦
¦______________________________¦
______________________________
б) ¦.? DOW (DATE()) ¦
¦1 ¦
¦.? DOW (B) ¦
¦2 ¦
¦.? DOW (B+17) ¦
¦5 ¦
¦. ¦
¦____________________________¦
______________________________
в)¦.? DAY (DATE()) ¦
¦15 ¦
¦.? DAY (DATE()+24) ¦
¦9 ¦
¦.? DAY(B) ¦
¦16 ¦
¦.? DAY(B+24) ¦
¦10 ¦
¦. ¦
¦____________________________¦
4-расм
______________________________
¦
REPLACE буйруги
Берилганларни кайта ишлаш натижалари узгарувчиларнинг кийматлари каби сакланиши мумкин ва кейинчалик хар хил маълумот ва хисоботлар тайёрлашда ишлатилиши мумкин. Бу билан бирга амалий масалаларда берилганларни кайта ишлаш максадли купинча ёзувларнинг айрим майдон кийматлари устида àð õèë àìàëëàð áàæàðèø áèëàí êуïèí÷à àââàë áуø колган ва х.з майдонларга киймат бериш холда хисоблашдан иборат булади.
Replace (алмаштириш) буйруги МТи майдон кийматларини кайта ишлаш ва уларга янги киймат беришни бирга олиб боришни куйлайлаштирувчи восита хисобланади.
<ифода> -хисоблаш натижасида узгартириладиган майдон янги киймат беради, ифода тури ва узунлиги Мти тавсияномасида берилган узгартирилаётган майдон тури ва узунлигига мос булиши керак.
Бу холда REPLACE буйруги билан килинаётган узгартиришлар FOR опциясидаги шарт рост .Т. булган хамма ёзувлар учун бажарилади.
Replace буйругининг умумий куриниши куйидагича:
Replace [<чегараловчи>] <майдон номи>WITH <ифода>
[<майдон номи> WITH <ифода>...,]
бу ерда <чегараловчи>-узгартиришлар киритиш мумкин булган ёзувларни курсатишга имкон берувчи опция: бу N-(RECORD N) ратриб ракамли ёзув булиши мумкин, кейингилари жорийдан бошлаб N та ёзув (NEXT N) ёки барча ёзувлар (ALL); <майдон номи> киймати алмахтириладиган майдонни курсатади.
Replace буйруги FOR <шарт> опцияси билан тулдирилиши мумкин.
Агар на FOR опцияси, на <чегараловчи> опцияси курсатилмаган булса REPLACE буйруги факатгина жорий ёзувга узгариш киритади.
REPLACE буйругида бир неча майдон кийматга узгартириш имконини берувчи бир неча жуфт <майдон номи> курсатилган булиши мумкин. Уларнинг сони 254 белгидан ошик булмаган буйрук узунлиги билан чегараланган.
REPLACE буйругини VRZP-“ойлик таркатиш варакаси” берилганлар базасини кайта ишлаш мисолида курамиз. 1- бобидаги машкни бажариш боскичида ташкил килиш керак булган VRZP берилганлар базасининг тавсияномаси ва ёзувларини босиб чикариш 4.8 расмда келтирилган. Расмдан куриниб турибдики: NV-“хамма саналган”:ZP-“ойлик”:PR-”мукофот”:AV-“аванс”-берилганлар базаси майдонининг бир кисми тулдирилган. Колган майдон киймати: PN”даромад солиги”:VV-“хаммасидан олинган” SV-“бериладиган сумма”- булар куйидаги формулалар билан хисобланиши керак:
NVкZP+PR
PN-100*0.08+(NV-100)*0.13
VVкAV+PN
SVкNV-VV
.DISP STRU
Structure for database:a:vrzp.dbf
Number of data records:
Data of update: 01/01/80
Field Field name Type Width Dec
1 fi Character 12
2 nv Numeric 6 2
3 zp Numeric 6 2
4 pr Numeric 6 2
5 vv Numeric 6 2
6 av Numeric 6 2
7 pn Numeric 6 2
8 sv Numeric 6 2
** Total**
.list
Record# FI NV ZP PR VV AV PN SV
1 Аббосов П.Т. 0.00 200.00 50.00 0.00 80.00 0.00 0.00
2 Бегимов П.М. 0.00 187.00 40.00 0.00 75.00 0.00 0.00
3 Ворий Н.М. 0.00 245.00 75.00 0.00 120.00 0.00 0.00
4 Тошев Д.И. 0.00 145.00 50.00 0.00 60.00 0.00 0.00
5 Ильёсов Н.М. 0.00 200.00 50.00 0.00 120.00 0.00 .00
|
|
4.8-расм
“Даромад солигини хисоблашни билмайдиганлар учун тушунтирамиз, у 1991 йил 100 сумнинг 8% ва колган ойликдан 13% ташкил килган. Даромад солигининг хисоб китоби бу ерда хисобга олинмаган.
4.9 расмда REPLACE буйругининг NV-“хаммаси саналган” майдон кийматини хисоблашни ва унинг бажарилиш натижаларини таъминлаш курсатилган.
.USE VRZP
.REPLACE ALL NV WITH ZP+PR
5 records replased
.list FI, NV, ZP, PR
Record# FI NV ZP PR
1 Аббосов П.Т. 250.00 200.00 50.00
2 Бегимов П.М. 227.00 187.00 40.00
3 Ворий Н.М. 320.00 245.00 75.00
4 Тошев Д.И. 195.00 145.00 50.00
5 ИльёсовН.М. 330.00 200.00 50.00
|
-расм
- расмда REPLACE буйругининг VRZP берилганлар базасини тулдирилмаган майдонларини хисоблашни таъминлаш курсатилган.
Такрорлаш учун саволлар.
1 .МТида берилганларни кайта ишлашда узгармас, узгарувчилар
узлаштириш буйруги тугрисида ахборот беринг (узгармас,ариф.
ифода ном,алифбо,кадам, ном узунлиги).
2. Мти майдонларига янги кийматни бериш ва узгарувчиларни
йукотиш буйрукларини изохлаб беринг
3. DBASE(KARat) МТиБТ си билан ишлаш чогида хотирадаги уз-
гарувчилар руйхатини куриш буйрукини изохлаб бе-
ринг.(memory,display,хотира,узгармаслар,узгарувчилар, тоифа).
МТи майдон кийматларини кайта ишлаш ва янги киймат бериш
учун кайси буйрукдан фойдаланишини мисол билан изохланг
(replace, with, чегараловчи, майдон номи, ифода).
Мтида майдон кийматларининг уртачасини хисоблаш буйругини
мисол билан изохланг. (average, майдон номлари руйхати, for, че-
гараловчи, шарт,to, узгарувчилар руйхати).
МТи сонли майдон кийматларининг йигиндисини хисоблашни
мисол ердамида тушунтуриб беринг (чегараловчи,for, to, узгарув-
чилар руйхаити, SUM, майдонлар номи руйхати).
МТидаги берилган езувлар шартни каноатлантирувчи езувлар
микдорини хисоблаш ва узгарувчиларга узлаштиришни ташкил этади-
ган буйрукни мисол билан изохланг (чегараловчи, шарт, for, to,
узгарувчи, синов).
МТида сонли берилганларни кайта ишлашда кулланиладиган
амаллар, математик функцияларни, арифметик ифодаларни изохланг.
9. STR функцияси ишини ойдин мисолларда изохланг (арифметик,
ифода, узунлик, каср кисм, STR).
10. STR функциясининг find, seek, index буйруклари билан ишла-
шини тушунтиринг. (skip).
11. МТида белгили берилганларни кайта ишлаш тугрисида умумий
тушунчалар беринг. (рус, лотин алифбо, ракам, махсус белгилар).
Мти майдонларининг белгили кийматлари устида бажарадиган
len ва trim функциялари ишини ойдин мисолларда тушунтириб беринг.
Substr ва At функциялари ишини ойдин мисолда изохланг.
Upper, lower ва val функциялари ишини мисолларда изохланг.
МТида data туридаги белгиларни кайта ишлашда CTOD, DATE()
функциялари ишлашини ойдин мисолда тушунтириб беринг.
МТида data туридаги белгиларни кайта ишлашда CDOW,DOW,DAY
функциялари ишлашини ойдин мисолда тушунтириб беринг.
МТида data туридаги белгиларни кайта ишлашда
CMONTH,MONTH,YEAR функциялари ишлашини ойдин мисолда тушунтириб беринг.
МТида data туридаги белгиларни кайта ишлашда STR функияcининг month, day, year билан ишлашига мисол келтиринг.
|