- Задачи на циклы while, for в JavaScript
- Учебник JavaScript
- Практика
- Работа с DOM
- Практика
- Некоторые продвинутые вещи
- Рекомендованное ES6
- Регулярки
- Разное
- Работа с канвасом
- Практика
- Контекст
- Drag-and-Drop
- Практика по ООП
- Практика
- Promise ES6
- Библиотека jQuery
- Примеры решения задач
- Задача
- Задача
- Задача . Цикл for-in
- Задачи для решения
- Циклы while и for
- Работа с for для массивов
- Работа с for-in
- Задачи
- Задачи на циклы foreach, while, for в PHP
- Учебник PHP
- Практика
- Важное
- Регулярки
- Работа с htaccess
- Файлы, папки
- Сессии и куки
- Работа с БД
- Практика по работе с БД в PHP
- Практика
- Движок PHP
- Продвинутые БД
- Аутентификация
- Практика
- ООП и MVC
- Абстрактные классы и интерфейсы
- Трейты
- ООП Магия
- Практика
- Практика: классы как набор методов
- Примеры решения задач
- Задача
- Задача
- Задача
- Задачи для решения
- Работа с foreach
- Работа с ключами
- Циклы while и for
- Задачи
- Задачи посложнее
- Задачи на отработку циклов и функций JavaScript
- Учебник JavaScript
- Практика
- Работа с DOM
- Практика
- Некоторые продвинутые вещи
- Рекомендованное ES6
- Регулярки
- Разное
- Работа с канвасом
- Практика
- Контекст
- Drag-and-Drop
- Практика по ООП
- Практика
- Promise ES6
- Библиотека jQuery
- Задачи для решения
- Отработка циклов
Задачи на циклы while, for в JavaScript
Учебник JavaScript
Практика
Работа с DOM
Практика
Некоторые продвинутые вещи
Рекомендованное ES6
Некоторые видео могут забегать вперед, тк к этому месту учебника мы прошли еще не весь ES6. Просто пропускайте такие видео, посмотрите потом.
Регулярки
Разное
Работа с канвасом
Практика
Контекст
Drag-and-Drop
- Урок №
Введение, задач нет - Урок №
Основы
работы с ООП - Урок №
Наследование
классов в JavaScript
Продвинутая работа
с классами на JavaScript —> - Урок №
Применение
ООП при работе с DOM - Урок №
Практика
по ООП в JavaScript - Тут скоро будут еще уроки
по функциональному и прототипному
стилю ООП.
Практика по ООП
Ваша задача: посмотрите, попробуйте повторить.
Практика
Promise ES6
Библиотека jQuery
Тк. jQuery устаревает, объявляю эти уроки не обязательными и выношу в конец учебника (так по уровню уроки середины учебника, если что). В перспективе переедет в отдельный учебник по jq.
Перед решением задач изучите теорию к данному уроку.
Примеры решения задач
Задача
Задача. Выведите столбец чисел от 1 до 50.
Решение: воспользуемся циклом while (отделим числа тегом br друг от друга, чтобы получить столбец, а не строку):
Можно также воспользоваться и циклом for:
Задача
Задача. Дан массив с элементами [1, 2, 3, 4, 5]. С помощью цикла for выведите все эти элементы на экран.
Решение: будем повторять цикл for от 0 до номера последнего элемента массива. Этот номер на единицу меньше количества элементов в массиве, которое можно найти с помощью свойства length таким образом: arr.length.
Чтобы цикл прокрутился на единицу меньше длины массива, в условие окончания мы поставим
Задача. Дан массив с элементами [2, 3, 4, 5]. С помощью цикла for найдите произведение элементов этого массива.
Решение: для таких задач существует стандартное решение, которое заключается в том, что циклом for перебираются элементы массива и их произведение последовательно записывается в переменную result (в ней постепенно накапливается искомое произведение):
Как это работает: изначально переменная result имеет значение 1, затем при первом проходе цикла в нее записывается ее текущее содержимое (это 1), умноженное на первый элемент массива (это 2). Получится, что в result запишется 1*2 и теперь там будет лежать число 2.
При следующем проходе цикла в result запишется текущее значение result, умноженное на второй элемент массива (то есть 2*3=6). И так далее пока массив не закончится.
Можно переписать строчку result = result * arr[i] через *= для краткости:
Задача . Цикл for-in
Задача. Дан объект obj с ключами ‘Минск’, ‘Москва’, ‘Киев’ с элементами ‘Беларусь’, ‘Россия’, ‘Украина’. С помощью цикла for-in выведите на экран строки такого формата: ‘Минск — это Беларусь.’.
Решение: задача не представляет сложности если уметь работать с циклом for-in. Давайте решать задачу поэтапно. Для начала выведем на экран все ключи объекта (это названия городов):
А теперь выведем все значения объекта (это страны):
Ну, а теперь сформируем строки нужного нам формата:
Задачи для решения
Циклы while и for
Выведите столбец чисел от 1 до 100.
Выведите столбец чисел от 11 до 33.
Выведите столбец четных чисел в промежутке от 0 до 100.
С помощью цикла найдите сумму чисел от 1 до 100.
Работа с for для массивов
Дан массив с элементами [1, 2, 3, 4, 5]. С помощью цикла for выведите все эти элементы на экран.
Дан массив с элементами [1, 2, 3, 4, 5]. С помощью цикла for найдите сумму элементов этого массива. Запишите ее в переменную result.
Работа с for-in
Дан объект obj. С помощью цикла for-in выведите на экран ключи и элементы этого объекта.
Дан объект obj с ключами Коля, Вася, Петя с элементами ‘200’, ‘300’, ‘400’. С помощью цикла for-in выведите на экран строки такого формата: ‘Коля — зарплата 200 долларов.’.
Задачи
Дан массив с элементами 2, 5, 9, 15, 0, 4. С помощью цикла for и оператора if выведите на экран столбец тех элементов массива, которые больше 3-х, но меньше 10.
Дан массив с числами. Числа могут быть положительными и отрицательными. Найдите сумму положительных элементов массива.
Дан массив с элементами 1, 2, 5, 9, 4, 13, 4, 10. С помощью цикла for и оператора if проверьте есть ли в массиве элемент со значением, равным 4. Если есть — выведите на экран ‘Есть!’ и выйдите из цикла. Если нет — ничего делать не надо.
Дан массив числами, например: [10, 20, 30, 50, 235, 3000]. Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.
Дан массив с элементами 1, 2, 3, 4, 5, 6, 7, 8, 9. С помощью цикла for создайте строку ‘-1-2-3-4-5-6-7-8-9-‘.
Составьте массив дней недели. С помощью цикла for выведите все дни недели, а выходные дни выведите жирным.
Составьте массив дней недели. С помощью цикла for выведите все дни недели, а текущий день выведите курсивом. Текущий день должен храниться в переменной day.
Дано число n=1000. Делите его на 2 столько раз, пока результат деления не станет меньше 50. Какое число получится? Посчитайте количество итераций, необходимых для этого (итерация — это проход цикла), и запишите его в переменную num.
Источник
Задачи на циклы foreach, while, for в PHP
Учебник PHP
Практика
Важное
Регулярки
Работа с htaccess
Файлы, папки
Сессии и куки
Работа с БД
Практика по работе с БД в PHP
Перед чтением см. новые уроки раздела «Важное», которые появились выше.
Практика
Движок PHP
Продвинутые БД
Аутентификация
Практика
ООП и MVC
Абстрактные классы и интерфейсы
Трейты
ООП Магия
Практика
Практика: классы как набор методов
- Урок №
новая вкладка с new.code.mu
. текст, код Практика: класс ArrayConvertor - Урок №
новая вкладка с new.code.mu
. текст, код Практика: класс TagHelper - Урок №
новая вкладка с new.code.mu
. текст, код Практика: класс FormHelper - Урок №
новая вкладка с new.code.mu
. текст, код Практика: класс TableHelper - Урок №
новая вкладка с new.code.mu
. текст, код Практика: класс SessionShell - Урок №
новая вкладка с new.code.mu
. текст, код Практика: класс CookieShell - Урок №
новая вкладка с new.code.mu
. текст, код Практика: класс FileManipulator - Урок №
новая вкладка с new.code.mu
. текст, код Практика: класс databaseShell TODO cart корзина flash шаблонизатор роутер контроллер кеш логи фалидатор
Перед решением задач изучите теорию к данному уроку.
Примеры решения задач
Задача
Задача. Дан массив с элементами ‘html’, ‘css’, ‘php’, ‘js’, ‘jq’. С помощью цикла foreach выведите эти слова в столбик.
Решение: Для начала необходимо создать сам массив. В данном случае мы можем воспользоваться различными способами: объявить через [] либо просто воспользоваться присваиванием $arr[] = ‘html’; $arr[] = ‘php’; и так далее. Я выбрал первый способ, так как он занимает меньше места при записи:
Теперь необходимо воспользоваться циклом foreach:
Как это все работает: в переменной $elem все элементы будут лежать по порядку: сначала ‘html’, потом ‘css’ и так далее. Я буду выводить их на экран с помощью echo, а после вывода элемента ставить тег
(он делает перевод строки). Содержимое $elem и тег
являются строками, поэтому между ними я ставлю точку — соединяю тем самым две строки вместе.
Задача
Задача. Дан массив с элементами 10, 20, 15, 17, 24, 35. Найдите сумму элементов этого массива. Запишите ее в переменную $result.
Решение: Первое решение, которое может прийти в голову новичку — это просуммировать все элементы массива ‘руками’: $arr[0]+$arr[1]+. +$arr[5].
Однако, этот способ не правильный , так как в случае изменения массива код придется переписывать (например, в него добавится еще 10 элементов, или 100, что вообще будет печально). Решение необходимо делать как можно более универсальным.
Поэтому мы должны воспользоваться циклом foreach — в этом случае мы не будем привязаны к количеству элементов массива.
Теперь нужно подумать о том, как просуммировать элементы массива в цикле. Для этого я введу переменную $result, к которой при каждом проходе цикла буду прибавлять ее саму и еще один элемент массива таким образом $result = $result + $elem:
В строке $result = 0 я зануляю переменную $result, если этого не сделать — в цикле возникнет ошибка в строке $result = $result + $elem, так как при первом проходе цикла переменная $result не будет определена.
Как работает строчка $result = $result + $elem: при первом проходе в переменной $result будет 0, в $elem – 10 (первый элемент массива), тогда в $result запишется 0+10 = 10.
При втором проходе цикла в $result лежит уже 10 (значение из прошлого прохода цикла), а в $elem лежит 20 (следующий элемент массива), тогда в $result запишется 10+20=30.
При третьем проходе цикла в $result лежит 30, а в $elem – 15, в $result запишется 30+15 = 45. И так далее пока цикл не закончится.
Строчку $result = $result + $elem можно записать короче: $result += $elem.
Задача
Задача. Выведите столбец чисел от 1 до 100.
Решение: Задачу можно решить как циклом for, так и циклом while. Вначале решим через цикл while:
Решение через цикл for:
Задачи для решения
Работа с foreach
Дан массив с элементами ‘html’, ‘css’, ‘php’, ‘js’, ‘jq’. С помощью цикла foreach выведите эти слова в столбик.
Дан массив с элементами 1, 2, 3, 4, 5. С помощью цикла foreach найдите сумму элементов этого массива. Запишите ее в переменную $result.
Дан массив с элементами 1, 2, 3, 4, 5. С помощью цикла foreach найдите сумму квадратов элементов этого массива. Результат запишите переменную $result.
Работа с ключами
Дан массив $arr. С помощью цикла foreach выведите на экран столбец ключей и элементов в формате ‘green — зеленый’.
Дан массив $arr с ключами ‘Коля’, ‘Вася’, ‘Петя’ и с элементами ‘200’, ‘300’, ‘400’. С помощью цикла foreach выведите на экран столбец строк такого формата: ‘Коля — зарплата 200 долларов.’.
Циклы while и for
Выведите столбец чисел от 1 до 100.
Выведите столбец чисел от 11 до 33.
Выведите столбец четных чисел в промежутке от 0 до 100.
С помощью цикла найдите сумму чисел от 1 до 100.
Задачи
Дан массив с элементами 2, 5, 9, 15, 0, 4. С помощью цикла foreach и оператора if выведите на экран столбец тех элементов массива, которые больше 3-х, но меньше 10.
Дан массив с числами. Числа могут быть положительными и отрицательными. Найдите сумму положительных элементов этого массива.
Дан массив с элементами 1, 2, 5, 9, 4, 13, 4, 10. С помощью цикла foreach и оператора if проверьте есть ли в массиве элемент со значением, равным 4. Если есть — выведите на экран ‘Есть!’ и выйдите из цикла. Если нет — ничего делать не надо.
Дан массив числами, например: [’10’, ’20’, ’30’, ’50’, ‘235’, ‘3000’]. Выведите на экран только те числа из массива, которые начинаются на цифру 1, 2 или 5.
Дан массив с элементами 1, 2, 3, 4, 5, 6, 7, 8, 9. С помощью цикла foreach создайте строку ‘-1-2-3-4-5-6-7-8-9-‘.
Составьте массив дней недели. С помощью цикла foreach выведите все дни недели, а выходные дни выведите жирным.
Составьте массив дней недели. С помощью цикла foreach выведите все дни недели, а текущий день выведите курсивом. Текущий день должен храниться в переменной $day.
Задачи посложнее
С помощью цикла for заполните массив числами от 1 до 100. То есть у вас должен получится массив [1, 2, 3. 100].
Дан массив $arr. С помощью цикла foreach запишите английские названия в массив $en, а русские — в массив $ru.
Дано число $num=1000. Делите его на 2 столько раз, пока результат деления не станет меньше 50. Какое число получится? Посчитайте количество итераций, необходимых для этого (итерация — это проход цикла). Решите задачу сначала через цикл while, а потом через цикл for.
Источник
Задачи на отработку циклов и функций JavaScript
Учебник JavaScript
Практика
Работа с DOM
Практика
Некоторые продвинутые вещи
Рекомендованное ES6
Некоторые видео могут забегать вперед, тк к этому месту учебника мы прошли еще не весь ES6. Просто пропускайте такие видео, посмотрите потом.
Регулярки
Разное
Работа с канвасом
Практика
Контекст
Drag-and-Drop
- Урок №
Введение, задач нет - Урок №
Основы
работы с ООП - Урок №
Наследование
классов в JavaScript
Продвинутая работа
с классами на JavaScript —> - Урок №
Применение
ООП при работе с DOM - Урок №
Практика
по ООП в JavaScript - Тут скоро будут еще уроки
по функциональному и прототипному
стилю ООП.
Практика по ООП
Ваша задача: посмотрите, попробуйте повторить.
Практика
Promise ES6
Библиотека jQuery
Тк. jQuery устаревает, объявляю эти уроки не обязательными и выношу в конец учебника (так по уровню уроки середины учебника, если что). В перспективе переедет в отдельный учебник по jq.
Перед решением задач изучите теорию к данному уроку.
Задачи для решения
Отработка циклов
В следующих задачах вы должны вспомнить работу с циклами JavaScript.
Выведите с помощью цикла столбец чисел от 1 до 100.
Выведите с помощью цикла столбец чисел от 100 до 1.
Выведите с помощью цикла столбец четных чисел от 1 до 100.
Заполните массив 10-ю иксами с помощью цикла.
Заполните массив числами от 1 до 10 с помощью цикла.
Заполните массив 10-ю случайными числами (дробями) от 0 до 1 с помощью цикла. Дроби округляйте до двух знаков в дробной части.
Заполните массив 10-ю случайными числами от 1 до 10 с помощью цикла.
Дан массив с числами. С помощью цикла выведите только те элементы массива, которые больше нуля и меньше 10-ти.
Дан массив с числами. С помощью цикла проверьте, что в нем есть элемент со значением 5. Как только будет найден первый такой элемент — выведите ‘Есть’ и оборвите цикл. Если такого элемента нет — ничего не выводите.
Дан массив с числами. С помощью цикла найдите сумму элементов этого массива.
Дан массив с числами. С помощью цикла найдите сумму квадратов элементов этого массива.
Дан массив с числами. Найдите среднее арифметическое его элементов (сумма элементов, делить на количество).
Источник