Использовались при выполнении:
- XAMPP PHP 7.4.5
- MariaDB 10.4.11 (аналог MySQL 5.6)
- Visual Studio Code 1.45.1 (редактор IDE)
*Комментарии писались на английском языке
Напишите код (функцию, класс), которая проверяет простое число или нет На вход - число, выход — да/нет
export\primeNumberCheck.php (полный код) Реализована функция без формы ввода, входящий аргумент указывается в коде (дальнейшие примеры с OOП) Пример вывода:
Пример использования:
Есть счет, в котором указана сумма с НДС, есть дата счета и все прочие атрибуты. Напишите класс, в нем метод - в который на вход поступает информация о счете, на выходе - стоимость без НДС (страна - Российская Федерация)
export\invoiceData.php (полный код) Реализация зависит от вида поступаемых данных, был выбран статический метод, данные счета поступают в строковом массиве, после расчетов в массив добавляются новые данные, метод возвращает дополненный массив. Пример вывода:
Пример использования:
Найдите ошибки в файле в приложении (export\test.xml)
В 4 строке лишний пробел после цифры года.
В 37 строке номер лота указан в Description, хотя указан в ноде Order ранее (возможно ошибка).
В 74 и 75 строке & escape на &
или &
или &
.
Напишите код (на PHP) выдающий массив данных:
- Должник: id, тип, имя
- Список лотов: по каждому - номер, стоимость, описание.
export\showXmlData.php (полный код) Пример вывода:
Пример использования:
Перечислите, чтобы вы поправили в таблицах (тип данных, название, длину - что угодно - и почему)
Foreign key office_id в таблице users имеет значение smallint(6) signed (-3768 – 32767) в исходной таблице tinyint(3) unsigned (0 – 255).
Негативные id офисов скорее всего использоваться не будут и если количество уникальных офисов будет больше 255 то можно изменить datatype в исходной таблице на smallint unsigned и foreign key в таблице users на такой же.
Smallint Length\Type можно сменить на 5, так как максимальное количество id будет 65535, что бы выдавалось ровно 5 знаков.
Если количество уникальных офисов меньше 255 можно использовать tinyint(3).
Можно убрать разрешение NULL значений на office.name поле и users.name поле. Поставить Length\Type 200 на office.name поле и увеличить users.name поле до 100, возможны длинные названия фирм (если это фирмы) и составные фамилии у сотрудников.
Выведите имена пользователей и названия офисов, в которых они сидят
Выведите названия офисов, в котором сидят больше, чем один пользователь
export\sqlUsersOfficesData.php (полный код) Класс для примера оформления (в том числе и пример конструктора с созданием инстанса коннекта к базе данных (обычно в модели) на основе PDO), можно конечно процедурально. Пример вывода:
Пример использования:
Напишите скрипт, который будет вытаскивать первое предложение последней (по дате) новости на www.karoteka.ru
export\scripts.js (полный код)
export\jsScriptsDemo.html (полный код)
В задании скорее всего опечатка — www.kartoteka.ru.
Новости в основном представлены в произвольном формате. Без скрытых или явных разделителей.
Предложения обычно заканчивается на точку, это и было выбрано в качестве окончания предложения.
После изучения текста новостей были добавлены логические условия определения нового предложения по ключевым словам " Требования", " Уставный", " Срок".
Конечно можно было бы добавить скрытый разделитель, например вида
после точки в текст при генерации новости и по нему определять конец предложения, если планируется выгрузка первого предложения на сторонний сайт при помощи скрипта.
(приведенный скрипт можно использовать при условии что CSS класс текстовых новостей не изменен)
Пример вывода:
Напишите код, который исполнив в консоли, получим в подвале www.karoteka.ru (рядом с телефоном) текущее время (обновляемое по секундам)
В задании скорее всего тоже опечатка — www.kartoteka.ru. Пример Вы можете найти так же в файлах:
export\scripts.js (полный код) export\jsScriptsDemo.html (полный код)
В файле export\jsScriptsDemo.html расположено демо.
Приведенный ниже скрипт можно использовать в консоли на сайте www.kartoteka.ru, при условии что CSS класс для оформления телефона не изменен.
var phone = document.getElementsByClassName('kart-phone')[0];
var dateTimeSpan = document.createElement('span')
phone.appendChild(dateTimeSpan);
var dt = new Date();
function showTime(phone, dt, dateTimeSpan)
{
dt.setSeconds( dt.getSeconds() + 1 );
var h = (dt.getHours() < 10 ? "0" : "") + dt.getHours();
var m = (dt.getMinutes() < 10 ? "0" : "") + dt.getMinutes();
var s = (dt.getSeconds() < 10 ? "0" : "") + dt.getSeconds();
var timeString = h + ':' + m + ':' + s;
dateTimeSpan.innerHTML = timeString;
setTimeout(function() {showTime(phone, dt, dateTimeSpan);}, 1000);
}
showTime(phone, dt, dateTimeSpan);
Результат: