Шартты команда

Шартты команданың жалпы жазылу түрі:

Жалпы түрі: if (шарт) 1команда;

else 2 команда;

Мысал ы:

if (а > b) с = а;

else с = b;

Мұнда шарт тексеріледі. Егер ол ақиқат болса, онда 1 команда, әйтпесе – 2 команда атқарылады.
Мына кодтардан соң:

х = 1;

if (х == 1) у = 10;

else у = 20;

х += у;

айнымалы х-тің мәні 11-ге тең болады.

Мына командалардан соң:

х = 1;

if(x!= 1) у = 10;

else у = 20;

х += у;

х айнымалысының мәні 2-ге тең болады.

Шартты команданы қысқа түрде else тармағынсыз жазуға да болады:

Жалпы түрі Мысал

if (шарт) команда1 if (х < 0) х = -х;

Мына кодтардан кейін:

х = 1;

у = 10;

if (x = = 1) у += 10;

х += у;

х айнымалысы 21-ге тең болады.

Ал мынадай кодтардан соң:

х = 1;

у = 10;

if(х!= 1) у += 10;

х += у;

х айнымалысы 11-ге тең.

Ауыстырғыш

Жалпы түрі

if (1шарт) 1ком;

else if(2шарт) 2ком;

else if(3шарт) 3ком;

...

...

...

else комN;

Мысал:

if (Day = = 1) NameDay = "Дүйсенбі";

else if (Day == 2} NameDay = "Сейсенбі";

else if (Day == 3) NameDay = "Сәрсенбі";

else if (Day == 4) NameDay = "Бейсенбі";

else if (Day == 5) NameDay = "Жұма";

else if (Day == 6) NameDay = "Сенбі";

else if (Day == 7) NameDay = "Жексенбі";

else NameDay = "қате";

JavaScript тілінде арнайы switch конструкциясы бар, оны Netscape Navigator және Internet Explorer браузерлерінің 4-нұсқасынан кейінгілері түсінеді. Ол Си және Java тілдеріндегі осы командаға сәйкес келеді.

Жалпы түрі:

switch (өрнек)

{

case вариант1:

командалар

break;

case вариант2:

командалар

break;

...

default:

командалар

Мұнда switch (өрнек) мәні case сөзінен кейінгі қандай мәнге тең болса, сол жол орындалады. Онан кейінгі break командасы басқаруды switch сөзінен кейінгі жолға береді. Егер break командасы жоқ болса, онда варианттарды тексеру ары қарай жалғаса береді. Default нұсқасы (ол болмауы да мүмкін) өрнек мәні case сөзінен кейінгі бірде бір мәнге сәйкес келмеген кезде орындалады.

Мысалы: Күннің аты енгізілген кезде оның нөмірін анықтау мысалын қарастырайық:

<HTML>

<HEAD>

<TITLE>Аты бойынша күннің нөмірін анықтау</TITLE>

<script language="JavaScript">

<!-- //

function daynum (obj)

{ var m = obj.numl.value;

var s

switch (m)

{ case 'дүйсенбі': s=l; break;

case 'сейсенбі': s=2; break;

case 'сәрсенбі': s=3; break;

case 'бейсенбі': s=4; break;

case 'жұма': s=5; break;

case 'сенбі': s=6; break;

case 'жексенбі': s=0; break;

default: s=' күннің атын қате енгіздіңіз'

}

obj.res.value=s

}

//-—>

</script>

</HEAD>

<BODY>

Аты бойынша күннің нөмірін анықтау

<FORM name="form1">

Күннің атын енгізіңіз: <input type="text" size=20 name="numl"><hr>>

Күннің нөмірі:

<input type="button" value=Анықтау onClick="daynum (form1)">

<input type="text" size=25 name="res"><hr>>

<input type="reset" value="Жаңарту">

</FORM>

</BODY>

</HTML>

 
 
4.10-сурет. Программа нәтижесі


Бақылау сұрақтары:

1. JavaScript тілінің қолданылатын аймақтары.

2.Меншіктеу тәсілдеріне сипаттама беріп, мысалдар келтіріңіз.

3. Шартты командалар қалай жазылады?

4. Ақпаратты енгізу және шығару әрекеттері қалай орындалады?

5. Ауыстырғыштың орындалу ретіне сипаттама беріңіз.

6. switch конструкциясына сипаттама беріңіз.

Тапсырмалар:

1. Күннің нөмірі бойынша оның атын анықтау программасын жазыңыз.

2. Айдың нөмірі бойынша оның қандай кварталға жататынын анықтау программасын жазыңыз. Мысалы 1квартал (1,2,3), 2 квратал (4,5,6) т.с.с

3. Қызметкердің ағымдағы жылдың бірінші квараталына арналған табысы жөнінде ақпарат енгізіледі. Келесілерді анықтаңыздар:

• бірінші кварталдағы жалпы табысты;

• табыс салығының қосындысын (13%);

• қолға алатын кварталдағы табысты.

4.Жазықтықтағы үш нүктенің координаталары берілген. Үшбұрыштың ауданын анықтайтын сценарий құрыңыз.

5. Жазықтықтағы координатасы берілген нүктенің координаталардың бас нүктесіне дейінгі ара қашықтығын анықтау сценарийін жазыңыз.

6. Енгізілген екі айнымалының мәндерін бір-бірімен алмастыратын сценарий жазыңыз.

7. Радиусы белгілі болған жағдайда шардың көлемін анықтау сценарийін жазыңыз.

8. Дөңгелектің радиусы берілген. Шеңбердің ұзындығын және сәйкес шеңбердің ауданын есептеу сценарийін жазыңыз.

9. Жазықтықта координаталары берілген екі нүктенің ара қашықтығын анықтау программасын құрыңыздар.

Логикалық операциялар

Шарт ретінде логикалық өрнектер де жазыла береді, ондайда келесі логикалық операциялар қолданылады:

Блок

Жүйелік жақшаға алынған командалар тізбегі {команда1; команда2;...} бір команда ретінде орындалады. Мұндай күрделі команда құрама немесе блок деп аталады. Жақшадан «}» кейін «;» символы қойылмайды. Блок арқылы орындалатын шартты команда мысалдары:

Жалпы түрі

if(шарт)

{

...

командалар

...

}

else

{

...

командалар

...

}

Мысал

if(d > 0)

{

xl = -(b + Math.sqrt(d))/(2*a);

x2 = -(b - Math.sqrt(d))/(2*a);

mes = “екі түбірі бар";

}

else if (d == 0)

{xl = -b / (2 * a);

mes = “бір түбірі бар";

}

else mes = “түбірі жоқ";

Шағын емтихан программасын жасайық. Емтихан бес сұрақтан тұрады. Бір дұрыс жауапқа бір балл беріледі. Нәтижесінде 2-ден 5-ке дейінгі бір баға қойылады:

- баға = 2, егер дұрыс жауаптар саны 3-тен аз болса;

- әйтпесе баға = дұрыс жауаптар саны.

Мұның программасы төмендегідей болады:

<HTML>

<HEAD>

<TITLE>Логикалық өрнектер бойынша емтихан </TITLE>

</HEAD>

<BODY bgcolor=white text=black>

<H1>Логикалық өрнектер бойынша емтихан </H1>

<HR>

<SCRIPT language=JavaScript>

<!--

var bonus =0; // Дұрыс жауаптар саны.

var num =1; // Сұрақ нөмірі.

var question; // Сұрақ.

// 1-сұрақ.

question = "Сұрақ " + num + ". Дұрыс жауап саны = " + bonus + ".\n Егер х=5,то 1<х &&&& х<10 тең true немесе false?";

if(prompt(question," true")=="true") bonus++; num++;

// 2-сұрақ.

question = "Сұрақ " + num + ".Дұрыс жауаптар саны = " + bonus + ".\n Егер х=5, то!(l<x &&&& x<10) тең true немесе false?";

if(prompt(question, " true")=="false") bonus++; num++;

// 3-сұрақ.

question = "Сұрақ " + num + ". Дұрыс жауаптар саны = " + bonus +".\n Егер х=5, то х!= 5 тең

true немесе false?";

if(prompt(question," true")=="false") bonus++; num++;

// 4-сұрақ.

question = "Сұрақ " + num + ".Дұрыс жауаптар саны = " + bonus + ".\n Егер х=5, то x++!= 5 тең

true немесе false?";

if(prompt(question, " true")=="false") bonus++; num++;

// 5-сұрақ.

question="Сұрақ "+num+".Дұрыс жауаптар саны="+bonus+ ".\n Егер х=5,то ++x!=5 тең true немесе false?";

if(prompt(question, "true") == " true") bonus++;

// Нәтижені alert терезесінде көрсету.

if(bonus < 2) bonus = 2;

alert("Сіздің бағаңыз: " + bonus);

//-->

</SCRIPT>

Емтихан аяқталды!

</BODY>

</HTML>

Ескерту. Браузерлердің NN және IE төртінші нұсқасынан кейінгілері үшін экранға бір «&» символ орнына екі «&&» символын жазу керек.

Арифметикалық және тіркестік өрнектерді шарт ретінде пайдалану

Шартты if командасының шарты ретінде логикалық операциялардан бөлек арифметикалық және тіркестік өрнектерді де жазуға болады. Мұнда егер өрнек мәні 0-ге немесе бос мәнге"" тең болса, ол жалған, ал қалған жағдайда ақиқат болып саналады.

 
 


Логикалық тип мәндері

JavaScript тілінде айнымалылар логикалық типтегі мәндерді қабылдай алады. Мұндай тип true және false тәрізді екі түрлі мән қабылдайды.


Қиын шарттар

Құрамына арифметикалық және тіркестік (строковые) өрнектер кіретін шарттар алғашқы кездерде қиындықтар туғызады. Оларды түсіну үшін алдымен шарттар құрамындағы арифметикалық және тіркестік өрнектер мәнін есептер алу керек, сонан соң барып олардың мәні логикалық true және false мәндерімен салыстырылады. «Қасқыр» және «крокодил» сияқты тіркестік тұрақтылар және де 25 және 3.14 тәрізді сандық тұрақтылардың барлығы да логикалық true мәніне сәйкес келеді. Сәйкесінше, олардың логикалық терістеу мәндері false болады.

 
 


Соңғы мысалды түрлендіре отырып түсіндірейік:

!("" + "мысық") || 22 - 22

!"мысық" || 0

! true || false

false || false

false

Балама мән енгізу

Егер екі балама мәннің бірін таңдап алу керек болса, онда prompt функциясын пайдалану керек.

Бірақ бұдан гөрі қарапайым әрі жеңіл тәсіл бар – ол confirm функциясын пайдалану: confirm("жазу");

Бұл функция былай жұмыс істейді. Экранға екі батырмасы бар терезе шығады: Егер ОК батырмасын шертсек, confirm функциясы true мәнін қайтарады, ал егер Отмена (Cancel) батырмасы шертілсе – false мәні қайтарылады. Бұл батырмалардың орнына оларға эквивалентті <Enter> және <Esc> пернелерін де пайдалануға болады.

Мысалы:

(confirm ("Нан мен тұз ба?")) alert ("Алдымен қара, одан кейін же!");

else alert("Оның қарбыз жегісі келді,\n" + "Ал есесіне тұздалған қияр алды");

Осы кодты орындағанда, экранға төмендегі сурет терезе шығады. ОК батырмасы шертілсе, сол жақ терезедегі мәнді шығарады, ал Отмена басылса, оң жақ терезедегі мән шығады.

 
 
4.12-сурет. Программа нәтижесі


Бақылау сұрақтары:

1. Шартты команданың жалпы жазылу түрі қандай?

2. Логикалық типтің мәндеріне сипаттама беріңіз.

3. Блок немесе күрделі команда деген не?

4. Қиын шарттар қалай орындалады? Мысалдар келтіріңіздер

5. Балама мән енгізу қалай орындалады? Confirm функциясы қалай жұмыс істейді?

Тапсырмалар:

1. Бес сан енгізілген. Сол сандардың үлкенін анықтау программасын жазыңдар.

2. Қабырғаларының ұзындықтары берілген. Үшбұрыш тұрғызуға болатынын немесе болмайтынын анықтаңдар.

3. Жазықтықтағы нүктенің координатасы берілген. Осы нүктенің координаталардың тікбұрышты жүйесінің қай ширегінде жататынын анықтау сценарийін құрыңыз.

4. Тестке қатысушыларға алты есеп берілген. Әрбір есептің нәтижесіне: 0, 1/3, 2/3, немесе 1 деген бал қойылады. Тест тапсырушылардың барлығын нәтиженің төрт категориясы бойынша топтайды. Бірінші категорияға барлық есептерді ең жақсы 1 деген балмен бағаланған қатысушылар кіреді. Екінші категорияға барлық есептер нәтижелері 2/3-тен кем емес және ең болмағанда бір есебінің нәтижесі 1 бал болатын қатысушылар кіреді. Үшінші категорияға барлық есептердің шешімі 2/3-ке бағаланған қатысушылар, ал қалған қатысушылардың барлығы төртінші категорияға жатады.

• Нақты тестке қатысушы үшін сауалнама құрыңыз. Сауалнамада қатысушының тегі, оқитын оқу орны, есепке берілетін балы көрсетілетін болсын. Қатысушыға арналған сауалнаманы өңдеу кезінде жинаған балдарының қосындысы және оның қандай категорияға жататыны анықталуы керек.

• Әрқайсысында категория нөмірі көрсетілген төрт сурет әзірлеңіз. Сауалнанаманы өңдеу кезінде тестке қатысушының категориясы көрінетін сценарий құрыңыз.

5. Сессия емтихандерін тапсыру нәтижесі бойынша келесі ереже бойынша стипендия тағайындалады. Барлық алты емтиханді 5-ке тапсырған студент 50 мың теңге, үш емтиханін 5-ке қалғандарын 4-ке тапсырған студенттер үшін 25 мың теңге, барлық емтихандерді 4-ке тапсырған студенттер үшін 10 мың теңге. Қалған студенттер үшін стипендия тағайындалмайды.

• Студент үшін оның тегі, тобының нөмірі және барлық алты емтиханнен алған нәтижелері көрсетілетін сауалнама құрыңыз. Сауалнаманы өңдеу кезінде, емтихан кезіндегі орта балы мен тағайындалған стипендия мөлшері анықталатын болсын.

• Әрқайсысында стипендия мөлшері көрсетілген төрт сурет дайындаңыз. Сауалнаманы өңдеу кезінде студенттің стипендиясының мөлшері көрсетілетін сценарий құрыңыз.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: