середу, 28 листопада 2018 р.

Проект ІКТ+ОАП

Зразок веб-сторінки


І з оператором if


Цикли і масиви


Код

Для векторного добутку

HTML

<body>
<h1>Елементи обчислювальної геометрії</h1>
<h2>Векторний добуток</h2>
<img src="pic1.png">
<div class="left">
<h4>Координати першого вектора</h4>
<p>ax:<input type="text"id="x1"></p>
<p>ay:<input type="text"id="y1"></p>
<p>az:<input type="text"id="z1"></p>
</div>
<div class="right">
<h4>Координати другого вектора</h4>
<p>bx:<input type="text"id="x2"></p>
<p>by:<input type="text"id="y2"></p>
<p>bz:<input type="text"id="z2"></p>
</div>
<footer>
<button onclick="dobut()">Обчислити</button>
<p id="out1">Векторний добуток:</p>
</footer>
<hr>
<script src="vec.js" ></script>
</body>

JS

function dobut(){
 var ax,ay,az,bx,by,bz,rezX,rezY,rezZ;
 ax=document.getElementById('x1').value;
 ax=parseInt(ax);
 ay=document.getElementById('y1').value;
 ay=parseInt(ay);
 az=document.getElementById('z1').value;
 az=parseInt(az);
 bx=document.getElementById('x2').value;
 bx=parseInt(bx);
 by=document.getElementById('y2').value;
 by=parseInt(by);
 bz=document.getElementById('z2').value;
 bz=parseInt(bz);
 rezX=ay*bz-az*by;
 rezY=az*bx-ax*bz;
 rezZ=ax*by-ay*bx;
 document.getElementById('out1').innerHTML+=" "+rezX+"; "+rezY+"; "+rezZ+";";
}

Для визначення положення точки

HTML

<h2>Взаємне розташування точки і прямої</h2>
<img src="pic2.png">
<div class="left">
<h4>Координати початку вектора</h4>
<p>P1x:<input type="text"id="x3"></p>
<p>P1y:<input type="text"id="y3"></p>
</div>
<div class="right">
<h4>Координати кінця вектора</h4>
<p>P2x:<input type="text"id="x4"></p>
<p>P2y:<input type="text"id="y4"></p>
</div>
<div>
<h4>Координати точки</h4>
<p>Mx:<input type="text"id="x"></p>
<p>My:<input type="text"id="y"></p>
</div>
<footer>
<button onclick="poloj()">З'ясувати</button>
<p id="out2">Точка знаходиться</p>
</footer>
<hr>

JS

function poloj(){
 var P1x,P1y,P2x,P2y,Mx,My,rez;
 P1x=document.getElementById('x3').value;
 P1x=parseInt(P1x);
 P1y=document.getElementById('y3').value;
 P1y=parseInt(P1y);
 P2x=document.getElementById('x4').value;
 P2x=parseInt(P2x);
 P2y=document.getElementById('y4').value;
 P2y=parseInt(P2y);
 Mx=document.getElementById('x').value;
 Mx=parseInt(Mx);
 My=document.getElementById('y').value;
 My=parseInt(My);
 rez=(P2x-P1x)*(My-P1y)-(P2y-P1y)*(Mx-P1x);
 if(rez>0){document.getElementById('out2').innerHTML+=" зліва від прямої"}
  else if (rez<0) {document.getElementById('out2').innerHTML+=" справа від прямої"}
  else {document.getElementById('out2').innerHTML+=" на прямій"}
 }

Для обчислення площі опуклого багатокутника

HTML

<h2>Визначення площі опуклого многокутника</h2>
<img src="pic3.png">
<div class="left">
<h4>Координата X вершини багатокутника</h4>
<input type="text"id="xx">
<button onclick="DX()">Push</button>
<button onclick="VX()">Pop</button>
<p id="out3"></p>
</div>
<div class="right">
<h4>Координата Y вершини багатокутника</h4>
<input type="text"id="yy">
<button onclick="DY()">Push</button>
<button onclick="VY()">Pop</button>
<p id="out4"></p>
</div>
<footer>
<button onclick="PL()">Обчислити площу</button>
<p id="out5"></p>
</footer>

JS

var X=[], Y=[];
function XOut(){
var vershinaX=document.getElementById('out3');
var str='';
for (var i=0; i<X.length; i++){
str += 'X[' + i +' ] =   ' + X[i]+'<br>';
}
vershinaX.innerHTML = str;
}
XOut();
function DX(){
var i1 = document.getElementById('xx').value;
X.push(i1);
XOut();
}
function VX(){
X.pop();
XOut();
}
function YOut(){
var vershinaY=document.getElementById('out4');
var str='';
for (var i=0; i<Y.length; i++){
str += 'Y[' + i +' ] =   '  + Y[i]+'<br>';
}
vershinaY.innerHTML = str;
}
function DY(){
var i2 = document.getElementById('yy').value;
Y.push(i2);
YOut();
}
function VY(){
Y.pop();
YOut();
}
function PL() {
var S,n;
S=0;
n=X.length;
X[n]=X[0];
Y[n]=Y[0];
for( var i=0; i<n; i++) {
S=S+(X[i]*Y[i+1]-X[i+1]*Y[i])
}
S=S/2;
document.getElementById('out5').innerHTML=S+' кв.од.';
}

Немає коментарів:

Дописати коментар