Нужно реализовать ввод чисел с помощью форм. Нельзя использовать ниодного document.write Ссылки делать через innerHTML getElementById
Код:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="TEXT/HTML; CHARSET=utf-8" >
<STYLE type="text/css">
td.ch
{
text-align:right;
}
td.l
{
border-top: 2px solid black;
}
pre
{
margin-right:8px;
margin-top:-5px;
margin-bottom:0px;
padding:0px;
}
</style>
<title> </title>
</HEAD>
<BODY>
<SCRIPT>
document.write('<head> <TITLE> JS практическая 5 </TITLE> <STYLE type="text/css"> td { text-align:left; } td.ch { text-align:right; } td.l { border-top: 2px solid black; } pre { margin-right:8px; } </STYLE> <p> Программа обучения школьников умножения в двоичной системе </p>');
var num1='',num2='',num3='',num11,num21,num31,s,b;
/*
num1,num2,num3 - переменные для вывода чисел в двоичной системе
num11,num21,num31 - переменные для посчета произведения в десятичной системе
*/
num1=prompt('Введите первое число в двоичной системе');
while ((num2%1===0)||(num1=='')||(isNaN(num1)==true)||(num1.indexOf('2')>=0)||(num1.length>16)||(num1===null)) {num1=prompt('Введите корректные данные'); }
num11=+num1;
num11=parseInt(num1,2);
num2=prompt('Введите второе число в двоичной системе');
while ((num2=='')||(isNaN(num2)==true)||(num2.indexOf('2')>=0)||(num2.length>16)||(num2===null))
{ num2=prompt('Введите корректные данные'); }
num21=+num2;
num21=parseInt(num2,2);
document.write('<table align="center">');
document.write('<tr> <td rowspan="2">*</td><td class="ch">'+num1+'</td> </tr>');
document.write('<tr> <td class="ch" style="border-bottom: 2px solid pink">'+num2+'</td> </tr>');
for (var i=num2.length-1; i>-1; i--)
{
num3=num1*num2[i];
if (!num3) {document.write('<tr><td></td> <td class="ch"> <pre style="margin-right:'+(num2.length-1-i)*8+'px"></pre> </td> </tr>') } else { document.write('<tr><td></td> <td class="ch"> <pre style="margin-right:'+(num2.length-1-i)*8+'px">'+num3+'</pre> </td> </tr>') };
}
num31=num11*num21;
num3=num31.toString(2);
document.write('<tr><td></td><td class="l">'+num3);
document.write('</table>');
document.write('<p> На данном этапе, мы проводим умножение чисел в двоичной системе. Умножение производится как обычное, т.е. мы умножаем первое число сначала на самую правую цифру второго числа и так по порядку до конца. При умножении чисел в двоичной системе 1 получается, только если оба числа =1. В остальных случаях будет 0. Если цифра второго числа=0 мы можем не умножать на нее, а просто пропуcтить влево при сносе результата еще один разряд. В итоге, нужно сложить соответственные элементы каждого числа. В результате сложения получим число в двоичном виде</p>');
</SCRIPT>
</BODY>