Материал: Разработка приложения для выполнения математических операций и вычислений

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

<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 стр.