Инструкция пользователя:
Калькулятор предназначен для счета в 16-ти ричной системе счисления. Кнопки A, B, C, D, E, F предназначены для ввода чисел от 10 до 15 (в 16-ти ричной системе). Калькулятор выполняет основные арифметические функции: +,-,*,/. Работа с калькулятором аналогична работе с обыкновеннм калькулятором.Исходный текст калькулятора:
<SCRIPT language=JavaScript>
var count=0;
var action=0;
function addChr(input,character)
{
if (input.value==0) input.value="";
if (input.value==0) count=0;
if (count=="0") {input.value+="0x0"; count=1}
if (character=="X") {input.value="0x00"; count=0;character="";}
if ((character=="+" || character=="-" || character=="/" || character=="*" || character=="=")&& input.value==0 ) {character="";input.value="0x00";count=0;}
if (action=="1" && (character=="+" || character=="-" || character=="/" || character=="*")) character="";
if (character=="+" || character=="-" || character=="/" || character=="*" || character=="=" ) count=0;
if (count=="1" && (character=="+" || character=="-" || character=="/" || character=="*")) character="";
if (input.value==null || input.value=="0")
input.value=character
else input.value+=character
if (character=="+" || character=="-" || character=="/" || character=="*" ) action=1
else action=0;
if (character=="=") action=0;
};
function rezChr(input)
{
input.value=(input.value-1)
};
function compute(form)
{
var x=0;y=0;z=0;y1="";buff=0;buff1="";str="";str1="";c=0;
x=Math.round(eval(form.display.value));
res=x;
while (res>0)
{
z=res;
res=res>>4;
if (res>0) buff=res;
y=z-res*16;
if (y<10) y1=y;
if (y==10) y1="A"
if (y==11) y1="B"
if (y==12) y1="C"
if (y==13) y1="D"
if (y==14) y1="E"
if (y==15) y1="F"
if (res>0) {str=y1+str;c++;}
}
if (x<16) buff=x;
if (buff<10) buff1=buff;
if (buff==10) buff1="A"
if (buff==11) buff1="B"
if (buff==12) buff1="C"
if (buff==13) buff1="D"
if (buff==14) buff1="E"
if (buff==15) buff1="F"
str=buff1+str;
c++;
str="0x0"+str;
form.display.value="";
form.display.value=str;
count=1;
};
function about(form)
{
alert("Create by Andrew V.Volkogon")
form.display.value=0
};
</SCRIPT>
Блок-схема алгоритма: