Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛабораторнаяРабота_JavaScrip(продолжение)t.doc
Скачиваний:
13
Добавлен:
05.12.2018
Размер:
1.04 Mб
Скачать

День недели

Напишем программу, которая по номеру дня определяет его название. Задачу можно решить с использованием условных операторов, в этом случае программа будет ненаглядной. При решении такого рода задач удобно использовать переключатель. Переменной s в зависимости от номера дня недели будет присвоено его название. В листинге 4 приведен требуемый сценарий.

Листинг 4. Определение по номеру дня его названия

<HTML>  <HEAD> <TITLE>Oпpeделение по номеру дня его названия</TITLE>  </HEAD>  <BODY> <script language="JavaScript">  <!-- var s=prompt("Введите номер дня недели","")*1 switch (s) { case 1: alert("понедельник"); break; case 2: alert("вторник"); break; case 3: alert("среда"); break; case 4: alert("четверг"); break; case 5: alert("пятница"); break; case 6: alert("суббота"); break; case 7: alert("воскресенье"); break; default: alert("ошибка в номере дня") } //-->  </script>  </BODY>  </HTML>

Информация, введенная через prompt — это всегда строка. Поэтому, если требуется преобразовать строку в число, нужно сделать умножение на 1.

Оператор цикла арифметического типа

Оператор цикла арифметического типа имеет следующий синтаксис: for (А; В; I){S}

Выражение А служит для инициализации атрибута цикла и вычисляется один раз в начале выполнения цикла. Выражение В (условие продолжения) управляет работой цикла. Если значение выражения ложно, то выполнение цикла завершается, если истинно, то выполняется оператор S, составляющий тело цикла. Выражение I служит для изменения значения атрибута цикла. После выполнения тела цикла S вычисляется значение выражения I, затем опять вычисляется значение выражения В и т.д. Цикл может прекратить свою работу в результате выполнения оператора break в теле цикла. Опишем функцию sumdel, которая находит сумму делителей числа n, не считая самого числа.

function sumdel (n)  { var s=1; for (var i=2; i <= n/2; i++) { if (n % i == 0) s += i }  return s  }

Параметр цикла i описывается с помощью оператора var i = 2. Условие продолжения выполнения цикла i <=n/2. Все делители натуральных чисел находятся в интервале [1; n]. Параметр цикла i увеличивается на 1 при выполнении i++. Тело цикла состоит из условного оператора. Если очередное число является делителем, то оно добавляется к переменной s, служащей для «накапливания» суммы делителей числа n. До цикла переменной s присваивается значение 1, т.к. 1 — делитель любого натурального числа.

Напишем сценарий, изображающий на экране таблицу Пифагора, т.е. таблицу умножения N×N, где значение N запрашивается у пользователя. Кроме того, в этой таблице диагональные клетки закрашиваются желтым цветом (листинг 6).

Листинг 6. Таблица Пифагора N×N

<HTML> <HEAD> <TITLE>Таблица Пифагора NxN</TITLE> </HEAD> <BODY> <script> <!-- var x; var y var color="yellow" var N=prompt("Введите размер таблицы Пифагора (от 2 до 10)","") document.write("<table border=1 cellpadding=5>") for (var y=1; y<=N; y++)

{ document.write("<tr>"); for (var x=1; x<=N; x++)

{ if (x==y) {document.write("<td style='background-color:" + color + " '>")} else {document.write("<td>")} document.write(x*y); document.write("</td>"); }

document.write("</tr>") }

document.write("</table>"); //--> </script> </BODY> </HTML>