Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: 1 2 3 [Все]   Вниз
  Печать  
Автор Тема: Генерация математических заданий  (Прочитано 41519 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Вика_c
Гость
« : 19-03-2010 07:42 » 

Помогите, пожалуйста,  Скромно так... написать код генерации математического задания:

* Безымянный.bmp (42.87 Кб - загружено 772 раз.)
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 19-03-2010 10:50 » 

а где трудность?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #2 : 19-03-2010 11:01 » 

(6*a*a+5*a-1+(a+4)/(a+1))/(3*a-2+3*(a+1))
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 19-03-2010 11:07 » 

Ну кто так в квадрат возводит?
а на 6 умножает?
надо так

(a*a+a*a+a*a+a*a+a*a+a*a+a+a+a+a-1+(a+4)/(a+1))/(a+a+a-2+(a+1)+(a+1)+(a+1))
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #4 : 19-03-2010 11:16 » 

Sla, это уже в порядке бреда или как? Чем плох вариант baldr ? Ну если не считать 3*(a+1) (там деление должно быть)
« Последнее редактирование: 19-03-2010 11:22 от resource » Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 19-03-2010 11:28 » 

resource, а как такой вопрос можно назвать?
Вот смогла же вставить картинку в сообщение, а математическое выражение записать в практически ВСЕМ известной интерпретации не может...
Понимать  только как тролинг или спам.
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #6 : 19-03-2010 11:29 » 

Вопросов больше не имею  Улыбаюсь
Записан
PooH
Глобальный модератор

ru
Offline Offline
Пол: Мужской
... и можно без хлеба!


« Ответ #7 : 19-03-2010 11:39 » 

Нет, господа вы не правильно поняли Ага на входе дана картинка ... =)))
Записан

Удачного всем кодинга! -=x[PooH]x=-
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #8 : 19-03-2010 11:47 » 

а может нужно математическую формулу в картинку превратить?
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #9 : 19-03-2010 11:49 » 

а может проинтегрировать нужно сперва?
Записан
Вика_c
Гость
« Ответ #10 : 20-03-2010 15:33 » 

...нужно написать код генерации этого примера на делфи, а я не очень понимаю как это сделать((
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #11 : 20-03-2010 16:41 » 

Вика_c, что значит "генерация примера"?
телепат мод он
Это значит, что надо сгенерировать некоторую задачу и решение для неё? Чтобы вывести задачу на экран и проверить решение, вводимое пользователем? С "красивостями", как на картинке, или без? Или что-то ещё?
телепат мод офф

Пока задача неясна.
Записан
baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #12 : 22-03-2010 06:56 » 

Вика_c, или надо посчитать значение функции от заданного пользователем параметра?
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #13 : 22-03-2010 08:21 » 

может, надо по

(6*a*a+5*a-1+(a+4)/(a+1))/(3*a-2+3/(a+1))

нарисовать на экране это



? Улыбаюсь
Записан

baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #14 : 22-03-2010 08:24 » 

Ага, а вводит строку пользователь.. Жесть.. Уже на диплом тянет.. После диплома сразу в MathCad на работу...
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #15 : 22-03-2010 08:35 » 

Алексей1153++, baldr, ну это проще чем, если пользователь подсовывает картинку, а в ответ что-то типа
Цитата
(6*a*a+5*a-1+(a+4)/(a+1))/(3*a-2+3/(a+1))

 Улыбаюсь
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #16 : 22-03-2010 08:38 » 

Алексей1153++, baldr, ну это проще чем, если пользователь подсовывает картинку, а в ответ что-то типа
Цитата
(6*a*a+5*a-1+(a+4)/(a+1))/(3*a-2+3/(a+1))

 Улыбаюсь

воистину )))


А принципиально, сделать картинку из примера - не сложно
Записан

baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #17 : 22-03-2010 09:56 » 

примерно так:

* zprimer.jpg (16.94 Кб - загружено 1473 раз.)
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


WWW
« Ответ #18 : 22-03-2010 11:35 » 

baldr, а где двухэтажные дроби ? ))
Записан

baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #19 : 22-03-2010 11:43 » 

Э, вы решили что я конвертор что ли сделал?? Оно мне надо просто так время тратить? Это чиста форма на VBA с картинкой Улыбаюсь
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #20 : 22-03-2010 13:05 » 

Однако, пока мы тут насилуем хрустальный шар, ТС молчит. Видимо не нужно...
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #21 : 22-03-2010 14:52 » 

Помогите, пожалуйста Скромно так..., используя Delphi и MathML, сгенерировать задание (6*a*a+5*a-1+(a+4)/(a+1))/(3*a-2+3/(a+1)), т. е.
этот пример как образец, по которому должно быть получено n-ое количество примеров, т.е. написать код программки, которая бы выдавала много вариантов этого задания.   Нужно было упростить и получилось: 2а+3, а потом: числитель дроби-делимого, полученной после упрощения в первых скобках, есть произведение ответа и числителя дроби-делителя, полученной после преобразований во вторых скобках. Т.е. сам ответ, знаменатель дробей и числитель дроби-делителя могут быть сгенерированы произвольно, а на их основе строится дробь-делимое. Кроме того, для приведения выражения к виду, заданному в образце, необходимо и в первой, и во второй скобке числитель частично разделить на знаменатель.
         :shuffle:Задание понимаю, а как сделать не знаю...
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #22 : 22-03-2010 15:19 » 

Прочитал 3 раза. Вообще ничего не понял
Записан
Sla
Команда клуба

ua
Offline Offline
Пол: Мужской

WWW
« Ответ #23 : 22-03-2010 15:21 » 

взрыв мозга

зы прочитал 2 раза
Записан

Мы все учились понемногу... Чему-нибудь и как-нибудь.
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #24 : 22-03-2010 15:23 » 

ну вы конец не читайте, я его тоже не поняла(
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #25 : 22-03-2010 15:25 » 

Цитата
числитель частично разделить на знаменатель.

сурово.
Записан

Vika_c
Интересующийся

ru
Offline Offline

« Ответ #26 : 22-03-2010 15:28 » 

Ну вот эта статья дана как вспомогательная: http://comp-science.narod.ru/matem/matem.html
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #27 : 22-03-2010 15:31 » 

Ну вот эта статья дана как вспомогательная: http://comp-science.narod.ru/matem/matem.html
спасибо, ознакомлюсь на досуге (вру конечно).

Vika_c я конечно извиняюсь, но читать это еще раз....
Как-то изначально даже проще было, пока задание не сформулировала.

зы мне кажется, или вначале топика у вас был ник по-русски написан
« Последнее редактирование: 22-03-2010 16:25 от resource » Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #28 : 22-03-2010 15:34 » 

Цитата
числитель частично разделить на знаменатель.

сурово.

 Жжешь

Никогда не видел, чтоб математическое задание можно было так точно описать одним словом. Но вот оказывается можно
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #29 : 22-03-2010 15:38 » 

Vika_c, вопрос. в какой нотации вы хотите получить результат? в паскалевской, как вам писали выше, или результат должен быть распечатан на бумаге в том виде, как у вас на картнике?
Записан

Vika_c
Интересующийся

ru
Offline Offline

« Ответ #30 : 22-03-2010 15:41 » 

ээ, в нотации делфи, ввиде программы...
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #31 : 22-03-2010 15:46 » 

Становится всё интереснее
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #32 : 22-03-2010 15:47 » 

Vika_c, нет, вы не поняли. допустим, программа вам сгенерит некое выражение. с "числителем, частично поделенным на знаменатель". допустим. что это программа должна выдать на экран (или на печать): выражение, типа "6 * Sqr (a) + (...) / (...)" и т.д., или в том виде, как у вас на картинке в первом посте?
Записан

baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #33 : 22-03-2010 15:49 » 

Я что-то немного понял.. То есть, вводится, например, ответ: "2a+45", а программа генерирует из него большие и сложные дроби, чтоб потом дать их студентам в 20 разных вариантах, но с одним ответом Улыбаюсь
Мда.
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #34 : 22-03-2010 15:50 » 

нет, картинка это просто, чтоб задание не набирать самой, а так  вывод на экран...
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #35 : 22-03-2010 15:51 » 

baldr, ну да, только надо не упрощенный вариант генерировать, а начальное задание..
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #36 : 22-03-2010 15:52 » 

baldr, ну да. Улыбаюсь в статье речь идёт о дидактических материалах. и я сильно подозреваю, что студентам паскалевская запись выражения не нужна сто лет. следовательно, нужно не просто сгенерить выражение, а сгенерить его в некоем формате, на который можно будет натравить MathCad или тот же LaTex, чтобы преобразовать в математическую нотацию.

отсюда и вопрос - в каком виде должен генериться результат?
Записан

Vika_c
Интересующийся

ru
Offline Offline

« Ответ #37 : 22-03-2010 15:55 » 

у меня с этим проблемы, потому что я не до конца поняла как это присоединить к браузеру, который бы высвечивал разные варианты...
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #38 : 22-03-2010 15:56 » 

Цитата: x77
отсюда и вопрос - в каком виде должен генериться результат?

Цитата: Vika_c
ээ, в нотации делфи, ввиде программы...

И еще вот судя по всему браузер надо сделать. Но это уже так, мелочи
Записан
baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #39 : 22-03-2010 15:56 » 

Vika_c, я переведу - программа должна выводить картинку или какой-то файл?
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #40 : 22-03-2010 15:58 » 

у меня с этим проблемы, потому что я не до конца поняла как это присоединить к браузеру, который бы высвечивал разные варианты...
Object Browser имеется в виду или еще какой-то?
Вам нужно написать программу, а варианты будут выбираться, видимо, на форме, пользователем?
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #41 : 22-03-2010 16:00 » 

... я не знаю, в браузере выводится сообщение, не картинка, написанное на MathML....
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #42 : 22-03-2010 16:02 » 

baldr, об ObjectBrowser'е можно конечно говорить как о браузере
Цитата: Vika_c
который бы высвечивал разные варианты...

но это как-то.....интересно
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #43 : 22-03-2010 16:02 » 

Vika_c, т.е. программа должна сгенерить задания в виде XML, а просматривается этот XML обозревателем через какой-нибудь MathPlayer?
Записан

Vika_c
Интересующийся

ru
Offline Offline

« Ответ #44 : 22-03-2010 16:03 » 

baldr, нет, имеется ввиду любой браузер, ну опера или IE или мозила, и должно показаться просто заданное количество вариантов, как текст, их не надо будет выбирать..
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #45 : 22-03-2010 16:03 » 

Vika_c, я извиняюсь, конечно, но вы знаете что такое MathML? и в чём его просматривать?
Записан

Vika_c
Интересующийся

ru
Offline Offline

« Ответ #46 : 22-03-2010 16:08 » 

не совсем, MathML - это язык математической разметки, а вот как его просматривать не знаю
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #47 : 22-03-2010 16:14 » 

x77, ну вообще в wiki написано, что мозила и опера поддерживают его без каких либо плагинов
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #48 : 22-03-2010 16:15 » 

<mrow><msup><mn>2</mn><mi>-x</mi></msup>
<mo>-</mo><mo class="MathClass-op">cos</mo><mi>x</mi><mo>+</mo><mo class="MathClass-op">sin</mo><mfenced><mrow><mn>2</mn><mi>x</mi><mi>y</mi></mrow></mfenced>, ну  например код этой формулы высвечивается в опере...  вроде бы без дополнительных установок...
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #49 : 22-03-2010 16:16 » 

Vika_c, совершенно верно, этот язык математической разметки представляет собой XML определённого формата. для его просмотра существуют как специальные программы, так и плагины для большинства браузеров.

теперь сформулируем, наконец, вашу задачу: вам надо написать программу, которая по неким условиям генерирует выражения в нотации MathML. просмотр этих выражений в браузере - не ваша забота, большинство браузеров имеет для этого свои плагины. как правило - бесплатные.

генерировать выражения имеет смысл сразу в виде XML. и это не так уж сложно. надо просто двигаться от общего. сначала генерируете два нода для числителя / знаменателя всей дроби. в каждом из этих нодов генерируете ряды. в каждом ряде генерируете свои ноды с операциями. и т.д.

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

x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #50 : 22-03-2010 16:17 » 

x77, ну вообще в wiki написано, что мозила и опера поддерживают его без каких либо плагинов


охотно верю, я с этой штукой почти не сталкивался.
Записан

Vika_c
Интересующийся

ru
Offline Offline

« Ответ #51 : 22-03-2010 16:20 » 

Не понял я не очень поняла, что Вы написали(((... и как это сделать..
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #52 : 22-03-2010 16:21 » 

если бы мне надо было такое сделать, то я бы серьезно озадачился не генерацией xml, а "числителем, частично поделенным на знаменатель", всмысле генерацией именно самого выражения
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #53 : 22-03-2010 16:22 » 

я могу написать как упростила, если это поможет...
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #54 : 22-03-2010 16:24 » 

Vika_c, так это вам должно помочь
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #55 : 22-03-2010 16:24 » 

Vika_c,
Не понял я не очень поняла, что Вы написали(((... и как это сделать..


тогда у меня к вам второй вопрос. а вы дельфи знаете? с XML работать приходилось?
Записан

Vika_c
Интересующийся

ru
Offline Offline

« Ответ #56 : 22-03-2010 16:27 » 

x77,  делфи когда то знала, а вот xml только начинаем изучать
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #57 : 22-03-2010 16:27 » 

если бы мне надо было такое сделать, то я бы серьезно озадачился не генерацией xml, а "числителем, частично поделенным на знаменатель", всмысле генерацией именно самого выражения
в MathML оно очень просто генерится. нодам верхнего уровня соответствует последняя операция, т.е. для картинки Вики верхними нодами будет деление двух чисел, т.е. два нода mfrac, по-моему. далее в каждом ноде задаётся выражение, участвующее в делении опять таки по принципу последней операции.

вложенность нодов ограничена только твоим воображением, по-сути, ты можешь сгенерить выражение любой сложности. элементарно. надо просто параметры задать.
Записан

resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #58 : 22-03-2010 16:31 » 

x77, а я так понял, что надо сделать сперва что-то типа

вводится, например, ответ: "2a+45", а программа генерирует из него большие и сложные дроби, чтоб потом дать их студентам в 20 разных вариантах, но с одним ответом Улыбаюсь
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #59 : 22-03-2010 16:37 » 

resource, а я так понял, что это надо baldr-у, а не ТС Улыбаюсь
Записан

soffi
Гость
« Ответ #60 : 22-03-2010 16:37 » 

Под генерацией имеется ввиду что на форме в Делфи вводится лишь нужное число примеров. А программа генерирует нужное количество примеров подобных тому что на картинке. И ответы конечно же у всех этих примеров должны быть подобны. Вот и все.
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #61 : 22-03-2010 16:39 » 

значит берём форму, кладём на неё Edit, кнопку "Сгенерить", кнопку "Сохранить", компонент TXMLDocument, и пишем код. при желании просматривать всё в самой форме - добавляем туда TWebBrowser.
Записан

soffi
Гость
« Ответ #62 : 22-03-2010 16:43 » 

Проблема то в том что девушка и просит помочь с кодом
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #63 : 22-03-2010 16:48 » 

soffi, первый раз слышу. девушка сказала, что "не представляет, как это сделать". в ходе бурной дисскуссии мы выяснили, во-первых, что именно надо сделать, и во-вторых - как, самое простое - через TXMLDocument.

если у девушки есть конкретные вопросы: как создать корень xml-документа, как добавить в него узел, как задать значение узла - так пусть задаёт. для того форум и существует.
Записан

resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #64 : 22-03-2010 16:53 » 

Сначала была Вика_c, потом Vika_c, а потом soffi. Маскарад какой-то
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #65 : 22-03-2010 16:54 » 

т.е. написать код программки, которая бы выдавала много вариантов этого задания.

(
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #66 : 22-03-2010 16:55 » 

resource,  у меня возникли проблемы с рус ником, пришлось перезарегистрироваться....
Записан
soffi
Гость
« Ответ #67 : 22-03-2010 16:56 » 

т.е. написать код программки, которая бы выдавала много вариантов этого задания.

(

Это не маскарад я вообще-то другой человек
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #68 : 22-03-2010 16:58 » 

у меня проблемы с кодом, я не знаю как его написать для задания, которое мы обсудили....
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #69 : 22-03-2010 16:59 » 

Vika_c, так это надо сначала дэлфи(паскаль) учить
Записан
soffi
Гость
« Ответ #70 : 22-03-2010 17:01 » 

Что вы все прикалываетесь да шутите Девушка помощи просит
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #71 : 22-03-2010 17:03 » 

soffi, во-первых если она хочет чтобы всё от начала и до конца написали за нее, то такой помощи она не дождется 100%.
А во-вторых чтож ты не поможешь то, другой человек?
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #72 : 22-03-2010 17:04 » 

resource,  в статье, которую я давала, код в принципе написан, но с помощью Латех, а как его нормальным сделать на делфи, с этим проблемы...
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #73 : 22-03-2010 17:05 » 

soffi,  Спасибо за поддержку!
Записан
soffi
Гость
« Ответ #74 : 22-03-2010 17:06 » 

Ну я хотя бы помогла разобрать что девушке надо в отличие от вас
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #75 : 22-03-2010 17:07 » 

мне не нужно весь код писать, а хоть примерно объяснить как это делается....
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #76 : 22-03-2010 17:07 » 

Ну я хотя бы помогла разобрать что девушке надо в отличие от вас
Странно, мне так показалось, что давно уже разобрались, силами x77,
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #77 : 22-03-2010 17:09 » 

Да, спасибо ему(х77), но поскольку я только учусь, мне еще сложно это все понимать(...
Записан
resource
Молодой специалист

ru
Offline Offline
Пол: Мужской

« Ответ #78 : 22-03-2010 17:13 » 

Цитата: Vika_c
Да, спасибо ему(х77), но поскольку я только учусь, мне еще сложно это все понимать(...
Vika_c, я хочу сказать, что никто тут и не прикалывается. Но надо понимать, что фраза
Цитата: Vika_c
мне не нужно весь код писать, а хоть примерно объяснить как это делается....
довольно неодназначна. А если честно, то просто не о чем.

Задание ваше, не их тех, что делаются за 5 минут. И что вы подразумеваете под фразой "хоть примерно объяснить как это делается", это еще одна загадка
Записан
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #79 : 22-03-2010 17:15 » 

блин, все ясно, спасибо.....   за помощь.....
Записан
x77
Модератор

ro
Offline Offline
Пол: Мужской
меняю стакан шмали на обратный билет с Марса.


« Ответ #80 : 22-03-2010 18:06 » 

Vika_c, да мы ещё не закончили. мы ещё только начали.

для начала вам надо сформурировать ограничения для вашего выражения. если выражение будет тоже самое, просто с другими цифрами - то это проще всего - составляем одну запись в MathML и дальше просто меняем в ней значения. если же нет - то надо расписать алгоритм генерации. на бумажке.

например, возьмём вашу картинку.

1. любое выражение состоит из двух частей, умножаемых или делимых, например, A1 и A2. (это будет первым этапом - рэндомно выбираете знак операции и формируете первые два узла). пока что ваше выражение может иметь вид A1 : A2 или A1 * A2. это всё уже можно записать в MathML.

2. далее, обратите внимание, что все A имеют вид: B1 +/- B2 +/- B3 +/- B4. причём их может быть от 3 до 4. значит, здесь нам нужно для каждого A из п.1 выбрать кол-во входящих в него элементов. случайно определяем операцию между этими элементами и для каждого узла, сформированного в п.1 формируем узлы с этими элементами, складывающимися или вычитающимися.

3. все B кроме последнего являются произведением. это произведение имеет вид: [константа]*[a [в квадрате]]. берём случайную константу, например, 10. случайно определяем, есть ли множитель a или нет. если есть - случайно определяем, в квадрате ли он. и всё. эту операцию надо проделать для каждого B из п.2. и точно также записать во все соответствующие ноды.

4. последнее B всегда представляет собой частное вида С1 : C2. при этом любое C имеет вид [константа] +/- [a]. берём случайную константу, случайно определяем, есть ли в выражении a, если есть - случайно определяем знак операции. записываем это в узел с последним B.

вот таким, примерно, будет алгоритм генерации ваших выражений. при этом следует предусмотреть ограничения, например, делитель никогда не должен быть равным нулю. наверное, следует предусмотреть планку для максимального значения констант, вряд ли кого обрадует выражение, типа 456549879 * a ^2.

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

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

baldr
Команда клуба

ru
Offline Offline
Пол: Мужской
Дорогие россияне


WWW
« Ответ #81 : 23-03-2010 06:38 » 

x77, даже я теперь понял что это не так сложно Улыбаюсь
Записан

Приличный компьютер всегда будет стоить дороже 1000 долларов, потому что 500 долларов - это не вполне прилично
Vika_c
Интересующийся

ru
Offline Offline

« Ответ #82 : 24-03-2010 08:57 » 

x77,  спасибо, еще не совсем понятно, буду пробовать)
Записан
Страниц: 1 2 3 [Все]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines