JOURFIXE
https://jou.rfixe.com/forum/

Need help! Ой как NEED HELP!
https://jou.rfixe.com/forum/viewtopic.php?f=12&t=7931
Page 1 of 6

Author:  Alona [ Sat Nov 10, 2018 1:08 pm ]
Post subject:  Need help! Ой как NEED HELP!

Гражданы программисты и примкнувшие!
Спаситя-помогитя-недайте помереть дурой!

Нарыла в одном месте код HTML - не спрашивайте, потом объясню, долгая история - и горит мне его адаптировать под свои тсзть нужды и задачи, но как я есть в HTML почти полная дура, то написать такое вообще хрен могу... ну, то исть никак. Понимать кое-что понимаю.

И вот первый мой глюпый вопрос по теме.
Я вон там выделила жырненьким несколько четверок в тексте. Это всё одна и та же четверка. И как я есть получила программистское воспитание в программировании процедурами, а вовсе ни разу не классами - имею я сильное желание: определить где-нить глобальную константу int типа навроде

public const int ArrowXInit = 4;

Ну и, значить, пользоваться ей в отмеченных местах.
Можно так сделать? И где именно ее определять?


<script type="text/javascript">
document.styleSheets[0].insertRule('.formulas_number { display: none !important; }', 0);
</script>

grab vector
<p></p><p>&nbsp;
<jsxgraph width="600" height="400" box="box1">var brd = JXG.JSXGraph.initBoard('box1', {boundingbox:[-21,16,21,-16], axis:true,showCopyright:false,
showNavigation:false});

brd.options.point.showInfobox=true;

brd.options.point.snapToGrid=true;
var p1 = brd.create('point', [-18,0],{size:1,color:'red',name:' B', fixed: true});
var p2 = brd.create('point', [-18,4],{size:1,color:'red',name:'A', fixed: true});
var p3 = brd.create('point', [-4,0],{style:5,color:'red',name:' F', fixed: true});
var p4 = brd.create('point', [4,0],{style:5,color:'red',name:'F', fixed: true});
var p5 = brd.create('point', [-15,-5],{size:1,color:'blue',name:' '});
var p6 = brd.create('point', [-2,-5],{size:1,color:'blue',name:' '});

var li0 = brd.create('arrow',[p1,p2], {straightFirst:false, straightLast:false, strokeWidth:4,color:'red' });

var li1 = brd.create('line',[[0,7],[0,-7]], {straightFirst:false, firstArrow:true, straightLast:false, lastArrow:true, strokeWidth:8, fixed: true, color:'gray'});
var li2 = brd.create('line',[[-18,4],[0,4]], {straightFirst:false, firstArrow:false, straightLast:false, lastArrow:true, strokeWidth:2});
var li3 = brd.create('line',[p5,p6], {straightFirst:false, straightLast:false, lastArrow:true, color:'blue', strokeWidth:2, visible:true});
var li4 = brd.create('line',[[0,4],p4], {straightFirst:false, straightLast:true, lastArrow:true, color:'gray', strokeWidth:2, visible:false});

brd.create('text', [1,10, function()
{if(((li3.point1.X() == 0 &amp;&amp; li3.point1.Y() == 4 &amp;&amp; li3.point2.Y() &lt; 0 &amp;&amp;
(li3.point2.Y() - 4)/li3.point2.X() == li4.getSlope()
)))
{document.getElementsByClassName('formulas_number')[0].value = {res};return 'well done';}
else
{document.getElementsByClassName('formulas_number')[0].value = 0; return ' ';}}]);

</jsxgraph></p>

Author:  Domnitch [ Sat Nov 10, 2018 2:07 pm ]
Post subject:  Re: Need help! Ой как NEED HELP!

Как ты есть получила воспитание, Алена, то должна заметить - это javascript

Которого я не знаю, но догадываюсь, что можно сделать как-то так:

Code:
<script type="text/javascript">
document.styleSheets[0].insertRule('.formulas_number { display: none !important; }', 0);
</script>

grab vector
<p></p><p>&nbsp;
<jsxgraph width="600" height="400" box="box1">var brd = JXG.JSXGraph.initBoard('box1', {boundingbox:[-21,16,21,-16], axis:true,showCopyright:false,
showNavigation:false});

brd.options.point.showInfobox=true;

brd.options.point.snapToGrid=true;

var four_alena = 4

var p1 = brd.create('point', [-18,0],{size:1,color:'red',name:' B', fixed: true});
var p2 = brd.create('point', [-18,four_alena],{size:1,color:'red',name:'A', fixed: true});
var p3 = brd.create('point', [-4,0],{style:5,color:'red',name:' F', fixed: true});
var p4 = brd.create('point', [4,0],{style:5,color:'red',name:'F', fixed: true});
var p5 = brd.create('point', [-15,-5],{size:1,color:'blue',name:' '});
var p6 = brd.create('point', [-2,-5],{size:1,color:'blue',name:' '});

var li0 = brd.create('arrow',[p1,p2], {straightFirst:false, straightLast:false, strokeWidth:4,color:'red' });

var li1 = brd.create('line',[[0,7],[0,-7]], {straightFirst:false, firstArrow:true, straightLast:false, lastArrow:true, strokeWidth:8, fixed: true, color:'gray'});
var li2 = brd.create('line',[[-18,four_alena],[0,four_alena]], {straightFirst:false, firstArrow:false, straightLast:false, lastArrow:true, strokeWidth:2});


Поскольку скриптовый язык упрощен по сравнению со стандартом, то

1. константу нельзя объявить как константу - используй var
2. явное указание типа тоже запрещено - опять-таки используй var

https://learn.javascript.ru/variables

Author:  Муад'Диб [ Sat Nov 10, 2018 6:51 pm ]
Post subject:  Re: Need help! Ой как NEED HELP!

С JSXGraph я не знаком, но примерно как Домнич описал должно получится. Если нет, то под первым тэгом <script>. Да и HTML это язык форматирования, а не программирования.

Author:  Alex [ Sat Nov 10, 2018 10:39 pm ]
Post subject:  Re: Need help! Ой как NEED HELP!

https://www.w3schools.com/js/js_const.asp
Константы (оччень хитрые) есть в стандарте 2015 года.

Author:  Domnitch [ Sat Nov 10, 2018 11:33 pm ]
Post subject:  Re: Need help! Ой как NEED HELP!

Alex wrote:
https://www.w3schools.com/js/js_const.asp
Константы (оччень хитрые) есть в стандарте 2015 года.

В тех редких случаях, когда надо творить web-приложения, я стараюсь держаться старых проверенных стандартов, чтобы работало на всех браузерах и платформах.
Да, посмотрел поутру на трезвую голову - я там точку с запятой забыл.

var four_alena = 4;

Author:  Alona [ Sun Nov 11, 2018 3:52 pm ]
Post subject:  Re: Need help! Ой как NEED HELP!

Domnitch wrote:
Alex wrote:
https://www.w3schools.com/js/js_const.asp
Константы (оччень хитрые) есть в стандарте 2015 года.

В тех редких случаях, когда надо творить web-приложения, я стараюсь держаться старых проверенных стандартов, чтобы работало на всех браузерах и платформах.
Да, посмотрел поутру на трезвую голову - я там точку с запятой забыл.

var four_alena = 4;
Муад'Диб wrote:
С JSXGraph я не знаком, но примерно как Домнич описал должно получится. Если нет, то под первым тэгом <script>. Да и HTML это язык форматирования, а не программирования.


СПАСИБО!!!!!!!
Я знала, что вы мне поможете!

Никогда на скрипте ничего не писала , за и на джаве, да и на С++, если честно, недалеко ушла от "Хелло, ворлд!", и то триста лет назад.

У нас на работе относительно новая система , мудель (Moodle) - кто-то из вас мог слышать, сейчас эта платформа всё активнее внедряется в системы обучения. Там есть сто сорок бочек арестантов: можно хранить любые учебные материалы, но меня, честно говоря, больше всего интересуют задачи.

Наша контора, года 4 использует эту бандуру (не свою, она все-израильская, и поддерживает ее институт Вайцмана). Простые "американские" тесты - это, конечно, совсем тупо, но в основном, дальше довольно примитивных простеньких расчетных задач никто не продвинулся.
Курс для девятых классов (это - пред-багрутный класс, там обязательной программы нет) - у нас весь заложен в .тую самую мудель. Примерно 12-13 тем, по каждой - презентация пауэр-пойнт (или две) и прочая, плюс домашнее задание в виде квиза - простых расчетных задач. В прошлом году мне было не до того - мне надо было слишком многое освоить разного. Так что я тупо брала готовые темы для своих девятых классов - когда было время и настроение, подшаманивала, или шла по готовому.

Но сейчас до меня дошло, что я хочу с этим делать - а хочу я много.
Задачи такого типа - это то, что у нас, в основном, умеют делать - пошли практически, как пирожки на конвейере. Фишка тут в том, что исходные данные каждые раз задаются рандомально, и тренироваться можно много раз. Кроме того, я так хитро строю последовательность задач, что они сами догоняют многие тонкости - и им это нравится!
Attachment:
Moodle1.png
Moodle1.png [ 45.23 KiB | Viewed 6231 times ]


Но такие задачи - это мелко, Хоботов!
Гораздо информативнее работа с графиками. Но делать на каждую задачу фиксированный график(и) и вставлять картинки мне уже неинтересно, раз я знаю, что можно задавать рандомальные параметры. Я слышала от наших - они говорили с придыханием об одной ненашей тетеньке, у которой друг - программист, и он ей делает интерактивную графику.

Ну вотъ. Брагодаря вам, я за прошедший вечер и пару часов сегодня уже умею практически не хуже, а местами и лучше.
Вот - синий и зеленый вектор задаются рандомальными параметрами снаружи, а скрипт их отрисовывает и зает возможность перетащить красненький вектор, чтобы соединить их концы - разность векторов. И возвращает логическую переменную, правильный ли ответ.
Attachment:
Moodle2.png
Moodle2.png [ 11.25 KiB | Viewed 6219 times ]


А вот тут - два вектора, у которых координаты можно менять слайдером. Оно еще и внизу отрисовывает длины векторов и их углы, каждый своим цветом.
Attachment:
Moodle3.png
Moodle3.png [ 13.08 KiB | Viewed 6207 times ]


Дико жалею, что всё, что у меня в голове уже сложилось - еще писать и писать. Сотни мелких задач. Но дети в восторге. Даже то, что есть - про перемены забывают, не оттащишь.

Ну и мои акции в нашем непростом коллективе (в смысле - все же вумные!), думаю, в ближайшее время очень сильно подрастут.

Еще раз всем огромное спасибо!

Author:  Alona [ Sun Nov 11, 2018 4:06 pm ]
Post subject:  Re: Need help! Ой как NEED HELP!

ЗЫ. Зная меня, вы, конечно, можете не сомневаться, что я спрошу еще и не раз - и очередной вопрос прямо ща. Даже два.

1. Кто-нить знает, может ли этот JSXGraph отрисовать параболу? И где это посмотреть, если да. (В мануалах я ничё не понимаю - мне нужен образец кода, там я по интуиции часто догоняю).

2. Второй вопрос.
Слайдер, которым я хвасталась, я содрала в инете - вот такой код.
Code:
var b1 = JXG.JSXGraph.initBoard('box1', {boundingbox: [-7.5, 7.5, 12.5, -7.5], axis: true});
b1.suspendUpdate();

var a = b1.create('slider',[[-5,-2],[5,-2],[-5,1,5]],{name:'a'});
var b = b1.create('slider',[[-5,-3],[5,-3],[-5,0,5]],{name:'b'});
var c = b1.create('slider',[[-5,-4],[5,-4],[-5,0,5]],{name:'c'});
var d = b1.create('slider',[[-5,-5],[5,-5],[-5,1,5]],{name:'d'});

var v = b1.create('point',[2,2],{size:3,name:'v'});
var w = b1.create('point',[-2,1],{size:3,name:'w'});
var va = b1.create('line',[[0,0],v],{straightFirst:false, straightLast:false, lastArrow:true});
var wa = b1.create('line',[[0,0],w],{straightFirst:false, straightLast:false, lastArrow:true});
b1.unsuspendUpdate();

  var b2 = JXG.JSXGraph.initBoard('box2', {boundingbox: [-7.5, 7.5, 12.5, -7.5], axis: true});
  b1.addChild(b2);
  b2.suspendUpdate();

  var v2 = b2.create('point',[
       function() {return a.Value()*v.X()+b.Value()*v.Y();},
       function() {return c.Value()*v.X()+d.Value()*v.Y();}],{face:'[]',size:2,name:"v'"});
  var w2 = b2.create('point',[
       function() {return a.Value()*w.X()+b.Value()*w.Y();},
       function() {return c.Value()*w.X()+d.Value()*w.Y();}],{face:'[]',size:2,name:"w'"});
  var va2 = b2.create('line',[[0,0],v2],{straightFirst:false, straightLast:false, lastArrow:true});
  var wa2 = b2.create('line',[[0,0],w2],{straightFirst:false, straightLast:false, lastArrow:true});
  var t = b2.create('text',[-6,-2,function(){ return '|'+(a.Value()).toFixed(2)+' '+(b.Value()).toFixed(2)+'|'+'<br>'+'|'+(c.Value()).toFixed(2)+' '+(d.Value()).toFixed(2)+'|';}]);
  b2.unsuspendUpdate();


Там, по идее, как я понимаю, должно открываться второе дочернее окно b2, которое реагирует на игру со сладерами в родительском окне b1.
АВХ. Родительское окно само по себе заработало сразу, но без дочернего. Завожу дочернее - отрисовывает только сами окна, и еще оси - почему-то только в дочернем. И всё. Убираю дочернее - работает.

Что я делаю не так? Ес-сно, если кто знает ответы без долгих размышлений.

Ышшо раз спасибо! :rose:

Author:  Alona [ Sun Nov 11, 2018 4:19 pm ]
Post subject:  Re: Need help! Ой как NEED HELP!

ЗЗЫ. Вопрос с параболой уже отпал, я нашла и научилась с полпинка. Ну, то исть, надо еще внести смысл в параметры - но это дело техники.

Но зато вопрос с дочерними окнами обострился. (держу кулачки, чтобы кто-то из вас это знал.

Author:  Alona [ Thu Oct 31, 2019 5:06 pm ]
Post subject:  Re: Need help! Ой как NEED HELP!

Товарищи программисты, снова прошу помощи зала.

За истекший период мои усения в джаве сильно продвинулись, но одну весчь я никак до конца не вкурю.

Фукции в объектно-ориентированных языках как-то сильно отличаются от процедурно-ориентированных, а посему я до сих пор толком умею их плёхо-плёхо.

Вот, например, туплю и никак не можу понять, как сделать, чтобы это работало, потому что все мои идеи оно отвергает.

Дано.
1. Массив точек
target_points=[]

2. Я хочу посчитать сумму его х-координат.

Пишу функцию вроде как по образцу
https://www.codingame.com/playgrounds/8 ... -functions

function SumPointsX() {
var i;
var sum = 0;

for (i = 0; i &lt; arguments.length; i++) {
//sum = sum + points[i].X();
sum += 1.;
}
return sum;
}

и вызываю
var SumX = function SumPointsX(target_points);

Ни хрена не работает, вообще нет графики, то есть какой-то фатальный еррор. Причем, как вы видите, я даже просто попыталась сосчитать сколько точек в массиве он видит (размерность) - не-а.

Что я делаю не так?

Author:  jourfixe [ Thu Oct 31, 2019 10:27 pm ]
Post subject:  Re: Need help! Ой как NEED HELP!

Alona wrote:
Товарищи программисты, снова прошу помощи зала.

За истекший период мои усения в джаве сильно продвинулись, но одну весчь я никак до конца не вкурю.

Фукции в объектно-ориентированных языках как-то сильно отличаются от процедурно-ориентированных, а посему я до сих пор толком умею их плёхо-плёхо.

Вот, например, туплю и никак не можу понять, как сделать, чтобы это работало, потому что все мои идеи оно отвергает.

Дано.
1. Массив точек
target_points=[]

2. Я хочу посчитать сумму его х-координат.

Пишу функцию вроде как по образцу
https://www.codingame.com/playgrounds/8 ... -functions

function SumPointsX() {
var i;
var sum = 0;

for (i = 0; i &lt; arguments.length; i++) {
//sum = sum + points[i].X();
sum += 1.;
}
return sum;
}

и вызываю
var SumX = function SumPointsX(target_points);

Ни хрена не работает, вообще нет графики, то есть какой-то фатальный еррор. Причем, как вы видите, я даже просто попыталась сосчитать сколько точек в массиве он видит (размерность) - не-а.

Что я делаю не так?
У тебя в цикле переменная "arguments". Там, где "arguments.length". Откуда эта "arguments" взялась, ты точно её хотела туда поставить, а не что-нибудь другое?

Зы. Вообще, это порочная практика - писать функции так, что вместо входных параметров они используют глобальные переменные. Функция по возможности должна быть независима от глобального состояния. "Чистая" функция при одних и тех же входных параметрах выдаёт один и тот же результат (в определение "чистой" функции входит ещё и отсутствие побочных эффектов, но это отдельная тема).

Page 1 of 6 All times are UTC - 8 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/