Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Met_informatika_2_ukr.docx
Скачиваний:
14
Добавлен:
12.05.2015
Размер:
600.35 Кб
Скачать
  1. Лабораторна робота № 8 Програмування на мові JavaScript(дані, функції і управління виконанням програми)

  2. 1. Мета роботи

  3. Метою роботи є оволодіння навичками роботи з даними, функціями і пропозиціями управління при створенні інтерактивних Web- сторінок з використанням мови сценаріїв JavaScript.

  4. 2. Склад робочого місця

  5. 2.1. Устаткування: IBM- сумісний персональний комп'ютер(ПК).

  6. 2.2 Програмне забезпечення: операційна система Windows, Web- браузер Internet Explorer версії 6.0 і вище.

  7. 3. Підготовка до лабораторної роботи

  8. Для підготовки до виконання лабораторної роботи необхідно повторити наступні розділи (дивись електронний конспект лекцій по розділу 4 «Технології програмування»).

  9. 4. Порядок виконання роботи

  10. Створіть інтерактивну Web- сторінку з використанням мови JavaScript по одному з приведених нижче варіантів.

  11. Варіант 8-01

  12. Створіть Web- сторінку, що перевіряє ім'я і пароль користувача(для прикладу використати три довільні імені і паролі). Діалог з користувачем виконується за допомогою вікон alert і prompt. Спочатку видається запит на введення імені користувача. Якщо ім'я введене невірно, видається повідомлення і робота закінчується, інакше видається запит на введення пароля. Повідомлення про вірне або невірне введення пароля видається користувачеві, і робота закінчується.

  13. Варіант 8-02

  14. Створіть Web- сторінку, що перевіряє ім'я і пароль користувача(допустимі імена і паролі задаються у вигляді масивів). Web- сторінка повинна містити заголовок "Карта замовлення читача електронної бібліотеки". Введення імені і пароля проводиться з використанням методу prompt. Після введення імені і пароля вони перевіряються(для прикладу використати три довільні імені і паролі). Якщо ім'я і пароль введені правильно, має бути виведене повідомлення "Читач ім’я_читача зареєстрований", інакше - повідомлення "Ім'я і/або пароль введені неправильно"(виведення цих повідомлень виконується за допомогою методу alert).

  15. Варіант 8-03

  16. Створіть Web- сторінку, що визначає вік користувача методом двійкового пошуку за допомогою наступного алгоритму:

  17. 1. Визначається діапазон пошуку в інтервалі від 0 до 128 років.

  18. 2. Задається питання про вік.

  19. 3. Якщо вік більше 128 років, робота програми припиняється.

  20. 4. Діапазон пошуку зменшується удвічі.

  21. 5. Задається питання про вік.

  22. 6. Якщо діапазон пошуку більше або рівний 2, перехід до пункту 4.

  23. 7. У разі ствердної відповіді на останнє питання, вік приймається на одиницю меншим верхній межі діапазону, інакше - рівним верхній межі діапазону.

  24. Діалог з користувачем виконується за допомогою вікон confirm і alert.

  25. Варіант 8-04

  26. Створіть Web- сторінку, для визначення віку користувача по наступному алгоритму:

  27. 1. Проситься поточний рік.

  28. 2. Проситься рік народження.

  29. 3. Задається питання, чи був цього року день народження.

  30. 4. За отриманими даними розраховується рік.

  31. Діалог з користувачем виконується за допомогою вікон confirm і alert.

  32. Варіант 8-05

  33. Створіть Web- сторінку, для визначення року народження користувача по наступному алгоритму:

  34. 1. Проситься поточний рік.

  35. 2. Проситься вік користувача.

  36. 3. Задається питання, чи був цього року день народження.

  37. 4. За отриманими даними розраховується рік.

  38. Діалог з користувачем виконується за допомогою вікон confirm і alert.

  39. Варіант 8-06

  40. Створіть Web- сторінку для тестування із заголовком "Дайте відповідь на наступні тестові питання". Користувачеві виводяться питання, на які пропонуються декілька варіантів відповідей. Номер правильної відповіді вводиться з використанням діалогового вікна prompt. C допомогою вікна alert користувачеві видається повідомлення, чи була відповідь правильною або неправильною(для прикладу використайте три питання, кожен з трьома варіантами відповідей). Після закінчення тестування користувачеві видається(за допомогою вікна alert) відсоток правильних відповідей.

  41. Варіант 8-07

  42. Створіть Web- сторінку, в якій за введеними за допомогою вікна prompt параметрами: номеру дня в місяці, найменуванню місяця і типу року(високосний або не високосний) підраховується і видається(за допомогою вікна alert) номер дня в році. Вказівка: кількість днів до початку цього місяця(не високосний рік) : січень - 0, лютий - 31, березень - 59, квітень - 90, травень - 120, червень - 151, липень - 181, серпень - 212, вересень - 243, жовтень - 273, листопад - 314, грудень - 334. У високосному році, починаючи з березня, до кількості днів додається 1.

  43. Варіант 8-08

  44. Створіть Web- сторінку, що виконує переклад слів з англійської мови на російську мову. Введення англійських слів виконується за допомогою вікна prompt, висновок відповідного російського слова або повідомлення про те, що це слово не знайдене проводиться за допомогою вікна alert(для прикладу задайте переклади для трьох слів).

  45. Варіант 8-09

  46. Створіть Web- сторінку, що визначає середнє значення введених за допомогою вікна prompt чисел. Введення чисел припиняється при введенні у вікно prompt порожнього рядка, після цього робиться підрахунок середнього значення введених чисел і його виведення за допомогою вікна alert. За допомогою вікна confirm видається запит на підрахунок нового середнього значення або припинення роботи.

  47. Варіант 8-10

  48. Створіть Web- сторінку, що підраховує результат математичних операцій над числами. Послідовне введення першого операнду, знаку дії(+, -, * або /) і другого операнду виконується за допомогою вікна prompt. У разі завдання невірного знаку операції видається запит на його повторне введення. Результат виводиться у вікні alert, а потім за допомогою вікна confirm виводиться запит на продовження обчислень або припинення роботи.

  49. Варіант 8-11

  50. Створіть Web- сторінку, що визначає максимальне і мінімальне значення серед введених за допомогою вікна prompt чисел. Введення чисел припиняється при введенні у вікно prompt порожнього рядка. Визначені в процесі введення максимальне і мінімальне значення виводяться за допомогою вікна alert. За допомогою вікна confirm видається запит на підрахунок нової суми чисел або припинення роботи.

  51. Варіант 8-12

  52. Створіть Web- сторінку, в якій визначається взаємне розташування круга і квадрата. Круг задається(за допомогою вікна prompt) координатами центру і радіусом, квадрат - координатами лівої верхньої вершини і завдовжки сторони. Можливі наступні варіанти: круг і квадрат не мають загальних точок; круг лежить усередині квадрата; квадрат лежить усередині круга; круг і квадрат перетинаються. Варіант відповіді виводиться за допомогою вікна alert. За допомогою вікна confirm видається запит на введення нових значень або припинення роботи.

  53. Варіант 8-13

  54. Створіть Web- сторінку, в якій вводяться(за допомогою вікна prompt) координати вершин трикутника і координати точки. Можливі наступні варіанти: точка лежить усередині трикутника, точка лежить поза трикутником і точка лежить на одній із сторін трикутника. Варіант відповіді виводиться за допомогою вікна alert. За допомогою вікна confirm видається запит на введення нових значень або припинення роботи. Примітка: точка P лежить усередині трикутника ABC, якщо сума площ трикутників APB, BPC і APC дорівнює площі трикутника ABC. Площа S трикутника ABC визначається по формулі:

  55. S =|Ax(By – Cy) + Bx(Cy – Ay) + Cx(Ay – By)|

  56. Варіант 8-14

  57. Створіть Web- сторінку, в якій визначається взаємне розташування двох кругів. Круги задаються(за допомогою вікна prompt) координатами центру і радіусом. Можливі наступні варіанти: круги не мають загальних точок; один круг лежить усередині іншого круга; круги мають точку дотику; круги перетинаються. Варіант відповіді виводиться за допомогою вікна alert. За допомогою вікна confirm видається запит на введення нових значень або припинення роботи.

  58. Варіант 8-15

  59. Створіть Web- сторінку, в якій визначається, чи є введене(за допомогою вікна prompt) число досконалим. Досконалим називається число, рівне сумі своїх дільників(не рахуючи самого числа, але рахуючи одиницю). Відповідь виводиться за допомогою вікна alert. За допомогою вікна confirm видається запит на введення нових значень або припинення роботи.

  60. 5. Питання для самоконтролю

  61. 1. Які елементи програми визначені в JavaScript?

  62. 2. Які правила запису речень, функцій і коментарів на мові JavaScript?

  63. 3. Які типи даних визначені в мові JavaScript? Що таке вільне використання типів?

  64. 4. Як записуються літерали різних типів в JavaScript?

  65. 5. Як визначаються і викликаються функції в JavaScript?

  66. 6. Які вбудовані функції JavaScript використовуються для введення і виведення даних в Web- сторінку?

  67. 7. Як вставити програму на JavaScript в Web- сторінку?

  68. 8. Як задати програму на JavaScript в окремому файлі і як вставити її в потрібному місці в Web- сторінку?

  69. 9. Як вивести повідомлення для Web- браузерів, що не підтримують мову JavaScript?

  70. 10. Які види виразів визначені в JavaScript?

  71. 11. Як функціонує умовний оператор JavaScript?

  72. 12. Які речення вибору визначені в JavaScript і як вони функціонують?

  73. 13. Які різновиди речень циклу визначені в JavaScript, і які особливості їх функціонування?

  74. Лабораторна робота № 9 Програмування на мові JavaScript(вбудовані об'єктні типи)

  75. 1. Мета роботи

  76. Метою роботи є отримання навичок використання властивостей і методів вбудованих об'єктів в документах HTML при створенні інтерактивних Web- сторінок з використанням мови сценаріїв JavaScript.

  77. 2. Склад робочого місця

  78. 2.1. Устаткування: IBM- сумісний персональний комп'ютер(ПК).

  79. 2.2. Програмне забезпечення: операційна система Windows, Web- браузер Internet Explorer версії 6.0 і вище.

  80. 3. Підготовка до лабораторної роботи

  81. Для підготовки до виконання лабораторної роботи необхідно повторити наступні розділи (дивись електронний конспект лекцій по розділу 4 «Технології програмування»).

  82. 4. Порядок виконання роботи

  83. Створіть інтерактивну Web- сторінку з використанням мови JavaScript по одному з приведених нижче варіантів.

  84. Варіант 9-01

  85. Створіть Web- сторінку, що виконує математичні операції над введеним значенням x. За допомогою діалогового вікна prompt спочатку задається значення x, а потім математичне вираження, що виконується над змінною(наприклад, Math.sin(x)). Результат виводиться користувачеві за допомогою методу alert. Вказівка: для обчислення виразів використайте метод eval() вбудованого об'єкту Global.

  86. Варіант 9-02

  87. Створіть Web- сторінку, в якій за допомогою методу prompt вводяться числа і запам'ятовуються в масиві. Після закінчення введення(при введенні порожнього рядка) з масиву видаляються однакові елементи. Масив, що вийшов, виводиться за допомогою методу alert.

  88. Варіант 9-03

  89. Створіть Web- сторінку, в якій за допомогою методу prompt вводяться числа і запам'ятовуються в масиві. Ознакою закінчення введення масиву є порожній рядок. Після цього перевіряється, чи є масив симетричним(масив називається симетричним, якщо його значення його першого елементу співпадає зі значенням другого елементу, значення другого елементу співпадає зі значенням передостаннього елементу і так далі). Результат перевірки виводиться за допомогою методу alert.

  90. Варіант 9-04

  91. Створіть Web- сторінку, в якій за допомогою методу prompt вводяться числа і запам'ятовуються в масиві. Ознакою закінчення введення масиву є порожній рядок. Після цього перевіряється, елементи масиву переставляються таким чином: спочатку йдуть негативні елементи масиву, відсортовані за збільшенням значень, а потім позитивні елементи, відсортовані по убуванню значень. Масив, що вийшов, виводиться за допомогою методу alert.

  92. Варіант 9-05

  93. Створіть Web- сторінку, в якій за допомогою методу prompt вводяться числа і запам'ятовуються в масиві. Ознакою закінчення введення масиву є порожній рядок. Після цього вводяться нижня і верхня межа для значень елементів масиву. Потім з масиву видаляються елементи, значення яких менше нижньої межі або більше верхньої межі. Масив, що вийшов, виводиться за допомогою методу alert.

  94. Варіант 9-06

  95. Створіть Web- сторінку, в якій за допомогою методу prompt вводяться числа і запам'ятовуються в масиві. Ознакою закінчення введення масиву є порожній рядок. Потім визначається, чи усі елементи масиву різні. Результат визначення виводиться за допомогою методу alert(якщо серед елементів масиву є однакові елементи, виводяться їх значення і індекси).

  96. Варіант 9-07

  97. Створіть Web- сторінку, в якій за допомогою методу prompt вводяться числа і запам'ятовуються в двох масивах. Ознакою закінчення введення кожного масиву є порожній рядок. Потім обидва масиви об'єднуються таким чином, що в результуючому масиві залишається тільки по одному значенню кожного з елементів масиву(у масивах може бути декілька елементів з однаковими значеннями). Масив, що вийшов, виводиться за допомогою методу alert.

  98. Варіант 9-08

  99. Створіть Web- сторінку, в якій за допомогою методу prompt вводяться числа і запам'ятовуються в двох масивах. Ознакою закінчення введення кожного масиву є порожній рядок. Потім будується масив, що є перетином двох введених масивів(у масиві-перетині містяться тільки ті елементи, які є і в першому, і в другому масивах). Масив, що вийшов, виводиться за допомогою методу alert.

  100. Варіант 9-09

  101. Створіть Web- сторінку, в якій за допомогою методу prompt вводяться числа і запам'ятовуються в двох масивах. Ознакою закінчення введення кожного масиву є порожній рядок. Сформуйте два масиви, елементами яких є ті елементи початкових двох масивів, які зустрічаються відповідно тільки в першому або тільки в другому масиві. Масиви, що вийшли, виводяться за допомогою методу alert.

  102. Варіант 9-10

  103. Створіть Web- сторінку, в якій за допомогою методу prompt вводяться числа і запам'ятовуються в масиві. Ознакою закінчення введення масиву є порожній рядок. Визначте і виведіть за допомогою методу alert значення і індекси локальних мінімумів масиву(локальним мінімумом масиву називається елемент, значення якого менше значень сусідніх елементів).

  104. Варіант 9-11

  105. Створіть Web- сторінку, в якій визначається інтеграл функції f(x) на заданому інтервалі із заданою точністю. Для цього за допомогою методу prompt вводяться: функція f(x) (наприклад, Math.pow(x, 2)), ліва a і права b межі інтервалу по осі x, а також точність обчислень. Для визначення інтеграла використовується метод трапецій, в якому інтервал [a, b] ділиться на n рівних проміжків, а потім інтеграл обчислюється за формулою:

  106. Потім кількість проміжків збільшується в два рази і знову обчислюється інтеграл. Процес повторюється до тих пір, поки не буде отримано значення інтеграла із заданою точністю. Результат виводиться за допомогою методу alert. Вказівка: для обчислення значень введеної функції використайте метод eval() вбудованого об'єкту Global.

  107. Варіант 9-12

  108. Створіть Web- сторінку, в якій визначається корінь функції f(x) на заданому інтервалі із заданою точністю. Для цього за допомогою методу prompt вводяться: функція f(x) (наприклад, Math.pow(x, 3) + 4), ліва і права межі інтервалу по осі x, а також точність обчислень. Для визначення кореня використовується метод ділення відрізку навпіл і визначення, в якому з двох відрізків знаходиться корінь(якщо корінь знаходиться на цьому відрізку, то на його кінцях функція має значення різного знаку). Потім процес ділення відрізку повторюється, поки значення кореня не буде визначено із заданою точністю. Результат виводиться за допомогою методу alert. Вказівка: для обчислення значень введеної функції використайте метод eval() вбудованого об'єкту Global.

  109. Варіант 9-13

  110. Створіть Web- сторінку, в якій визначається таблиця значень функції f(x) на заданому інтервалі. Для цього за допомогою методу prompt вводяться: функція f(x) (наприклад, Math.exp(x)), ліва і права межі інтервалу по осі x, а також кількість значень аргументу і функції, що виводиться, в таблиці. Таблиця виводиться за допомогою методу alert. Вказівка: для обчислення значень введеної функції використайте метод eval() вбудованого об'єкту Global.

  111. Варіант 9-14

  112. Створіть Web- сторінку, в якій визначається, чи є функція f(x) такою, що монотонно убуває або монотонно зростає на заданому інтервалі. Для цього за допомогою методу prompt вводяться: функція f(x) (наприклад, Math.exp(x)), ліва і права межі інтервалу по осі x, а також точність визначення(крок приросту функції). Результат виводиться за допомогою методу alert. Вказівка: для обчислення значень введеної функції використайте метод eval() вбудованого об'єкту Global.

  113. Варіант 9-15

  114. Створіть Web- сторінку, що визначає тип числа, що вводиться(за допомогою методу prompt) : ціле число, дійсне число або не число. Результат виводиться користувачеві за допомогою методу alert.

  115. 5. Питання для самоконтролю

  116. 1. Як створюється новий об'єкт в JavaScript?

  117. 2. Як в JavaScript виконується звернення до властивостей і методів об'єкту, а також посилання на поточний об'єкт?

  118. 3. Як можна отримати властивості об'єкту JavaScript?

  119. 4. Як визначається об'єктний тип вираження?

  120. 5. Які групи математичних констант і математичних функцій визначені в JavaScript?

  121. 6. Як в JavaScript задається масив?

  122. 7. Які особливості нумерації масивів в JavaScript?

  123. 8. Які методи JavaScript можна використати для перетворення рядка в число?

  124. 9. Якими способами в JavaScript можна оголосити рядок і присвоїти їй значення?

  125. 10. Як можна визначити поточну довжину рядка в JavaScript?

  126. 11. Які методи виводять рядки безпосередньо у форматі HTML?

  127. Лабораторна робота № 10 Створення об'єктів в мові JavaScript, регулярні вирази і обробка помилок

  128. 1. Мета роботи

  129. Метою роботи є придбання навичок створення власних об'єктів засобами мови JavaScript, а також засобів роботи з регулярними виразами і засобів обробки помилок в мові JavaScript.

  130. 2. Склад робочого місця

  131. 2.1. Устаткування: IBM- сумісний персональний комп'ютер(ПК).

  132. 2.2. Програмне забезпечення: операційна система Windows, Web- браузер Internet Explorer версії 6.0 і вище.

  133. 3. Підготовка до лабораторної роботи

  134. Для підготовки до виконання лабораторної роботи необхідно повторити наступні розділи (дивись електронний конспект лекцій по розділу 4 «Технології програмування»).

  135. 4. Порядок виконання роботи

  136. Створіть призначений для користувача об'єкт на Web- сторінці з використанням мови JavaScript відповідно до свого варіанту. Повідомлення про помилки видається за допомогою функції alert(). У повідомленні виводиться ім'я помилки(властивість name) і пов'язане з помилкою повідомлення(властивість message). Функція-конструктор і інші функції для призначеного для користувача об'єкту задаються в елементі <head>, виклик цих функцій - в елементі <body>.

  137. Варіант 10-01

  138. Создайте сценарий в Web-странице, в котором создается пользовательский объект LetterArray (массив букв кириллицы). Для объекта определены следующие ошибки:

  139. WrongLetterError с именем "WrongLetterError" и сообщением "Неверное значение элемента" (в случае, если элемент – не буква кириллицы);

  140. WrongLetterListError с именем "WrongLetterListError" и сообщением "Неверный список элементов" (в случае, если задан неверный список элементов массива).

  141. Параметром функции-конструктора является строка – список букв, отделенных друг от друга пробелом или запятой.

  142. Свойствами объекта LetterArray является length (количество элементов в массиве) и свойство content, содержащего сам массив элементов.

  143. В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: либо одна буква в строке, либо буква в начале строки, затем группа из пробела или запятой и буквы (группа может повторяться 0 и более раз), затем буква в конце строки.

  144. Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterListError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.

  145. Если параметр соответствует шаблону, с помощью функции split() объекта String выполняется преобразование строки в массив. Значение размера массива присваивается свойству length, а сам массив – свойству content.

  146. Для объекта LetterArray определены методы hasItem и addItem, реализуемые с помощью функций hasLetterItem и addLetterItem.

  147. Функция hasLetterItem проверяет, если ли в массиве буква, заданная в качестве параметра функции. Сначала в блоке try проверяется соответствии параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterItemError, в блоке catch выводится сообщение об ошибке и возвращается значение false, в противном случае в цикле просматривается элемент свойства content и, если буква, заданная в качестве параметра, найдена в свойстве, возвращается значение true, иначе возвращается false.

  148. Функция addLetterItem добавляет букву, заданную в качестве параметра, в массив. Сначала в блоке try проверяется соответствие параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе буква добавляется в конец массива (свойства content), свойство length увеличивается на 1 и функция возвращает значение добавленной буквы.

  149. Строка, содержащая список букв, вводится с помощью функции prompt() в цикле dowhile. В цикле также создается объект типа LetterArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта LetterArray не равно 0.

  150. Далее в сценарии выполняются следующие действия:

  151. вызов метода hasItem() с неверным значением параметра;

  152. вызов метода hasItem() для буквы, отсутствующей в массиве, и вывод возвращаемого значения с помощью функции alert();

  153. вызов метода hasItem() для буквы, которая есть в массиве, и вывод возвращаемого значения с помощью функции alert();

  154. вызов метода addItem() и вывод возвращаемого значения с помощью функции alert().

  155. Варіант 10-02

  156. Создайте сценарий в Web-странице, в котором создается пользовательский объект LetterArray (массив букв кириллицы). Для объекта определены следующие ошибки:

  157. WrongLetterError с именем "WrongLetterError" и сообщением "Неверное значение элемента" (в случае, если элемент – не буква кириллицы);

  158. NoLetterError с именем "NoLetterError" и сообщением "Нет элемента" (в случае, если элемента нет во множестве);

  159. WrongLetterListError с именем "WrongLetterListError" и сообщением "Неверный список элементов" (в случае, если задан неверный список элементов множества).

  160. Параметром функции-конструктора является строка – список букв, отделенных друг от друга пробелом или запятой.

  161. Свойствами объекта LetterArray является length (количество элементов в массиве) и свойство content, содержащего сам массив элементов.

  162. В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: либо одна буква в строке, либо буква в начале строки, затем группа из пробела или запятой и буквы (группа может повторяться 0 и более раз), затем буква в конце строки.

  163. Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterListError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.

  164. Если параметр соответствует шаблону, с помощью функции split() объекта String выполняется преобразование строки в массив. Значение размера массива присваивается свойству length, а сам массив – свойству content.

  165. Для объекта LetterArray определены методы setToString и deleteItem, реализуемые с помощью функций convertToString и deleteLetterItem.

  166. Функция convertToString (без параметров) преобразует массив в строку и возвращает результат преобразования. В цикле элементы массива с предшествующим символом "," последовательно добавляются к строке, первоначально состоящей из первого элемента массива.

  167. Функция deleteLetterItem удаляет букву, заданную в качестве параметра, из массива. Сначала в блоке try проверяется соответствие параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе в другом блоке try свойство content в цикле проверяется на наличие буквы, заданной в качестве параметра. Если буква не найдена в массиве или массив пустой, «бросается» ошибка NoLetterError, в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Если буква найдена, для свойства content вызывается функция splice() объекта Array, удаляющая элемент с заданным индексом из массива. Свойство length уменьшается на 1, и функция возвращает значение удаленной буквы.

  168. Строка, содержащая список букв, вводится с помощью функции prompt() в цикле dowhile. В цикле также создается объект типа LetterArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта LetterArray не равно 0.

  169. Далее в сценарии выполняются следующие действия:

  170. вызов метода setToString()и вывод возвращаемого значения с помощью функции alert();

  171. вызов метода deleteItem() для буквы, отсутствующей в массиве, и вывод возвращаемого значения с помощью функции alert();

  172. вызов метода deleteItem() для буквы, которая есть в массиве, и вывод возвращаемого значения с помощью функции alert();

  173. вызов метода setToString()для измененного массива и вывод возвращаемого значения с помощью функции alert().

  174. Варіант 10-03

  175. Создайте сценарий в Web-странице, в котором создается пользовательский объект WordString (строка, содержащее слово). Элементами строки являются буквы кириллицы (первым символом строки может быть прописная или строчная буква, остальные символы – строчные буквы).

  176. Для объекта определены следующие ошибки:

  177. WrongWordError с именем "WrongWordError" и сообщением "Неверное значение слова" (в случае, если нарушены правила для слова);

  178. WrongLetterError с именем "WrongLetterError" и сообщением "Неверный символ" (в случае, если символ – не буква кириллицы);

  179. WrongIndexError с именем "WrongIndexError" и сообщением "Неверный индекс" (в случае, если задана неверная позиция в строке).

  180. Параметром функции-конструктора является строка, содержащее слово.

  181. Свойствами объекта WordString является length (длина строки) и свойство content, содержащее саму строку.

  182. В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: первый символ строки – строчная или заглавная буква кириллицы, остальные буквы – строчные. Если параметр не соответствует шаблону, «бросается» ошибка WrongWordError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустая строка и выполняется возврат из функции.

  183. Если параметр соответствует шаблону, значение длины строки присваивается свойству length, а значение строки – свойству content.

  184. Для объекта WordString определены методы letterIndex и letterAt, реализуемые с помощью функций letterInWordIndex и letterAtIndex.

  185. Функция letterInWordIndex для буквы, заданной в качестве параметра, возвращает индекс ее первого появления в строке. Сначала в блоке try проверяется соответствие параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение -1. Если буква соответствует шаблону, строка (значение свойства content) просматривается по символам, и, если буква найдена, функция возвращает индекс этой буквы в строке, иначе возвращает значение -1.

  186. Функция letterAtIndex возвращает букву, находящуюся в заданной позиции в строке. Позиция (индекс) буквы задается в качестве параметра функции. Сначала в блоке try проверяется правильность задания индекса. Если индекс – не число, или индекс меньше 0 или индекс больше значения свойства length минус 1, «бросается» ошибка WrongIndexError, в блоке catch выводится сообщение об ошибке и возвращается значение null, в противном случае с помощью функции charAt() объекта String возвращается буква в строке (значении свойства content), находящаяся в заданной позиции.

  187. Строка, содержащая слово, вводится с помощью функции prompt() в цикле dowhile. В цикле также создается объект типа WordString, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта WordString не равно 0.

  188. Далее в сценарии выполняются следующие действия:

  189. вызов метода letterIndex() с неверным значением параметра;

  190. вызов метода letterIndex() для буквы, отсутствующей в строке и вывод возвращаемого значения с помощью функции alert();

  191. вызов метода letterIndex() для буквы, которая есть в строке, и вывод возвращаемого значения с помощью функции alert();

  192. вызов метода letterAt() для неверного значения индекса и вывод возвращаемого значения с помощью функции alert();

  193. вызов метода letterAt() для правильного значения индекса и вывод возвращаемого значения с помощью функции alert().

  194. Варіант 10-04

  195. Создайте сценарий в Web-странице, в котором создается пользовательский объект WordString (строка, содержащее слово). Элементами строки являются буквы кириллицы (первым символом строки может быть прописная или строчная буква, остальные символы – строчные буквы).

  196. Для объекта определены следующие ошибки:

  197. WrongWordError с именем "WrongWordError" и сообщением "Неверное значение слова" (в случае, если нарушены правила для слова);

  198. WrongLetterError с именем "WrongLetterError" и сообщением "Неверный символ" (в случае, если символ – не буква кириллицы);

  199. WrongIndexError с именем "WrongIndexError" и сообщением "Неверный индекс" (в случае, если задана неверная позиция в строке).

  200. Параметром функции-конструктора является строка, содержащее слово.

  201. Свойствами объекта WordString является length (длина строки) и свойство content, содержащее саму строку.

  202. В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: первый символ строки – строчная или заглавная буква кириллицы, остальные буквы – строчные.

  203. Если параметр не соответствует шаблону, «бросается» ошибка WrongWordError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустая строка и выполняется возврат из функции.

  204. Если параметр соответствует шаблону, значение длины строки присваивается свойству length, а значение строки – свойству content.

  205. Для объекта WordString определены методы hasLetter и replaceLetter, реализуемые с помощью функций hasLetterInWord и replaceLetterInWord.

  206. Функция hasLetterInWord проверяет наличие в строке буквы, заданной в качестве параметра. Сначала в блоке try проверяется соответствие параметра шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение false. Если буква соответствует шаблону, строка (значение свойства content) просматривается по символам, и, если буква найдена, функция возвращает значение true, иначе возвращает значение false.

  207. Функция replaceLetterInWord заменяет букву, находящуюся в заданной позиции в строке на заданную букву. Позиция (индекс) буквы задается в качестве первого параметра функции, буква замены – в качестве второго. Сначала в блоке try проверяется правильность задания индекса. Если индекс – не число, или индекс меньше 0 или индекс больше значения свойства length минус 1, «бросается» ошибка WrongIndexError, в блоке catch выводится сообщение об ошибке и возвращается значение null, в противном случае в другом блоке try проверяется соответствии буквы замены шаблону (буква кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongLetterError, в блоке catch выводится сообщение об ошибке и возвращается значение null. Если в параметрах нет ошибок, создается пустая строка, в которую в цикле добавляются символы исходной строки, однако, для заданной позиции символ в строке меняется на символ замены. Функция возвращается букву в строке, которая была заменена.

  208. Строка, содержащая слово, вводится с помощью функции prompt() в цикле dowhile. В цикле также создается объект типа WordString, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта WordString не равно 0.

  209. Далее в сценарии выполняются следующие действия:

  210. вызов метода hasLetter() с неверным значением параметра;

  211. вызов метода hasLetter() для буквы, отсутствующей в строке и вывод возвращаемого значения с помощью функции alert();

  212. вызов метода hasLetter() для буквы, которая есть в строке, и вывод возвращаемого значения с помощью функции alert();

  213. вызов метода replaceLetter() для неверного значения индекса и буквы замены и вывод возвращаемого значения с помощью функции alert();

  214. вызов метода replaceLetter() для правильного значения индекса и вывод возвращаемого значения с помощью функции alert();

  215. вывод с помощью функции alert()нового значения свойства content.

  216. Варіант 10-05

  217. Создайте сценарий в Web-странице, в котором создается пользовательский объект SortedArray (отсортированный массив, т.е. массив, содержащий числа в порядке их возрастания).

  218. Для объекта определены следующие ошибки:

  219. WrongArrayListError с именем "WrongArrayListError" и сообщением "Неверное значение списка для массива" (в случае, если список элементов массива содержит ошибку);

  220. WrongElementError с именем "WrongElementError" и сообщением "Неверный элемент" (в случае, если элемент – не число).

  221. Параметром функции-конструктора является строка, содержащая список элементов массива, разделенных пробелом или запятой.

  222. Свойствами объекта SortedArray является length (размер массива) и свойство content, содержащее сам массив.

  223. В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: либо одно число (одна или более цифр) в строке, либо число в начале строки, затем группа из пробела или запятой и числа (группа может повторяться 0 и более раз), затем число в конце строки.

  224. Если параметр не соответствует шаблону, «бросается» ошибка WrongArrayListError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.

  225. Если параметр соответствует шаблону, с помощью функции split() объекта String выполняется преобразование строки в массив. Значение размера массива присваивается свойству length, а сам массив – свойству content.

  226. Для объекта SortedArray определены методы hasElement и addElement, реализуемые с помощью функций hasElementInArray и addElementInArray.

  227. Функция hasElementInArray для числа, заданного в качестве параметра, проверяет его наличие в массиве. Сначала в блоке try проверяется соответствие параметра шаблону (число). Если параметр не соответствует шаблону, «бросается» ошибка WrongElementError, в блоке catch выводится сообщение об ошибке и возвращается значение false. Если число соответствует шаблону, массив (значение свойства content) просматривается по элементам, и, если элемент найден, функция возвращает значение true, иначе возвращает значение false.

  228. Функция addElementInArray добавляет элемент, заданный в качестве параметра, в массив в соответствии со значением числа (между элементом, значение которого меньше заданного числа и элементом, большим заданного числа). Сначала в блоке try проверяется правильность задания числа. Если параметр – не число, «бросается» ошибка WrongElementError. В противном случае элемент вставляется в конец массива с помощью функции push() объекта Array, а затем массив сортируется по возрастанию с помощью функции sort() объекта Array. Свойство length увеличивается на 1, и функция возвращает значение добавленного числа.

  229. Строка, содержащая слово, вводится с помощью функции prompt() в цикле dowhile. В цикле также создается объект типа SortedArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта SortedArray не равно 0.

  230. Далее в сценарии выполняются следующие действия:

  231. вызов метода hasElement() с неверным значением параметра;

  232. вызов метода hasElement() для числа, которого нет в массиве, и вывод возвращаемого значения с помощью функции alert();

  233. вызов метода hasElement() для числа, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();

  234. вызов метода addElement() и вывод возвращаемого значения с помощью функции alert().

  235. Варіант 10-06

  236. Создайте сценарий в Web-странице, в котором создается пользовательский объект SortedArray (отсортированный массив, т.е. массив, содержащий числа в порядке их возрастания).

  237. Для объекта определены следующие ошибки:

  238. WrongArrayListError с именем "WrongArrayListError" и сообщением "Неверное значение списка для массива" (в случае, если список элементов массива содержит ошибку);

  239. WrongElementError с именем "WrongElementError" и сообщением "Неверный элемент" (в случае, если элемент – не число);

  240. NoElementError с именем " NoElementError " и сообщением "Нет элемента" (в случае, если числа нет в массиве).

  241. Параметром функции-конструктора является строка, содержащая список элементов массива, разделенных пробелом или запятой.

  242. Свойствами объекта SortedArray является length (размер массива) и свойство content, содержащее сам массив.

  243. В конструкторе в блоке try выполняется проверка параметра на соответствие следующему шаблону: либо одно число (одна или более цифр) в строке, либо число в начале строки, затем группа из пробела или запятой и числа (группа может повторяться 0 и более раз), затем число в конце строки.

  244. Если параметр не соответствует шаблону, «бросается» ошибка WrongArrayListError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.

  245. Если параметр соответствует шаблону, с помощью функции split() объекта String выполняется преобразование строки в массив. Значение размера массива присваивается свойству length, а сам массив – свойству content.

  246. Для объекта SortedArray определены методы arrayToString и deleteElement, реализуемые с помощью функций convertToString и deleteElementInArray.

  247. Функция convertToString (без параметров) преобразует массив в строку и возвращает результат преобразования. В цикле элементы массива с предшествующим символом "," последовательно добавляются к строке, первоначально состоящей из первого элемента массива.

  248. Функция deleteElement удаляет число, заданное в качестве параметра, из массива. Сначала в блоке try проверяется соответствие параметра шаблону (число). Если параметр не соответствует шаблону, «бросается» ошибка WrongElementError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе в другом блоке try свойство content в цикле проверяется на наличие числа, заданного в качестве параметра. Если число не найдено в массиве или массив пустой, «бросается» ошибка NoElementError, в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Если число найдено, для свойства content вызывается функция splice() объекта Array, удаляющая элемент с заданным индексом из массива. Затем массив сортируется по возрастанию с помощью функции sort() объекта Array. Свойство length уменьшается на 1, и функция возвращает значение удаленного числа.

  249. Строка, содержащая слово, вводится с помощью функции prompt() в цикле dowhile. В цикле также создается объект типа SortedArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта SortedArray не равно 0.

  250. Далее в сценарии выполняются следующие действия:

  251. вызов метода hasElement() с неверным значением параметра;

  252. вызов метода hasElement() для числа, которого нет в массиве, и вывод возвращаемого значения с помощью функции alert();

  253. вызов метода hasElement() для числа, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();

  254. вызов метода deleteElement()для числа, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();

  255. вызов метода deleteElement() для числа, которого нет в массиве, и вывод возвращаемого значения с помощью функции alert().

  256. Варіант 10-07

  257. Создайте сценарий в Web-странице, в котором создается пользовательский объект DigitArray (массив цифр). Для объекта определена ошибка WrongDigitError с именем "WrongDigitError" и сообщением "Неверное значение элемента" (в случае, если элемент – не цифра).

  258. В функции-конструктора в качестве параметров задается список цифр (количество цифр в списке может быть произвольным).

  259. Свойствами объекта DigitArray является length (количество цифр в массиве) и свойство content, содержащего сам массив цифр.

  260. В конструкторе количество переданных в функцию параметров определяется с помощью свойства arguments.length объекта Function, а сами параметры функции хранятся в массиве arguments (оба свойства доступны внутри функции). В блоке try выполняется в цикле проверка элементов массива arguments на соответствие следующему шаблону: значение элемента должно быть цифрой.

  261. Если какой-либо элемент не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции. В противном случае значение размера массива присваивается свойству length, а сам массив – свойству content.

  262. Для объекта DigitArray определены методы hasDigit и addDigit, реализуемые с помощью функций hasDigitItem и addDigitItem.

  263. Функция hasDigitItem проверяет, если ли в массиве цифра, заданная в качестве параметра функции. Сначала в блоке try проверяется соответствие параметра шаблону (цифра). Если параметр не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке и возвращается значение false, в противном случае в цикле просматривается элемент свойства content и, если цифра, заданная в качестве параметра, найдена в свойстве, возвращается значение true, иначе возвращается false.

  264. Функция addDigitItem добавляет цифру, заданную в качестве параметра, в массив. Сначала в блоке try проверяется соответствие параметра шаблону (цифра). Если параметр не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе буква добавляется в конец массива (свойства content), свойство length увеличивается на 1 и функция возвращает значение добавленной цифры.

  265. Далее в сценарии выполняются следующие действия:

  266. вызов конструктора метода DigitArray с произвольным числом параметров, один из которых неправильный (не цифра);

  267. вызов конструктора метода DigitArray с произвольным числом правильных параметров;

  268. вызов метода hasItem() для цифры, отсутствующей в массиве, и вывод возвращаемого значения с помощью функции alert();

  269. вызов метода hasItem() для цифры, которая есть в массиве, и вывод возвращаемого значения с помощью функции alert();

  270. вызов метода addItem() и вывод возвращаемого значения с помощью функции alert().

  271. Варіант 10-08

  272. Создайте сценарий в Web-странице, в котором создается пользовательский объект DigitArray (массив цифр). Для объекта определены следующие ошибки:

  273. WrongDigitError с именем "WrongDigitError" и сообщением "Неверное значение элемента" (в случае, если элемент – не цифра);

  274. NoDigitError с именем "NoDigitError" и сообщением "Нет цифры" (в случае, если заданной цифры нет в массиве).

  275. В функции-конструкторе в качестве параметров задается список цифр (количество цифр в списке может быть произвольным).

  276. Свойствами объекта DigitArray является length (количество цифр в массиве) и свойство content, содержащего сам массив цифр.

  277. В конструкторе количество переданных в функцию параметров определяется с помощью свойства arguments.length объекта Function, а сами параметры функции хранятся в массиве arguments (оба свойства доступны внутри функции). В блоке try выполняется в цикле проверка элементов массива arguments на соответствие следующему шаблону: значение элемента должно быть цифрой.

  278. Если какой-либо элемент не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции. В противном случае значение размера массива присваивается свойству length, а сам массив – свойству content.

  279. Для объекта DigitArray определены методы arrayToString и deleteDigit, реализуемые с помощью функций convertToString и deleteDigitItem.

  280. Функция convertToString (без параметров) преобразует массив в строку и возвращает результат преобразования. В цикле элементы массива с предшествующим символом "," последовательно добавляются к строке, первоначально состоящей из первого элемента массива.

  281. Функция deleteDigitItem удаляет цифру, заданную в качестве параметра, из массива. Сначала в блоке try проверяется соответствие параметра шаблону (цифра). Если параметр не соответствует шаблону, «бросается» ошибка WrongDigitError, в блоке catch выводится сообщение об ошибке и возвращается значение null, иначе в другом блоке try свойство content в цикле проверяется на наличие цифры, заданной в качестве параметра. Если цифра не найдена в массиве или массив пустой, «бросается» ошибка NoDigitError, в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Если цифра найдена, для свойства content вызывается функция splice() объекта Array, удаляющая элемент с заданным индексом из массива. Свойство length уменьшается на 1, и функция возвращает значение удаленной цифры.

  282. Далее в сценарии выполняются следующие действия:

  283. вызов конструктора метода DigitArray с произвольным числом параметров, один из которых неправильный (не цифра);

  284. вызов конструктора метода DigitArray с произвольным числом правильных параметров;

  285. вызов метода setToString()и вывод возвращаемого значения с помощью функции alert();

  286. вызов метода deleteItem() для цифры, отсутствующей в массиве, и вывод возвращаемого значения с помощью функции alert();

  287. вызов метода deleteItem() для цифры, которая есть в массиве, и вывод возвращаемого значения с помощью функции alert();

  288. вызов метода setToString()для измененного массива и вывод возвращаемого значения с помощью функции alert().

  289. Варіант 10-09

  290. Создайте сценарий в Web-странице, в котором создается пользовательский объект RangeArray. Объект содержит массив, каждый элемент которого на заданную величину (приращение) превышает предыдущий элемент.

  291. Для объекта определены следующие ошибки:

  292. WrongBooleanError с именем "WrongBooleanError" и сообщением "Не булевское значение" (в случае, если значение не является булевским);

  293. WrongNumberError с именем "WrongNumberError" и сообщением "Неверный элемент" (в случае, если элемент – не число);

  294. WrongLengthError с именем "WrongLengthError" и сообщением "Неверный размер массива" (в случае, если задано неверное значение размера массива).

  295. Параметрами функции-конструктора являются: значение первого элемента массива (число), значение приращения (число) и размер массива (число, большее или равное 2).

  296. Свойствами объекта RangeArray являются: length (размер массива), increment (приращение) и content, содержащее сам массив.

  297. В конструкторе в блоке try выполняется проверка всех трех параметров на соответствие шаблону (число).

  298. Если параметр не соответствует шаблону, «бросается» ошибка WrongNumberError, в блоке catch выводится сообщение об ошибке, свойствам length и increment присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.

  299. В следующем блоке try выполняется проверка третьего параметра – количество элементов в массиве должно быть большим или равным двум.

  300. Если параметр не соответствует шаблону, «бросается» ошибка WrongLengthError, в блоке catch выводится сообщение об ошибке, свойствам length и increment присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.

  301. Если все параметры правильные, сначала создается пустой массив content, нулевой элемент для него задается равным значению первого параметра, а затем в цикле формируются остальные элементы массива в соответствии со значениями, заданными во втором и третьем параметрах. Значение второго параметра присваивается свойству increment, а значение третьего параметра – свойству length, а сам массив – свойству content.

  302. Для объекта RangeArray определены методы testNumber и addElement, реализуемые с помощью функций testNumberInArray и addElementInArray.

  303. Функция testNumberInArray для числа, заданного в качестве параметра, проверяет, к какому диапазону принадлежит число. Сначала в блоке try проверяется соответствие параметра шаблону (число). Если параметр не соответствует шаблону, «бросается» ошибка WrongNumberError, в блоке catch выводится сообщение об ошибке и возвращается значение -1. Если число соответствует шаблону, массив (значение свойства content) просматривается по элементам, и, если число больше значения элемента i-1, но меньше или равно значению i-го элемента, функция возвращает значение i. Если число меньше значения элемента массива с индексом 0, функция возвращается значение 0, а если число больше значения последнего элемента массива функция возвращает значение свойства length.

  304. Функция addElementInArray добавляет элемент в начало или в конец массива, в зависимости от значения параметра функции (true или false). Сначала в блоке try проверяется правильность задания числа. Если параметр – не логическое значение, «бросается» ошибка WrongBooleanError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В противном случае, если элемент вставляется в начало массива, значение элемента определяется вычитанием значения свойства increment от значения элемента массива с нулевым индексом, а затем элемент вставляется в массив с помощью функции unshift() объекта Array. Если элемент вставляется в конец массива, значение элемента определяется сложением значения свойства increment со значением последнего элемента массива, а затем элемент вставляется в массив массива с помощью функции push() объекта Array. Значение свойства length при этом увеличивается на 1. Функция возвращает значение добавляемого элемента.

  305. Параметры конструктора задаются с помощью функций prompt() в цикле dowhile. В цикле также создается объект типа RangeArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта RangeArray не равно 0.

  306. Далее в сценарии выполняются следующие действия:

  307. создание экземпляра объекта RangeArray с неправильным значением одного из параметров;

  308. создание экземпляра объекта RangeArray с правильными значениями параметров;

  309. вызов метода testNumber() с неверным значением параметра;

  310. вызов метода testNumber() для произвольного числа и вывод возвращаемого значения с помощью функции alert();

  311. вызов метода addElement() для неверного значения параметра;

  312. вызов метода addElement() со значением параметра true или false и вывод возвращаемого значения с помощью функции alert().

  313. Варіант 10-10

  314. Создайте сценарий в Web-странице, в котором создается пользовательский объект RangeArray. Объект содержит массив, каждый элемент которого на заданную величину (приращение) превышает предыдущий элемент.

  315. Для объекта определены следующие ошибки:

  316. WrongBooleanError с именем "WrongBooleanError" и сообщением "Не булевское значение" (в случае, если значение не является булевским);

  317. WrongNumberError с именем "WrongNumberError" и сообщением "Неверный элемент" (в случае, если элемент – не число);

  318. EmptyArrayError с именем "EmptyArrayError" и сообщением "Пустой массив" (в случае, если в массиве нет ни одного элемента);

  319. WrongLengthError с именем "WrongLengthError" и сообщением "Неверный размер массива" (в случае, если задано неверное значение размера массива).

  320. Параметрами функции-конструктора являются: значение первого элемента массива (число), значение приращения (число) и размер массива (число, большее или равное 2).

  321. Свойствами объекта RangeArray являются: length (размер массива), increment (приращение) и content, содержащее сам массив.

  322. В конструкторе в блоке try выполняется проверка всех трех параметров на соответствие шаблону (число).

  323. Если параметр не соответствует шаблону, «бросается» ошибка WrongNumberError, в блоке catch выводится сообщение об ошибке, свойствам length и increment присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.

  324. В следующем блоке try выполняется проверка третьего параметра – количество элементов в массиве должно быть большим или равным двум.

  325. Если параметр не соответствует шаблону, «бросается» ошибка WrongLengthError, в блоке catch выводится сообщение об ошибке, свойствам length и increment присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции.

  326. Если все параметры правильные, сначала создается пустой массив content, нулевой элемент для него задается равным значению первого параметра, а затем в цикле формируются остальные элементы массива в соответствии со значениями, заданными во втором и третьем параметрах. Значение второго параметра присваивается свойству increment, а значение третьего параметра – свойству length, а сам массив – свойству content.

  327. Для объекта RangeArray определены методы arrayToString и deleteElement, реализуемые с помощью функций convertToString и deleteElementInArray.

  328. Функция convertToString (без параметров) преобразует массив в строку и возвращает результат преобразования. В цикле элементы массива с предшествующим символом "," последовательно добавляются к строке, первоначально состоящей из первого элемента массива.

  329. Функция deleteElementInArray удаляет элемент из начала или конца массива, в зависимости от значения параметра функции (true или false). Сначала в блоке try проверяется правильность задания числа. Если параметр – не логическое значение, «бросается» ошибка WrongBooleanError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. Затем в другом блоке try проверяется размер массива (значение свойства length). Если оно равно 0, «бросается» ошибка EmptyArrayError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В случае отсутствия ошибок, если элемент удаляется из начала массива, используется функция shift() объекта Array. Если элемент удаляется из конца, используется функция pop() объекта Array. Значение свойства length при этом уменьшается на 1. Функция возвращает значение удаляемого элемента.

  330. Параметры конструктора задаются с помощью функций prompt() в цикле dowhile. В цикле также создается объект типа RangeArray, в котором в качестве параметра конструктора задается введенная строка. Цикл заканчивается при условии, если значение свойства length объекта RangeArray не равно 0.

  331. Далее в сценарии выполняются следующие действия:

  332. создание экземпляра объекта RangeArray с неправильным значением одного из параметров;

  333. создание экземпляра объекта RangeArray с правильными значениями параметров;

  334. вызов метода arrayToString() для массива и вывод возвращаемого значения с помощью функции alert();

  335. вызов метода deleteElement() с неверным значением параметра;

  336. вызов метода deleteElement() для произвольного числа и вывод возвращаемого значения с помощью функции alert();

  337. вызов метода arrayToString() для нового массива и вывод возвращаемого значения с помощью функции alert().

  338. Варіант 10-11

  339. Создайте сценарий в Web-странице, в котором создается пользовательский объект DictionaryArray (отсортированный массив слов, т.е. массив, содержащий строки в порядке возрастания их кодов). Элементами массива являются строчные буквы кириллицы. Для объекта определена ошибка WrongWordError с именем "WrongWordError" и сообщением "Неверный элемент" (в случае, если элемент – не число).

  340. В функции-конструкторе в качестве параметров задается список строк (количество строк в списке может быть произвольным).

  341. Свойствами объекта DictionaryArray является length (количество строк в массиве) и свойство content, содержащего сам массив строк.

  342. В конструкторе количество переданных в функцию параметров определяется с помощью свойства arguments.length объекта Function, а сами параметры функции хранятся в массиве arguments (оба свойства доступны внутри функции). В блоке try выполняется в цикле проверка элементов массива arguments на соответствие следующему шаблону: значение элемента должно быть последовательностью из одной или более строчных букв кириллицы.

  343. Если какой-либо элемент не соответствует шаблону, «бросается» ошибка WrongWordError, в блоке catch выводится сообщение об ошибке, свойству length присваивается значение 0, свойству content – пустой массив и выполняется возврат из функции. В противном случае значение размера массива присваивается свойству length, а сам массив – свойству content.

  344. Для объекта DictionaryArray определены методы searchWord и addWord, реализуемые с помощью функций searchWordInArray и addWordInArray.

  345. Функция searchWordInArray для слова, заданного в качестве параметра, проверяет его наличие в массиве. Сначала в блоке try проверяется соответствие параметра шаблону (строка строчных букв кириллицы). Если параметр не соответствует шаблону, «бросается» ошибка WrongWordError, в блоке catch выводится сообщение об ошибке и возвращается значение false. Если слово соответствует шаблону, массив (значение свойства content) просматривается по элементам, и, если элемент найден, функция возвращает значение true, иначе возвращает значение false.

  346. Функция addWordInArray добавляет слово, заданное в качестве параметра, в массив в соответствии со значением слова (между элементом коды которого меньше заданного слова и элементом, коды которого равны или больше кодов заданного слова). Сначала в блоке try проверяется правильность задания слова. Если параметр – не слово, «бросается» ошибка WrongWordError, а затем в блоке catch выводится сообщение об ошибке и функция возвращает значение null. В противном случае элемент вставляется в конец массива с помощью функции push() объекта Array, а затем массив сортируется по возрастанию с помощью функции sort() объекта Array. Значение свойства length при этом увеличивается на 1. Функция возвращает значение добавленного слова.

  347. Далее в сценарии выполняются следующие действия:

  348. создание экземпляра объекта DictionaryArray с произвольным количеством параметров, один из которых неверный;

  349. создание экземпляра объекта DictionaryArray с произвольным количеством правильных параметров;

  350. вызов метода searchWord() с неверным значением параметра;

  351. вызов метода searchWord() для слова, которого нет в массиве, и вывод возвращаемого значения с помощью функции alert();

  352. вызов метода searchWord() для слова, которое есть в массиве, и вывод возвращаемого значения с помощью функции alert();

  353. вызов метода addWord() и вывод возвращаемого значения с помощью функции alert().

  354. Варіант 10-12

  355. Создайте сценарий в Web-странице, в котором создается пользовательский объект DictionaryArray (отсортированный массив слов, т.е. массив, содержащий строки в порядке возрастания их кодов). Элементами массива являются строчные буквы кириллицы. Для объекта определены следующие ошибки:

  • WrongWordError с именем "WrongWordError" и сообщением "Неверный элемент" (в случае, если элемент – неверное слово);

  • NoWordError с именем "NoWordError" и сообщением "Нет элемента" (в случае, если слово не найдено в массиве);

  • EmptyArrayError с именем "EmptyArrayError" и сообщением "Пустой массив" (в случае, если в массиве нет ни одного элемента).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]