42245

Программирование на языке JavaScript (встроенные объектные типы)

Лабораторная работа

Информатика, кибернетика и программирование

Предложение создания нового объекта имеет следующий синтаксис: vr переменная = new имяобъектноготипа[параметры] Этот оператор создает новый экземпляр объекта заданного объектного типа и присваивает его значение переменной. Пример создание переменной встроенного объектного типа String: vr string1= new String Строка 1 ; Объекту может быть присвоено специальное значение null. Объект который еще не инициализирован также имеет значение null. Свойства объектного типа Mth Свойство Значение E Значение константы Эйлера 2718.

Русский

2013-10-28

194.5 KB

9 чел.

 15 -

Лабораторная работа 2-09

Программирование на языке JavaScript (встроенные объектные типы)

1. Цель работы

Целью работы является приобретение навыков использования свойств и методов встроенных объектов в документах HTML при создании интерактивных Web-страниц с использованием языка сценариев JavaScript.

2. Состав рабочего места

2.1. Оборудование: IBM-совместимый   персональный компьютер (ПК).

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

3. Краткие теоретические сведения

3.1. Реализация объектно-ориентированного программирования в JavaScript

В языках программирования типа C или Pascal программа разбивается на отдельные модули, называемые процедурами или функциями, которые выполняются в соответствии с алгоритмом программы. Такие языки называются процедурными или алгоритмическими языками.

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

Для объектно-ориентированных языков характерен следующий подход к программированию:

  •  все является объектом;
  •  программа является набором объектов, указывающих друг другу, что делать посредством посылки сообщений;
  •  каждый объект имеет некоторый тип;
  •  все объекты одного типа могут получать одни и те же сообщения.

Объект – это набор данных и процедур, работающих с этими данными. Эти процедуры (подпрограммы) обработки данных объекта называются в объектно-ориентированных языках методами.

Как и объекты реального мира, объекты программирования также имеют две характеристики: состояние и поведение, причем состояние объекта определяется его данными, а поведение – его методами. Таким образом, при объектно-ориентированном подходе любые объекты реального мира и абстрактные концепции можно легко воплотить в программы.

Программный объект также обладает некоторым внешним видом или свойствами, отражаемыми в значениях его переменных, и поведением, задаваемым в виде его процедур, которые в объектно-ориентированном программировании называются методами.

Объект может быть разделен на две компоненты: внешнюю и внутреннюю. Внешнюю часть, которую часто называют интерфейсом,  составляют методы, осуществляющие взаимодействие с остальной частью программы. Внутреннюю часть составляют данные и методы, доступные только внутри объекта.     Такое сокрытие («затенение») данных и методов внутри объекта называется инкапсуляцией, т.е. инкапсуляция – это процесс упаковки данных объекта вместе с его методами. Результатом инкапсуляции является предотвращение нежелательного доступа извне к данным и методам внутри объекта и возможность изменения внутренней реализации объекта без изменения других частей программы.

Объекты могут взаимодействовать друг с другом, посылая сообщения с просьбой выполнить некоторый подходящий метод или выполняя метод в ответ на запрос системы. Взаимодействуя, объекты образуют единое целое – программу.

Любое сообщение состоит из трех компонентов:

  1.  Имя объекта, которому оно адресовано.
  2.  Имя метода, который объект-адресат должен выполнить.
  3.  Необязательные параметры, необходимые для выполнения метода.

Этих трех компонентов достаточно, чтобы объект выполнил необходимые действия.

3.2. Реализация объектно-ориентированного программирования в JavaScript

Язык JavaScript нельзя назвать объектно-ориентированным языком, основанным на классах, поскольку он не имеет операторов для работы с классами (хотя в список ключевых слов для будущего использования внесено слово class). В связи с этим в нем не определены такие понятия объектно-ориентированных программирования, как класс, перегрузка методов,  механизмы наследования, полиморфизм и другие. Термин «метод» в JavaScript эквивалентен термину «функция».

Однако, JavaScript содержит похожую концепцию – объектный тип, т.е. по терминологии объектно-ориентированного программирования JavaScript является языком, основанным на экземплярах (instance-based).

3.2.1.Объектные типы JavaScript

В языке JavaScript определены следующие группы объектных типов:

  •  встроенные объектные типы;
  •  объектные типы, создаваемые пользователем;
  •  объектные типы Web-браузера.

В JavaScript имеются следующие встроенные объектные типы, свойства и методы которых доступны в сценариях без предварительного определения этих объектов. Эти типы представлены в табл. 9.1.

Таблица 9.1. Встроенные объектные типы языка JavaScript 

Объектные типы

Описание

Math

Математические константы и функции

Array

Массив

Global

Глобальные методы

Number

Числа

String

Строки

Boolean

Логические данные

Date

Даты и время

Function

Функция

Object

Объект

Встроенные объектные типы очень удобны для выполнения различных операций со строками, календарными датами, массивами, числами и т. д. Они освобождают программиста от выполнения различных рутинных операций (например, преобразования строк или вычисления математических функций). Программа создает реализации (instance) встроенных объектов, а затем обращается к свойствам и методам объектов.

Программист может создать свои объектные типы JavaScript как функции, в которых определены свойства, играющие роль данных. Что касается методов, то они тоже определяются как функции, но отдельно.

При интерпретации документа HTML Web-браузером создаются объекты Web-браузера. Некоторые дескрипторы HTML являются контейнерами, в которых могут размещаться другие дескрипторы. Например, контейнер <p>…</p> может содержать внутри строковые элементы логического и физического форматирования (<em>, <strong> и другие). Эта подчиненность одних дескрипторов другим и образует структуру документа, отражаясь  в иерархической структуре объектов Web-браузера.

3.2.2. Создание новых объектов в JavaScript

Для создания нового объекта заданного объектного типа в JavaScript, как и в других объектно-ориентированных языках, используется ключевое слово new.

Предложение создания нового объекта имеет следующий синтаксис:

var переменная = new имя-объектного-типа([параметры]) 

Этот оператор создает новый экземпляр объекта заданного объектного типа   и присваивает его значение переменной.

При создании объектного типа вызывается функция с именем, совпадающим с именем объектного типа. Эта функция в объектно-ориентированном программировании называется конструктором. Создавать новые объекты можно для встроенных объектных типов (в этом случае используется встроенный конструктор для данного объектного типа) или объектных типов, создаваемых пользователем (в этом случае программист должен сам определить функцию-конструктор).

Пример создание переменной встроенного объектного типа String:

var string1= new String("Строка 1");

Объекту может быть присвоено специальное  значение null. Объект, который еще не инициализирован, также имеет значение null.

Доступ к свойствам и методам объекта в JavaScript осуществляется, как и в других объектно-ориентированных языках, с помощью так называемой точечной нотации, имеющей следующий синтаксис:

имя-объекта.имя-свойства

имя-объекта.имя-метода(аргументы)

3.3. Объектный тип Math

В свойствах объектного типа Math хранятся основные математические константы, а его методы вычисляют основные математические функции. Для объектного типа Math функция-конструктор не задана, поэтому при обращении к свойствам и методам этого объекта создавать его не надо, но следует в качестве имени объекта указывать имя Math.

Свойства объектного типа Math приведены в табл. 9.2.

Таблица 9.2. Свойства объектного типа Math

Свойство

Значение

E

Значение константы Эйлера (2,718).

PI

Значение числа π (3,141592653589793).

LN2

Значение натурального логарифма 2 (0,693).

LN10

Значение натурального логарифма 10 (2,302).

LOG2E

Значение двоичного логарифма e (1,442).

LOG10E

Значение десятичного логарифма e (0,434).

SQRT1_2

Значение квадратного корня 0,5 (0,707).

SQRT2

Значение квадратного корня 2 (1,414).

Методы объектного типа Math включают процедуры вычисления тригонометрических, экспоненциальных, логарифмических и других математических функций. Эти методы представлены в табл. 9.3. (каждый из них возвращает значение соответствующей функции от заданного аргумента или аргументов):

Таблица 9.3. Методы объектного типа Math

Метод

Описание

abs(x)

Абсолютное значение аргумента |x|.

sin(x), cos(x), tan(x)

Стандартные тригонометрические функции sin(x), cos(x) и tg(x); аргумент задается в радианах.

acos(x), asin(x), atan(x)

Обратные тригонометрические функции arcsin(x), arccos(x) и arctg(x).

atan2(x,y)

Возвращает угол (в радианах) от оси X до точки с координатами (x, y).

exp(x)

Экспоненциальная функция ex.

log(x)

Натуральный логарифм ln(x).

ceil(x)

Наименьшее целое, большее или равное значению аргумента x.

floor(x)

Наибольшее целое, меньшее или равное значению аргумента x.

min(x1,x2,…, xn)

Наименьшее значение среди аргументов x1,x2,…xn.

max(x1,x2,…, xn)

Наибольшее значение среди аргументов x1,x2,…xn.

pow(x,y)

Показательная функция: xy.

round(x)

Округление аргумента x до ближайшего целого.

sqrt(x)

Квадратный корень аргумента x.

random()

Возвращает случайное число, равномерно распределенное между 0 и 1.

3.4. Объектный тип  Array

В JavaScript нет типа данных массив, но с помощью объекта Array можно создавать массивы в приложениях и манипулировать ими. Методы этого объекта позволяют сортировать, объединять, записывать в обратном порядке содержимое массивов и выполнять многие другие действия.

Массив – это упорядоченный   набор однородных данных, к элементам которого можно обращаться по имени и индексу. Массив создается с помощью ключевого слова new и конструктора массива – системной функции Array, инициализирующей элементы массива. Создать массив можно одной из следующих конструкций:

var имя-массива = new Array();

var имя-массива = new Array(элемент-0, элемент-1, . . ., элемент-n);

var имя-массива = new Array(длина-массива);

В первом случае переменная с именем имя-массива просто объявляется как массив. Элементы самого массива не заданы, и поэтому к ним нельзя обратиться, пока в сценарии им явно не будут присвоены значения. Во втором случае конструктору массива в качестве параметров передаются значения элементов массива, а в третьем случае задается длина массива. Если конструктору передается только одно нечисловое значение, то создается массив из одного элемента с заданным в аргументе значением.

Следует отметить, что  JavaScript, так же как в C, C++ и Java,  нумерация элементов массивов начинается с нуля.

Для получения значения элемента массива необходимо в квадратных скобках рядом с именем массива указать порядковый номер элемента. Элемент массива можно использовать в выражениях и в левой части оператора присваивания.

Массив обладает свойством length, хранящим текущее значение количества элементов в массиве и методами, которые перечислены в табл. 9.4.

Таблица 9.4. Методы объектного типа Array

Метод

Действие

concat(массив1,...)

Объединяет несколько массивов в один массив.

join(разделитель)

Соединяет все элементы массива в одну строку. Элементы в строке отделяются друг от друга символом-разделителем. Если разделитель не задан, элементы массива отделяются друг от друга запятыми.   

pop()

Удаляет последний элемент из массива и возвращает его. значение

push(элемент-1,...)

Добавляет один или несколько элементов в конец массива и возвращает последний добавленный элемент.

reverse()

Переставляет элементы массива в обратном порядке: первый элемент становится последним, а последний первым.

shift()

Удаляет первый элемент массива и возвращает его значение.

slice(индекс-1, индекс-2)

Создает сечение массива, начиная с индекс-1 и заканчивая (индекс-2) - 1, в виде нового массива

splice(индекс, n, 

элемент-1,...)

Изменяет и/или удаляет элементы из массива. Индекс указывает, с какого индекса начинается изменение элементов, n – количество изменяемых элементов, элемент-1,... – заменяемые элементы. Если элемент-1,...  опущены, то n элементов, начиная с индекса индекс, удаляются из массива.

sort(функция-сравнения)

Сортирует элементы массива в соответствии с правилами, заданными в функции-сравнения. Функция-сравнения должна возвращать отрицательное значение, если значение первого аргумента меньше чем второго; 0, если  значения аргументов равны; положительное значение, если значение первого аргумента больше чем второго. Если параметр опущен, сортировка производится в лексикографическом порядке.

unshift(элемент-1,...)

Добавляет один или более элементов в начало массива и возвращает новую длину массива.

Для задания массивов нескольких размерностей следует значениям элементов массивов присваивать массивы.

3.5. Объектный тип Global

Объектный тип Global содержит так называемые высокоуровневые свойства и методы. Это единственный встроенный тип JavaScript, не имеющий конструктора, поэтому нельзя создавать экземпляры объектов типа Global.  Свойства и методы Global доступны сразу же после начала работы интерпретатора (при обращении к ним не надо указывать имя объекта Global, а только наименование свойства или функции).

Для объектного типа Global определены свойства, приведенные в табл. 9.5.

Таблица 9.5. Свойства объектного типа Global

Свойство

Значение

infinity

Числовое значение, представляющее бесконечность.

NaN

Значение, представляющее не число.

Методы объекта Global приведены в табл. 9.6.

Таблица 9.6. Методы объектного типа Global

Метод

Действие

escape(строка)

Возвращает шестнадцатеричное значение кода аргумента по следующему алгоритму: если код символа 127, то если символ – буква или цифра, возвращается значение символа, иначе – код символа в виде %nn, где nn – шестнадцатеричный код символа; если код символа  > 127, то возвращается код символа в виде %unnnn, где nnnn  – шестнадцатеричный код символа в кодировке Unicode.

eval(строка) 

Вычисляет строку кода JavaScript.  

isFinite(число)

Определяет, является ли аргумент конечным числом.

isNaN(число) 

Определяет, является ли аргумент не-числом.

parseFloat(строка)  

Анализирует строку и возвращает число с плавающей точкой. Если начало строки – число, возвращается это число (символы после последней цифры игнорируются). Если строка начинается не со знака "+" или "-" и не с цифры – возвращается NaN.

parseInt(строка)  

Анализирует строку и возвращает целое число. Если начало строки – число, возвращается это число (символы после последней цифры игнорируются). Если строка начинается не со знака "+" или "-" и не с цифры – возвращается NaN.   

unescape(строка)  

Восстанавливает строку, закодированную с помощью метода escape().

3.6. Объектный тип Number

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

Для таких целей в JavaScript, как и в других объектно-ориентированных языках, создаются объектные типы – оболочки над простыми типами этих языков.

Объектной оболочкой над числовыми типами данных в JavaScript является объектный тип Number. Объект типа Number создается с помощью предложения new:

var имя-переменной = new Number(значение);

где имя-переменнной – имя переменной объектного типа Number, а значение – числовое значение, присваиваемое этой объектной переменной.  

Для объектного типа Number определены свойства, приведенные в табл. 9.7.

Таблица 9.7. Свойства объектного типа Number

Свойство

Значение

MAX_VALUE

Максимальное число (1,79E+308).

MIN_VALUE

Минимальное число (5,00E-324).

NaN

Специальное нечисловое значение (NaN).

NEGATIVE_INFINITY

Значение, меньшее MIN_VALUE, которое трактуется как отрицательная бесконечность.

POSITIVE_INFINITY

Значение, большее MAX_VALUE, которое трактуется как положительная бесконечность.

Если при создании объекта типа Number аргумент метода-конструктора нельзя преобразовать в числовую форму, создаваемому объекту присваивается значение NaN.

Собственных методов объектный тип Number не имеет.  

3.7. Объектный тип String

Когда переменной присваивается строковый литерал, она становится, как  указывалось выше, строковой переменной. На самом деле JavaScript не поддерживает строковых типов, а создает объект типа String. Таким образом, любая строковая переменная или строковый литерал является объектом String, к которому могут быть применены соответствующие методы этого объекта.

Используя ключевое слово new и конструктор String, можно явно создать строковый объект:

var имя-переменной = new String(значение);

Параметром конструктора является любая допустимая строка.

Объект String имеет единственное свойство length, хранящее длину строки, содержащейся  в строковом  объекте.  Индексирование символов в строке, так же, как и элементов в массиве, в JavaScript начинается с 0.

Методы операций над строкой объектного типа String представлены в табл. 9.8.

Таблица 9.8. Методы объектного типа String

Метод

Действие

charAt(индекс) 

Возвращает символ, с заданной в индексе позицией символа в строке.

charCodeAt(индекс)

Возвращает код символа, с заданной в индексе позицией символа в строке.

fromCharCode(код-1, код-2, ..., код-n)

Возвращает строку по заданным в параметрах код-1, код-2, ..., код-n кодам Unicode для символов строки.

indexOf(строка, индекс) 

Возвращает позицию первого вхождения строки в исходной строке. Если задан аргумент индекс, то поиск ведется с заданной позиции, иначе – с начала строки.

lastIndexOf(строка, индекс)

Возвращает позицию последнего вхождения строки в исходной строке. Если задан аргумент индекс, то поиск ведется с заданной позиции, иначе – с конца строки.

concat(строка1,...)

Конкатенация строк.

split(разделитель, предел)

Преобразует строковый объект в массив строк, разбивая строку на подстроки по разделителям. Количество разбиений может быть ограничено пределом (если он задан).

slice(индекс1, индекс2)

Возвращает подстроку, начиная с индекса1 и заканчивая позицией в строке, на единицу меньшей, чем индекс2. Если индекс2 опущен, выделение производится до конца строки. Если индекс1 и/или индекс2 являются отрицательными, значения индекс1 и индекс2 получаются вычитанием заданных значений из длины.  

substring(индекс1, индекс2) 

Действует аналогично методу slice().

substr(индекс, длина)

Возвращает подстроку, начиная с индекса заданной длины. Если длина не задана, возвращается подстрока, начиная с индекса до конца строки. Если длина нулевая или отрицательная, возвращается пустая строка.

toLowerCase()

Возвращает строку, все символы букв в которой переведены в нижний регистр.

toUpperCase()

Возвращает строку, все символы букв в которой переведены в верхний регистр.

3.8. Объектный тип Date 

Для представления дат в программе JavaScript используется объектный тип Date. Синтаксис предложений создания объекта типа Date следующий:

var имя-переменной = new Date();

var имя-переменной = new Date(числовая-дата);

var имя-переменной = new Date(год, месяц, число, час, минута, секунда, миллисекунда);

Первое предложение присваивает переменной значение текущей даты. Второе предложение присваивает переменной значение даты, заданное в параметре в виде числа миллисекунд, прошедших с 1 января 1970 года. Третье предложение присваивает переменной значение с заданными параметрами даты и времени. Значение года задается в полном виде (например, 2002), значение месяца задается в виде его номера (в диапазоне от 0 – январь, до 11 – декабрь), число – в виде целого числа в диапазоне от 1 до 31, час – в виде целого числа в диапазоне от 0 до 23, минута и секунда – в виде целых чисел в диапазоне от 0 до 59, миллисекунда – в виде целого числа в диапазоне от 0 до 999.  Параметры конструктора, начиная с параметра час, являются необязательными и их можно опустить.

Объектный тип Date не имеет собственных свойств, однако для него определено большое количество методов, основные из которых представлены в табл. 9.9.

Таблица 9.9. Методы объектного типа Date

Метод

Действие

getYear()

setYear(год)

Соответственно получает и задает значение года. Если значение года, получаемое в getYear(), лежит в диапазоне от 1900 до 1999, возвращаемое значение содержит две последние цифры года, иначе – полное значение года. Параметр год должен быть двузначным числом  в диапазоне от 0 до 99 и задает дату от 1900 до 1999 года.

getFullYear()

setFullYear(год, номер-месяца, 

число-месяца)

Соответственно получает и задает значение года. Получаемое и задаваемое значение является полным значением года. Номер месяца лежит в диапазоне от 0 (январь) до 11 (декабрь), а число месяца – в диапазоне от 1 до 31. Все параметры, кроме первого, являются необязательными.

getMonth()

setMonth(номер-месяца, 

число-месяца)

Соответственно получает и задает значение номера месяца. Номер месяца лежит в диапазоне от 0 (январь) до 11 (декабрь), а число месяца – в диапазоне от 1 до 31. Параметр число-месяца не является обязательным.

getDate()

setDate(число-месяца)

Соответственно получает и задает значение числа месяца. Получаемое и задаваемое значение лежат в диапазоне от 1 до 31.

getDay()

setDay(день-недели)

Соответственно получает и задает значение номера дня недели месяца. Получаемое и задаваемое значение лежат в диапазоне от 0 (воскресенье) до 6 (суббота).

getHours()

setHours(часы, минуты, секунды, миллисекунды)

Соответственно получает и задает значение времени дня.  Получаемое и задаваемое значение часа лежит в диапазоне от 0 до 23, минуты и секунды – в диапазоне от 0 до 59, миллисекунды – в диапазоне от 0 до 999. Все параметры, кроме  первого, являются необязательными.  

getMinutes()

setMinutes(минуты, секунды, миллисекунды)

Соответственно получает и задает значение времени дня, начиная с минут.  Получаемое и задаваемое значение минуты и секунды лежит  в диапазоне от 0 до 59, , миллисекунды – в диапазоне от 0 до 999. Все параметры, кроме  первого, являются необязательными.  

getSeconds()

setSeconds(секунды, миллисекунды)

Соответственно получает и задает значение времени дня, начиная с секунд.  Получаемое и задаваемое значение секунды лежит  в диапазоне от 0 до 59, , миллисекунды – в диапазоне от 0 до 999. Параметр миллисекунда, кроме  является необязательным.  

getMilliSeconds()

setMilliSeconds (миллисекунды)

Соответственно получает и задает значение миллисекунд.  Получаемое и задаваемое значение лежат в диапазоне от 0 до 999.

getTime()

setTime(миллисекунды)

Соответственно получает и задает значение миллисекунд, прошедших с 1 января 1970 года.   

getTimezoneOffset()

Возвращает разницу в минутах между временем текущей временной зоны и универсальным согласованным временем (UTCUniversal Coordinated Time) (бывшее время по Гринвичу).

4. Порядок выполнения работы

Создайте интерактивную Web-страницу с использованием языка JavaScript по одному из приведенных ниже вариантов.

Вариант 9-01

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

Вариант 9-02

Создайте Web-страницу, в которой с помощью метода prompt вводятся числа и запоминаются в массиве. После окончания ввода (при вводе пустой строки) из массива удаляются одинаковые элементы. Получившийся  массив выводится с помощью метода alert.

Вариант 9-03

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

Вариант 9-04

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

Вариант 9-05

Создайте Web-страницу, в которой с помощью метода prompt вводятся числа и запоминаются в массиве. Признаком окончания ввода массива является пустая строка. После этого вводятся нижняя и верхняя граница для значений элементов массива. Затем из массива удаляются элементы, значения которых меньше нижней границы или больше верхней границы. Получившийся  массив выводится с помощью метода alert.

Вариант 9-06

Создайте Web-страницу, в которой с помощью метода prompt вводятся числа и запоминаются в массиве. Признаком окончания ввода массива является пустая строка. Затем определяется, все ли элементы массива различны. Результат определения выводится с помощью метода alert (если среди элементов массива есть одинаковые элементы, выводятся их значения и индексы).

Вариант 9-07

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

Вариант 9-08

Создайте Web-страницу, в которой с помощью метода prompt вводятся числа и запоминаются в двух массивах. Признаком окончания ввода каждого массива является пустая строка. Затем строится массив, являющийся пересечением двух введенных массивов (в массиве-пересечении содержатся только те элементы, которые есть и в первом, и во втором массивах).  Получившийся  массив выводится с помощью метода alert.

Вариант 9-09

Создайте Web-страницу, в которой с помощью метода prompt вводятся числа и запоминаются в двух массивах. Признаком окончания ввода каждого массива является пустая строка. Сформируйте два массива, элементами которых являются те элементы исходных двух массивов, которые встречаются соответственно только  в первом или только во втором  массиве. Получившиеся  массивы выводятся с помощью метода alert.

Вариант 9-10

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

Вариант 9-11

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

Затем количество промежутков увеличивается в два раза и снова вычисляется интеграл. Процесс повторяется до тех пор, пока не будет получено значение интеграла с заданной точностью. Результат выводится с помощью метода alert. Указание: для вычисления значений введенной функции используйте метод eval() встроенного объекта Global.

Вариант 9-12

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

Вариант 9-13

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

Вариант 9-14

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

Вариант 9-15

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

Вариант 9-16

Создайте Web-страницу, определяющую частоту появления каждого из заданных символов во вводимых строках. Строка символов, частоту появления которых надо определить, задается с помощью метода prompt. Затем, также с помощью метода prompt, вводится последовательность строк (признаком окончания ввода считается пустая строка). Результаты (символ и частота его повторения) выводятся пользователю с помощью метода alert.

Вариант 9-17

Создайте Web-страницу, определяющую, встречается ли заданная последовательность символов (без учета регистра) во вводимых строках. Строка символов, которую надо определить, задается с помощью метода prompt. Затем, также с помощью метода prompt, вводится последовательность строк (признаком окончания ввода считается пустая строка). Количество строк, в которых встречается заданная последовательность символов, и сами строки выводятся пользователю с помощью метода alert.

Вариант 9-18

Создайте Web-страницу, в которой выводится день недели для заданной даты. Web-страница должна содержать заголовок «Определение дня недели по заданной дате». Ввод даты: числа, месяца (на русском языке) и года производится в форме. Вызов функции, определяющей день недели, производится при нажатии кнопки «Выдать день недели». Вывод пользователю введенной даты и дня недели выполняется с помощью метода alert.

Вариант 9-19

Создайте Web-страницу, определяющую, по введенным с помощью метода prompt  дню, месяцу и году рождения, количество лет, месяцев и дней, часов и минут, прожитых пользователем. Результаты выводятся пользователю с помощью метода alert.

Вариант 9-20

Создайте Web-страницу, в которой, для введенных границ интервала, определяются автоморфные числа в данном интервале. Натуральное число называется автоморфным, если оно содержится в качестве младших цифр в своем квадрате (например, число 25 является автоморфным, т.к. 252=625). Результаты (значение числа и его квадрат) выдаются с помощью метода alert.

Вариант 9-21

Создайте Web-страницу, в которой, по заданному с помощью метода prompt  году определяется название года по старояпонскому календарю. В старояпонском календаре принят 60-летний цикл, состоящий из пяти 12-летних подциклов. Подциклы обозначались названиями цвета: зеленый, красный, желтый, белый, черный. Внутри каждого подцикла года носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. Началом очередного цикла был 1984 год (год зеленой крысы). Результат выдается с помощью метода alert.

Вариант 9-22

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

Вариант 9-23

Создайте Web-страницу, в которой, по заданным значения дней в неделе, когда проводятся занятия, и номеру семестра выдается количество занятий и даты их проведения в семестре. Признаком окончания ввода дней недели является пустая строка. Начало осеннего семестра –  01.09, окончание – 31.12; начало весеннего семестра – 07.02, окончание – 31.05. Результаты выдаются с помощью метода alert.

Вариант 9-24

Создайте Web-страницу, в которой, для введенных с помощью метода prompt  границ интервала, определяются числа Армстронга в данном интервале. Натуральное число называется числом Армстронга, если оно совпадает с суммой k-ых степеней составляющих его цифр, где k – количество цифр в числе. Например, число 153 является числом Армстронга, т.к. 153=13+53+33. Результаты (значения чисел Армстронга)  выдаются с помощью метода alert.

Вариант 9-25

Создайте Web-страницу, в которой, по двум введенным с помощью метода prompt  значениям дня, месяца и года определяется и выдается с помощью метода alert количество лет, месяцев, дней, часов, минут и секунд  между двумя этими датами.

Вариант 9-26

Создайте Web-страницу, в которой с помощью метода prompt вводится последовательность чисел. Признаком окончания ввода последовательности чисел является пустая строка. Определите два самых больших числа последовательности. Результат выводится с помощью метода alert.

Вариант 9-27

Создайте Web-страницу, в которой с помощью метода prompt вводятся числа и запоминаются в массиве. После окончания ввода (при вводе пустой строки) определяются элементы массива, имеющие одинаковые значения и их индексы. Результат выводится с помощью метода alert.

Вариант 9-28

Создайте Web-страницу, в которой с помощью метода prompt вводятся две строки. После окончания ввода определяется максимальная последовательность символов, которая имеет одинаковое значение и в первой и второй строке. Результат выводится с помощью метода alert.

Вариант 9-29

Создайте Web-страницу, в которой с помощью метода prompt вводятся несколько строк строки (признаком окончания ввода строк является ввод пустой строки). После окончания ввода определяются те символы, которые есть во всех введенных строках. Результат выводится с помощью метода alert.

Вариант 9-30

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

5. Содержание отчета

В отчете должен быть представлен тексты файлов, содержащих созданные Web-страницы.

6. Вопросы для самоконтроля

Как создается новый объект в JavaScript?

Как в JavaScript выполняется обращение к свойствам и методам объекта, а также ссылка на текущий объект?

Как можно получить свойства объекта JavaScript?

Как определяется объектный тип выражения?

Какие группы математических констант и математических функций определены в JavaScript?

Как в JavaScript задается массив?

Каковы особенности нумерации массивов в JavaScript?

Какие возможности для операций с массивами предоставляют методы встроенного объектного типа Array?

Какие методы JavaScript можно использовать для преобразования строки в число?

Как объявляются и инициализируются объекты типа Number в JavaScript? Какие свойства определены для объектного типа Number?

Какими способами в JavaScript можно объявить строку и присвоить ей значение?

Как можно определить текущую длину строки в JavaScript?

Какие типы методов определены для объекта String, и чем они отличается друг от друга?

Какие операции над строками обеспечивают методы объекта String?

Какие методы выводят строки непосредственно в формате HTML?

Как в JavaScript определяется объект типа Date?

Какие операции над датой и временем в JavaScript обеспечивают методы объектного типа Date?


 

А также другие работы, которые могут Вас заинтересовать

4563. Государственный долг 143.56 KB
  Цель работы — изучить государственный долг в финансовой системе государства и определить его роль в бюджетном процессе, также осветить проблемы и пути совершенствования управления государственного долга в Республике Беларусь. В процессе работы ...
4564. Совершенствование мотивации труда как функции управления на примере ОАО Хлебная база № 52 Заринского района 469.5 KB
  Совершенствование мотивации труда как функции управления на примере ОАО Хлебная база № 52 Заринского района Введение Одним из основных условий высокой эффективности деятельности организации любой формы собственности является наличие сознательной тру...
4565. Определение интенсивности теплового излучения 43.23 KB
  Определение интенсивности теплового излучения Цель работы Измерение интенсивности теплового излучения, определение эффективности теплозащитных экранов. Теория метода К теплоотражающим относят экраны, изготовленные из материалов, хорошо отражающих те...
4566. Запутывающие преобразования в программировании 23.15 KB
  Запутывающие преобразования Цель работы: научится программировать средства затрудняющие изучение программ. Задание: Изучить основные методы обфускации. По заданию преподавателя запрограммировать один из методов. Провести оценку зап...
4567. Линейный конгруэнтный метод в программировании 97.5 KB
  Линейный конгруэнтный метод Линейный конгруэнтный метод является одной из простейших и наиболее употребительных в настоящее время процедур, имитирующих случайные числа. В этом методе используется операция mod(x, y), возвращающая остаток от деления п...
4568. Использование параллелизма процессора для повышения эффективности программ 35.5 KB
  Использование параллелизма процессора для повышения эффективности программ Цель работы: научить студента самостоятельно разрабатывать максимально эффективные программы. Материал для изучения. Рассмотрим задачу умножения двух n ...
4569. Модели и стандарты управления рисками проектов программных средств 603 KB
  Модели и стандарты управления рисками проектов программных средств. Основные модели управления рисками проектов программных средств Разработано несколько моделей и стандартов для анализа и сокращения рисков в жизненном цикле программных средств...
4570. Структурное тестирование программного обеспечения 173.5 KB
  Структурное тестирование программного обеспечения Основные понятия и принципы тестирования ПО Тестирование — процесс выполнения программы с целью обнаружения ошибок. Шаги процесса задаются тестами. Каждый тест определяет: свой набор исход...
4571. Разработка учебная Базы Данных (БД) MusicShop 696 KB
  Введение В настоящие время в связи с развитием компьютерной техники появилась возможность автоматизировать многие процессы. Современные магазины музыки предлагают большой выбор музыки, в связи с чем, возникает проблема поиска необходимой композиции,...