Зараз обговорюють

"Тобто є ряд завдань, які взагалі без рекурсії не наважуються."  - це як розуміти? Перефразуй, будь ласка. 

виправив, йшлося про те що деякі завдання можна вирішити лише при використанні рекурсії

Спасибі дуже корисна стаття

А ще щось планується подібного найближчим часом?


Дякую за підтримку, радий що Вам сподобалось!

Так маю вже майже дороблений проект по управлінні Audio файлом, на заміну стандартним клавішам управління HTML5, але ще не встиг відтестувати програвання файлів з інтернету, поки лише локально працює

Надіюсь найближчим часом дороблю й закину

Рахунки

webmoneyeur - E385818210641
usd - Z304643423050
uah - U354026817492
rub - R301704373231easypay80002677bitcoin1F5HRGroUtEQW9HBNbeew8iKh5KQ8vJxzw

Зворотній зв'язок

Для покращення роботи сайту надсилайте свої зауваження:
mailЗауваження
mailПропозиція

Статистика

UkrNET - поисково-информационный ресурс

JavaScript : Робота з циклами for, while та do - while

Дуже часто в роботі необхідно виконувати однотипну дію велику к-ть раз. Наприклад, вивести статті зі списку одну за одною. Або просто перебрати всі числа від 1 до 10 і для кожного виконати певні обчислення.

Для багаторазового повторення однієї ділянки коду - передбачені цикли.

for

for - найчастіше використовуваний цикл.

Даний цикл працює за допомогою лічильника та має скінченну к-ть операцій, ітератор змінює своє значення від заданого початкового значення до кінцевого значення з деяким кроком, і для кожного значення ітератора тіло циклу виконується один раз:

for(var i = 0; i < 10; i++){
	[Ваш код]
}

i - наш ітератор який відповідає за кількість ітерацій, з початку ми задаємо його значення i = 0 і межу доки буде виконуватись цикл i < 10, i++ відповідає за крок який буде здійснювати ітератор при проходженні циклу (в даному випадку це 1)

Щоб перервати виконання циклу в певний момент можна додати наступне:

if ([умова]) break; // при виконання умови завершити виконання циклу

Розглянемо роботу із циклом на прикладі - необхідно відсортувати масив чисел (5, 1, 10, 15, 2, 7, 6, 14, 3, 2, 1) по зростанню:

function mySort(){
	var myArr = [5, 1, 10, 15, 2, 7, 6, 14, 3, 2, 1]; //масив чисел
	for(var i = 1; i < myArr.length; i++){ //проходимо усі елементи масиву
		if(myArr[i] < myArr[i-1]){ //якщо теперішнє значення менше попереднього тоді
			var temp = myArr[i]; // зберігаємо в тимчасову змінну теперішнє значення
			myArr[i] = myArr[i-1]; // міняємо їх місцями
			myArr[i-1] = temp;
			i = 0; //повертаємо перевірку циклу до 0 щоб знову почати перевірку з 2 елемента масиву
		}
	}
	var myString = myArr[0]; //зберігаємо перше значення відсортованого масиву
	for(i = 1; i < myArr.length; i++){
		myString += ', ' + myArr[i]; //додаємо решту значень масиву, розділяючи їх комою
	}
	alert(myString); //виводимо результат
}

В даному випадку реалізовано так зване "сортування бульбашкою"

Жоден із цих параметрів не є обов'язковим, тому якщо ви щось не вкажете компілятор Вас про це не повідомить!

Ось приклад вічного циклу:

for(;;){
	...
	if ([умова]) break;
}

while

Даний цикл приймає умову і виконується поки умова повертає значення true:

while([умова]) {
	[Ваш код]
}

Наприклад використаємо масив чисел із попереднього завдання і підрахуємо суму усіх його чисел

function myWhileTest(){
	var myArr = [5, 1, 10, 15, 2, 7, 6, 14, 3, 2, 1];
	var sum = 0;
	i = 0;
	while(i < myArr.length){ // перевіряємо умову для виконання циклу
		sum += myArr[i]; // додаємо наявний елемент масиву до sum
		i += 1; // збільшуємо ітератор на 1
	}
	alert(sum);
}

Ось приклад вічного циклу:

while (true) { [Ваш код] }

do - while

Це так званий цикл з після умовою, тому що він з початку проходить тіло циклу, а лише потім перевіряє умову. Таким чином даний цикл завжди виконується як мінімум 1 раз.

do{
  [Ваш код]
} while([умова]);

Наприклад порахуємо суму чисел при ітераціях:

function myDoWhileTest(){
	var x = 0;
	var i = 0;
	do{
		x += i; // додаємо наявний і до х
		i++; // збільшуємо ітератор на 1
	} while(i < 4); // перевіряємо умову для виконання наступного циклу
	alert(x);
}

Цикли типу do - while досить рідко використовуються в роботі.


view734like0dislike0 avatard_l4w clock 2017-03-03 00:47

Коментарі:



Для даної статті відсутні коментарі

Про нас

"Programmers World" розроблено з метою полегшення в освоєнні навичок програмування, та поширення матеріалів з сфери ІТ Українською мовою.

Кожен бажаючий може безкоштовно користуватися ресурсами сайту, щоб:

- Вивчати теоретичні аспекти мов програмування

- Переглядати практичне застосування теорії при виконанні різних міні проектів з відкритим кодом

- Розміщати свої завдання на форумі для допомоги в їх реалізації, або готового коду який може бути корисний іншим користувачам

- Спілкуватись з іншими користувачами та обмінюватись досвідом

Сайт функціонує на безопланій основі та ентузіазмі розробника, якщо Ви бажаєте долучитись до розвитку даного проекту то можете пожертвувати кошти на рахунки розміщені в блоці "Допомога сайту".

Сайт

Зареєстровані користувачі можуть скористатися системою діалогів, в профілі користувача, для отримання потрібної інформації. Написати!

Також Ви можете використати форми відправки Зауважень та Пропозицій.


Електронна пошта

Ви можете звертатись на нашу поштову скриньку site.programmersworld@gmail.com

www.000webhost.com