|
|
|
|
|
для: cheops
(25.04.2011 в 13:15)
| | ой, хорошо было бы попыстрее:) | |
|
|
|
|
|
|
|
для: даша
(25.04.2011 в 08:19)
| | Если будет время обязательно доделаю (уж больно задача объемная получается). | |
|
|
|
|
|
|
|
для: даша
(23.04.2011 в 06:33)
| | Извините, пожалуйста!)) а вы сможете сделать, а то оч срочно надо.... | |
|
|
|
|
|
|
|
для: cheops
(22.04.2011 в 17:53)
| | вместо знаков вопроса будут 1 или 0, и мы должны проверить правильно введено или нет, а формула генерируется случайным образом при нажатии кнопки, "&"-конъюнкция, "v"-дизъюнкция, "->"-импликация, "<->"-эквивалентность,"+"-сложение по модулю два, "-"-отрицание. | |
|
|
|
|
|
|
|
для: даша
(22.04.2011 в 17:03)
| | Все-равно не понятна логика выражения х1 <-> х2, для неё генерируется форма вида
0 0 = ?
0 1 = ?
1 0 = ?
1 1 = ?
| Что будет вместо знаков вопросов, т.е. аргументы должны совпадать или XOR должно вычислять? Просто заполните правильными ответами хотя таблицу для 2-х элементов (лучше, конечно, для 3-х). | |
|
|
|
|
 335.7 Кб |
|
|
для: cheops
(22.04.2011 в 16:01)
| | надеюсь я правильно выразила, что мне нужно:):):) | |
|
|
|
|
|
|
|
для: даша
(22.04.2011 в 15:42)
| | А формула какая? Вот допустим вводим 4, что нужно вводить в строке со следующими значениями, чтобы проверка прошла успешно?
PS Такой объемный код наверное уже лучше прикреплять в виде файла. | |
|
|
|
|
|
|
|
для: cheops
(19.04.2011 в 09:52)
| | Здравствуйте!)))) помогите мне пожалуйста еще разок)
мне вот нужно: допустим пользователь вводит число переменных ему выдается формула и таблица истинности, он должен по данной формуле заполнить ее, и нажав на кнопку "проверить", если неправильно ввел, то ячейка закрашивается в красный цвет, а правильно остается без изменения...
вот код.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<meta name="generator" content="PSPad editor, www.pspad.com">
<title></title>
</head>
<body>
<script type="text/javascript" language="javascript">
var res;
var res1;
var res2;
var res3;
var res4;
var operat;
var operat1;
var operat2;
var operat3;
res = new Array();
res[0] = "-x <sub>1</sub>";
res[1] = "x <sub>1</sub>";
res1 = new Array();
res1[0] = "-x <sub>2</sub>";
res1[1] = "x <sub>2</sub>";
res2 = new Array();
res2[0] = "-x <sub>3</sub>";
res2[1] = "x <sub>3</sub>";
res3 = new Array();
res3[0] = "-x <sub>4</sub>";
res3[1] = "x <sub>4</sub>";
res4 = new Array();
res4[0] = "-x <sub>5</sub>";
res4[1] = "x <sub>5</sub>";
opers = new Array();
opers[0] = "&";
opers[1] = "v";
opers[2] = "+";
opers[3] = "->";
opers[4] = "<->";
function formula()
{
var n = document.form1.peremen.value;
a=parseInt(Math.random()*2);
b=parseInt(Math.random()*2);
c=parseInt(Math.random()*2);
d=parseInt(Math.random()*2);
e=parseInt(Math.random()*2);
operat=parseInt(Math.random()*5);
operat1=parseInt(Math.random()*5);
operat2=parseInt(Math.random()*5);
operat3=parseInt(Math.random()*5);
if (n!=2 && n!=3 && n!=3 && n!=4 && n!=5)
{alert('Введите число от 2 до 5');
document.form1.peremen.value="";
}
else {
if (n==2)
{
document.getElementById("a").innerHTML = res[a];
document.getElementById("operat").innerHTML = opers[operat];
document.getElementById("b").innerHTML = res1[b];
document.getElementById("operat1").innerHTML ='';
document.getElementById("c").innerHTML = '';
document.getElementById("operat2").innerHTML = '';
document.getElementById("d").innerHTML ='';
document.getElementById("operat3").innerHTML ='';
document.getElementById("e").innerHTML = '';
}
if (n==3)
{
document.getElementById("a").innerHTML = res[a];
document.getElementById("operat").innerHTML = opers[operat];
document.getElementById("b").innerHTML = res1[b];
document.getElementById("operat1").innerHTML = opers[operat1];
document.getElementById("c").innerHTML = res2[c];
document.getElementById("operat2").innerHTML = '';
document.getElementById("d").innerHTML = '';
document.getElementById("operat3").innerHTML ='';
document.getElementById("e").innerHTML = '';
}
if (n==4)
{
document.getElementById("a").innerHTML = res[a];
document.getElementById("operat").innerHTML = opers[operat];
document.getElementById("b").innerHTML = res1[b];
document.getElementById("operat1").innerHTML = opers[operat1];
document.getElementById("c").innerHTML = res2[c];
document.getElementById("operat2").innerHTML = opers[operat2];
document.getElementById("d").innerHTML = res3[d];
document.getElementById("operat3").innerHTML = '';
document.getElementById("e").innerHTML = '';
}
if (n==5)
{
document.getElementById("a").innerHTML = res[a];
document.getElementById("operat").innerHTML = opers[operat];
document.getElementById("b").innerHTML = res1[b];
document.getElementById("operat1").innerHTML = opers[operat1];
document.getElementById("c").innerHTML = res2[c];
document.getElementById("operat2").innerHTML = opers[operat2];
document.getElementById("d").innerHTML = res3[d];
document.getElementById("operat3").innerHTML = opers[operat3];
document.getElementById("e").innerHTML = res4[e];
}
function operation(type,x,y)
{
switch(type){
case 0: return con(x,y);
case 1: return diz(x,y);
case 2: return imp(x,y);
case 3: return ekv(x,y);
case 4: return slg(x,y);
}
}
function con(x,y)
{
return x&&y;
}
function diz(x,y)
{
return x||y;
}
function imp(x,y)
{
if (x==1 && y==0)
return 0;
else
return 1;
}
function ekv(x,y)
{
return x===y;
}
function slg(x,y)
{
return x^y;
}
function perevod(dec)
{
var bin = "";
do
{
if (dec & 1) bin += '1';
else bin += '0';
dec = dec >> 1;
}
while(dec);
return bin;
}
var table = document.getElementById('tablicta');
while (table.childNodes.length >= 2)
{
oneChild = table.lastChild;
table.removeChild(oneChild)
}
var tr = document.createElement('TR');
table.appendChild(tr);
s = "";
for(i=1;i<=n;i++) {
th = document.createElement('TH');
txt1 = document.createTextNode("x");
sub = document.createElement('SUB');
txt2 = document.createTextNode(i);
tr.appendChild(th);
th.appendChild(txt1);
sub.appendChild(txt2);
th.appendChild(sub);
s = s + "x<sub>"+i+"</sub>,";
}
th = document.createElement('TH');
tr.appendChild(th);
th.innerHTML = "f("+s+")";
var numbin = 0;
for(j=0;j<Math.pow(2,n);j++)
{
var x = new Array();
var tr = document.createElement('TR');
table.appendChild(tr);
x = perevod(j);
for(i=1;i<=n;i++) {
td = document.createElement('TD');
numbin = parseInt(x[n-i]);
if(isNaN(numbin))
numbin = 0;
txt = document.createTextNode(numbin);
tr.appendChild(td);
td.appendChild(txt);
}
td = document.createElement('TD');
inp = document.createElement('INPUT');
inp.setAttribute ("name","a["+j+"]");
tr.appendChild(td);
td.appendChild(inp);
}}
}
function proverka(){
}
</script>
<form name="form1">
<p><b>Введите число переменных</b></p>
<input type="text" name="peremen" size=5>
<input type="button" value="Формула" onClick="formula()">
<table cellspacing="10">
<tr><td id="a"> </td>
<td id="operat"> </td>
<td id="b"> </td>
<td id="operat1"> </td>
<td id="c"> </td>
<td id="operat2"> </td>
<td id="d"> </td>
<td id="operat3"> </td>
<td id="e"> </td>
</tr>
</table>
<p><b>Для данной формулы постройте таблицу истинности </b></p>
<p><input type="button" value="Проверка" onClick="proverka()"></p>
<table cellspacing="10" border="1">
<tbody id="tablicta">
</tbody>
</table>
</form>
</body>
</html> | |
|
|
|
|
|
|
|
для: даша
(19.04.2011 в 08:27)
| | Помимо самой функции dec2bin(), нужно заменить строку
binnum = parseInt(bin[n - i]);
| на
binnum = parseInt(bin[i]);
|
| |
|
|
|
|
|
|
|
для: cheops
(18.04.2011 в 20:52)
| | спасибо))) а вот нужно мне как-то тогда связать с предыдущем кодом...??? | |
|
|
|
|