Программное управление

Объект, построенный браузером для блока <textаrеа>... </textarea>, имеет следующие свойства.

value - значением является текущее содержимое редактора. Содержимое окна размещается в перемен-ной value как одна текстовая строка; концы экранных строк представляются двумя символами «\r\n"» (возврат каретки к началу строки и переход на новую строку)

defaultValue - значением является содержимое редактора по умолчанию, т. е. тот текст, который записан в HTML-коде между тегами <TEXTAREA>. . .</TEXTAREA>

Рассмотрим следующую программу испытательного стенда.

<HTML>

<HEAD>

<TITLE>Свойства объекта TEXTAREA</TITLE>

</HEAD>

<BODY bgcolor=white text=black>

<H2>Свойства объекта TEXTAREA</H2>

<FORM>

<TABLE bgcolor=#F0F0F0 border=1 cellspacing=0 cellpadding=10>

<TR>

<TD>

<P>Замените &#147;чужие&#148; слова на правильные:

<P>

<TEXTAREA rows=7 cols=44 name=edit>

Покрывало

Убежало,

Улетела размазня,

И кукушка,

Как лягушка,

Ускакала от меня.

</TEXTAREA>

<P>

<NOBR>

<INPUT type=reset value=Восстановить>

<INPUT type=button

value=value

onclick="alert(this.form.edit.value)">

<INPUT type=button value=defaultValue

onclick="alert(this.form.edit.defaultValue)">

</NOBR>

</TD>

</TR>

</TABLE>

</FORM>

</BODY>

</HTML>

Программное управление - student2.ru

Лекция 13. Язык JavaScript. Циклы и функции

13.1 Цикл while

13.2 Цикл for

13.3 Команды break и continue

Программирование циклов с конца

Описание переменной цикла

Встроенные функции JavaScript

Константы

Стандартные функции

Функции пользователя

13.1 Цикл while

В табл. показан общий вид цикла с предусловием while и пример его

Общий вид while(условие) команда; Результат работы примера: Программное управление - student2.ru   Пример var i = 1; var sum = 0; while(i <= 100) { sum += i; i ++; } alert("Сумма 1 + 2 + ... + 100 = " + sum);  

Цикл работает так. Сначала проверяется условие. Если оно истинно, выполняется команда (тело цикла). И эти действия повторяются, т.е. снова проверяется ус-ловие,и если оно истинно, выполняется тело цикла,и т.д.

Цикл заканчивает работу, когда при оче-редной проверке условие оказывается лож-ным. Так как условие проверяется перед выполнением тела цикла, то команды, входящие в цикл, выполняются хотя бы раз.

13.2 Цикл for

В табл. показан общий вид цикла for и выполнение предыдущего примера с этой командой.

Общий вид for(начало;условие; приращение) команда; Программное управление - student2.ru Пример var i; var sum = 0; for(i=1; i<=100; i ++) sum += i; alert ("Сумма 1 + 2 + ... + 100 = " + sum);  

Результат работы приведенного примера тот же, что и предыдущего. Цикл работает так.

Команда, помещаемая в начало, выполняется до циклического повторения (в примере это команда i = 1;), а сам цикл образуете следующими действиями:

- проверка условия (в примере i <= 100);

- выполнение тела цикла (в примере sum+= i);

- выполнение команды, записанной в разделе приращение (в примере i ++). Как и в команде while, тело цикла может не выполниться ни разу, если условие ложно с сам-ого начала. Не выполнится при этом и команда из разделов приращение. А вот команда из раз-дела начало выполняется всегда, независимо отусловия, и выполняется ровно один раз.

В заголовке цикла for любая из трех конструк-ций начало, условие, приращение может быть опущена, при этом соответствующую точку с запятой опускать нельзя. Когда опущено условие, считается, что оно имеет значение true. Таким образом, цикл превращается в бесконечный:

for (;;) команда

Этот цикл не остановится, если только не будет содержать внутри себя команду break.

13.3 Команды break и continue

Эти команды используют в теле цикла для изменения последовательного хода выполнения команд.

Команда continue заставляет браузер пропустить выполнение всех команд после нее и до конца тела цикла. Но цикл продолжается.

Команда break еще радикальнее — она заставляет браузер немедленно прекратить

Программное управление - student2.ru

Пример 1 (continue). Найти сумму 5 четных чисел, случайным образом взятых из диапазона [1,20].

var len = 5; // Количество чисел.

var a = 1; // Левая граница интервала.

var b = 20; // Правая граница интервала.

var sum = 0; // Сумматор.

var counter = 0; // Счетчик чисел.

var number; // Случайное число.

var str = " "; // Строка для вывода.

while (counter < len)

{ number = Math.floor(a + (b-a+1)*Math.random());

if (number % 2) continue;

sum += number; str += number;

if (counter < len-1) str += " + ";

else str += " = ";

counter++;

}

str += sum; alert(str);

При запуске этого примера на экран выводится сл. рисунок.

Программное управление - student2.ru

Стандартная функция Math.random() генерирует случайное число из отрезка [0,1]. Стандартная функция Math.floor(num) возвращает ближайшее целое число, меньшее или равное аргументу.

Пример 2 (break). Целые числа случайным образом генерируются из диапазона [1,20]. Требуется сумми-ровать эти числа до тех пор, пока очередное случайное число не станет равным 10.

var a = 1; // Левая граница интервала.

var b = 20; // Правая граница интервала.

var special = 10; // Критическое значение

// случайного числа.

var sum = 0; // Сумматор.

var number; // Случайное число.

var str = ""; // Строка для вывода.

for ( ; ; ) // Бесконечный цикл.

{ number = Math.floor(a + (b-a+1)*Math.random( ));

sum += number; str += number ;

if (number == special) break;

str += " + "; }

str += " = " + sum; alert(str);

Результат работы примера может быть таким, как на верхнем рис. или таким, как на нижнем рис.

Программное управление - student2.ru

Программное управление - student2.ru

Пример 3. Дана функция

Требуется найти значения у при изменениях аргумента х от 0 до 3 с шагом 0,5. Печатать значения х и у до тех пор, пока очередное значение х не станет равным 3.

var x0 = 0; // Начальное значение х

var xk = 3; // Конечное значение х

var dx = 0.5; // шаг изменения х

var x=x0; // Присвоение х начального значения

var y; // Объявление переменной у

while (x =< xk)

{ y = x*x - Math.sqrt(x) +1.5;

alert(" x= " + x + " y= " + y);

x+=dx ;

}

Программное управление - student2.ru Программное управление - student2.ru
Программное управление - student2.ru Программное управление - student2.ru
Программное управление - student2.ru Если вывести все в одном окне,то нужно использовать вместо alert команду печати document.write  

Результат работы этого примера с командой печати:

Программное управление - student2.ru

Пример 4. Дана функция

Требуется ввести значения х и найти значения у

var x = prompt("Введите значение х:",

"1");

y = (x <= 0) ? x*x+x+1:x-Math.sqrt(x+1);

alert ("x="+x+" y=" + y);

Теперь попробуем изменить х от 0 до 3 с шагом 0,5 и определить значения у

var x0 = 0; // Начальное значение х

var xk = 3; // Конечное значение х

var dx = 0.5; // шаг изменения х

var x = x0; // Присвоение х

// начального значения

var y; // Объявление у

while (x =< xk)

{ y = x*x - Math.sqrt(x) +1.5;

alert(" x= " + x + " y= " + y);

x+=dx ;

}

Наши рекомендации