Практическое занятие № 10
Тема:
Выполнение расчетов с использованием JavaScript
Цель работы: на практике отработать принципы создания интерактивных WEB-страниц с элементами
расчетов
Ход работы
Задание 1. Работа с классом Math

Пользователь в поля для исходных данных вводит значения и с помощью нужной кнопки рассчитывает требуемое значение. Если функция рассчитывается на основании одного аргумента, то его нужно вводить в первое поле.
Кнопки для выдачи результатов обрабатывают значение в поле результата. Кнопка "Точность" выдает окно для ввода нужной точности и округляет результат с этой точностью.
Кнопка "СЕ" очищает все поля и ставит курсор в первое поле.
Указания: на страницу добавьте форму, на которой разместите таблицу размером 8Х4, шириной 50% и задайте выравнивание по центру. В таблице разместите надписи и визуальные компоненты. Для текстовых полей задайте начальные значения (щелкните на поле два раза и введите начальное значение). Кнопки создавайте с помощью компонента "Расширенная кнопка". Для каждой кнопки укажите ширину 70px.
Для каждой кнопки нужно написать функцию, вычисляющую определенные значения. Перейдите на закладку "Код", в разделе "Head" вставьте тег для написания скрипта:
<script
type="text/javascript">
</script>
При написании кода для обращения к элементам на форме будем использовать их имена.
В тег добавьте текст функций:

//функция для кнопки sin (синус)
function sinus()
{
a=+window.document.form1.T1.value;
window.document.form1.T3.value=Math.sin(a);
}
//функция для кнопки cos (косинус)
function cosinus()
{
a=+window.document.form1.T1.value;
window.document.form1.T3.value=Math.cos(a);
}
//функция для кнопки tg (тангенс)
function tangens()
{
a=+window.document.form1.T1.value;
window.document.form1.T3.value=Math.tan(a);
}
//функция для кнопки ctg (котангенс)
function cotangens()
{
a=+window.document.form1.T1.value;
if
(a>0)
window.document.form1.T3.value=1/Math.tan(a)
else
{
alert("Нельзя рассчитать котангенс из
нуля!");
window.document.form1.T1.focus();
window.document.form1.T1.select();
}
}
//функция для кнопки точность
function tochnost()
{
a=+window.prompt("Введите точность","2");
b=+window.document.form1.T3.value;
window.document.form1.T3.value=b.toFixed(a);
}
//функция для кнопки ceil (округлить вверх)
function okruglvverh()
{
a=+window.document.form1.T3.value;
window.document.form1.T3.value=Math.ceil(a);
}
//функция для кнопки floor (округлить вниз)
function okruglvniz()
{
a=+window.document.form1.T3.value;
window.document.form1.T3.value=Math.floor(a);
}
//функция для кнопки round (округлить)
function okrugl()
{
a=+window.document.form1.T3.value;
window.document.form1.T3.value=Math.round(a);
}
//функция для кнопки СЕ (стереть)
function steret()
{
window.document.form1.T1.value=0;
window.document.form1.T2.value=0;
window.document.form1.T3.value=0;
window.document.form1.T1.focus();
window.document.form1.T1.select();
}
Для присваивания функции кнопке перейдите на закладку "С разделением", выделите кнопку. В результате в верхней части выделится тег данной кнопки. Добавьте в него вызов функции для события onclick:
onclick="имя_функции()"
Задание 2. Конвертер валют
Cоздайте страницу для конвертирования курса
валют. На странице разместить форму вида:

Для кнопки написать функцию, которая выполняет перевод введенной суммы по курсу и отображает результат в отдельном поле.
Указания: на новую страницу с помощью команды Вставка - Форма нанесите новую форму. Удалите с формы созданные кнопки. На форму добавьте таблицу. Для этого выберите команду Таблица - Вставить - Таблица. Введите количество строк=7, столбцов=2, ширина=20%, выравнивание=по центру, ширина границы=0.
С помощью команды Вставка - Форма нанесите на форму два поля, восемь переключателей и кнопку.
Поля по умолчанию равны 0. Выполните двойной щелчок на каждом поле и введите для них 0 в поле "Начальное значение".
Переключатели в разных колонках должны работать как независимые группы. Для этого каждому переключателю отдельной группы нужно присвоить одинаковые имена. Щелкните на переключателе два раза и в поле Имя группы введите имя (для первой группы введите R1, для второй группы - R2). Первые переключатели в каждой группе должны быть по умолчанию включены. Щелкните два раза на каждом из них ив окне свойств укажите значение "Выбран".
Для изменения надписи на кнопке щелкните на ней два раза и введите текст надписи.
Сохраните созданную страницу в отдельную папку.
В разделе HEAD страницы добавьте код функции конвертирования величин:
Предположим, что курсы валют следующие:
1 доллар = 50 рублей;
1 евро = 60 рублей;
1 рубль = 1 рубль;
1 гривна = 2 рубля.
В теге <form> присвойте имя форме name=form1.


Перейдите на закладку С разделением. В нижней части выделите кнопку. В верхней части выделится тег описания кнопки. Добавьте в этот тег вызов созданной функции:
onclick="calc()"
Проверьте работу страницы в браузере.
Задание 3. Выполнение простых расчетов на форме

Пользователь может ввести сумму вклада, выбрать срок вклада, тип вклада и сумму планируемого ежемесячного пополнения (используется, если выбран тип вклада "с пополнением").
Минимальная сумма вклада 500 грн. Минимальная сумма пополнения 50 грн.
После щелчка на кнопке "Рассчитать" в окне сообщения выдается сумма, которую получит вкладчик в качестве процентов. Результат выдать с точностью до 2 знаков.
Для расчета используйте следующие исходные данные:
|
|
% с пополнением |
% без пополнения |
|
3 месяца |
10 |
11 |
|
6 месяцев |
12 |
13 |
|
9 месяцев |
14 |
15 |
|
12 месяцев |
16 |
17 |
Указания: на страницу добавьте форму.
Найдите тег создания формы и добавьте в него параметр, присваивающий форме имя:
<form . . . name="form1">
На форму добавьте таблицу размером 5х2, шириной 50% и выравниванием по центру. В таблицу добавьте надписи и визуальные компоненты. Для текстовых полей задайте начальные значения. Для этого щелкните два раза на поле и укажите начальное значение. Для выпадающих списков задайте перечень значений и укажите высоту в нужное число строк.
Сумма вклада должна быть не менее 500, а сумма пополнения не менее 50 грн. Напишем функцию, которая проверяет это условие. Перейдите на закладку "Код" и в разделе "Head" добавьте тег для скрипта:
<script
type="text/javascript">
</script>
Между тегами введите текст функции:

Для присваивания этой функции полю перейдите на закладку "С
разделением", выделите поле для ввода суммы вклада. В результате в верхней
части окна выделится тег, описывающий это поле. Добавьте в него вызов функции
для события onblur (потеря
фокуса), указывая в качестве имени текущего элемента стандартное имя this.
Для первого поля:
<input
type="text" name="T1" size="20"
value="500" onblur="validate(this,500)">
Для второго поля:
<input
type="text" name="T2" size="20"
value="100" onblur="validate(this,50)">
Для кнопки нужно написать функцию, которая на основании заданных параметров рассчитываем сумму процентов и выдает ее в окне сообщения с точностью до 2 знаков. Функция имеет вид:


Для присваивания функции кнопке перейдите на закладку "С разделением", выделите кнопку. В результате в верхней части выделится тег данной кнопки. Добавьте в него вызов функции для события onclick:
<input
type="button" value="Рассчитать"
name="B1" onclick="calc()">
Внесите изменения в код таким образом, чтобы обращение к элементам на форме осуществлялось по номерам компонентов, а не по их именам.
Указания: в исходный код скрипта внесите изменения, заменяя текст
имя_формы.имя_компонента
на текст
forms[0].components[i]
Обратите внимание на регистр символов в именах формы и компонентов.
После замены проверьте работу кода скрипта на странице.
Задание 4. Работа с полями как с массивом
Создайте страницу для выполнения расчетов над массивом полей. На странице разместите форму вида:

Указания: на новую страницу с помощью команды Вставка - Форма нанесите новую форму. Удалите с формы созданные кнопки. На форму добавьте таблицу. Для этого выберите команду Таблица - Вставить - Таблица. Введите количество строк=6, столбцов=3, ширина=410 точек, выравнивание=по центру, ширина границы=0.
С помощью команды Вставка - Форма нанесите на форму 15 полей для исходных данных и поле для результата. Для задания ширины поля щелкните на нем два раза и укажите ширину в 5 символов.
Добавьте 4 переключателя. Первый переключатель должен быть по умолчанию включен. Щелкните два раза на нем и в окне свойств укажите значение "Выбран".
Добавьте две кнопки. Для изменения параметров кнопки щелкните на ней два раза, введите текст надписи и укажите тип кнопки. Для первой задайте тип "Обычная", для второй - тип "Сброс".
Сохраните созданную страницу в отдельную папку.
Для обращения к элементам формы присвойте форме имя. Для этого в теге <form> укажите параметр name="form1".
В разделе head введите код функции для выполнения расчета:





Для присваивания первой кнопке созданной функции в тег кнопки добавьте параметр
onclick=calc(15) //вызов функции для 15 полей