Калькулятор

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

Рис. 1.5. Калькулятор

HTML- код документа хранится в листинге 1.11.

Листинг 1.11. Калькулятор

<HTML>
<HEAD>
<TITLE>Калькулятор</TITLE>
<script>
<!--
var s=""
//функция вычисляет значение формулы
function val(obj)
{ s=obj.m1.value; obj.res.value=eval(s)}
//функция добавляет символ к формуле
function valbut (c)
{ s+=c; document.form1.m1.value=s}
//-->
</script>
</HEAD>
<BODY>
<CENTER>
<h4>Калькулятор</h4>
<table border=0 cellspacing="5" cellpadding="5">
<tr valign=top>
<td align="center">
<form name ="form1">
<textarea name="m1" cols=35 rows=4></textarea></td>
</tr>
<tr valign=middle>
<td>
<input type=button value=1 onclick="valbut('1')">
<input type=button value=1 onclick="valbut('1')">
<input type=button value=2 onclick="valbut('2')">
<input type=button value=3 onclick="valbut('3')">
<input type=button value=4 onclick="valbut('4')">
<input type=button value=5 onclick="valbut('5')">
<input type=button value=6 onclick="valbut('6')">
<input type=button value=7 onclick="valbut('7')">
<input type=button value=8 onclick="valbut('8')">
<input type=button value=9 onclick="valbut('9')">
<input type=button value=0 onclick="valbut('0')"><br>
<input type=button value=+ onclick="valbut('+')">
<input type=button value=- onclick="valbut('-')">
<input type=button value=* onclick="valbut('*')">
<input type=button value=/ onclick="valbut('/')">
<input type=button value=( onclick="valbut('(')">
<input type=button value=) onclick="valbut(')')"><br>
<input type=button value=Вычислить onclick="val(form1)"><br>
Значение: <input type=text name="res">
<input type=reset value=Отменить onclick="s=''">
</FORM></td></tr></BODY></HTML>

Обработка последовательностей