- •Пример практического задания
- •Теоретическая часть:
- •Тема1. Основні поняття
- •Условная операция и условный оператор
- •Цикл while, цикл for
- •Функции. Формальные, фактические параметры. Полезные функции
- •Приклад №2
- •Приклад №2
- •Розглянимо базові властивості, методи та події, що доступні для різних елементів форми
Условная операция и условный оператор
Существует еще одна операция, позаимствованная из языка C. Но, она может показаться несколько необычной для начинающих, поэтому, сначала, я хочу напомнить, что: операция, это нечто, имеющее значение, которое, затем, можно использовать (присвоить чему нибудь или еще как). Например, сложение, это операция. Можно, например записать a=b+c. Переменная a получит значение равное значению операции сложения над операндами b и c.
Вооружившись таким определением операции, рассмотри условную операцию. Выглядит она так:
(<логическое выражение>) ? выражение1 : выражение2
Значением этой операции будет значение выражения1, если условие истинно и значение выражения2, если условие ложно.
Например:
a = (b>c) ? b : c; // a получит значение большего из b и c
a = ((b>c) ? b : c)+1; // a получит значение большего из b и c
// увеличенное на 1
a = (b % 2) ? "нечетное" : "четное";
Операторы
Оператор if
Условный оператор точно такой же как в языке C.
if (<логическое выражение>) оператор1;
[else оператор2;]
Выполняется он так: сначала вычисляется логическое выражение. Если оно истинно, то выполняется оператор1. Если же оно ложно, то вычисляется оператор2 (если таковой имеется). В качестве операторов могут использоваться любые операторы языка, в том числе и еще один if.
Здесь и далее, везде, где мы имеем право поставить один оператор, мы имеем право поставить и несколько операторов, заключенных в фигурные скобки. Такой "составной" оператор называется блоком.
Например:
if (a>b) document.write("А больше B");
else document.write("А НЕ больше B");
if (day==1) document.write("понедельник");
else if (day==2) document.write("вторник");
else if (day==3) document.write("среда");
else if (day==4) document.write("четверг");
else if (day==5) document.write("пятница");
else if (day==6) document.write("суббота");
else if (day==7) document.write("воскресенье");
else document.write("Ошибка: day="+day);
Цикл while, цикл for
Цикл while
И этот такой же как в языке C.
while (<логическое выражение>) оператор;
Сначала вычисляется логическое выражение. Если оно истинно, то выполняется оператор. Затем снова вычисляется логическое выражение. Если оно и на этот раз истинно - снова выполняется оператор и снова вычисляется логическое выражение.
Так продолжается до тех пор, пока логическое выражение не станет ложным. Как только, при очередном вычислении, логическое выражение оказалось ложным, оператор не выполняется, а выполнение программы продолжается с точки следующей сразу за оператором.
Например:
var i = 0;
while (i<10) {
document.write("*");
i = i+1;
}
document.write(i);
В этом примере будет напечатано 10 звездочек, а, затем, число 10.
Еще пример:
var i = 0;
while (i>10) {
document.write("*");
i = i+1;
}
document.write(i);
Ни одной звездочки напечатано не будет, т.к. логическое выражение (i>10) ложно с самого начала. Просто будет напечатано число 0.
Последний пример:
var i = 0;
while (i<10) {
document.write("*");
}
document.write(i);
Звездочки будут печататься бесконечно, т.к. логическое выражение никогда не станет ложным. Действительно, i вседа будет оставаться нулем и будет меньше 10.
Цикл for
Этот, довольно сложный цикл, также имеет двойника в языке C.
В принципе, без него можно и обойтись, потому, что все, что он делает, можно записать и с помощью простого цикла while, однако иногда цикл for приводит к более простым и изящным программам.
for (выражение1;выражение2;выражение3) оператор;
Выполняется он таким образом:
Вычисляется выражение1
Вычисляется выражение2
Если выражение2 можно рассматривать как истину (либо оно было логическим, либо оно не равно ни нулю, ни пустой строке) то выполняется оператор, иначе цикл заверщается и программа продолжает выполнение с точки следующей за оператором.
Вычисляется выражение3
Переход к шагу 2
Таким образом, мы можем записать полный эквивалент цикла for при помощи простого while.
выражение1;
while (выражение2) {
оператор;
выражение3
}
Заметьте, что выражение1 вычисляется всегда и только один раз, в самом начале. Выражение2 всегда вычисляется хотябы один раз. И, наконец, выражение3 и оператор могут не вычисляться и ни разу в том случае, когда выражение2 изначально ложно.
Любое (хоть все сразу) из выражений в цикле for можно опускать. Но, при этом нельзя выбрасывать точки с запятыми. Их всегда должно быть две. Опущенное выражение считается истинным.
Примеры:
// Печатаем 10 звездочек
for (var i=0; i<10; i++) document.write('*');
// Печатаем нечетные числа меньшие 100
for (var i=1; i<100; i+=2) document.write(i);
// Печатаем четные числа от 100 до 200
for (var i=100; i<=200; i+=2) document.write(i);
// Печатаем все степени числа 2 до 4096
for (var i=2; i<=4096; i*=2) document.write(i);