Домашнее задание 15.09
- Прошлое дз п. 12 – дорешать
- Создать картинку с числом и поместить ее в другую картинку, повернув на 90 градусов
- Дана матрица. Переставить так строки местами, чтобы в первом столбце шли числа по порядку (каждое следующее увеличивалось на 1). Если это невозможно, вывести матрицу без изменений.
- Дан текст – слова разделены пробелами и точками. Найти самое длинное слово, в котором нет цифр.
Домашнее задание 31.08
- Прошлое дз п. 12 и п. 11 – решить без стандартных функций
- Написать удаление, добавление и редактирование ноутбука (как на уроке с books, код в репозитории)
- Дана строка из цифр. Добавить пробелы через каждые три цифры, начиная справа. Например, ‘23456789’ -> ’23 456 789′
- Дана строка, содержащая арифметический пример: числа со знаками плюс или минус без скобок. Вычислить значение. Например, ‘-12+23-13’ равно -2
- Заменить в строке все email на ‘[email]’. Например, ‘this is abc@mail.ru and v2@site.com’ -> ‘this is [email] and [email]’
- Найти в строке все слова, которые начинаются на заглавную букву, далее в нижем регистре буквы, далее дефис, далее 2 или 4 цифры. Наприме, Moscow-24, Minsk-2020
- Дана матрица из чисел. Переставить строки так, чтобы сначала шли строки, у которых больше нулей.
- Дана матрица из чисел. Удалить строку матрицы, в которой количество нулей максимально.
- Дана матрица из чисел. Переставить строки матрицы случайным образом.
- Найдите наибольший элемент матрицы и заменить все нечетные элементы на него.
- Поменять местами столбцы матрицы так, чтобы элементы первой строки оказались упорядоченными.
- Написать игру с компьютером. По очереди игроки называют числа от 1 до 3 до тех пор, пока сумма всех названных чисел меньше 20. Выигрывает тот, кто сделал последний ход.
- Без laravel создать форму для добавления ноутбука в базу данных с арифметической капчей, которую уже сделали раньше.
- Нарисовать флаг Турции
- Laravel: новая сущность Актер: фамилия, имя, отчество, год рождения, название последнего фильма, кол-во лет работы. Создать миграцию, модель, показать таблицу в blade со всеми актерами с фильтром (4 параметра). Добавить добавление актера и удаление.
- Написать запросы в Laravel:
- Показать всех актеров
- Показать всех актеров, у которых год рожения больше 2000
- Показать всех актеров, упорядоченные по году рождения и у которых опыт больше 10 лет
- Показать всех актеров, упорядоченные по году рождения по убыванию и у которых имя Иван
- Показать всех актеров, у которых год от 2000 до 2020, опыт не более 5 лет и фамилия содержит фрагмент ‘ов’
- Регулярные выражения в php:
- Найти все table и tables и tbl и tbls
- Найти все годы от 2000 до 2024
- Найти номер числа в формате xyyyxx, где x – четная цифра, y – нечетная цифра.
- Время в формате ЧЧ:ММ:СС
- Найти названия файлов с расширениями .xlsx, .doc, .txt, .pdf. Названия начинаются с document_ и имеют формат document_год_двецифры.расширение. Например, document_2024_12.doc или , document_24_12.txt
Домашнее задание 27.08
- Все задачи в виде функций и отдельных файлов (если не laravel)
- Сделать каптчу в виде арифметического примера (число от 1 до 99 плюс/минус число от 1 до 99). Например, 17 + 15. Добавить случайные отрезки.
- Сделать каптчу из п. 2 под размер изображения, то есть функция принимает на вход ширину и высоту, создает изображение такого размера и на нем пропорционально показывает каптчу.
- Сделать с нуля регистрацию (без laravel) – форма, каптча (из прошлого дз, где 4-5 букв), проверка правильности введенных данных (в том чисел каптчи через сессию). То есть повторить решение с урока.
- С помощью mysqli получить все ноутбуки из бд и показать в виде таблицы.
- Даны три изображения в папке (например, 1.jpg, 2.jpg, 3.jpg). Повернуть первое на 45 градусов и поместить в центр второго, после этого второе повернуть на 45 градусов и поместить в центр третьего. При необходимости изменить размер фото с помощью imagescale
- Нарисовать закрашенную звездочку. Нарисовать флаг Вьетнама
- Нарисовать несколько рядов одинаковых закрашенных звездочек
- Нарисовать 100 звездочек случайного размера, цвета и положения.
- Cоздать матрицу 3 x 4, заполнить ее числами 0 и 1 так, чтобы в одной строке была ровно одна единица, и вывести на экран.
- Дана строка, содержащая полное имя файла (например, ‘c:\WebServers\home\testsite\www\myfile.txt’). Выделите из этой строки имя файла без расширения.
- Дана строка и число. Дополнить строку слева и справа пробелами так, чтобы длина строки стала равна данному числу, а исходный текст строки был в центре итоговой строки. Например, ‘ abc’ и 7 -> слева уже есть 2 пробела, значит, добавляем справа 2 пробела и получаем ‘ abc ‘.
Домашнее задание 24.08
- Прошлое дз – дорешать, сделать с нуля задачу про квадраты в ряд
- Laravel – создать форму для добавления в бд ноутбука (на основе задачи с прошлого дз, где таблица с ноутбуками)
- Сделать картинку с капчей – 3-4 случайные буквы в ряд, случайный цвет, размер, угол и несколько отрезков
- Сделать картинку с многоугольником – алгоритм с урока
Домашнее задание 21.08
- Прошлое дз – задача про 10 квадратов и доделать функцию drawStar и задача 6 про флаг Сенегала
- Показать флаг Дании
- Показать флаг Тринидад
- Создайте массив со случайными числами. Затем между каждой парой элементов этого массива вставьте новый элемент, равный сумме значений соседних элементов.
- Сгенерировать случайный номер телефона России. Формат: +7(код)номер, код – задать несколько вариантов (из 3 цифр) в коде и выбирать случайно, номер – 7 цифр.
- Дана строка. Получить массив слов из нее. Разделители слов – цифры или пробел. Использовать preg_split
Домашнее задание 18.08
- Показать изображение: флаг Чехии
- Показать изображение: 10 одинаковых квадратов в горизонтальный ряд, размер квадратов подобрать так, чтобы между ними и расстояния от крайних квадратов до границ изображения были одинаковыми
- Показать изображение: на фоне одного изображения три других под разными углами
- Показать изображение: три случайных треугольника случайного цвета
- Показать изображение: 100 случайных кругов (изучить функцию imagearc самостоятельно)
- Показать изображение: флаг Сенегала
- Показать изображение: флаг Боснии
Домашнее задание 12.08
- Регулярные выражения: найти все годы с диапазона 2011-2034
- Почитать статью про картинки
- Картинки (документация): показать изображение: синий фон, текст: You are welcome
- Показать изображение: 100 прямоугольников случайных размеров случайного цвета в случайных позициях
- Показать изображение: 5 горизонтальных рядов одинаковых квадратов случайного цвета
- Показать изображение: слово hello – каждая буква расположена в квадрате
- Показать изображение: 100 случайных букв в случайных местах случайного размера случайного цвета под случайным углом.
- Показать изображение: квадрат со стороной 150 ровно в центре изображения (то есть центр квадрата совпадает с центром прямоугольника-изображения)
- Написать генерацию числа от 10000 до 99999, в котором должна быть хотя бы одна цифра 8.
- Сгенерировать массив из 10 чисел: 7 нулей и 3 единицы. Единицы расположены на случайных местах в списке.
Домашнее задание 11.08
- Дан двумерный массив из чисел. Переставить элементы массива так, чтобы сначала шли те, у которых кол-во отрицательных чисел больше. Например, $a=[[1, 2], [-1, -1, 5, -5], [5, -5], [1, 1]]; -> [[-1, -1, 5, -5], [5, -5], [1, 2], [1, 1]];
- Сгенерировать двумерный массив из чисел (матрица из n строк и m столбцов, то есть в массиве n подмассивов, в каждом подмассиве m чисел). Вывести на экран строку матрицы, в которой сумма чисел, стоящих на четных позициях, наибольшая.
- Дана строка из слов, разделенных пробелами. Перевернуть в строке все слова, состоящие только из цифр.
- Дан массив чисел. Найти наибольшее кол-во подряд идущих нулей в нем. Например, [0, 1, 0, 0, 0, 2, 3, 0, 0] -> 3
- Регулярные выражения (использовать preg_match_all и в пару задачах preg_match)
- Найти все dog и dogs и doggs
- Найти все годы от 2000 до 2024
- Найти номер авто Номер в формате xYYYxx, где x – буква, y – цифра.
- Время в формате ЧЧ:ММ:СС
- Найти аааbbbccc, где a – не менее 2, b – от 2 до 5, с – любое кол-во, или ссccbbbaaa, где с – не менее 2, b – от 5 до 7, с – не более 2,
- Найти все номера телефонов вида +375(33)1231231 – круглые скобки могут осутствовать, код может быть 33, 44, 29, после скобок – 7 цифр
- Дана строка. Выведите все подозрительные слова, похожие на email, встречающиеся в строке (то есть слова с @).
- Дана строка. Получить массив слов из нее. Разделители слов заданы в строке: ” ?.,!” Использовать preg_split
- Найти все даты вида 03.12.2024 или 03.12.24 то есть день.месяц.год, причем год может быть или из 4 цифр, или из 2 последних
- Найти все даты вида 03.12.2024 или 03.12.24 или 03/12/2024 или 03/12/24
- Найти названия текстовых файлов с расширениями .xlsx, .doc, .txt, .pdf. Названия начинаются с file_ и имеют формат file_дата_цифры.расширение. Например, file_02122024_12452.doc
- Найти все фрагменты вида ‘city: name.’, где name – название города с большой буквы. Например, city: Minsk, city: Moscow
Домашнее задание 08.08
- Справочник Регулярные выражения
- Сервис для тестирования регулярных выражений (выбрать php >= 7.3) и еще один запасной сервис
- Создать миграцию для хранения данных о ноутбуках: модель, год выпуска, стоимость, кол-во на складе. Создать модель. Добавить несколько ноутбуков в бд через код в кортроллере. Написать запрос для получения всех ноутбуков, которых более 200 на складе, год от 2022 до 2024, в модели есть слово Asus. Cоздать view с таблицей всех ноутбуков, кнопкой удаления каждой записи и фильтром (поля фильтра: поиск по фрагменту модели, год, мин. стоимость, макс. стоимость).
- Дана строка. Получить строку из всех букв, которые встречаются в этой строке, без повторов, в алфавитном порядке.
- Дан массив чисел. Найти кол-во перемен знаков. Например, 1 -2 3 3 -4 -> 3 (то есть 1 -2 и -2 3 и 3 -4), 1 -2 -2 -2 -> 1 (то есть 1 -2)
- Регулярные выражения:
- Найти cat
- Найти все цифры
- Найти cat и cats
- Найти все числа от 1000 до 9999
- Найти номера вида AAA-BBBB-CCC, A – любая цифра кроме 0, B – 0 или 1, C – любая цифра.
- Петя запомнил номер телефона смутно: +3753331133 и далее две цифры. Найти все походящие номера.
- Найти ac, abc, abbc, abbbc, … (b – любое кол-во)
- Найти все числа от 1000 до 9999 без цифр 5, 6, 7, 8
- Найти все числа длиной от 3 до 5, состоят из цифр и точки, которая перед последней цифрой.
- Найти все слова от 4 до 15 символов, начинаются с буквы, состоят из букв, цифр и символа _
- Найти ссылки: начинаются на https или http, далее точка, далее только буквы или цифры, далее точка, далее домен из 2 или 3 букв. Например, https://www.site.ru
Домашнее задание 05.08
- С дз 30.07 задача 6 доделать
- Сгенерировать рандомное число от 1 до 100000. Найти сумму цифр этого числа, которые больше первой цифры. Например, для 453611 сумма равна 5+6 = 11, так как 5 > 4, 6 > 4.
- Дан массив чисел. Переставить в нем числа так, чтобы сначала шли отрицательные, потом нули, потом положительные.
- Дано массив чисел. а) Сдвинуть все его элементы циклично вправо на один элемент. Например, 2, 4, 1, 5 -> 5, 2, 4, 1. б) Сдвинуть все его элементы циклично вправо на k элементов.
- Дано натуральное число. Найти кол-во его простых делителей. Например, для 6 делители: 1, 2, 3, 6, из них простые: 2, 3, то есть ответ: 2. Что такое простое число
- Дан текст в стиле snake, то есть слова в нижнем регистре через нижнее подчеркивание. Написать функцию, которая переводит этот текст в Camel, то есть слова слитно, каждое слово с большой буквы. Например, ‘test_example_case’ => ‘TestExampleCase’
Домашнее задание 02.08
- Задачи с прошлого дз
- Создать миграции и модель для сущности Product (Товар). Поля: название, описание, кол-во единиц товара на складе, цена. Создать страницу для показа всех товаров и фильтр. Поля фильтра: название (поиск по фрагменту), кол-во товара, минимальная цена, максимальная цена.
- Для сущности Car сделать фильтр. Поля: марка, год выпуска, цвет.
- Для сущности Student сделать фильтр. Поля: фамилия, номер группы, минимальный рейтинг, максимальный рейтинг.
- Доп. необязательное задание: для пункта 3 в фильтре поле цвет сделать в виде выпадающего списка (select)
- Написать функцию, которая на вход получает две строки с кол-вом часов и минут в формате “2 h 40 min”. Найти результат суммы этих периодов времени в таком же формате. Например, дано: “1 h 40 min”, “0 h 22 min”. Результат: “2 h 2 min”
Домашнее задание 30.07
- Для каждой сущности (Book, Car, Student) показать в виде таблицы в браузере весь список из бд и сделать возможность удаления любой строки.
- Запросы в бд. Books:
- Показать все книги
- Показать все книги, у которых год больше 2000
- Показать все книги, упорядоченные по году
- Показать все книги, упорядоченные по году по убыванию
- Показать все книги, у которых год от 2000 до 2020, кол-во скачиваний не менее 100, рейтинг больше 3 и автор Джек Лондон
- Запросы в бд. Cars:
- Показать все авто
- Показать все авто, упорядоченные по марке
- Показать все авто, у которых год выпуска от 2000 до 2020, цвет зеленый, кол-во передач больше 4 и марка audi и упорядоченные по id по убыванию
- Запросы в бд. Students:
- Показать всех студентов
- Показать все студентов, упорядоченные по номеру группы
- Показать все студентов, у которых фамилия Иванов, год рождения не более 2002, номер группы от 1 до 5, отчество не null и упорядоченные по специальности по убыванию
- Дан массив фамилий. Найти кол-во однофамильцев. Например, [‘ivanov’, ‘petrov’, ‘ivanov’, ‘petrov’, ‘ivanov’, ‘petrov’] – 6, [‘ivanov’, ‘petrov’, ‘ivanov’] – 2, [‘ivanov’, ‘petrov’] – 0
- Дан массив, элементами которого являются массивы, содержащие фамилии учеников. Например, a = [[‘ivanov’, ‘petrov’], [‘ivanov’, ‘sidorov’], [‘ivanov’, ‘petrov’, ‘leonov’]]. Найти учеников, которые есть в каждом подмассиве. Найти учеников, которые есть только в одном подмассиве. Найти учеников, которые есть только ровно в 2 подмассивах. Найти учеников, которые есть только в k (k – число дано) подмассивах.
Домашнее задание 28.07
- Ссылка на проект laravel и коммит за сегодня
- Задачи с прошлого дз 12-14
- Создать миграцию для таблицы books с помощью php artisan make:migration … . Про книгу известны заголовок, автор, год, описание, кол-во скачиваний книги, рейтинг книги – число от 1 до 5. Создать модель с помощью php artisan make:model … и добавить 5 записей в бд через laravel
- Создать миграцию для таблицы cars с помощью php artisan make:migration … . Про автомобиль известны марка, год выпуска, цвет, кол-во передач (от 1 до 5), описание. Создать модель с помощью php artisan make:model … и добавить 5 записей в бд через laravel
- Создать миграцию для таблицы students с помощью php artisan make:migration … . Про студента известны фамилия, имя, отчество, год рождения, специальность, номер группы (1-10). Создать модель с помощью php artisan make:model … и добавить 5 записей в бд через laravel
- Найдите количество различных элементов данного массива.
- Найти в массиве все серии подряд идущих одинаковых элементов и удалить из них все элементы кроме одного.
- Дана строка, состоящая из слов, разделенных символами, которые перечислены во второй строке. Показать все слова.
- Удалите в строке все символы “!”.
- Дан email в строке. Определить, является ли он корректным (наличие символа @ и точки, наличие не менее двух символов после последней точки, наличие символов до @).
- Строка состоит из слов, разделенных одним или несколькими пробелами. Поменяйте местами наибольшее по длине слово и наименьшее.
Домашнее задание 24.07
- Ссылка на проект laravel Все задачи оформить через отдельный роут и вид.
- В данном натуральном числе найдите количество цифр, которые больше 3, но меньше 8.
- Найдите наименьшую цифру в данном натуральном числе.
- Для данного натурального числа найдите число, цифры которого записаны в обратном порядке.
- Найдите все делители данного натурального числа.
- Выведите все элементы массива, каждый из которых больше своего предыдущего элемента.
- Дан массив чисел. Преобразовать массив так, чтобы сначала шли нули, далее четные числа, далее нечетные.
- Даны 2 массива чисел. Найти числа, которые принадлежат обоим массивам и которые меньше суммы всех чисел первого массива.
- Даны 3 массива чисел. Найти числа из 3-го массива, которые можно представить в виде суммы двух чисел, первое – из 1 массива, второе – из 2 массива.
- Вася хочет узнать, какую оценку он получит в четверти по информатике. Учитель придерживается следующей системы: вычисляется среднее арифметическое всех оценок в журнале, и ставится ближайшая целая оценка, не превосходящая среднего арифметического.При этом если у школьника есть двойка, а следующая за ней оценка – не двойка, то двойка считается закрытой, и при вычислении среднего арифметического не учитывается. Дан список оценок – целые числа от 2 до 5 включительно. Найдите четвертную оценку.
- Написать функцию, которая определяет, является ли пароль простым. Пароль простой, если менее 8 символов, или содержит менее 4 различных символов, или состоит только из цифр, или содержит ‘qwerty’ или ‘password’
- Дан массив из одинаковых по структуре массивов с любым уровнем вложенности. Например, $a = [
[‘developer’ => [‘id’ => 1, ‘name’ => ‘Ivan’]],
[‘developer’ => [‘id’ => 2, ‘name’ => ‘Petr’]],
]; Написать функцию pluck(), которая из данного массива получается одномерный массив из значений, путь к которым указан в виде строки из ключей через точку. Например, plain($a, ‘developer.name’) вернет массив [‘Ivan’, ‘Petr’] - Дан массив чисел. Выполнить сортировку по четности, то есть сначала должны идти четные, потом нечетные. Можно использовать usort.
- Дан двумерный массив. Например, $a=[[100,100],[1,2,3],[4,5],[0,-1],[1,2,3,4,5]]; Переставить элементы массива $a так, чтобы их суммы чисел возрастали. То есть $a=[[0,-1], [1,2,3],[4,5],[1,2,3,4,5],[100,100]]; Можно использовать usort.
Домашнее задание 17.07
- Решить задачи с урока еще раз (из прошлого дз, которые разбирали)
- Задачи на массивы 2, 26, 27, 28, 75
- Дан массив $students = [[‘name’ => ‘Petr’, ‘mark’ => 4.5], [‘name’ => ‘Ivan’, ‘mark’ => 3.5],]; Найти количество студентов, у которых оценка mark больше 3. Вывести имена тех студентов, у которых оценка больше средней арифметической всех студентов. Учесть, что у некоторых студентов оценка может быть null
- Прочитать про функции для работы со строками: explode, implode, strlen, trim, strpos, substr, str_repeat, str_shuffle, strtolower, strtoupper, str_replace, ucfirst – поэксперименитировать, научиться вызывать.
- Задачи на строки 10, 11, 16, 42, 50, 57, 58
Домашнее задание 11.07
- Просмотреть урок Ссылка на код
- Задачи 10, 46, 61, 64, 99-104, 116
- Задачи 19-25, 38, 42, 44, 52, 57, 71