Пример 3. Вычисление площади квадрата



Напишем сценарий, определяющий площадь квадрата по заданной стороне. Площадь должна вычисляться в тот момент, когда изменилось значение его стороны. Пусть форма содержит два текстовых поля: одно для длины стороны квадрата, другое для вычисленной площади. Кнопка Обновить очищает поля формы. Площадь квадрата вычисляется при возникновении события change, которое происходит в тот момент, когда значение элемента формы с именем num1 изменилось, и элемент потерял фокус. HTML-код представлен в примере 3.

 

Листинг 3. Реакция на событие Change

<HTML>

<HEAD>

<title>Обработка события Change - изменение значения элемента</title>

<script>

function srec(obj)

{obj.res.value=obj.num1.value* obj.num1.value}

</script>

</HEAD>

<BODY>

<P>Вычисление площади квадрата</P>

<FORM name="form1">

Сторона: <input type="text" size=7 name="num1"

onChange="srec(form1)">

<hr>

Площадь: <input type="text" size=7 name="res"><hr>

<input type="reset" value=Обновить>

</FORM>

</body>

</HTML>

 

 

Оператор ветвления

 

При составлении программы часто необходимо выполнение различных действий в зависимости от результатов проверки некоторых условий. Для организации ветвлений можно воспользоваться условным оператором, который имеет вид:

if В {S1} else {S2}

где B - выражение логического типа; S1 и S2 - операторы. Выполнение условного оператора осуществляется следующим образом. Вычисляется значение выражения B. Если оно истинно, то выполняются операторы S1, если ложно - операторы S2. Если последовательность операторов S1 или S2 состоит лишь из одного оператора, то фигурные скобки можно опустить. Возможна сокращенная форма условного оператора:

if В {S}

где B - выражение логического типа; S - последовательность операторов. Выполнение краткого условного оператора осуществляется так: вычисляется значение выражения B, если оно истинно, то выполняются операторы S.


Пример 4. Нахождение максимального значения

Для трех заданных значений а, b, с необходимо написать сценарий, определяющий максимальное значение. Поступим следующим образом. Сначала максимальным значением m будем считать значение а, далее значение b сравним с максимальным. Если окажется, что b больше m, то максимальным становится b. И, наконец, значение c сравнивается с максимальным значением из предыдущих значений а и b. Если c больше m, то максимальным становится c. Оператор присваивания

obj.res.value=m

обеспечивает запись вычисленного максимального значения в соответствующее поле формы. Функция Number (s) преобразует объект s, заданный в качестве параметра, в число. Полностью сценарий может быть записан так, как представлено в листинге 4.

 

Листинг 4.Вычисление максимального значения из трех заданных

<HTML>

<HEAD>

<TITLE>Вычисление максимального значения</TITLE>

<script language="JavaScript">

 function maxval (obj )

 {

 var a = Number(obj.num1.value);

 var b = Number(obj.num2.value);

 var c = Number(obj.num3.value);

 var m=a

 if (b > m) m=b

 if (c > m) m=c

 obj.res.value=m }

</script>

</HEAD>

<BODY>

<H4>Вычисление максимального значения</H4>

<FORM name="form1">

Число 1: <input type="text" size=8 name="num1"><hr>

Число 2: <input type="text" size=8 name="num2"><hr>

Число 3: <input type="text" size=8 name="num3"><hr>

Максимальноезначениеравно

<input type="button" value=Определить onClick="maxval(form1)">

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

<input type="reset">

</FORM>

</body>

</html>

 

Решим рассмотренную задачу другим способом. Вспомним, что стандартный объект Math имеет метод max, который определяет наибольшее значение двух аргументов. Опишем функцию maxval1, которая определяет максимальное значение из трех заданных значений и использует объект Math.

function maxval1 (obj )

 {

 var a = Number(obj.num1.value);

 var b = Number(obj.num2.value);

 var с = Number(obj.num3.value);

 obj.res.value=Math.max(Math.max(a,b),c)

}

 

Если бы требовалось определить максимальное из четырех заданных значений а, b, с, d, то можно было бы воспользоваться формулой

Math.max(Math.max(a,b), Math.max(c,d)).

 

 

Оператор цикла

 

Для успешного решения широкого круга задач требуется многократно повторить некоторую последовательность действий, записанную в программе один раз. В том случае, когда число повторений последовательности действий нам неизвестно, либо число повторений зависит от некоторых условий, можно воспользоваться оператором цикла вида:

while (В) {s}


гдеB- выражение логического типа;s- операторы, называемые телом цикла. Операторыsв фигурных скобках выполняются до тех пор, пока условиеBне станет ложным.

 


Дата добавления: 2018-04-04; просмотров: 1842; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!