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> <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 && li3.point1.Y() == 4 && li3.point2.Y() < 0 && (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> <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 [ 45.23 KiB | Viewed 6231 times ] Но такие задачи - это мелко, Хоботов! Гораздо информативнее работа с графиками. Но делать на каждую задачу фиксированный график(и) и вставлять картинки мне уже неинтересно, раз я знаю, что можно задавать рандомальные параметры. Я слышала от наших - они говорили с придыханием об одной ненашей тетеньке, у которой друг - программист, и он ей делает интерактивную графику. Ну вотъ. Брагодаря вам, я за прошедший вечер и пару часов сегодня уже умею практически не хуже, а местами и лучше. Вот - синий и зеленый вектор задаются рандомальными параметрами снаружи, а скрипт их отрисовывает и зает возможность перетащить красненький вектор, чтобы соединить их концы - разность векторов. И возвращает логическую переменную, правильный ли ответ. Attachment: Moodle2.png [ 11.25 KiB | Viewed 6219 times ] А вот тут - два вектора, у которых координаты можно менять слайдером. Оно еще и внизу отрисовывает длины векторов и их углы, каждый своим цветом. Attachment: 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. АВХ. Родительское окно само по себе заработало сразу, но без дочернего. Завожу дочернее - отрисовывает только сами окна, и еще оси - почему-то только в дочернем. И всё. Убираю дочернее - работает. Что я делаю не так? Ес-сно, если кто знает ответы без долгих размышлений. Ышшо раз спасибо! |
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 < 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: Товарищи программисты, снова прошу помощи зала. У тебя в цикле переменная "arguments". Там, где "arguments.length". Откуда эта "arguments" взялась, ты точно её хотела туда поставить, а не что-нибудь другое?За истекший период мои усения в джаве сильно продвинулись, но одну весчь я никак до конца не вкурю. Фукции в объектно-ориентированных языках как-то сильно отличаются от процедурно-ориентированных, а посему я до сих пор толком умею их плёхо-плёхо. Вот, например, туплю и никак не можу понять, как сделать, чтобы это работало, потому что все мои идеи оно отвергает. Дано. 1. Массив точек target_points=[] 2. Я хочу посчитать сумму его х-координат. Пишу функцию вроде как по образцу https://www.codingame.com/playgrounds/8 ... -functions function SumPointsX() { var i; var sum = 0; for (i = 0; i < arguments.length; i++) { //sum = sum + points[i].X(); sum += 1.; } return sum; } и вызываю var SumX = function SumPointsX(target_points); Ни хрена не работает, вообще нет графики, то есть какой-то фатальный еррор. Причем, как вы видите, я даже просто попыталась сосчитать сколько точек в массиве он видит (размерность) - не-а. Что я делаю не так? Зы. Вообще, это порочная практика - писать функции так, что вместо входных параметров они используют глобальные переменные. Функция по возможности должна быть независима от глобального состояния. "Чистая" функция при одних и тех же входных параметрах выдаёт один и тот же результат (в определение "чистой" функции входит ещё и отсутствие побочных эффектов, но это отдельная тема). |
Page 1 of 6 | All times are UTC - 8 hours [ DST ] |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |