Файл: Маълумотлар типи (примитив ва объект) Массивлар Функция ва методлар.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.11.2023

Просмотров: 122

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

МАЪЛУМОТЛАР ТИПИ (ПРИМИТИВ ВА ОБЪЕКТ)

МАССИВЛАР

ФУНКЦИЯ ВА МЕТОДЛАР

Date объекти

SOUND ОБЪЕКТИ ActionScript дастурлаш тилида фойдаланувчига етиб борадиган хар қандай аудиоинформацияни бошқариш мумкин. Бунинг учун Sound объекти методларидан фойдаланиш етарли. Энг аввало объектни ўзини аниқлаш керак:magSound=new Sound ();кўплаб методлар . оператори орқали берилади. Масалан: MagSound.setVolume (75). Қуйида шу объект учун керак бўладиган баъзи функциялар рўйхати келтирилган. attachSound ("soundName"). Филмга кутубхонадан овоз қўшиш. getPan ().-100 ва 100 диопазондаги вақт бўйича баланснинг энг охирги қийматини қайтаради. Чап қисм манфий қийматларни, ўнг қисми эса мусбат қийматларга мос келади. 0 қиймат овоз кучини тенг тақсимланганини англатади. getVolume (). Овоз баландлигини 0 ва 100 интервалда белгилайди. setPan (). Чап ва ўнг калонкалар балансини ўрнатади. -100 ва -1 қиймат ўнг калонка овозининг баландлигини, 1 ва 100 диопазондаги қиймат эса ўнг калонка овозининг баландлигини билдиради. setVolume (). Овоз баландлиги даражасини ўрнатиш учун хизмат қилади. У 0 ва 100 сохада ўзгаради. Умумий холда 100 қиймат ўрнатилган бўлади. startCoff.loop (). Овозни файлдан ўқийди. Унга ушланиш вақтини ва қайтаришлар сонини бериш мумкин. stop (). Ўйнаётган овозни ўзиш учун хизмат қилади. Унда хеч қандай параметр йўқ. FLASH ДАСТУРИНИНГ БИРИКТИРИЛГАН ФУНКЦИЯЛАРИ Flash дастурининг кўпчилик бириктирилган функциялари _global обектининг функцияларидир. Яъни уларни эгасини кўрсатмасдан ихтёрий жойда чақириш мумкин. Аммо математик функцияла бундан мустасно. Бирор математик функцияни чақиришдан олдин Math объекти методини кўрсатиш керак. Math объекти хамма керакли математик функциялар ва константалар жамланган. Қуйида Math объекти константалари келтирилган: Math.E —натурал логарифм асоси (2,718), ёки Эйлера константаси; Math.LN10 — ўнли натурал логарифм (2,302); Math.LN2 — иккили натурал логарифм (0,693); Math.LOG2E — икки асосли е натурал логарифм (1,442); Math.LOG10E — ўн асосли е натурал логарифм (0,434); Math.PI — айлана узунлигини унинг диаметрига нисбати. (пи сони 3,14159); Math.SQRT1_2 - 1/2 дан квадрат илдиз (0,707); Math.SQRT2 — 2 дан квадрат илдиз (1,414). Number типи Flash дастурида битта сонли тип- Number типи мавжуд. Number типи орқали ўзгарувчига хар – қандай сонни:бутун, натурал ва х.к бириктиришимиз мумкин. Number типининг энг юқори ва энг паст чегаралари мавжуд. Уларни Number.MAX_VALUE ва Number.MIN_VALUE константалари орқали аниқланади. Number.MAX_VALUE константаси 1.79769313486231e+308 га ва Number.MIN_VALUE константаси 4.94065645841247e-324 га тенг. Flash дастурида Number типига double стандарт типи хам бирлаштириб юборилган. Бу тип хам бутун сонларни ва хам сузувчи вергулли сонларни хам ўз ичига олади. Double стандарт типи мураккаб хисоб китобларда, натижа юқори даражадаги аниқликда керак бўлганда ишлатилади.Масалан:a = 1/3;trace ("a = 1/3, яъни " + a);trace (" (a*3 == 1) = " + (a*3 == 1))trace (" (a*3 - 1)*Math.pow (2, 52) = " + (a*3 - 1)*Math.pow (2, 52));trace (" (a - 0.333333333333333)*Math.pow (2, 52) = "+ (a - 0.333333333333333)*Math.pow (2, 52));trace (" (a - 0.3333333333333333)*Math.pow (2, 52) = "+ (a - 0.3333333333333333)*Math.pow (2, 52));trace ("");// 1 ни бошқа сонга бўлиб кўрамизb = 1/Math.pow (7, 45);trace ("b = 1/Math.pow (7, 45), то есть " + b);trace (" (b*Math.pow (7, 45) == 1) = " + (b*Math.pow (7, 45) == 1))ва натижага эга бўламиз:a = 1/3, яъни 0.333333333333333(a*3 == 1) = true(a*3 - 1)*Math.pow (2, 52) = 0(a - 0.333333333333333)*Math.pow (2, 52) = 1.5(a - 0.3333333333333333)*Math.pow (2, 52) = 0b = 1/Math.pow (7, 45), то есть 9.34519137233795e-39(b*Math.pow (7, 45) == 1) = true Number типида сон бўлмаган қийматлар хам сақланиши мумкин. Бундай махсус қийматлар учта. Улардан иккитаси чексизликларни англатади. Чексизлилар мусбат чексизлик ва манфий чексизликларга бўлинади. Мусбат чексизликларга Number.MAX_VALUE константасидан катта сонлар, манфий чексизликларга эса Number.MAX_VALUE. -Number.MAX_VALUE дан кичик қийматлар киради. Мусбат чексизлик Number.POSITIVE_INFINITY ва манфий чексизлик Number.NEGATIVE_INFINITY константаларидир. Яна бир сон бўлмаган қиймат бу бирор сонни 0 га бўлганда хосил бўлади. Агар бу қийматлар қаторли ўзгарувчиларга айлантирилса Infinity ва –Infinity кўринишида бўлади:trace ("5/0 = " + 5/0);trace ("-5/0 = " + -5/0);trace ("-5/-0 = " + -5/-0);trace ("-5/Number.MIN_VALUE = " + -5/Number.MIN_VALUE);trace ("-5/-Number.MIN_VALUE = " + -5/-Number.MIN_VALUE);trace ("Math.log (0) = " + Math.log (0));trace ("Math.sqrt (-1) = " + Math.sqrt (-1));натижа:5/0 = Infinity-5/0 = -Infinity-5/-0 = -Infinity-5/Number.MIN_VALUE = -Infinity-5/-Number.MIN_VALUE = InfinityMath.log (0) = -InfinityMath.sqrt (-1) = NaN Учинчи сон бўлмаган қиймат бу Number.NaN дир. NaN-"Not a Number", яъни “Сон эмас”. Бунга юқоридаги мисолни охирги қаторини кўрсатиш мумкин. ТИПЛАР КОНВЕРТАЦИЯСИ ActionScript дастурлаш тили типлашмаган бўлсада типлар билан ишлаш яхши йўлга қўйилган. Бир типни бошқа типга ўгириш (конвертация)ни икки хил- аниқ ва ноаниқ усули мавжуд. Аввал ноаниқ усулини кўриб чиқайлик. “+” оператори билан ўзгарувчиларни қўшаётганимизда (конкатенация) қаторли тип бошқа хамма типлардан устунликка эга бўлади. Яъни автоматик тарзда бошқа типлар қаторли типга аланади. Масалан:trace ( (5 > 7) + 10 + " Қатор ");trace (10 + " Қатор " + (5 > 7));trace (10 - " Қатор " - (5 > 7));консолдан натижани кўрамиз:10 Қатор10 Қатор falseNaNБиринчи қаторда trace операндасидаги сонли ва логик типдаги ўзгарувчилар автоматик тарзда қаторли типга айланди. Қаторлар билан амал бажаришда “-” операторидан фойдаланиш маънога эга эмаслиги учун учинчи қаторда NaN натижаси пайдо бўлди. Логик типлар фақат true ёки false қайтара олгани учун уларни сонли типлага ноаниқ усулда қўшганда true 1га ва false 0 га айланади. Ва аксинча сонли типлар ноаниқ усулда логик типларга айлантирилаётганда хар қандай ноль бўлмаган сон true га ва ноль false га тенглашади. Гохида типларни конвертация қилишда аниқ сулдан фойдаланишга тўғри келади. Бунинг учун тўртта Number (), String (), Boolean () и Object (). Глобал функциялар мавжуд. Бу функциялар аргументи сифатида ўгирилиш керак бўлган объект киритилади ва натижа примитив типда бўлади. Бу функциялар шу типларнинг конструкторлари хамдир. Шунинг учун шу тўртта типдан бошқа фойдаланувчи типлари ўгирилмайди (ноаниқ усулда бир-бирини тушуниб кетади). МАХСУС ТИПЛАР ActionScript дастурлаш тилида иккита махсус типлар бўлиб, улар объектнинг қийматига бир хонали қиймат беради. Null типи – бўшлиққа ссилка бериш учун фойдаланилади. Flash дастурида бу типни четлаб ўтса хам бўлади, аммо ActionScript кодни Java фрагментга ўтишни оснолаштиради. Undefined типи – махсус типи чақирилаётган ўзгарувчи ёки функция типи олдиндан аниқланмаган бўлса фойдаланилади. Агар бу тип қаторли типга ўтказилаётган бўлса бўш қатор, сонга айлантирилаётган бўлса нолга ва логик типга айлантирилаётган бўлса false га тенглашади. БИРИКТИРИЛГАН ТИПЛАР Бириктирилган типлар typeof оператори билан аниқланган типларга айтилади:typeof <ифода>typeof қайтарувчи қийматлар жадвали: Тип typeof Number number Boolean boolean String string Object object Function function Array array MovieClip movieclip Button object Text field object undefined undefined null null Қуйидаги код орқали янада аниқлаштириш мумкин:trace ('typeof (5 + "") = ' + typeof (5 + ""));trace ('typeof (a) = ' + typeof (a));a = new Object ();trace ('typeof (a) = ' + typeof (a));a = null;trace ('typeof (a) = ' + typeof (a));a = {x: 20, y: "строчка"};trace ('typeof (a) = ' + typeof (a));trace ('typeof (a.x) = ' + typeof (a.x));trace ("typeof (String) = " + typeof (String));trace ("typeof (Function) = " + typeof (Function));// typeof (function) ёзуви синтаксис хато беради Ва қуйидаги натижани оламиз:typeof (5 + "") = stringtypeof (a) = undefinedtypeof (a) = objecttypeof (a) = nulltypeof (a) = objecttypeof (a.x) = numbertypeof (String) = functiontypeof (Function) = functionДеярли хар бир қатор ўзи хақида маълумот бермоқда.Замонавий дастурлаш тилларида фойдаланувчилвр учун катта қулайликлар яратишга эътибор қаратилмоқда. Худди шундай Flash дастурида хам. ОПЕРАТОРЛАР ActionScript дастурлаш тилининг деярли хамма операторлари С++ ва Java дастурлаш тилларидан олинган. Биринчи навбатда логик операторлар && ва ||. &&-логик “ва” ни билдиради ва ||-логик “ёки” ни билдиради. Бундан ташқари эскирган операторлар хам мавжуд. Уларни номларини ўзгарувчи ва функцияларга бериш мумкин эмас. Шунинг учун уларга хам тўхталайлик. Flash дастурининг тўртинчи версиясидан бошлаб қаторларни солиштириш учун махсус операторлар ишлаб чиқилди. Бу операторлар ифодаларни солиштириш учун уларни аввал қаторли кўринишга келтириб олади. Қуйида уларнинг рўйхати келтирилган: lt - кичик (less than) gt - катта (greater than) le – кичик ёки тенг (less or equal) ge – катта ёки тенг (greater or equal) eq - тенг (equal) ne - тенг эмас (not equal) яна хозирда қўлланилаётган != (агар солиштирилаётганлар тенг бўлмаса true қийматини қатаради) операторининг хам эскирган кўриниши мавжуд: <> - "ТЕНГ ЭМАС" оператори; Охирги эскирган операторларга add – қаторларнинг конкатенацияси киради. У худди “+” оператори билан бир хил вазифани бажаради.ПРИОРИТЕТЛАР ЖАДВАЛИ

FLASH КЛИПЛАРИДАН ВЕБ-САХИФАЛАРНИ ЮКЛАШ

КОМПОНЕНТЛАР

КТ си маълумотларни киритиш (тўплаш), уни ишлаш ва натижани (узатиш)га, ТТ маълумотларнинг нусхасини олишга мўлжалланган.

КТ ва ТТ ишларининг таркиби

КТ си билан ишлайдиганлар ишлаб чиқариш муҳитини зарарли ва хавфли омиллари ҳамда меҳнат жараёни таъсирига учраши мумкин:

- электростатик майдонларининг кучланганлиги;

- ҳавонинг ионизацияланиши;

- механик ва электр қурилмаларида ишлаганда ҳосил бўладиганшовқин;

электр токидан жароҳатланиш хавфи;

Компютер ва ташкилий техника қурилмаларини режалаштириш, жойлаштириш ва ишлатишга қўйиладиган талаблар

КТ ва ТТ ларда иш бошлашдан олдин хоналарда меҳнат шароитини ташкил этиш ва назорат қилиш ҳамда жавобгар шахс тайинланиши лозим.

Хоналарда ишчи ўринларини ташкил этиш

Иш стулининг устки қисмидаги қоплама материали кирланишдан осон тозаланиши, ярим юмшоқ, сирпанмайдиган, электролизатсияланмайдиган ва қопламаси ҳаво ўтказувчан бўлиши мақсадга мувофиқ.

Видеомониторга (видеотерминалга — ВДТ) қўйиладиган талаблар

Видеомонитор қуйидаги талабларга жавоб бериши керак:

Ёритилаётган нуқтанинг энг кичик ўлчами монохронли дисплей учун 0,4 мм ва рангли дисплей учун 0,6 мм. дан ката бўлмаслиги;

белги тасвирининг кескин фарқ қилиши 0,8 мм. дан кичик бўлмаслиги;

позитив кескин фарқ қилувчи ишларда тасвирлаш регенератсиясининг частотаси, тактнинг ишлаш тартиби 72 Гс. дан кам бўлмаслиги;

экран юзаси хираланишдан сақловчи қопламага эга бўлиши;

ишловчи кўзидан экрангача бўлган оралиқ 80 см чэгарасида бўлиши;

тасвирнинг паст частотаси 0,05—1,0 Гс, титраши 0,1 мм чегарасида бўлиши;

экран ўлчами диагонал бўйича 31 см.дан экрандаги белгининг баландлиги 38 мм. дан кам бўлмаслиги лозим.

Компютер техникаси билан ишловчиларнинг меҳнат қилиш ва дам олиш тартиби



// тешириши оддий усулидан фойдаланамиз

trace (" (b instanceof String) = " + (b instanceof String));

қуйидаги натижани оламиз:

a = Объектли қатор

a.x = 4

(a instanceof String) = true
b = Примитивли қатор

b.x = undefined

(b instanceof String) = false
Шу икки усул объектли ва примитив типларнинг фарқини кўрсатади.

МАССИВЛАР


Flash нинг 4-версиясида массивлар хали қўлланилмас эди. Массивлар керак бўладиган масаларда қуйидаги мисол каби ортиқча кодлар ёзилар эди:

for (var i=0; i<5; i++) set ("a" + i, 5*i + 1);

// аниқ бир элементга мурожаат қилиш

trace ("a2 = " + a2);

i = 4;

// ўзгарувчига бириктирилган номер орқали мурожаат қилиш.

trace ("a" + i + " = " + eval ("a" + i));

ва қуйидаги натижага эга бўлинарди:

a2 = 11

a4 = 21

Flash нинг 5- версиясидан бошлаб янги ўзгарувчилар типи – массивлар киритилди. Массивлар бир неча хусусиятларни ўзига бирлаштирган объектларга айтилади. Қуйида бир ўлчовли Fruit массиви келтирилган:

Fruit[0] = "олма"

Fruit [l] = "нок"

Fruit[2] = "бехи"

Fruit[3] = "анор"

Массивлар бир ва кўп ўлчамли массивлар бўлиши мумкин. Массив хосил қилиш учун Array объектидан фойдаланилади. Массивлар new орқали хосил қилинади:

a_array = new Array (2,3,"AAA",4,8);

b_array = new Array (10);

c_array = new Array ();

// аниқ бир элементга мурожаат қилиш

trace ("a_array[1] = " + a_array[1]);

i = 3;

// ўзгарувчига бириктирилган номер орқали мурожаат trace ("a_array[" + i + "] = " + a_array[i]);

c_array[7] = 9;

// махсус хусусият length орқали массивнинг узунлигини //аниқлаш мумкин.

trace ("a_array.length = " + a_array.length);

trace ("b_array.length = " + b_array.length);

trace ("c_array.length = " + c_array.length);

Бу код қуйидаги натижани келтириб чиқаради:

a_array[1] = 3

a_array[3] = 4

a_array.length = 5

b_array.length = 10

c_array.length = 8

Саралаш. Саралаш алгоритмларини хамма дастурчилар ўрганишади, аммо ундан фойдаланишмайди. Чунки замонавий дастурларда саралашнинг хамма тури бириктирилган. ActionScript да массивларни тайёр саралаш функциялари орқали саралаш мумкин. Масалан сонли массивларни саралайлик:

a_array = [3, 0.5, +3, -3, 1e12, 1e-12, 12, 112];

a_array.sort ();

trace (a_array);

ва натижа қуйидагича:

-3,0.5,1000000000000,112,12,1e-12,3,3

Натижани нотўғри бўлишига сабаб sort () функцияси сонларнинг фақат биринчи рақамига қараб саралайди. Худди қаторли ўзгарувчиларни сарагандек. Натижа тў0ри бўлиши учун уни ўзгартирамиз:

a_array.sort (function (a,b){return a-b;});

ва тўғри натижага эга бўламиз:

-3,1e-12,0.5,3,3,12,112,1000000000000

Қаторли массивларни саралаш муаммо туғдирмайди:

s_array = ["bulb", "bulb.", "c", "CC", "ground"];


s_array.sort ();

trace (s_array);

натижа

CC,bulb,bulb.,c,ground



ФУНКЦИЯ ВА МЕТОДЛАР



ActionScript дастурлаш тилида берилган параметрлар бўйича хисоб-китобларни амалга оширувчи 25 та функция мавжуд:

  • Boolean. Параметрларни логик ўзгарувчига ёки скаляр қийматга айлантиради.

  • escape. Талабга мувофиқ кодланган URL адресга мос равишда қаторли ўзгарувчини кодлайди.

  • eval. Ифоданинг қийматини хисоблайди ва натижани қайтаради.

  • false. Логик ифода, false га тенг, яъни 0 қийматга эга.

  • getProperty (target, property). Target объектининг property хусусиятининг жорий холати хақидаги информацияни қайтаради.

  • getTimer. .SWF (Shockwave Flash) кенгайтмали файлнинг ўйнаш бошлангандан бери ўтган вақтни (миллисекундларда) кўрсатади.

  • getVersion. Жорий Flash плейрнинг версияси номерини қайтарди.

  • globalToLocal. Координатларни глобал сиситемадан локал системага ўгириб бериш.

  • int (сон). Сонни бутун қисмини ўзида сақлаб қолиб каср қисмини ташлаб юбориш.

  • isFinite. Чекли қиймат (true) ва чексиз қиймат (false)ларни форқловчи логик қиймат.

  • isNaN (). Параметр сон (false) ёки сон эмас (true)лигини аниқлаш.

  • keycode. Символнинг клавиатурадаги код қийматини аниқлаш (ASCII—код билан адаштириш мумкин эмас).

  • localToGlobal. Локал системадаги клипни глобал системадаги координатига айлантириш.

  • maxscrol 1. Бу хусусият фақат ўқиш учун. Текст майдонининг максимал айлантиришлар сони.

  • newline. Кареткалар қайтаради. Бу функция chr (13) ифода билан бир маънога эга.

  • Number. Ўзгарувчининг қийматини сонли кўринишга ўтказиш.

  • parseFloat (қатор). Қаторли параметр қабул қилади ва уни сузувчи вергулли сонга айлантиради.

  • parselnt (). Ифоданинг қийматини бутун сонга айлантириш.

  • random (number). 0 дан (number-1) гача диапазонда тасодифий сонларни генерация қилади.

  • String (). Ифода қийматини қаторли кўринишга келтириш. (String объекти билан чалкаштириш мумкин эмас)

  • targetPath. Объект йўлини қаторли ўзгарувчига бирлаштиради.

  • true - Логик ифода. У “тўғри” қийматига ёки 1 сонли қийматга эга.

Агар биз глобал функция эълон қилмоқчи бўлсак, қуйидагига ўхшаш код ёзамиз.
_global.printSomeStringWithFrame = function (str){

trace ("***************************");

trace (str);

trace ("***************************");

}

// функцияни текшириб кўрамиз

printSomeStringWithFrame ("рамкалар орасидаги қатор");

ва натижа қуйидагча:

***************************

рамкалар орасидаги қатор

***************************
_global объекти билан элон қилинган хар қандай функция хамма объектда ва клипда чақирилиши мумкин.

toString () методи ёрдамида мисол кўрайлик:
obj = {a: 10, b: "Str"};

obj.placeFieldsToStr = function (){


var str;

str += "this.a = " + this.a + "\n";

str += "this.b = " + this.b;

return str;

}

// placeFieldsToStr чақирилмоқда ва натижа * лар // билан чегараланмоқда.

obj.toString = function (){

var str = "***************************\n";

str += this.placeFieldsToStr ();

return str + "\n***************************";

}

// trace toString ()объектидан чақирилмоқда

// ва натижани текширамиз.

trace (obj);

ва натижани кўришимиз мумкин:

***************************

this.a = 10

this.b = Str

***************************

(toString instanceof Object) ифоданинг қиймати true бўляпти. Демак функция- бу объект. Obj объекти методларида кўп марта this оператори ичақирилмоқда. This-жорий метод ичида худди шу майдоннинг бошқа методлари ва функциялари билан ишлаш учун қўлланилади. This сўзи ташлаб кетилса хосил қилинган функцияга мурожаат қилинган хисобланади. Агар this ёзилмаган бўлса хам ActionScript хатолик кўрсатмайди ва керакли натижага эришиб бўлмайди.

Date объекти


ActionScript дастурлаш тилидага энг кўп методга эга бўлган объектлардан бири Date объектидир. Аммо уни асосан икки мақсадда-кунни ва вақтни олиш ва ўрнатиш учун ишлатилади. Бу объект хам махаллий, хам Гринвич стандарт вақт бирлигида ишлай олади. Веб – сахифалар юкланаётганда кўпинча вақтга боғлиқ информация ишлатилади. Бу вақт JavaScript тилида аниқланади. Хозирда кўплаб сайтлар фақат Flash дастурида ишланмоқда. Бундай холатда веб – сахифа юкланаётганда Date объекти компьютер соатидан вақтни аниқлайди. Date объекти конструкторга эга бўлиб, икки хил усулда хосил қилинади. Қуйида биринчи холат келтирилган:

hotDate = new Date ();

шундан кейин Date классига тегишли бўлган hotDate объекти хосил бўлади. Бундан ташқари бир неча параметр бўлиши хам мумкин. Қуйида параметрли мисол келтирилган:

launchDate= new Date (2004, 5, 6, 6, 22, 43, 998)

бу конструкторда 2004 йил 6 июнь соат 6, 22 минут, 43 секунд, 998 миллисекунд вақт ва кун ўрнатилган. Умуман конструктор параметри қуйидагича берилади:

  • Йил. Йигирманчи аср йиллари 0 дан 99 гача рақамларади. Қолган асрлар йиллари эса худди юқоридаги каби йил номери тўла кўрсатилади.

  • Ой. Календарга мос равишда январ ойидан декабр ойигача бўлган хамма ойлар 0 дан 11 гача сонлар билан берилади.

  • Кун. Календардаги ой кунлари 1 дан 31 гача рақамлаб чиқилган.

  • Соат. 0 дан 23 гача рақамлар соатни билдиради.

  • Минут. Минутлар 0 дан 59 гача қийматланган.

  • Секунд. Минутлар каби секундлар хам 0 дан 59 гача рақамланган.

  • Миллисекунда. Миллисекундни ифодалаш учун 0 дан 999 гача диопазондаги сонлар ишлатилади.