SlideShare a Scribd company logo
1 of 22
Download to read offline
Цикли
Цикл while
while (умова) {
// код, тіло цикла
}
Приклад:
var i = 0;
while (i < 5) {
alert( i );
i++;
}
Цикл do…while
do {
// тіло цикла
} while (умова)
Приклад:
var i = 0;
do {
alert( i );
i++;
} while (i < 3);
Цикл for
for (початок; умова; крок) {
// ... тіло цикла ...
}
Приклад:
var i;
for (i = 0; i < 5; i++) {
alert( i );
}
Або
for (var i = 0; i < 5; i++) {
alert(i); // 0, 1, 2, 3, 4
}
Переривання циклу
Директива break.
Сумація чисел, поки користувач їх вводить
var sum = 0;
while (true) {
var value = +prompt("Введіть число", '');
if (!value) break; // (*)
sum += value;
}
alert( 'Сума: ' + sum );
Факультативний
матеріал
•continue – переривання поточної ітерації
•мітки для break/continue
Цикл for..in для перахунку
властивостей об’єкта – пізніше.
Задача 17
Яке останнє значення виведе цей код і
чому?
var i = 3;
while (i) {
alert( i-- );
}
Розв’язок
1.
Треба врахувати, що alert(i--)
спочатку виводить поточне значення i, а
потім зменшує його на 1.
Задача 18
Які значення виведуть цикли:
for (var i = 0; i < 5; i++) alert( i );
for (var i = 0; i < 5; ++i) alert( i );
Розв’язок
В обох випадках – від 0 до 4.
Алгоритм роботи for:
1. Призначити i=0
2. Перевірити i<5
3. Якщо правильно – виконати тіло цикла
alert(i), потім виконати i++
Задача 19
Виведіть всі парні числа від 2 до 10.
Розв’язки
for (var i=2; i<=10; i += 2) {
alert( i );
}
Або
for (var i = 2; i <= 10; i++) {
if (i % 2 == 0) {
alert( i );
}
}
Або
var i = 2;
while (i<=10) {
alert ( i );
i += 2;
}
Задача 20
Напишіть цикл, який за допомогою prompt
пропонує ввести число, > 100. Якщо
користувач ввів інше число – попросити
ввести ще раз, і так далі. Вихід з циклу –
введення числа > 100 або кнопка
“Скасувати”.
Припускається, що користувач вводить
тільки числа.
Розв’язки
var num =1;
while (num <100 && !!num ==true){
num = prompt ("Введіть число > 100", '');
}
Або
var num;
do {
num = prompt("Введіть число > 100", 0);
} while (num <= 100 && num != null);
Конструкція switch
Синтаксис:
switch(x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}
Приклад:
var a = 'весна';
switch (a) {
case 'зима':
alert( 'холодно' );
break;
case 'весна':
alert( 'тепло' );
break;
case 'літо':
alert( 'спекотно' );
break;
default:
alert( 'мокро' );
}
Якщо break нема, то виконання піде нижче по
наступних case, при цьому інші перевірки
ігноруються.
var a = 'весна';
switch (a) {
case 'зима':
alert( 'холодно' );
case 'весна':
alert( 'тепло' );
case 'літо':
alert( 'спекотно' );
default:
alert( 'мокро' );
}
Виведе по черзі тепло, спекотно, мокро.
Групування case
Кілька значень case можна згрупувати.
switch (new Date().getDay()) {
case 4:
case 5:
text = "Скоро вихідні";
break;
case 0:
case 6:
text = "Сьогодні вихідний";
break;
default:
text = "Вихідні колись будуть…";
}
alert(text);
Фрагмент new Date().getDay() розглянемо пізніше. Він
виводить номер дня тижня, причому неділя – 0, понеділок –
1…
Задача 21
Перепишіть код з if у switch.
var a = +prompt('a?', '');
if (a == 0) {
alert( 0 );
}
if (a == 1) {
alert( 1 );
}
if (a == 2 || a == 3) {
alert( '2,3' );
}
Розв’язок
var a = +prompt('a?', '');
switch (a) {
case 0:
alert( 0 );
break;
case 1:
alert( 1 );
break;
case 2:
case 3:
alert( '2,3' );
break;
}
Функції
Синтаксис:
function name(parameter1, parameter2,
parameter3) {
код, який має виконуватись
}
Приклад:
function sayHello() {
alert( 'Привіт!' );
}
sayHello();
sayHello();
Локальні змінні
Функції можуть містити локальні змінні, які будуть
видимі тільки всередині функції. Оголошуються через
var.
function showMessage() {
var message = 'текст у локальній змінній';
alert( message );
}
showMessage(); // тут все спрацює
alert( message ); // <-- буде помилка
Блоки if/else, switch, for, while, do..while
не обмежують область видимості змінних.
function count() {
for (var i = 0; i < 3; i++) {
var j = i * 2;
}
alert( i ); // i=3, останнє значення i, при
якому цикл перестав працювати
alert( j ); // j=4, останнє значення j, яке
обчислив цикл
}
count();
Чи можна поза функцією написати alert( i )?

More Related Content

What's hot

практ заняття 17 нев інт
практ заняття 17 нев інтпракт заняття 17 нев інт
практ заняття 17 нев інтcit-cit
 
Mka python jr-urok_05_ua_1563258882
Mka python jr-urok_05_ua_1563258882Mka python jr-urok_05_ua_1563258882
Mka python jr-urok_05_ua_1563258882PavloTsiura
 
Урок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величинУрок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величинВасиль Тереховський
 
09 Static Polymorphism
09 Static Polymorphism09 Static Polymorphism
09 Static Polymorphismolegapster
 
Mka python jr-urok_06_ua_1563258907
Mka python jr-urok_06_ua_1563258907Mka python jr-urok_06_ua_1563258907
Mka python jr-urok_06_ua_1563258907PavloTsiura
 
лекц2 невизн інт
лекц2 невизн інтлекц2 невизн інт
лекц2 невизн інтcit-cit
 
Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Alexander Kuzmenko
 

What's hot (12)

практ заняття 17 нев інт
практ заняття 17 нев інтпракт заняття 17 нев інт
практ заняття 17 нев інт
 
Урок 44. Цикл з післяумовою
Урок 44. Цикл з післяумовоюУрок 44. Цикл з післяумовою
Урок 44. Цикл з післяумовою
 
Урок 43. Цикл з передумовою
Урок 43. Цикл з передумовоюУрок 43. Цикл з передумовою
Урок 43. Цикл з передумовою
 
Mka python jr-urok_05_ua_1563258882
Mka python jr-urok_05_ua_1563258882Mka python jr-urok_05_ua_1563258882
Mka python jr-urok_05_ua_1563258882
 
Урок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величинУрок 45. Складання циклічних алгоритмів опрацювання величин
Урок 45. Складання циклічних алгоритмів опрацювання величин
 
09 Static Polymorphism
09 Static Polymorphism09 Static Polymorphism
09 Static Polymorphism
 
Mka python jr-urok_06_ua_1563258907
Mka python jr-urok_06_ua_1563258907Mka python jr-urok_06_ua_1563258907
Mka python jr-urok_06_ua_1563258907
 
лекц2 невизн інт
лекц2 невизн інтлекц2 невизн інт
лекц2 невизн інт
 
cpp-2013 #19 Concurrency
cpp-2013 #19 Concurrencycpp-2013 #19 Concurrency
cpp-2013 #19 Concurrency
 
cpp-2013 #20 Best practices
cpp-2013 #20 Best practicescpp-2013 #20 Best practices
cpp-2013 #20 Best practices
 
Масиви в C++
Масиви в C++Масиви в C++
Масиви в C++
 
Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++
 

More from Олег Вілігурський

Python для фізиків. Вступ. Лабораторні роботи
Python для фізиків. Вступ. Лабораторні роботиPython для фізиків. Вступ. Лабораторні роботи
Python для фізиків. Вступ. Лабораторні роботиОлег Вілігурський
 
Python для фізиків. Вступ. Лабораторні роботи.
Python для фізиків. Вступ. Лабораторні роботи.Python для фізиків. Вступ. Лабораторні роботи.
Python для фізиків. Вступ. Лабораторні роботи.Олег Вілігурський
 

More from Олег Вілігурський (20)

Python для фізиків. Вступ. Лабораторні роботи
Python для фізиків. Вступ. Лабораторні роботиPython для фізиків. Вступ. Лабораторні роботи
Python для фізиків. Вступ. Лабораторні роботи
 
Python для фізиків. Вступ. Лабораторні роботи.
Python для фізиків. Вступ. Лабораторні роботи.Python для фізиків. Вступ. Лабораторні роботи.
Python для фізиків. Вступ. Лабораторні роботи.
 
Python for physicists. introduction
Python for physicists. introductionPython for physicists. introduction
Python for physicists. introduction
 
Theme25-jQuery2
Theme25-jQuery2Theme25-jQuery2
Theme25-jQuery2
 
Theme24-jQuery
Theme24-jQueryTheme24-jQuery
Theme24-jQuery
 
Theme23-oop2(end)
Theme23-oop2(end)Theme23-oop2(end)
Theme23-oop2(end)
 
Theme23-oop2
Theme23-oop2Theme23-oop2
Theme23-oop2
 
Theme22-OOP
Theme22-OOPTheme22-OOP
Theme22-OOP
 
Theme21_json
Theme21_jsonTheme21_json
Theme21_json
 
Theme20_ajax
Theme20_ajaxTheme20_ajax
Theme20_ajax
 
Theme19_css
Theme19_cssTheme19_css
Theme19_css
 
Theme18_css
Theme18_cssTheme18_css
Theme18_css
 
Theme17a css
Theme17a cssTheme17a css
Theme17a css
 
Theme17
Theme17Theme17
Theme17
 
Theme16
Theme16Theme16
Theme16
 
Coding for Future in Lutsk. JavaScript. Part 15
Coding for Future in Lutsk. JavaScript. Part 15Coding for Future in Lutsk. JavaScript. Part 15
Coding for Future in Lutsk. JavaScript. Part 15
 
Coding for Future in Lutsk. JavaScript. Part 14
Coding for Future in Lutsk. JavaScript. Part 14Coding for Future in Lutsk. JavaScript. Part 14
Coding for Future in Lutsk. JavaScript. Part 14
 
Coding for Future in Lutsk. JavaScript. Part 13
 Coding for Future in Lutsk. JavaScript. Part 13 Coding for Future in Lutsk. JavaScript. Part 13
Coding for Future in Lutsk. JavaScript. Part 13
 
Coding for Future in Lutsk. JavaScript. Part 12
Coding for Future in Lutsk. JavaScript. Part 12Coding for Future in Lutsk. JavaScript. Part 12
Coding for Future in Lutsk. JavaScript. Part 12
 
Coding for Future in Lutsk. JavaScript. Part 11
Coding for Future in Lutsk. JavaScript. Part 11Coding for Future in Lutsk. JavaScript. Part 11
Coding for Future in Lutsk. JavaScript. Part 11
 

Recently uploaded

Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класkrementsova09nadya
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...JurgenstiX
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»tetiana1958
 
О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяAdriana Himinets
 
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»tetiana1958
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняAdriana Himinets
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfssuser54595a
 

Recently uploaded (10)

Віртуальна виставка нових надходжень 2-24.pptx
Віртуальна виставка нових надходжень 2-24.pptxВіртуальна виставка нових надходжень 2-24.pptx
Віртуальна виставка нових надходжень 2-24.pptx
 
Хімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 класХімічні елементи в літературних творах 8 клас
Хімічні елементи в літературних творах 8 клас
 
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
Принципові відмінності досконалої (повної) конкуренції від інших форм організ...
 
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
Відкрита лекція на тему «Контроль бур'янів в посівах соняшника»
 
О.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. БіографіяО.Духнович - пророк народної правди. Біографія
О.Духнович - пророк народної правди. Біографія
 
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»Відкрита лекція на тему «Біологічний захист рослин у теплицях»
Відкрита лекція на тему «Біологічний захист рослин у теплицях»
 
Її величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptxЇї величність - українська книга презентація-огляд 2024.pptx
Її величність - українська книга презентація-огляд 2024.pptx
 
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
Віртуальна виставка «Аграрна наука України у виданнях: історичний аспект»
 
Р.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповіданняР.Шеклі "Запах думки". Аналіз оповідання
Р.Шеклі "Запах думки". Аналіз оповідання
 
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdfupd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
upd.18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23_FINAL.pdf
 

Coding for Future in Lutsk. JavaScript. Part 5

  • 1. Цикли Цикл while while (умова) { // код, тіло цикла } Приклад: var i = 0; while (i < 5) { alert( i ); i++; }
  • 2. Цикл do…while do { // тіло цикла } while (умова) Приклад: var i = 0; do { alert( i ); i++; } while (i < 3);
  • 3. Цикл for for (початок; умова; крок) { // ... тіло цикла ... } Приклад: var i; for (i = 0; i < 5; i++) { alert( i ); } Або for (var i = 0; i < 5; i++) { alert(i); // 0, 1, 2, 3, 4 }
  • 4. Переривання циклу Директива break. Сумація чисел, поки користувач їх вводить var sum = 0; while (true) { var value = +prompt("Введіть число", ''); if (!value) break; // (*) sum += value; } alert( 'Сума: ' + sum );
  • 5. Факультативний матеріал •continue – переривання поточної ітерації •мітки для break/continue Цикл for..in для перахунку властивостей об’єкта – пізніше.
  • 6. Задача 17 Яке останнє значення виведе цей код і чому? var i = 3; while (i) { alert( i-- ); }
  • 7. Розв’язок 1. Треба врахувати, що alert(i--) спочатку виводить поточне значення i, а потім зменшує його на 1.
  • 8. Задача 18 Які значення виведуть цикли: for (var i = 0; i < 5; i++) alert( i ); for (var i = 0; i < 5; ++i) alert( i );
  • 9. Розв’язок В обох випадках – від 0 до 4. Алгоритм роботи for: 1. Призначити i=0 2. Перевірити i<5 3. Якщо правильно – виконати тіло цикла alert(i), потім виконати i++
  • 10. Задача 19 Виведіть всі парні числа від 2 до 10.
  • 11. Розв’язки for (var i=2; i<=10; i += 2) { alert( i ); } Або for (var i = 2; i <= 10; i++) { if (i % 2 == 0) { alert( i ); } } Або var i = 2; while (i<=10) { alert ( i ); i += 2; }
  • 12. Задача 20 Напишіть цикл, який за допомогою prompt пропонує ввести число, > 100. Якщо користувач ввів інше число – попросити ввести ще раз, і так далі. Вихід з циклу – введення числа > 100 або кнопка “Скасувати”. Припускається, що користувач вводить тільки числа.
  • 13. Розв’язки var num =1; while (num <100 && !!num ==true){ num = prompt ("Введіть число > 100", ''); } Або var num; do { num = prompt("Введіть число > 100", 0); } while (num <= 100 && num != null);
  • 14. Конструкція switch Синтаксис: switch(x) { case 'value1': // if (x === 'value1') ... [break] case 'value2': // if (x === 'value2') ... [break] default: ... [break] }
  • 15. Приклад: var a = 'весна'; switch (a) { case 'зима': alert( 'холодно' ); break; case 'весна': alert( 'тепло' ); break; case 'літо': alert( 'спекотно' ); break; default: alert( 'мокро' ); }
  • 16. Якщо break нема, то виконання піде нижче по наступних case, при цьому інші перевірки ігноруються. var a = 'весна'; switch (a) { case 'зима': alert( 'холодно' ); case 'весна': alert( 'тепло' ); case 'літо': alert( 'спекотно' ); default: alert( 'мокро' ); } Виведе по черзі тепло, спекотно, мокро.
  • 17. Групування case Кілька значень case можна згрупувати. switch (new Date().getDay()) { case 4: case 5: text = "Скоро вихідні"; break; case 0: case 6: text = "Сьогодні вихідний"; break; default: text = "Вихідні колись будуть…"; } alert(text); Фрагмент new Date().getDay() розглянемо пізніше. Він виводить номер дня тижня, причому неділя – 0, понеділок – 1…
  • 18. Задача 21 Перепишіть код з if у switch. var a = +prompt('a?', ''); if (a == 0) { alert( 0 ); } if (a == 1) { alert( 1 ); } if (a == 2 || a == 3) { alert( '2,3' ); }
  • 19. Розв’язок var a = +prompt('a?', ''); switch (a) { case 0: alert( 0 ); break; case 1: alert( 1 ); break; case 2: case 3: alert( '2,3' ); break; }
  • 20. Функції Синтаксис: function name(parameter1, parameter2, parameter3) { код, який має виконуватись } Приклад: function sayHello() { alert( 'Привіт!' ); } sayHello(); sayHello();
  • 21. Локальні змінні Функції можуть містити локальні змінні, які будуть видимі тільки всередині функції. Оголошуються через var. function showMessage() { var message = 'текст у локальній змінній'; alert( message ); } showMessage(); // тут все спрацює alert( message ); // <-- буде помилка
  • 22. Блоки if/else, switch, for, while, do..while не обмежують область видимості змінних. function count() { for (var i = 0; i < 3; i++) { var j = i * 2; } alert( i ); // i=3, останнє значення i, при якому цикл перестав працювати alert( j ); // j=4, останнє значення j, яке обчислив цикл } count(); Чи можна поза функцією написати alert( i )?