<style type="text/css">
<!--настраиваем стили для отображения документа -->
<!--{font-family: helvetica}{font-size: 12pt}
.redText {color: red}
.blueText {color: blue}
->
</style>
<SCRIPT LANGUAGE="JavaScript">
// описание функций используемых программой
JsCalculator
//<!-- BeginMem = 0; // переменная для хранения значений в памяти между операциямиDigit1 = ""; // первый операндDigit2 = ""; // второй операндStatus = "blank"; // переменная - флаг состоянийCurrOper = ""; // переменная для хранения операцийout2Display(displaynumber) // функция выводящая на дисплей результат
{.calculator.answer.value = displaynumber;
}
clearMem() // функция очистки памяти
{= 0;.calculator.mem.value = "";
}
recallMem(answer) // функция вызова значения из памяти
{(Status != "blank") {+= answer;
}
{= answer;
}= "blank";Display(answer);
}
subtrMem(answer) // функция вычитания текущего значения из значения в памяти
{= Mem - eval(answer);
{ // или записи в память нового значения
Mem = Mem + eval(answer);.calculator.mem.value = " M ";
Status = "blank";
}
clearCalc() // функция сброса состояний - очищает все переменные
{= "";= "";= "blank";Display("");
}
Backspace(answer) // функция стирания последних набранных символов
{= answer.length;= answer.substring(0, answerlength - 1);(Digit2 != "")
{= answer.toString();Display(Digit2);
}
{= answer.toString();Display(Digit1);
}
}
ceCalc() // функция сброса последнего набранного числа
{= "";= "yes";Display("");
}
numControl(answer) // функция выполняющая вывод цифры на дисплей
{(answer == ".") {= document.calculator.answer.value;(Number.indexOf(".") != -1)
{= "";
}
}(Status == "yes")
{+= answer;Display(Digit2);
}
{(Status == "blank")
{= answer;= "";= "no";
}
{+= answer;
}Display(Digit1);
}
}operPlus(x) // функция выполняющая операцию сложения
{(x == 1) operEqual();(Digit2 != "")
{= parseFloat(Digit1) + parseFloat(Digit2);
}= "yes";= '+';Display(Digit1);
}operMinus(x) // функция выполняющая операцию вычитания
{(x == 1) operEqual();(Digit2 != "")
{= parseFloat(Digit1) - parseFloat(Digit2);
}= "yes";= '-';Display(Digit1);
}operMult(x) // функция выполняющая операцию умножение
{(x == 1) operEqual();(Digit2 != "")
{= parseFloat(Digit1) * parseFloat(Digit2);
}= "yes";= '*';Display(Digit1);
}operDiv(x) // функция выполняющая операцию деление
{(x == 1) operEqual();(Digit2 != "")
{= parseFloat(Digit1) / parseFloat(Digit2);
}= "yes";= '/';
out2Display(Digit1);
}operSqrt() // функция выполняющая операцию извлечения квадратного корня
{= Math.sqrt(Digit1);= "blank";
out2Display(Digit1);
}operPercent() // функция выполняющая операцию вычисления процента
{(Status != "blank")
{*= .01;= "blank";Display(Digit2);
}
}operRecip() // вычисление функции f(x) = 1/x
{= 1/Digit1;= "blank";Display(Digit1);
}operNegative() // функция изменяющая знак операнда
{= parseFloat(-Digit1);= "no";
out2Display(Digit1);
}operEqual() // функция клавиши = выполняющая вызов функций соответствующих операций
{(CurrOper == '+') operPlus(0);(CurrOper == '-') operMinus(0);(CurrOper == '*') operMult(0);(CurrOper == '/') operDiv(0);= "";= "";
}
// End -->
</script>
</head>
<body bgcolor="#EDEDED" text="#000000" link="#000000" topmargin="0" leftmargin="0">
<center>
<!-- создаем калькулятор в виде обычной формы html-страницы
которую
помещаем в таблицу для получения привычного вида -->
<form name="calculator">
<table bgcolor="#aaaaaa"> <!-- задаем цвет фона -->
<tr><td>
<table bgcolor="#cccccc" border=1>
<tr><td>
<table border=0 cellpadding=0>
<tr><td bgcolor="#000000"><center><b style="color:white">JsCalculator</b></center></td></tr>
<tr><td>
<table width="100%"
border=0>
<!-- создаем текстовое поле с именем answer которое будет выполнять
функции
LCD-дисплея, для большей схожести включаем для этого поля режим "только
для чтения", чтобы пользователь не мог ввести в это поле данные
минуя клавиатуру калькулятора -->
<tr><td colspan=6><input type="text" name="answer" size=40 maxlength=30 onChange="numControl(this.value)" readonly></td></tr>
<tr><td colspan=6>
<table border=0 cellpadding=0>
<tr><td>
<!--
создаем поле "только для чтения" в котором будет выводиться сообщение
"М" которое говорит о сохранении в промежуточной ячейке памяти
некоторого значения -->
<input type="text"
name="mem" size=3 maxlength=3 readonly>
<!-- создаем 3 клавиши:- для забоя введенных цифр,
СЕ - для очистки последнего введенного числа,
С - для полной очистки всех состояний
и назначаем им функции-обработчики запускаемые
по событию
onClick -->
<input type="button" name="backspace">
<input type="button" name="CE">
<input type="reset" name="C">
</td></tr>
</table>
</td></tr>
<!--
создаем клавишу МС - для очистки данных сохраненных в памяти и назначаем
функцию обработчик нажатия клавиши clearMem -->
<tr><td><input
type="button" name="MC">
<!--
создаем цифровые клавиши 7,8,9 с назначением функции-обработчика numControl
-->
<td><input type="button" name="calc7">
<td><input type="button" name="calc8">
<td><input
type="button" name="calc9">
<!-- создаем клавиши деления, вычисления квадратного корня
и
вызова содержимого из ячейки памяти с назначением функций-обработчиков -->
<td><input type="button" name="divide">
<td><input type="button" name="sqrt">
<tr><td><input
type="button" name="MR">
<!--
создаем цифровые клавиши 4,5,6 с назначением функции-обработчика numControl
-->
<td><input type="button" name="calc4">
<td><input type="button" name="calc5">
<td><input
type="button" name="calc6">
<!-- создаем клавиши умножения, вычисления процентов
и
вычитания содержимого из ячейки памяти с назначением функций-обработчиков
-->
<td><input type="button" name="multiply">
<td><input type="button" name="percent">
<tr><td><input
type="button" name="MS">
<!--
создаем цифровые клавиши 1,2,3 с назначением функции-обработчика numControl
-->
<td><input type="button" name="calc1">
<td><input type="button" name="calc2">
<td><input
type="button" name="calc3">
<!-- создаем клавиши вычитания, вычисления функции f(x) = 1/x
и
сложения содержимого с ячейкой памяти с назначением функций-обработчиков -->
<td><input type="button" name="minus">
<td><input type="button" name="recip">
<tr><td><input
type="button" name="Mplus">
<!--
создание цифровой клавиши 0 с назначением функции-обработчика numControl -->
<td><input
type="button" name="calc0">
<!--
создаем клавиши задания знака операнда, ввода точки разделяющей целую и дробную
части числа, сложения и равно с назначением функций-обработчиков -->
<td><input type="button" name="negate">
<td><input type="button" name="dot">
<td><input type="button" name="plus">
<td><input type="button" name="equal">
</tr>
</table>
</td></tr>
</table>
</td></tr>
</table>
</td></tr>
</table>
</form>
</body>
</html>
ПРИЛОЖЕНИЕ
Б
Рисунок
1. Блок-схема работы приложения
Список использованной литературы
1. Кастро Э. HTML и CSS для создания web-страниц. Издательство «НТ Пресс», 2006г. - 144 стр.