Пример 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!