Лабораторная работа №9. Регулярные циклы.
Регулярные циклы позволяют так организовать вычислительный процесс, что заранее можно определить, сколько раз будут выполнены операции, размещенные в теле цикла. Регулярные циклы часто используются для табуляции математических функций.
Упражнение 9.1.Регулярные циклы for.
<html>
<head>
<META http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<title>Регулярные циклы</title>
<script language="JavaScript">
function Fcikly(){
var nac=1;
var fin=11;
var summ=0;
var i=1;
for(i=nac; i<fin; i++)
{
summ=summ+i; //Тело цикла
}
alert("Сумма чисел от 1 до 10 равна "+summ);
}
</script>
</head>
<body>
<div align="center">
<input type="button" value="Вычислить" onmouseover="Fcikly()">
</div>
</body>
</html>
Эту же задачу можно решить с помощью оператора while. Внешне действие этих двух скриптов ничем не отличается. Внутренне отличие скриптов состоит в том, что второй цикл представляет собой цикл с предустановкой (цикл ПОКА). С помощью выражения, записанного в скобках (k<11), происходит проверка условия завершения цикла. Пока выражение, записанное в круглых скобках истинно, будут выполняться выражения, принадлежащие телу цикла. Когда условие станет ложным, будет выполнена первая строка, расположенная за закрывающей тело цикла фигурной скобкой. Для запуска скрипта достаточно коснуться указателем мыши кнопки «Вычислить».
Упражнение 9.2.Регулярные циклы while.
<script language="JavaScript">
function Fcikly2){
var summ2=0;
var k=1;
while(k<11);
{
summ2=summ2+k; //Тело цикла
k=k+1;
}
alert("Сумма чисел от 1 до 10 равна "+ summ2);
}
</script>
<input type="button" value="Вычислить" onmouse="Fcikly2()">
Лабораторная работа №10. Операторы условной передачи управления if-else(cond) и switch(x).
Схематично действие оператора if-else(cond) можно записать так: ЕСЛИ (УСЛОВИЕ истинно), ТО выполнить {группу ОПЕРАТОРОВ 1}, ИНАЧЕ выполнить {группу ОПЕРАТОРОВ 2}. При этом условие ветвления может принимать только два булевых значения: true (Истина) и false (Ложь).
Упражнение 10.1. Действие оператора if-else(cond).
<html>
<head>
<META http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<title>Регулярные циклы</title>
<script language="JavaScript">
function Fit(){
var pol=confirm("Если Вы мужчина, то нажмите кнопку OK. Если Вы женщина, то – кнопку Отмена.");
if(pol==true)
{alert("Как нам повезло, что мы не женщины! Не надо утром краситься.");}
Else
{alert("Как хорошо быть женщиной! Не надо утром бриться.");}
}
</script>
</head>
<body>
<div align="center">
<input type="Button" value="Запуск скрипта" onclick="Fit()">
</div>
</body>
</html>
В зависимости от сделанного выбора появится одно из двух сообщений:
Метод confirm() формирует значение true (Истина), если щелкнуть по кнопке «OK». При щелчке по кнопке «Отмена» этот метод присваивает переменной pol значение false. Проверка истинности выражения осуществляется с помощью выражения (pol==true).
ВНИМАНИЕ! Использование одного знака равенства при проверке истинности условия является типичной ошибкой при программировании.
Более сложная конструкция оператора условной передачи управления может включать несколько направлений ветвлений.
ЕСЛИ (УСЛОВИЕ 1 истинно), ТО выполнить {группу ОПЕРАТОРОВ 1}
ЕСЛИ (УСЛОВИЕ 2 истинно), ТО выполнить {группу ОПЕРАТОРОВ 2}
ЕСЛИ (УСЛОВИЕ 3 истинно), ТО выполнить {группу ОПЕРАТОРОВ 3}
……………..
ИНАЧЕ выпонить {группу ОПЕРАТОРОВ n}.
Упражнение 10.2. Несколько направлений ветвлений if-else.
<html>
<head>
<META http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<title>Регулярные циклы</title>
<script language="JavaScript">
function Fit2() {
var let1=document.Formif.Field1.value;
var let=parseInt(let1);
if(isNaN(let)==true)
alert("Нужно вводить числа, а не текст!");
else if (let<=0)
alert("Вы уверены? Вы – эмбрион?");
else if (let>0&&let<=7)
alert("Только в этом возрасте бывают настоящие друзья и верные подруги!");
else if (let>7&&let<=17)
alert("Школьные годы чудесные! Хочется быстрее повзрослеть.");
else if (let>17&&let<=23)
{alert("Нужно получить высшее образование! Найти вторую половину.");}
else if (let>23&&let<=50)
alert("Работа. Работа! Не забыть купить машину, дачу, съездить в Гондурас.");
else if (let>50&&let<=65)
alert("Опять хочется идти в детский сад, школу… Совсем не хочется идти на работу, заниматься домашним хозяйством.");
else if (let>65&&let<=100)
alert("Теперь можно отдохнуть. Посмотреть, как бессмысленно суетятся эти молодые люди.");
else if (let>100&&let<=150)
alert("Для Вашего возраста Вы прекрасно управляетесь с вычислительной техникой! Поступайте в нашу академию на
специальность Программирование.");
Else
alert("Вам приходилось встречаться со Львом Толстым?");
}
</script>
<form name="Formif">
<input type="Text" name="Field1" value="0" size="4"><br><br>
<input type="Button" value="Запуск" onclick="Fit2()">
</form>
</head>
<body>
</body>
</html>
Упражнение 10.3. Переключатель switch(x).
<html>
<head>
<META http-equiv="Content-Type"
content="text/html; charset=windows-1251">
<title>Регулярные циклы</title>
<script language="JavaScript">
function Fif3() {
var kol=document.Formif2.Field2.value;
var kol=parseInt(kol);
switch(kol) {
case 1: alert("Первый период жизни человека – астрономический.\nВозвышенные мечты, интерес к звездам…");
break;
case 2: alert("Второй период жизни человека – семафорный.\nВсё безразлично…");
break;
case 3: alert("Третий период жизни человека – агрономический .\nПоявляется естественней интерес к земле…");
break;
default: alert("Введено число, отличное от 1, 2 и 3.");
}
}
</script>
<body>
<div align="center">
Введите одно из трех чисел 1, 2 или 3.<br><br>
<form name="Formif2">
<input type="Text" name="Field2" value="" size="3"><br><br>
<input type="Button" value="Запуск" onclick="Fif3()">
</head>
<div>
</body>
</html>