Слайд 1JavaScript. Оператори
Лекція 2
Слайд 2JavaScript. Оператори
Лекція 2
Оператор вибору
Оператор циклу while (з передумовою)
Оператор циклу for
(з параметром)
Оператор циклу do while (с післяумовою)
Оператор передачі управління continiue
Оператор
передачі управління break
Оператор-перемикач switch
Тернарний оператор ?:
Слайд 3Оператор вибору
Умовний оператор
Вибір з однією альтернативою
Формат оператора:
if (вираз) {
Оператор;
}
Вибір з
двома альтернативами
Формат оператора:
if (вираз) {
Оператор1;
}
else {
Оператор2;
}
Слайд 4Оператор циклу while (з передумовою)
Формат оператора:
while (умова) {
Оператор;
}
Приклад. Обчислення факторіала.
//варіант
1
var n, f = 1, i = 1;
n = prompt("
Введіть значення числа факторіал якого треба обчислити ", 1);
n = parseFloat(n);
while (i<=n) f*=i++; //{f=f*i; i=i+1;}
document.write("факторіал числа“ + n + " дорівнює "+f);
Оператор циклу виконується якщо умова істинна. Якщо умова хибна, управління передається наступному за циклом оператору.
Слайд 5Оператор циклу while (з передумовою)
// варіант 2 зміна умови виходу
і префіксна операція
var n, f = 1, i = 1;
n
= prompt(" Введіть значення числа факторіал якого треба обчислити ", 1);
n = parseFloat(n);
while (i document.write(" факторіал числа"+ n +"дорівнює " + f);
Якщо оператор простий (одна команда) фігурні дужки можна не ставити
Слайд 6Оператор циклу for (з параметром)
Формат оператора:
for (вираз1; вираз2; вираз3) {
Оператор;
}
Спочатку
обчислюється вираз 1. Зазвичай вираз 1 ініціалізує змінну, яка використовується
в циклі.
Потім обчислюється вираз 2. Якщо вираз 2 істинний, то виконується оператор в тілі циклу, обробляється вираз 3, і управління переходить до початку циклу, тобто до виразу 2.
Все повторюється до тих пір поки вираз 2 не стане хибним. Цикл закінчується і управління передається наступному оператору.
Вираз 1 і вираз 3 можуть складатися з декількох виразів, між якими ставиться кома.
Слайд 7Оператор циклу for (з параметром)
Приклад. Обчислення факторіала.
//вариант 1
var n, f
= 1;
n = prompt(" Введіть значення числа факторіал якого треба
обчислити ", 1);
n = parseFloat(n);
for (i=1; i<=n; i++) f*=i;
document.write(" факторіал числа " + n + " дорівнює " + f );
Слайд 8Оператор циклу for (з параметром)
// варіант 2 У тілі циклу
порожній оператор
var n, f = 1;
n = prompt(" Введіть значення
числа факторіал якого треба обчислити ", 1);
n = parseFloat(n);
for (i=1; i<=n; f*=i, i++) ;
document.write(" факторіал числа " + n + " дорівнює " + f );
Слайд 9Оператор циклу for (з параметром)
// варіант 3 вираз 1 відсутній,
вираз 3 з одного, порожній оператор
var n, f = 1,
i = 1;
n = prompt(" Введіть значення числа факторіал якого треба обчислити ", 1);
n = parseFloat(n);
for ( ; i<=n; f*=i++) ;
document.write(" факторіал числа " + n + " дорівнює " + f );
Слайд 10Оператор циклу for (з параметром)
//вариант 4
var n, f = 1,
i;
n = prompt(" Введіть значення числа факторіал якого треба обчислити
", 1);
n = parseFloat(n);
for (i=n; i>0; f *= i--);
document.write(" факторіал числа " + n + " дорівнює " + f );
Слайд 11Оператор циклу do while (с післяумовою)
Формат оператора:
do {
Оператор;
} while (умова);
Спочатку
виконується оператор в тілі циклу. Потім перевіряється умова, і якщо
воно істинне то управління передається назад до початку оператора тіла циклу і процес повторюється. Коли умова помилкова цикл закінчується і управління передається наступному оператору.
Особливості:
Умова виходу відрізняється від циклу REPEAT UNTIL;
Оператор тіла циклу виконується мінімум 1 раз;
Слайд 12Оператор циклу do while (с післяумовою)
Приклад. Обчислення факторіала.
//вариант 1
var n,
f = 1, i = 1;
n = prompt(" Введіть значення
числа факторіал якого треба обчислити ", 1);
n = parseFloat(n);
do f*=i++; while (i<=n);
document.write(" факторіал числа " + n + " дорівнює " + f );
Слайд 13Оператор передачі управління continiue
Формат оператора:
continiue;
Оператор направляє потік управління всередині цикл.
Змушує припинитися поточну ітерацію циклу і починає наступну. Використовується тільки
всередині операторів while, for, do while.
Приклад. Накопичення суми введених додатних чисел
Слайд 14Оператор передачі управління continiue
var x, sum = 0;
var flag =
true;
while (flag) {
x = prompt(" Введіть значення числа x-> ");
x
= parseFloat(x);
if (x>0) {
sum+=x;
continue;
}
flag=false;
}
document.write("сума чисел " + sum);
Слайд 15Оператор передачі управління break
Формат оператора:
break;
Оператор викликає вихід з циклу while,
for, do while, також з оператора перемикача switch. Управління передається
наступному оператору. Типове використання - завершення циклу достроково.
Приклад. Накопичення суми введених додатних чисел
Слайд 16Оператор передачі управління break
var x, sum = 0;
while (true) {
x
= prompt(" Введіть значення числа x-> ");
x = parseFloat(x);
if (x
{
break;
}
sum += x;
}
document.write("сума чисел " + sum);
Слайд 17Оператор-перемикач switch
switch (выражение) {
case константа1:
оператор1
…
case константаN:
операторN
default:
оператор
}
Мітка case - константний
цілочисельний вираз. Всі мітки повинні бути унікальними.
Мітка default - необов'язкова.
Значення
виразу - символ або ціле число, яке порівнюється з константами у всіх case. І передають управління рівному йому. Якщо рівного немає то передається оператору default. Зазвичай в кінці оператора ставлять break, що передає управління команді наступної за перемикачем switch. Якщо break відсутній то управління передається наступному case.
Слайд 18Оператор-перемикач switch
var x, sum = 0;
x = prompt("Скільки буде
2*2 = ");
x = parseInt(x);
switch (x) {
case 3:
document.write("Малувато");
break;
case 4:
document.write("В точку!");
break;
case
5:
document.write("Перебір");
break;
default:
document.write("Я таких значень не знаю");
}
Слайд 19Оператор-перемикач switch
var x, sum = 0;
x = prompt("Скільки буде
2*2 = ");
x = parseInt(x);
switch (x) {
case 4:
document.write("Вірно!");
break;
case 3:
case 5:
document.write("Невірно!");
break;
default:
document.write("
Я таких значень не знаю ");
}
Слайд 20Тернарний оператор ?:
Формат оператора:
Логічний вираз ? вираз1 : вираз2;
Компактна форма
оператора if else. Алгоритм роботи операції наступний:
Обчислюється логічний вираз.
Якщо логічний
вираз істинний, то обчислюється значення виразу 1, інакше - значення виразу 2.
Обчислення значення повертається.
Приклад. Обчислення модуля і обчислення факторіала (використовується рекурсивний виклик функції)
Слайд 21Тернарний оператор ?:
var m_i,i;
i = prompt("Введіть значення числа модуль якого
треба обчислити ");
i = parseFloat(i);
m_i = (i
(i);
document.write("|" + i + "| = " + m_i);
Слайд 22Що станеться під час виконання даного коду?
switch (1)
{
case 1:
case 2:
case
3: alert("Hello");
break;
}
var a = 2, b = 3;
var c =
a++ >= b ? 0 : 1;
alert(c);
var a = 2, b = 2;
var c = a == b++ ? a-- : b++;
alert(c);
int a = 1, b = 2;
if (a < b)
alert("a < b");
alert("a не меньше b");
var p = 1 > 2 ? (3 > 3 ? 1 : 2) : (3 < 3 ? 3 : 4);
do
{
}
while (false);
Нехай а = -5. Скільки разів виконається тіло наступного циклу?
while (a<0) a++;
var i = 10;
do
while (i < 15)
i = i + 20;
while (i < 2);
alert(i);
Слайд 23Що станеться під час виконання даного коду?
var i = 10;
do
while
(i++ < 15)
i = i + 20;
while (i < 2);
alert(i);
var
a = 10;
if (a++ > 10) {
console.log("true");
}
{
console.log("false");
}
console.log("ABC");
var num = 10;
switch (num) {
default: console.log("default");
case 0: console.log("case1");
case 10*2: console.log("case2");
break;
}
var myVal = false;
if (myVal = true)
for (i = 0; i < 2; i++) console.log(i);
else console.log("else");