Лекция 11. Язык JavaScript. Ветвление

Ввод информации.

Условная команда

Переключатель

Логические операции

Блок

Ввод информации

Функция alert предназначена для вывода информации пользователю. Для ввода информации можно использовать функцию prompt:

prompt("надпись", "значение строки ввода по умолчанию"); При этом на экран выводится окно с двумя кнопками внутри.Мы записываем сообщение

в строке ввода и нажимаем ОК.Окно убирается и введенный текст становится значением функции prompt. Лекция 11. Язык JavaScript. Ветвление - student2.ru

Это значение можно, например, присвоить переменной и использовать затем в скрипте. Если пользователь нажимает кнопку Cancel, функция prompt возвращает специальное значение null (это не строка "null", не пустая строка "", а значение специального служебного типа данных).

Пример:

var str = prompt("Сколько будет 2 х 2?", "5");

if (str == "4") alert ("Гениально! Ответ и правда 4!");

else alert("Шутка хороша, когда ее понимают!");

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

Лекция 11. Язык JavaScript. Ветвление - student2.ru

Если ввести число 4 и нажать кнопку ОК, скрипт продолжит работу так, как показано на рис. ниже.

Лекция 11. Язык JavaScript. Ветвление - student2.ru

Если оставить в поле ввода число 5 (или ввести любое значение, не равное 4), на

экране появится сообщение, показанное на рис.

Лекция 11. Язык JavaScript. Ветвление - student2.ru

Условная команда

Общий вид условной команды:

• Общий вид if (условие) команда1 else команда2 • Пример if (а > b) с = а; else с = b;  

Проверяется условие.Если условие истинно, то выполняется команда1, иначе — команда2.
После выполнения кода:

х = 1;

if (х == 1) у = 10;

else у = 20;

х += у;

переменная х получит значение 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 = "ошибка";  

Пример:

var str = prompt("Сколько будет 2 x 2?", "5");

if (str == null) alert("He стали вычислять?..

Зря!");

else if (str == "4") alert("Гениально! Ответ и

правда 4!");
else alert("Шутка хороша,когда ее понимают!");

Разработчики JavaScript добавили в язык специальную конструкцию switch, которую «понимают» браузеры Netscape Navigator и Internet Explorer, начиная с четвертых версий. Работает эта структура аналогично подобной конструкции в языках Си и Java.

Общий вид Пример
switch (выражение) { case вариант1: команды break; case вариант2: команды break; ... default: команды }   switch (Day) {case 1: NameDay = "Понедельник"; break; case 2: NameDay = "вторник"; break; case 3: NameDay = "среда"; break; case 4: NameDay = "четверг"; break; case 5: NameDay = "пятница"; break; case 6: NameDay = "суббота"; break; case 7: NameDay = "воскресенье"; break; default: NameDay = "ошибка"; }

Управление передается на команды, расположенные за первым по порядку case, в котором значение варианта совпадает со значением выражения, записанного в заголовке switch (выражение).

Команда break передает управление на первую команду, следующую за конструкцией switch. Если команда break отсутствует, проверка вариантов продолжается. Вариант default (он может отсутствовать) срабатывает тогда, когда значение выражения не соответствует ни одному из вариантов case.

Логические операции

В качестве условия можно записывать логические выражения. При этом разрешается использовать следующие логические операции

Обозначение   Обозначение   Обозначение  
== != > >= < <= && || ! Равно Не равно Больше Больше или равно Меньше Меньше или равно Логическое И Логическое ИЛИ Логическое отрицание   Равно Не равно Больше Больше или равно Меньше Меньше или равно Логическое И Логическое ИЛИ Логическое отрицание  

Блок

Общий вид Пример
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++;

Построенный экзамен будет иметь вид, показанный на рис.

Лекция 11. Язык JavaScript. Ветвление - student2.ru

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