Читайте также: |
|
Створіть призначений для користувача об'єкт на Web- сторінці з використанням мови JavaScript відповідно до свого варіанту. Повідомлення про помилки видається за допомогою функції alert(). У повідомленні виводиться ім'я помилки(властивість name) і пов'язане з помилкою повідомлення(властивість message). Функція-конструктор і інші функції для призначеного для користувача об'єкту задаються в елементі <head>, виклик цих функцій - в елементі <body>.
Варіант 10-01
Создайте сценарий в Web-странице, в котором создается пользовательский объект LetterArray (массив букв кириллицы). Для объекта определены следующие ошибки:
WrongLetterError с именем "WrongLetterError" и сообщением "Неверное значение элемента" (в случае, если элемент – не буква кириллицы);
WrongLetterListError с именем "WrongLetterListError" и сообщением "Неверный список элементов" (в случае, если задан неверный список элементов массива).
Параметром функции-конструктора является строка – список букв, отделенных друг от друга пробелом или запятой.
Свойствами объекта LetterArray является length (количество элементов в массиве) и свойство content, содержащего сам массив элементов.
В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: либо одна буква в строке, либо буква в начале строки, затем группа из пробела или запятой и буквы (группа может повторяться 0 и более раз), затем буква в конце строки.
Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterListError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.
Если параметр соответствует шаблону, с помощью функции split() объекта String выполняется преобразование строки в массив. Значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта LetterArray определены методы hasItem и addItem, реализуемые с помощью функций hasLetterItem и addLetterItem.
Функция hasLetterItem проверяет, если ли в массиве буква, заданная в качестве параметра функции. Сначала в блоке try проверяется соответствии параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterItemError, в блоке catch выводится сообщение об ошибке и возвращается значение false, в противном случае в цикле просматривается элемент свойства content и, если буква, заданная в качестве параметра, найдена в свойстве, возвращается значение true, иначе возвращается false.
Функция addLetterItem добавляет букву, заданную в качестве параметра, в массив. Сначала в блоке try проверяется соответствие параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе буква добавляется в конец массива (свойства content), свойство length увеличивается на 1 и функция возвращает значение добавленной буквы.
Строка, содержащая список букв, вводится с помощью функции prompt() в цикле do…while. В цикле также создается объект типа LetterArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта LetterArray не равно 0.
Далее в сценарии выполняются следующие действия:
вызов метода hasItem() с неверным значением параметра;
вызов метода hasItem() для буквы, отсутствующей в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода hasItem() для буквы, которая есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода addItem() и вывод возвращаемого значения с помощью функции alert().
Варіант 10-02
Создайте сценарий в Web-странице, в котором создается пользовательский объект LetterArray (массив букв кириллицы). Для объекта определены следующие ошибки:
WrongLetterError с именем "WrongLetterError" и сообщением "Неверное значение элемента" (в случае, если элемент – не буква кириллицы);
NoLetterError с именем "NoLetterError" и сообщением "Нет элемента" (в случае, если элемента нет во множестве);
WrongLetterListError с именем "WrongLetterListError" и сообщением "Неверный список элементов" (в случае, если задан неверный список элементов множества).
Параметром функции-конструктора является строка – список букв, отделенных друг от друга пробелом или запятой.
Свойствами объекта LetterArray является length (количество элементов в массиве) и свойство content, содержащего сам массив элементов.
В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: либо одна буква в строке, либо буква в начале строки, затем группа из пробела или запятой и буквы (группа может повторяться 0 и более раз), затем буква в конце строки.
Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterListError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.
Если параметр соответствует шаблону, с помощью функции split() объекта String выполняется преобразование строки в массив. Значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта LetterArray определены методы setToString и deleteItem, реализуемые с помощью функций convertToString и deleteLetterItem.
Функция convertToString (без параметров) преобразует массив в строку и возвращает результат преобразования. В цикле элементы массива с предшествующим символом "," последовательно добавляются к строке, первоначально состоящей из первого элемента массива.
Функция deleteLetterItem удаляет букву, заданную в качестве параметра, из массива. Сначала в блоке try проверяется соответствие параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе в другом блоке try свойство content в цикле проверяется на наличие буквы, заданной в качестве параметра. Если буква не найдена в массиве или массив пустой, «бросается» ошибка NoLetterError, в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Если буква найдена, для свойства content вызывается функция splice() объекта Array, удаляющая элемент с заданным индексом из массива. Свойство length уменьшается на 1, и функция возвращает значение удаленной буквы.
Строка, содержащая список букв, вводится с помощью функции prompt() в цикле do…while. В цикле также создается объект типа LetterArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта LetterArray не равно 0.
Далее в сценарии выполняются следующие действия:
вызов метода setToString()и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteItem() для буквы, отсутствующей в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteItem() для буквы, которая есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода setToString()для измененного массива и вывод возвращаемого значения с помощью функции alert().
Варіант 10-03
Создайте сценарий в Web-странице, в котором создается пользовательский объект WordString (строка, содержащее слово). Элементами строки являются буквы кириллицы (первым символом строки может быть прописная или строчная буква, остальные символы – строчные буквы).
Для объекта определены следующие ошибки:
WrongWordError с именем "WrongWordError" и сообщением "Неверное значение слова" (в случае, если нарушены правила для слова);
WrongLetterError с именем "WrongLetterError" и сообщением "Неверный символ" (в случае, если символ – не буква кириллицы);
WrongIndexError с именем "WrongIndexError" и сообщением "Неверный индекс" (в случае, если задана неверная позиция в строке).
Параметром функции-конструктора является строка, содержащее слово.
Свойствами объекта WordString является length (длина строки) и свойство content, содержащее саму строку.
В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: первый символ строки – строчная или заглавная буква кириллицы, остальные буквы – строчные. Если параметр не соответствует шаблону, «бросается» ошибка WrongWordError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустая строка и выполняется возврат из функции.
Если параметр соответствует шаблону, значение длины строки присваивается свойству length, а значение строки – свойству content.
Для объекта WordString определены методы letterIndex и letterAt, реализуемые с помощью функций letterInWordIndex и letterAtIndex.
Функция letterInWordIndex для буквы, заданной в качестве параметра, возвращает индекс ее первого появления в строке. Сначала в блоке try проверяется соответствие параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение -1. Если буква соответствует шаблону, строка (значение свойства content) просматривается по символам, и, если буква найдена, функция возвращает индекс этой буквы в строке, иначе возвращает значение -1.
Функция letterAtIndex возвращает букву, находящуюся в заданной позиции в строке. Позиция (индекс) буквы задается в качестве параметра функции. Сначала в блоке try проверяется правильность задания индекса. Если индекс – не число, или индекс меньше 0 или индекс больше значения свойства length минус 1, «бросается» ошибка WrongIndexError, в блоке catch выводится сообщение об ошибке и возвращается значение null, в противном случае с помощью функции charAt() объекта String возвращается буква в строке (значении свойства content), находящаяся в заданной позиции.
Строка, содержащая слово, вводится с помощью функции prompt() в цикле do…while. В цикле также создается объект типа WordString, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта WordString не равно 0.
Далее в сценарии выполняются следующие действия:
вызов метода letterIndex() с неверным значением параметра;
вызов метода letterIndex() для буквы, отсутствующей в строке и вывод возвращаемого значения с помощью функции alert();
вызов метода letterIndex() для буквы, которая есть в строке, и вывод возвращаемого значения с помощью функции alert();
вызов метода letterAt() для неверного значения индекса и вывод возвращаемого значения с помощью функции alert();
вызов метода letterAt() для правильного значения индекса и вывод возвращаемого значения с помощью функции alert().
Варіант 10-04
Создайте сценарий в Web-странице, в котором создается пользовательский объект WordString (строка, содержащее слово). Элементами строки являются буквы кириллицы (первым символом строки может быть прописная или строчная буква, остальные символы – строчные буквы).
Для объекта определены следующие ошибки:
WrongWordError с именем "WrongWordError" и сообщением "Неверное значение слова" (в случае, если нарушены правила для слова);
WrongLetterError с именем "WrongLetterError" и сообщением "Неверный символ" (в случае, если символ – не буква кириллицы);
WrongIndexError с именем "WrongIndexError" и сообщением "Неверный индекс" (в случае, если задана неверная позиция в строке).
Параметром функции-конструктора является строка, содержащее слово.
Свойствами объекта WordString является length (длина строки) и свойство content, содержащее саму строку.
В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: первый символ строки – строчная или заглавная буква кириллицы, остальные буквы – строчные.
Если параметр не соответствует шаблону, «бросается» ошибка WrongWordError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустая строка и выполняется возврат из функции.
Если параметр соответствует шаблону, значение длины строки присваивается свойству length, а значение строки – свойству content.
Для объекта WordString определены методы hasLetter и replaceLetter, реализуемые с помощью функций hasLetterInWord и replaceLetterInWord.
Функция hasLetterInWord проверяет наличие в строке буквы, заданной в качестве параметра. Сначала в блоке try проверяется соответствие параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение false. Если буква соответствует шаблону, строка (значение свойства content) просматривается по символам, и, если буква найдена, функция возвращает значение true, иначе возвращает значение false.
Функция replaceLetterInWord заменяет букву, находящуюся в заданной позиции в строке на заданную букву. Позиция (индекс) буквы задается в качестве первого параметра функции, буква замены – в качестве второго. Сначала в блоке try проверяется правильность задания индекса. Если индекс – не число, или индекс меньше 0 или индекс больше значения свойства length минус 1, «бросается» ошибка WrongIndexError, в блоке catch выводится сообщение об ошибке и возвращается значение null, в противном случае в другом блоке try проверяется соответствии буквы замены шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение null. Если в параметрах нет ошибок, создается пустая строка, в которую в цикле добавляются символы исходной строки, однако, для заданной позиции символ в строке меняется на символ замены. Функция возвращается букву в строке, которая была заменена.
Строка, содержащая слово, вводится с помощью функции prompt() в цикле do…while. В цикле также создается объект типа WordString, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта WordString не равно 0.
Далее в сценарии выполняются следующие действия:
вызов метода hasLetter() с неверным значением параметра;
вызов метода hasLetter() для буквы, отсутствующей в строке и вывод возвращаемого значения с помощью функции alert();
вызов метода hasLetter() для буквы, которая есть в строке, и вывод возвращаемого значения с помощью функции alert();
вызов метода replaceLetter() для неверного значения индекса и буквы замены и вывод возвращаемого значения с помощью функции alert();
вызов метода replaceLetter() для правильного значения индекса и вывод возвращаемого значения с помощью функции alert();
вывод с помощью функции alert()нового значения свойства content.
Варіант 10-05
Создайте сценарий в Web-странице, в котором создается пользовательский объект SortedArray (отсортированный массив, т.е. массив, содержащий числа в порядке их возрастания).
Для объекта определены следующие ошибки:
WrongArrayListError с именем "WrongArrayListError" и сообщением "Неверное значение списка для массива" (в случае, если список элементов массива содержит ошибку);
WrongElementError с именем "WrongElementError" и сообщением "Неверный элемент" (в случае, если элемент – не число).
Параметром функции-конструктора является строка, содержащая список элементов массива, разделенных пробелом или запятой.
Свойствами объекта SortedArray является length (размер массива) и свойство content, содержащее сам массив.
В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: либо одно число (одна или более цифр) в строке, либо число в начале строки, затем группа из пробела или запятой и числа (группа может повторяться 0 и более раз), затем число в конце строки.
Если параметр не соответствует шаблону, «бросается» ошибка WrongArrayListError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.
Если параметр соответствует шаблону, с помощью функции split() объекта String выполняется преобразование строки в массив. Значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта SortedArray определены методы hasElement и addElement, реализуемые с помощью функций hasElementInArray и addElementInArray.
Функция hasElementInArray для числа, заданного в качестве параметра, проверяет его наличие в массиве. Сначала в блоке try проверяется соответствие параметра шаблону (число). Если параметр не соответствует шаблону, «бросается» ошибка WrongElementError, в блоке catch выводится сообщение об ошибке и возвращается значение false. Если число соответствует шаблону, массив (значение свойства content) просматривается по элементам, и, если элемент найден, функция возвращает значение true, иначе возвращает значение false.
Функция addElementInArray добавляет элемент, заданный в качестве параметра, в массив в соответствии со значением числа (между элементом, значение которого меньше заданного числа и элементом, большим заданного числа). Сначала в блоке try проверяется правильность задания числа. Если параметр – не число, «бросается» ошибка WrongElementError. В противном случае элемент вставляется в конец массива с помощью функции push() объекта Array, а затем массив сортируется по возрастанию с помощью функции sort() объекта Array. Свойство length увеличивается на 1, и функция возвращает значение добавленного числа.
Строка, содержащая слово, вводится с помощью функции prompt() в цикле do…while. В цикле также создается объект типа SortedArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта SortedArray не равно 0.
Далее в сценарии выполняются следующие действия:
вызов метода hasElement() с неверным значением параметра;
вызов метода hasElement() для числа, которого нет в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода hasElement() для числа, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода addElement() и вывод возвращаемого значения с помощью функции alert().
Варіант 10-06
Создайте сценарий в Web-странице, в котором создается пользовательский объект SortedArray (отсортированный массив, т.е. массив, содержащий числа в порядке их возрастания).
Для объекта определены следующие ошибки:
WrongArrayListError с именем "WrongArrayListError" и сообщением "Неверное значение списка для массива" (в случае, если список элементов массива содержит ошибку);
WrongElementError с именем "WrongElementError" и сообщением "Неверный элемент" (в случае, если элемент – не число);
NoElementError с именем " NoElementError " и сообщением "Нет элемента" (в случае, если числа нет в массиве).
Параметром функции-конструктора является строка, содержащая список элементов массива, разделенных пробелом или запятой.
Свойствами объекта SortedArray является length (размер массива) и свойство content, содержащее сам массив.
В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: либо одно число (одна или более цифр) в строке, либо число в начале строки, затем группа из пробела или запятой и числа (группа может повторяться 0 и более раз), затем число в конце строки.
Если параметр не соответствует шаблону, «бросается» ошибка WrongArrayListError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.
Если параметр соответствует шаблону, с помощью функции split() объекта String выполняется преобразование строки в массив. Значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта SortedArray определены методы arrayToString и deleteElement, реализуемые с помощью функций convertToString и deleteElementInArray.
Функция convertToString (без параметров) преобразует массив в строку и возвращает результат преобразования. В цикле элементы массива с предшествующим символом "," последовательно добавляются к строке, первоначально состоящей из первого элемента массива.
Функция deleteElement удаляет число, заданное в качестве параметра, из массива. Сначала в блоке try проверяется соответствие параметра шаблону (число). Если параметр не соответствует шаблону, «бросается» ошибка WrongElementError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе в другом блоке try свойство content в цикле проверяется на наличие числа, заданного в качестве параметра. Если число не найдено в массиве или массив пустой, «бросается» ошибка NoElementError, в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Если число найдено, для свойства content вызывается функция splice() объекта Array, удаляющая элемент с заданным индексом из массива. Затем массив сортируется по возрастанию с помощью функции sort() объекта Array. Свойство length уменьшается на 1, и функция возвращает значение удаленного числа.
Строка, содержащая слово, вводится с помощью функции prompt() в цикле do…while. В цикле также создается объект типа SortedArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта SortedArray не равно 0.
Далее в сценарии выполняются следующие действия:
вызов метода hasElement() с неверным значением параметра;
вызов метода hasElement() для числа, которого нет в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода hasElement() для числа, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteElement()для числа, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteElement() для числа, которого нет в массиве, и вывод возвращаемого значения с помощью функции alert().
Варіант 10-07
Создайте сценарий в Web-странице, в котором создается пользовательский объект DigitArray (массив цифр). Для объекта определена ошибка WrongDigitError с именем "WrongDigitError" и сообщением "Неверное значение элемента" (в случае, если элемент – не цифра).
В функции-конструктора в качестве параметров задается список цифр (количество цифр в списке может быть произвольным).
Свойствами объекта DigitArray является length (количество цифр в массиве) и свойство content, содержащего сам массив цифр.
В конструкторе количество переданных в функцию параметров определяется с помощью свойства arguments.length объекта Function, а сами параметры функции хранятся в массиве arguments (оба свойства доступны внутри функции). В блоке try выполняется в цикле проверка элементов массива arguments на соответствие следующему шаблону: значение элемента должно быть цифрой.
Если какой-либо элемент не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции. В противном случае значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта DigitArray определены методы hasDigit и addDigit, реализуемые с помощью функций hasDigitItem и addDigitItem.
Функция hasDigitItem проверяет, если ли в массиве цифра, заданная в качестве параметра функции. Сначала в блоке try проверяется соответствие параметра шаблону (цифра). Если параметр не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке и возвращается значение false, в противном случае в цикле просматривается элемент свойства content и, если цифра, заданная в качестве параметра, найдена в свойстве, возвращается значение true, иначе возвращается false.
Функция addDigitItem добавляет цифру, заданную в качестве параметра, в массив. Сначала в блоке try проверяется соответствие параметра шаблону (цифра). Если параметр не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе буква добавляется в конец массива (свойства content), свойство length увеличивается на 1 и функция возвращает значение добавленной цифры.
Далее в сценарии выполняются следующие действия:
вызов конструктора метода DigitArray с произвольным числом параметров, один из которых неправильный (не цифра);
вызов конструктора метода DigitArray с произвольным числом правильных параметров;
вызов метода hasItem() для цифры, отсутствующей в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода hasItem() для цифры, которая есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода addItem() и вывод возвращаемого значения с помощью функции alert().
Варіант 10-08
Создайте сценарий в Web-странице, в котором создается пользовательский объект DigitArray (массив цифр). Для объекта определены следующие ошибки:
WrongDigitError с именем "WrongDigitError" и сообщением "Неверное значение элемента" (в случае, если элемент – не цифра);
NoDigitError с именем "NoDigitError" и сообщением "Нет цифры" (в случае, если заданной цифры нет в массиве).
В функции-конструкторе в качестве параметров задается список цифр (количество цифр в списке может быть произвольным).
Свойствами объекта DigitArray является length (количество цифр в массиве) и свойство content, содержащего сам массив цифр.
В конструкторе количество переданных в функцию параметров определяется с помощью свойства arguments.length объекта Function, а сами параметры функции хранятся в массиве arguments (оба свойства доступны внутри функции). В блоке try выполняется в цикле проверка элементов массива arguments на соответствие следующему шаблону: значение элемента должно быть цифрой.
Если какой-либо элемент не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции. В противном случае значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта DigitArray определены методы arrayToString и deleteDigit, реализуемые с помощью функций convertToString и deleteDigitItem.
Функция convertToString (без параметров) преобразует массив в строку и возвращает результат преобразования. В цикле элементы массива с предшествующим символом "," последовательно добавляются к строке, первоначально состоящей из первого элемента массива.
Функция deleteDigitItem удаляет цифру, заданную в качестве параметра, из массива. Сначала в блоке try проверяется соответствие параметра шаблону (цифра). Если параметр не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе в другом блоке try свойство content в цикле проверяется на наличие цифры, заданной в качестве параметра. Если цифра не найдена в массиве или массив пустой, «бросается» ошибка NoDigitError, в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Если цифра найдена, для свойства content вызывается функция splice() объекта Array, удаляющая элемент с заданным индексом из массива. Свойство length уменьшается на 1, и функция возвращает значение удаленной цифры.
Далее в сценарии выполняются следующие действия:
вызов конструктора метода DigitArray с произвольным числом параметров, один из которых неправильный (не цифра);
вызов конструктора метода DigitArray с произвольным числом правильных параметров;
вызов метода setToString()и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteItem() для цифры, отсутствующей в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteItem() для цифры, которая есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода setToString()для измененного массива и вывод возвращаемого значения с помощью функции alert().
Варіант 10-09
Создайте сценарий в Web-странице, в котором создается пользовательский объект RangeArray. Объект содержит массив, каждый элемент которого на заданную величину (приращение) превышает предыдущий элемент.
Для объекта определены следующие ошибки:
WrongBooleanError с именем "WrongBooleanError" и сообщением "Не булевское значение" (в случае, если значение не является булевским);
WrongNumberError с именем "WrongNumberError" и сообщением "Неверный элемент" (в случае, если элемент – не число);
WrongLengthError с именем "WrongLengthError" и сообщением "Неверный размер массива" (в случае, если задано неверное значение размера массива).
Параметрами функции-конструктора являются: значение первого элемента массива (число), значение приращения (число) и размер массива (число, большее или равное 2).
Свойствами объекта RangeArray являются: length (размер массива), increment (приращение) и content, содержащее сам массив.
В конструкторе в блоке try выполняется проверка всех трех параметров на соответствие шаблону (число).
Если параметр не соответствует шаблону, «бросается» ошибка WrongNumberError, в блоке catch выводится сообщение об ошибке, свойствам length и increment присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.
В следующем блоке try выполняется проверка третьего параметра – количество элементов в массиве должно быть большим или равным двум.
Если параметр не соответствует шаблону, «бросается» ошибка WrongLengthError, в блоке catch выводится сообщение об ошибке, свойствам length и increment присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.
Если все параметры правильные, сначала создается пустой массив content, нулевой элемент для него задается равным значению первого параметра, а затем в цикле формируются остальные элементы массива в соответствии со значениями, заданными во втором и третьем параметрах. Значение второго параметра присваивается свойству increment, а значение третьего параметра – свойству length, а сам массив – свойству content.
Для объекта RangeArray определены методы testNumber и addElement, реализуемые с помощью функций testNumberInArray и addElementInArray.
Функция testNumberInArray для числа, заданного в качестве параметра, проверяет, к какому диапазону принадлежит число. Сначала в блоке try проверяется соответствие параметра шаблону (число). Если параметр не соответствует шаблону, «бросается» ошибка WrongNumberError, в блоке catch выводится сообщение об ошибке и возвращается значение -1. Если число соответствует шаблону, массив (значение свойства content) просматривается по элементам, и, если число больше значения элемента i-1, но меньше или равно значению i-го элемента, функция возвращает значение i. Если число меньше значения элемента массива с индексом 0, функция возвращается значение 0, а если число больше значения последнего элемента массива функция возвращает значение свойства length.
Функция addElementInArray добавляет элемент в начало или в конец массива, в зависимости от значения параметра функции (true или false). Сначала в блоке try проверяется правильность задания числа. Если параметр – не логическое значение, «бросается» ошибка WrongBooleanError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В противном случае, если элемент вставляется в начало массива, значение элемента определяется вычитанием значения свойства increment от значения элемента массива с нулевым индексом, а затем элемент вставляется в массив с помощью функции unshift() объекта Array. Если элемент вставляется в конец массива, значение элемента определяется сложением значения свойства increment со значением последнего элемента массива, а затем элемент вставляется в массив массива с помощью функции push() объекта Array. Значение свойства length при этом увеличивается на 1. Функция возвращает значение добавляемого элемента.
Параметры конструктора задаются с помощью функций prompt() в цикле do…while. В цикле также создается объект типа RangeArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта RangeArray не равно 0.
Далее в сценарии выполняются следующие действия:
создание экземпляра объекта RangeArray с неправильным значением одного из параметров;
создание экземпляра объекта RangeArray с правильными значениями параметров;
вызов метода testNumber() с неверным значением параметра;
вызов метода testNumber() для произвольного числа и вывод возвращаемого значения с помощью функции alert();
вызов метода addElement() для неверного значения параметра;
вызов метода addElement() со значением параметра true или false и вывод возвращаемого значения с помощью функции alert().
Варіант 10-10
Создайте сценарий в Web-странице, в котором создается пользовательский объект RangeArray. Объект содержит массив, каждый элемент которого на заданную величину (приращение) превышает предыдущий элемент.
Для объекта определены следующие ошибки:
WrongBooleanError с именем "WrongBooleanError" и сообщением "Не булевское значение" (в случае, если значение не является булевским);
WrongNumberError с именем "WrongNumberError" и сообщением "Неверный элемент" (в случае, если элемент – не число);
EmptyArrayError с именем "EmptyArrayError" и сообщением "Пустой массив" (в случае, если в массиве нет ни одного элемента);
WrongLengthError с именем "WrongLengthError" и сообщением "Неверный размер массива" (в случае, если задано неверное значение размера массива).
Параметрами функции-конструктора являются: значение первого элемента массива (число), значение приращения (число) и размер массива (число, большее или равное 2).
Свойствами объекта RangeArray являются: length (размер массива), increment (приращение) и content, содержащее сам массив.
В конструкторе в блоке try выполняется проверка всех трех параметров на соответствие шаблону (число).
Если параметр не соответствует шаблону, «бросается» ошибка WrongNumberError, в блоке catch выводится сообщение об ошибке, свойствам length и increment присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.
В следующем блоке try выполняется проверка третьего параметра – количество элементов в массиве должно быть большим или равным двум.
Если параметр не соответствует шаблону, «бросается» ошибка WrongLengthError, в блоке catch выводится сообщение об ошибке, свойствам length и increment присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.
Если все параметры правильные, сначала создается пустой массив content, нулевой элемент для него задается равным значению первого параметра, а затем в цикле формируются остальные элементы массива в соответствии со значениями, заданными во втором и третьем параметрах. Значение второго параметра присваивается свойству increment, а значение третьего параметра – свойству length, а сам массив – свойству content.
Для объекта RangeArray определены методы arrayToString и deleteElement, реализуемые с помощью функций convertToString и deleteElementInArray.
Функция convertToString (без параметров) преобразует массив в строку и возвращает результат преобразования. В цикле элементы массива с предшествующим символом "," последовательно добавляются к строке, первоначально состоящей из первого элемента массива.
Функция deleteElementInArray удаляет элемент из начала или конца массива, в зависимости от значения параметра функции (true или false). Сначала в блоке try проверяется правильность задания числа. Если параметр – не логическое значение, «бросается» ошибка WrongBooleanError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Затем в другом блоке try проверяется размер массива (значение свойства length). Если оно равно 0, «бросается» ошибка EmptyArrayError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В случае отсутствия ошибок, если элемент удаляется из начала массива, используется функция shift() объекта Array. Если элемент удаляется из конца, используется функция pop() объекта Array. Значение свойства length при этом уменьшается на 1. Функция возвращает значение удаляемого элемента.
Параметры конструктора задаются с помощью функций prompt() в цикле do…while. В цикле также создается объект типа RangeArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта RangeArray не равно 0.
Далее в сценарии выполняются следующие действия:
создание экземпляра объекта RangeArray с неправильным значением одного из параметров;
создание экземпляра объекта RangeArray с правильными значениями параметров;
вызов метода arrayToString() для массива и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteElement() с неверным значением параметра;
вызов метода deleteElement() для произвольного числа и вывод возвращаемого значения с помощью функции alert();
вызов метода arrayToString() для нового массива и вывод возвращаемого значения с помощью функции alert().
Варіант 10-11
Создайте сценарий в Web-странице, в котором создается пользовательский объект DictionaryArray (отсортированный массив слов, т.е. массив, содержащий строки в порядке возрастания их кодов). Элементами массива являются строчные буквы кириллицы. Для объекта определена ошибка WrongWordError с именем "WrongWordError" и сообщением "Неверный элемент" (в случае, если элемент – не число).
В функции-конструкторе в качестве параметров задается список строк (количество строк в списке может быть произвольным).
Свойствами объекта DictionaryArray является length (количество строк в массиве) и свойство content, содержащего сам массив строк.
В конструкторе количество переданных в функцию параметров определяется с помощью свойства arguments.length объекта Function, а сами параметры функции хранятся в массиве arguments (оба свойства доступны внутри функции). В блоке try выполняется в цикле проверка элементов массива arguments на соответствие следующему шаблону: значение элемента должно быть последовательностью из одной или более строчных букв кириллицы.
Если какой-либо элемент не соответствует шаблону, «бросается» ошибка WrongWordError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции. В противном случае значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта DictionaryArray определены методы searchWord и addWord, реализуемые с помощью функций searchWordInArray и addWordInArray.
Функция searchWordInArray для слова, заданного в качестве параметра, проверяет его наличие в массиве. Сначала в блоке try проверяется соответствие параметра шаблону (строка строчных букв кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongWordError, в блоке catch выводится сообщение об ошибке и возвращается значение false. Если слово соответствует шаблону, массив (значение свойства content) просматривается по элементам, и, если элемент найден, функция возвращает значение true, иначе возвращает значение false.
Функция addWordInArray добавляет слово, заданное в качестве параметра, в массив в соответствии со значением слова (между элементом коды которого меньше заданного слова и элементом, коды которого равны или больше кодов заданного слова). Сначала в блоке try проверяется правильность задания слова. Если параметр – не слово, «бросается» ошибка WrongWordError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В противном случае элемент вставляется в конец массива с помощью функции push() объекта Array, а затем массив сортируется по возрастанию с помощью функции sort() объекта Array. Значение свойства length при этом увеличивается на 1. Функция возвращает значение добавленного слова.
Далее в сценарии выполняются следующие действия:
создание экземпляра объекта DictionaryArray с произвольным количеством параметров, один из которых неверный;
создание экземпляра объекта DictionaryArray с произвольным количеством правильных параметров;
вызов метода searchWord() с неверным значением параметра;
вызов метода searchWord() для слова, которого нет в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода searchWord() для слова, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода addWord() и вывод возвращаемого значения с помощью функции alert().
Варіант 10-12
Создайте сценарий в Web-странице, в котором создается пользовательский объект DictionaryArray (отсортированный массив слов, т.е. массив, содержащий строки в порядке возрастания их кодов). Элементами массива являются строчные буквы кириллицы. Для объекта определены следующие ошибки:
· WrongWordError с именем "WrongWordError" и сообщением "Неверный элемент" (в случае, если элемент – неверное слово);
· NoWordError с именем "NoWordError" и сообщением "Нет элемента" (в случае, если слово не найдено в массиве);
· EmptyArrayError с именем "EmptyArrayError" и сообщением "Пустой массив" (в случае, если в массиве нет ни одного элемента).
В функции-конструкторе в качестве параметров задается список строк (количество строк в списке может быть произвольным).
Свойствами объекта DictionaryArray является length (количество строк в массиве) и свойство content, содержащего сам массив строк.
В конструкторе количество переданных в функцию параметров определяется с помощью свойства arguments.length объекта Function, а сами параметры функции хранятся в массиве arguments (оба свойства доступны внутри функции). В блоке try выполняется в цикле проверка элементов массива arguments на соответствие следующему шаблону: значение элемента должно быть последовательностью из одной или более строчных букв кириллицы.
Если какой-либо элемент не соответствует шаблону, «бросается» ошибка WrongWordError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции. В противном случае значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта DictionaryArray определены методы arrayToString и deleteWord, реализуемые с помощью функций convertToString и deleteWordInArray.
Функция convertToString (без параметров) преобразует массив в строку и возвращает результат преобразования. В цикле элементы массива с предшествующим символом "," последовательно добавляются к строке, первоначально состоящей из первого элемента массива.
Функция deleteWordInArray удаляет слово, заданное в качестве параметра, из массива и заново сортирует элементы массива. Сначала в блоке try проверяется правильность задания слова. Если параметр – не слово, «бросается» ошибка WrongWordError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Затем в другом блоке try проверяется размер массива (значение свойства length). Если оно равно 0, «бросается» ошибка EmptyArrayError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В третьем блоке try в цикле проверяется наличие слова в массиве. Если слово не найдено, «бросается» ошибка NoWordError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В противном случае элемент (по найденному в третьем блоке try индексу) удаляется из массива с помощью функции splice() объекта Array, а затем массив сортируется по возрастанию с помощью функции sort() объекта Array. Значение свойства length при этом уменьшается на 1. Функция возвращает значение удаленного слова.
Далее в сценарии выполняются следующие действия:
создание экземпляра объекта DictionaryArray с произвольным количеством параметров, один из которых неверный;
создание экземпляра объекта DictionaryArray с произвольным количеством правильных параметров;
вызов метода arrayToString() для созданного массива, и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteWord() для слова, которого нет в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteWord() для слова, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода arrayToString() для нового массива, и вывод возвращаемого значения с помощью функции alert().
Варіант 10-13
Создайте сценарий в Web-странице, в котором создается пользовательский объект BinaryArray (массив двоичных чисел). Для объекта определены следующие ошибки:
WrongBinaryError с именем "WrongBinaryError" и сообщением "Неверное значение элемента" (в случае, если элемент – не двоичное число);
WrongBinaryListError с именем "WrongBinaryListError" и сообщением "Неверный список элементов" (в случае, если задан неверный список элементов массива).
В функции-конструкторе в качестве параметров задается список чисел (количество чисел в списке может быть произвольным).
Свойствами объекта BinaryArray является length (количество чисел в массиве) и свойство content, содержащего сам массив двоичных чисел.
В конструкторе количество переданных в функцию параметров определяется с помощью свойства arguments.length объекта Function, а сами параметры функции хранятся в массиве arguments (оба свойства доступны внутри функции). В блоке try выполняется в цикле проверка элементов массива arguments на соответствие следующему шаблону: значение элемента должно быть последовательностью нулей и единиц.
Если какой-либо элемент не соответствует шаблону, «бросается» ошибка WrongBinaryError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции. В противном случае значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта BinaryArray определены методы searchBinary и addBinary, реализуемые с помощью функций searchBinaryItem и addBinaryItem.
Функция searchBinaryItem проверяет, если ли в массиве двоичное число, заданное в качестве параметра функции. Сначала в блоке try проверяется соответствии параметра шаблону (двоичное число). Если параметр не соответствует шаблону, «бросается» ошибка WrongBinaryError, в блоке catch выводится сообщение об ошибке и возвращается значение -1, в противном случае в цикле просматривается элемент свойства content и, если число, заданное в качестве параметра, найдено в свойстве, возвращается значение индекса этого числа, иначе возвращается -1.
Функция addBinaryItem добавляет число, заданное в качестве параметра, в массив. Сначала в блоке try проверяется соответствие параметра шаблону (двоичное число). Если параметр не соответствует шаблону, «бросается» ошибка WrongBinaryError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе число добавляется в конец массива (свойства content), свойство length увеличивается на 1 и функция возвращает значение добавленной цифры.
Далее в сценарии выполняются следующие действия:
вызов конструктора метода BinaryArray с произвольным числом параметров, один из которых неправильный (не цифра);
вызов конструктора метода BinaryArray с произвольным числом правильных параметров;
вызов метода searchBinary() для числа, отсутствующего в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода searchBinary() для числа, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода addBinary() и вывод возвращаемого значения с помощью функции alert().
Варіант 10-14
Создайте сценарий в Web-странице, в котором создается пользовательский объект BinaryArray (массив двоичных чисел). Для объекта определены следующие ошибки:
WrongBinaryError с именем "WrongBinaryError" и сообщением "Неверное значение элемента" (в случае, если элемент – не двоичное число);
EmptyArrayError с именем "EmptyArrayError" и сообщением "Пустой массив" (в случае, если в массиве нет ни одного элемента);
NoBinaryError с именем "NoBinaryError" и сообщением "Нет элемента" (в случае, если задан неверный список элементов массива).
В функции-конструкторе в качестве параметров задается список двоичных чисел (количество чисел в списке может быть произвольным).
Свойствами объекта BinaryArray является length (количество чисел в массиве) и свойство content, содержащего сам массив двоичных чисел.
В конструкторе количество переданных в функцию параметров определяется с помощью свойства arguments.length объекта Function, а сами параметры функции хранятся в массиве arguments (оба свойства доступны внутри функции). В блоке try выполняется в цикле проверка элементов массива arguments на соответствие следующему шаблону: значение элемента должно быть последовательностью нулей и единиц.
Если какой-либо элемент не соответствует шаблону, «бросается» ошибка WrongBinaryError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции. В противном случае значение размера массива присваивается свойству length, а сам массив – свойству content.
Для объекта BinaryArray определены методы replaceBinary и deleteBinary, реализуемые с помощью функций replaceBinaryItem и deleteBinaryItem.
Функция replaceBinaryItem заменяет число заданное в первом параметре, на число, заданное во втором параметре. Сначала в блоке try проверяется соответствии параметра шаблону (двоичное число). Если хотя бы один из параметров не соответствует шаблону, «бросается» ошибка WrongBinaryError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе в другом блоке try проверяется в цикле наличие в массиве (свойстве content) значения, заданного в первом параметре. Если значение не найдено, «бросается» ошибка NoBinaryError, в блоке catch выводится сообщение об ошибке и возвращается значение null. Если ошибок не обнаружено, для свойства content вызывается функция splice() объекта Array, заменяющая элемент с найденным во втором блоку try индексом в массиве.
Функция deleteBinaryItem удаляет число, заданное в качестве параметра, из массива. Сначала в блоке try проверяется соответствие параметра шаблону (двоичное число). Если параметр не соответствует шаблону, «бросается» ошибка WrongBinaryError. Затем в другом блоке try проверяется размер массива (значение свойства length). Если оно равно 0, «бросается» ошибка EmptyArrayError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В следующем блоке try свойство content в цикле проверяется на наличие числа, заданного в качестве параметра. Если число не найдено в массиве, «бросается» ошибка NoBinaryError, в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Если число найдено, для свойства content вызывается функция splice() объекта Array, удаляющая элемент с найденным в третьем блоке try индексом из массива. Свойство length уменьшается на 1, и функция возвращает значение удаленного числа.
Далее в сценарии выполняются следующие действия:
вызов конструктора метода BinaryArray с произвольным числом параметров, один из которых неправильный (не цифра);
вызов конструктора метода BinaryArray с произвольным числом правильных параметров;
вызов метода replaceBinary() для числа, отсутствующего в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода replaceBinary() для числа, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteBinary() для числа, отсутствующего в массиве, и вывод возвращаемого значения с помощью функции alert();
вызов метода deleteBinary() для числа, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert().
Варіант 10-15
Создайте сценарий в Web-странице, в котором создается пользовательский объект QueueArray (массив чисел, имитирующий очередь). Для объекта определена ошибка WrongNumberError с именем "WrongNumberError" и сообщением "Неверный элемент" (в случае, если элемент – не целое число).
Функция-конструктор не имеет параметров.
Свойствами объекта QueueArray является length (количество чисел в массиве) и свойство content, содержащего сам массив чисел. В конструкторе создается пустой массив (пустая очередь).
Для объекта QueueArray определены методы searchNumber и addNumber, реализуемые с помощью функций searchNumberInArray и addNumberInArray.
Функция searchNumberInArray для числа, заданного в качестве параметра, проверяет его наличие в очереди. Сначала в блоке try проверяется соответствие параметра шаблону (целое число). Если параметр не соответствует шаблону, «бросается» ошибка WrongNumberError, в блоке catch выводится сообщение об ошибке и возвращается значение false. Если параметр соответствует шаблону, массив (значение свойства content) просматривается в цикле по элементам, и, если элемент найден, функция возвращает значение true, иначе возвращает значение false.
Функция addNumberInArray добавляет число, заданное в качестве параметра, в массив. Сначала в блоке try проверяется правильность задания числа. Если параметр – не число, «бросается» ошибка WrongNumberError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В противном случае элемент вставляется в конец массива с помощью функции push() объекта Array. Значение свойства length при этом увеличивается на 1. Функция возвращает значение добавленного числа.
Далее в сценарии выполняются следующие действия:
создание экземпляра объекта QueueArray;
вызов метода searchWord() с неверным значением параметра;
вызов метода addNumber() для неверного значения параметра;
вызов нескольких методов addNumber() для заполнения очереди, и вывод возвращаемых значений с помощью функции alert().
Питання для самоконтролю
1. Як створюється призначений для користувача об'єкт в JavaScript і як створюється новий екземпляр призначеного для користувача об'єкту?
2. Як діють оператори typeof і instanceof, і які значення вони повертають?
3. Як діють оператори delete, in і void, і які значення вони повертають?
4. Для вирішення яких завдань використовуються регулярні вирази?
5. Каким способами може бути створений об'єкт Regular Expression? Які опції можуть бути задані в шаблоні і яке їх призначення?
6. Які властивості визначені для об'єкту Regular Expression, і яке їх призначення?
7. Як працюють функції test() і compile() об'єкту Regular Expression?
8. Як працює функція exec() об'єкту Regular Expression?
9. Для яких цілей використовується вбудований об'єкт RegExp, і які властивості визначені для цього об'єкту? Дайте коротку характеристику кожної властивості.
Лабораторна робота № 11
Програмування на мові JavaScript(використання засобів об'єктної моделі документу)
Мета роботи
Метою роботи є отримання навичок використання властивостей і методів, що надаються об'єктною моделлю документу(DOM) і засобів обробки подій для створення інтерактивних Web- сторінок з використанням мови сценаріїв JavaScript.
2. Склад робочого місця
2.1. Устаткування: IBM- сумісний персональний комп'ютер(ПК).
2.2. Програмне забезпечення: операційна система Windows, Web- браузер Internet Explorer версії 6.0 і вище.
3. Підготовка до лабораторної роботи
Для підготовки до виконання лабораторної роботи необхідно повторити наступні розділи (дивись електронний конспект лекцій по розділу 4 «Технології програмування»).
Дата добавления: 2015-10-28; просмотров: 142 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Порядок виконання роботи | | | Австрия Боевые штаны, Олива, рип стоп, б/у67 % полиэстер, 33 % хлопок € 8,90 |