Имя: Пароль:
1C
1С v8
Квадратное уравнение с разбором
0 Sachaaaa
 
25.12.13
18:26
Здравствуйте! Погомите! Напишите пожалуйста программный код уравнения! Нужно разобрать кв уравнение, которое пользователь вводит в поле, например 3х^2+3х+1=0. Нужно разобрать что 3 относится к a, b=3 и с=1. а дельше решить как квадратное уравнение. на форму выводится только х1 и х2. Помогите пожалуйста! в 1С надо написать!
1 Wobland
 
25.12.13
18:33
в зачётке пятёрку мне нарисуешь?
2 Wobland
 
25.12.13
18:34
не, ну совсем обленились. в моё время студенты были умнее
3 Любопытная
 
25.12.13
18:34
(1) похоже, это уже замашки на инженерный калькулятор пошли)
4 Sachaaaa
 
25.12.13
18:35
да мне не нужна пятерка, мне 4 нужно! нарисую, это я умею!
Ну пожалуйста просто очень нужно я не понимаю не че вообще как это сделать!
5 Wobland
 
25.12.13
18:36
по штуке за балл
6 Wobland
 
25.12.13
18:36
+(5) сдачу верну
7 МишКа
 
25.12.13
18:36
(4) А если мы напишем, ты будешь понимать?
8 НикДляЗапросов
 
25.12.13
18:37
2000
9 Sachaaaa
 
25.12.13
18:37
D=в*в-4*а*с;
Если D<0 Тогда
Сообщить ("Решений нет");
Иначеесли D=0 Тогда                        x_1=-в/(2*а);
                            Иначеесли D>0 Тогда
                                x_1=(-в+SQRT(D))/2*а;
                                x_2=(-в-SQRT(D))/2*а;
                                КонецЕсли;
смогла только это, а как разобрать я не знаю
10 Wobland
 
25.12.13
18:37
(3) ты видела, как аккуратно опущена операция умножения? тут что-то помощнее
11 Wobland
 
25.12.13
18:38
оо, да мы ещё и без фото
12 Sachaaaa
 
25.12.13
18:38
ну постараюсь вникнуть!
13 Sachaaaa
 
25.12.13
18:39
мне не до фото, мне нужен код, пожалуйстаааааааа
14 Любопытная
 
25.12.13
18:40
(9)бери строку, разбирай ее и ищи в ней числа. наверное как-то так
15 Wobland
 
25.12.13
18:40
(13) а тебе и не должно быть до фото. до фото нам
16 Любопытная
 
25.12.13
18:40
(13) это нарушает каноны форума. Извини :)
17 Любопытная
 
25.12.13
18:41
кста, что есть х1 и х2?
18 Wobland
 
25.12.13
18:41
на самом деле мне просто жутко лениво. часов через 20, наверное, пройдёт
19 Sachaaaa
 
25.12.13
18:42
решение кв. уравнения есть два корня х1 и х2
20 Sachaaaa
 
25.12.13
18:43
ну не линись , пожалуйста помоги!!!!
21 Wobland
 
25.12.13
18:43
насколько помню, корня всегда два при неотрицательном дискриминанте
22 Wobland
 
25.12.13
18:44
ага. можно сразу Если Д>=0
23 Sachaaaa
 
25.12.13
18:45
D=в*в-4*а*с;
Если D<0 Тогда
Сообщить ("Решений нет");
Иначеесли D=0 Тогда                
x_1=-в/(2*а);
Иначеесли D>0 Тогда
x_1=(-в+SQRT(D))/2*а;
x_2=(-в-SQRT(D))/2*а;
КонецЕсли;
Вот решение кв. уравнения. мне надо разбор уравнения которое введет пользователь
24 Wobland
 
25.12.13
18:45
(20) стукнись в аську вечером, подумаю
25 Sachaaaa
 
25.12.13
18:46
говори уин
26 Wobland
 
25.12.13
18:47
(25) тыц: Wobland
27 0xFFFFFF
 
25.12.13
18:48
(0) Сделаю вебсервис. 5000 рублей. Плюс 500 рублей за каждый "запрос" решения :))))
28 Wobland
 
25.12.13
18:49
хм... мой веб-сервис будет стоить 10000, но каждый "запрос" 100. выбирай
29 Sachaaaa
 
25.12.13
18:52
ахахахах... щас ага буду выбирать еще) я уж лучше 3 поставлю с такими успехами в зачетку! На себя потрачу эти деньги!
30 Wobland
 
25.12.13
18:54
(29) потом предложишь одногруппникам по 200 рублей за запрос и будешь иметь сотню с каждого запроса как с куста
31 Sachaaaa
 
25.12.13
18:59
ахахаха у всех разные задачи) не прокатит
32 zva
 
25.12.13
19:07
e^pi/ln(sin(sqrt(2tg(e+0.5)))x^2+i^7x+pi = 0
33 Wobland
 
25.12.13
19:13
(32) нас могут читать беременные женщины и дети
34 dj_serega
 
25.12.13
19:18
(31) Реализуй Техзадание. Мы оценим. Разработаем и будешь другим продавать запрос.
35 Sorm
 
25.12.13
19:21
(0) Стыдоба... Разобрать строку уже не могут... студенты.
36 Sachaaaa
 
25.12.13
19:25
и не че стыдного! не можем и все!
37 Sorm
 
25.12.13
19:26
(36) Хммм... а разобрать ответы с форума - можем:) Странно...
38 rphosts
 
25.12.13
19:27
(2) какие студенты? Это 8 или 9 класс.
39 Feunoir
 
25.12.13
19:27
(36) Стыдно то, девушка, что вы в чужой монастырь приходите со своим уставом. Пока фотки не будет - реальной помощи не дождётесь. Всё отшучиваться будут. Я серьёзно.
40 rphosts
 
25.12.13
19:28
(36) нет слова не могу - есть слово не хочу!
41 Sachaaaa
 
25.12.13
19:29
Стыдно Стыдно мне пофиг! мне нужна прога и все! не хотите помогать не надо найдем решение!
42 Sorm
 
25.12.13
19:30
(41) Ну так вперед, ищите! Или весь поиск - написать на форум "мне не до фото, мне нужен код, пожалуйстаааааааа"?
43 rphosts
 
25.12.13
19:30
(41) предлагаете написать за вас программу? Вам она для чего? Вы вообще какого года рождения и откуда?
44 Fragster
 
гуру
25.12.13
19:32
ладно, за фотосет разомнусь в решении задачек. только условие нужно полное
45 Sachaaaa
 
25.12.13
19:32
для оценки в зачетку и все! больше не че не надо сказать, паспортные данные может еще!
46 rphosts
 
25.12.13
19:32
(32) error детектед: 4 левых скобки при 3 правых
47 rphosts
 
25.12.13
19:32
(44) не демпенгуй, топлесс онли
48 Fragster
 
гуру
25.12.13
19:33
только на фотке в руках должен быть листик с надписью "специально для мисты"
49 Fragster
 
гуру
25.12.13
19:33
(47) за топлесс ей мальчик из группы прыщавый сделает ;)
50 Wobland
 
25.12.13
19:34
(48) фиговый. и не в руках
51 rphosts
 
25.12.13
19:35
(49) мальчик прыщавый может язык распустить  хуже бабы базарной, а мы как могила ты-ж сам знаешь
52 spectre1978
 
25.12.13
19:36
В профиле пол мужской вообще-то. Вы все еще уверены что фото нужно? )
53 rphosts
 
25.12.13
19:37
(52) пол втыкается по дефолту при регистарции, видно-же что оно не нстраивала личку
54 rphosts
 
25.12.13
19:37
(49) и это, совсем нахаляв пусть сапёры пишут
55 spectre1978
 
25.12.13
19:38
(53) оно? :-O
56 Sachaaaa
 
25.12.13
19:38
Женского не волнуйтесь! я регалась чтоб мне помогли с кодом на день и все а не кидать фотки и указывать род и всякую дребедень указывать. для этого есть контакт инстаграм и всякие соц сети!
57 Feunoir
 
25.12.13
19:38
(52) см (9). Там она проговорилась.
58 Wobland
 
25.12.13
19:38
+(54) мы верим в то, что это невнимательность, а не осознанная жизненная позиция
59 rphosts
 
25.12.13
19:39
(56) фото топлесс традиционное требование мисты
60 Sorm
 
25.12.13
19:39
61 rphosts
 
25.12.13
19:40
(58) у меня столько-же времени сколько у тебя а встал я сегодня утром ещё до 5 утра - башка слабо варит... нужен стимул... фото будет достаточно
62 Feunoir
 
25.12.13
19:40
(56) Тут не фонд милосердия. Хочешь что-то получить, надо что то отдать. Мальчикам в этом отношении сложнее. Они просто так фоткой не отделаются.
63 Wobland
 
25.12.13
19:41
(61) второй раз за день с меня фото просят. неужель так хорош?
64 rphosts
 
25.12.13
19:41
(62) угу, мальчику тут много чаще обламываются когда предлагаю что-бы за них кто-то что-то сделал.
65 rphosts
 
25.12.13
19:42
(63) твоё фото мне и даром не надо! И дае еси за него приплатишь
66 Sachaaaa
 
25.12.13
19:43
достали вы меня с этим фото!!!!!!!
67 Wobland
 
25.12.13
19:43
(65) у автора времени вроде как на час меньше нашего...
68 rphosts
 
25.12.13
19:44
(66) это неписаное правило, можете им быть довольны а можете и нет - правилу это фиолетово
69 Sorm
 
25.12.13
19:44
(63) Ты смотри, такими предложениями раскидываться:)... А то вдруг понравится свои фотки рассылать мужикам...
70 Wobland
 
25.12.13
19:44
(69) первый раз девушка была ;)
71 rphosts
 
25.12.13
19:45
(70) и она тебе предлагала написать программу решения квадратных уравнений за твоё фото?
72 Sachaaaa
 
25.12.13
19:45
все довольны????????????? можно теперь прогу сделать помочь??????????
73 rphosts
 
25.12.13
19:46
дык топ-то не лесс!
74 Sorm
 
25.12.13
19:46
(66) А что делать?! Традиции хуже законов. Законы пишут хз кто хз для кого, а традиции - многолетний оттестированный многими людьми свод правил. Их надо соблюдать, а не то...
75 dj_serega
 
25.12.13
19:46
А пол мужской остался :)
76 Wobland
 
25.12.13
19:46
(71) у неё была железная аргументация - "у меня твоего фото нет" ;)

всем доброй ночи, не запорите сотку
77 Feunoir
 
25.12.13
19:46
(73) Да ладно. И так хорошо.

(72) Есть какие-нибудь ограничения на входящие данные? Правила, по которым записывается строка?
78 Sorm
 
25.12.13
19:47
(72) Помочь - это мы завсегда. Давай, в какой строке у тебя что не получается в отладчике?
79 rphosts
 
25.12.13
19:47
>Вот решение кв. уравнения. мне надо разбор уравнения которое введет пользователь

ничего не понял, что нужно-то?
80 Fragster
 
гуру
25.12.13
19:48
(72) а где подпись "для мисты"?
81 Sorm
 
25.12.13
19:48
(75) Страшное дело...
82 Fragster
 
гуру
25.12.13
19:48
в руках, а не добавленая фотошопом
83 rphosts
 
25.12.13
19:48
(76) и в кусты... халявщик ты!
84 МишКа
 
25.12.13
19:48
(72) Так эта...
Ты ж уже все сама сделала в (9).
Чего тебе еще не хватает?
85 Sachaaaa
 
25.12.13
19:49
Наконец то!!!!!!!!! УРААААААААААА! вспомнили про прогу!!!!!!!!! давно бы так а то разводили тут дискуссий!
86 rphosts
 
25.12.13
19:49
(82) сумеешь вот так с ходу понять что не шопой?
87 Fragster
 
гуру
25.12.13
19:49
(84) разбора строки не хватает
88 Sachaaaa
 
25.12.13
19:49
дак я решение сделала квадратного уравнения а мне еще разбор нужен!
89 rphosts
 
25.12.13
19:49
(85) ды а кто с фото тянул?
90 Fragster
 
гуру
25.12.13
19:49
(86) на белом листе бумаги от руки написанная надпись достаточно сложон делается фотошопом
91 rphosts
 
25.12.13
19:50
(88) что за разбор?
92 Feunoir
 
25.12.13
19:50
(85) Так тебе это ещё в 11 посте сказали. Час назад. Если бы, то глядишь давно бы уже и задачку сделали.
93 Sorm
 
25.12.13
19:51
(85) Самый простой и тупой способ - порезать строку на символы и проверить коээфициенты - не?
94 Sachaaaa
 
25.12.13
19:51
Мальчики, может хватит уже! может поможете а? пожалуйста
95 rphosts
 
25.12.13
19:52
(90) ну хз-хз
96 МишКа
 
25.12.13
19:52
(88) Разбор чего?
97 rphosts
 
25.12.13
19:52
(94) что нужно-то? уравнение на входе текстовой строкой?
98 spectre1978
 
25.12.13
19:52
Нужно из строки  типа  12x^2+10x-3=0 выдрать 12,10 и -3, возможно, с некоторыми нюансами
99 Fragster
 
гуру
25.12.13
19:53
(94) полный текст задачи будет? а то может там вообще произволно можно писать типа

4*х + х^2*54 -23х=12
100 rphosts
 
25.12.13
19:53
(100)
101 spectre1978
 
25.12.13
19:53
я думаю, что полноценный парсер обратной польской записи от нее вряд ли требуют
102 Sorm
 
25.12.13
19:54
(99) Я тебя умоляю:)
103 rphosts
 
25.12.13
19:54
(98) есть гарантия что в строке уже канонический вид?
104 Salimbek
 
25.12.13
19:54
(35) А почему именно строку? Я бы оставил только три окошка для ввода параметров, остальное текстом обычным обрисовал, типа [   ]x^2[   ]x[   ]=0 и проверил бы вводимое на то, чтобы были числа
105 Sachaaaa
 
25.12.13
19:54
пользователь пишет на форме  кв. уравнение например 3х^2+2х+4=0 . Нам нужно разобрать в этой строке числа и занести их в а b c присвоить т.е. и решить кв уравнение что я и сделала аа вот разбор не могу
106 Feunoir
 
25.12.13
19:54
(88) Ещё раз. Есть ли какие ограничения на формат вводимой строки. Если нет, тогда вводи сама правила

а * x^2 + b * x + c = 0

то есть берешь строку, перебираешь символы до знака "*", это будет коэффициент а, потом перебираешь до "+" или "-", и проверяешь чтобы там было х^2. Потом до следующего "*" - получаешь b потом проверяешь на x, потом "=" получаешь c. Ну собственно и всё. Коэффициенты получила.
107 Sorm
 
25.12.13
19:54
(104) Вот негодяй!:)
108 rphosts
 
25.12.13
19:55
(104) халявщик ты Салимбек!
109 Fragster
 
гуру
25.12.13
19:55
(105) ну если тема лабораторной "работа со строками" то вряд ли прокатит :)
110 Fragster
 
гуру
25.12.13
19:55
(109) к (104)
111 rphosts
 
25.12.13
19:55
(105) гарантированно будет форма записи х^2 а не х*х?
112 МишКа
 
25.12.13
19:56
(105) А что тебе мешает?
Как получить а понятно?
113 Sachaaaa
 
25.12.13
19:56
х^2
114 Sachaaaa
 
25.12.13
19:56
именно
115 zva
 
25.12.13
19:57
a*1^x*x^2 +b*ln(e^x)+c*x^0
116 Sachaaaa
 
25.12.13
19:57
(88)так нужно сделать
117 Feunoir
 
25.12.13
19:57
(105) Абстрактную произвольную запись ты решить не сможешь. Это придётся полную лексику описывать. Понятно, что это задача не того уровня.
118 Sachaaaa
 
25.12.13
19:58
просто уравнение 3х62+2х+1=0 а не такие сложные которые некоторые пишут
119 Sachaaaa
 
25.12.13
19:59
3х^2+2х+1=0 вот  из такого надо получить a b c
120 rphosts
 
25.12.13
20:01
Стр1 = Лев(Стр)
121 Sachaaaa
 
25.12.13
20:01
ну что же все замолчали?
122 rphosts
 
25.12.13
20:01
фальшстарт
123 Salimbek
 
25.12.13
20:02
Если работа со строками, то пожалуйста:

РазбитаяСтрока = СтрЗаменить(ВходнаяСтрока,"х^2",Символ.ПС);
РазбитаяСтрока = СтрЗаменить(ВходнаяСтрока,"х",Символ.ПС);
РазбитаяСтрока = СтрЗаменить(ВходнаяСтрока,"=",Символ.ПС);
А = СтрПолучитьСтроку(РазбитаяСтрока,1);
Б = СтрПолучитьСтроку(РазбитаяСтрока,2);
С = СтрПолучитьСтроку(РазбитаяСтрока,3);
Ноль = СтрПолучитьСтроку(РазбитаяСтрока,4);
124 Salimbek
 
25.12.13
20:03
(123) Во второй и третьей строках замени "ВходнаяСтрока" на "РазбитаяСтрока"
125 Sachaaaa
 
25.12.13
20:04
а потом просто как кв уравнение считать?
126 Sachaaaa
 
25.12.13
20:04
а что такое ПС еще?
127 rphosts
 
25.12.13
20:05
тогда не х^2 и х а *х^2 и *х
128 rphosts
 
25.12.13
20:05
(126) символ перевод строки, см СП
129 Salimbek
 
25.12.13
20:06
(126) В книжке по 1С написано
(127) Я на это опирался: 3х^2+2х+1=0 в (119)
130 Feunoir
 
25.12.13
20:06
(118) (119) ну если совсем жёстно закладываться на такой формат, то примерно так:

Предположим, что строку ты получила в переменную СтрУравенение. Будем разбирать.


//Сначала уберём лишние пробелы из строки
СтрУравнение = СтрЗаменить(СтрУравнение, " ", "");
// потом ищем x^2 в строке и a
Поз = Найти(СтрУравнение, "x^2");
А = Лев(СтрУравнение, Поз-1);
СтрУравнение = Сред(СтрУравнение, Поз+3);
// теперь b
Поз = Найти(СтрУравнение, "x");
B = Лев(СтрУравнение, Поз-1);
СтрУравнение = Сред(СтрУравнение, Поз+1);
// теперь c
Поз = Найти(СтрУравнение, "=");
B = Лев(СтрУравнение, Поз-1);


Ну а дальше считай
131 mrDSide
 
25.12.13
20:06
А почему не просто: ВвестиЗначение(а,"Введите ..."); кордескр=б*б-4*а*ц; икс1=(б+2*sqrt(кордескр))/2;икс2=(б-2*sqrt(кордескр))/2

Хотя за првильность формул икс1 и икс2 не ручаюсь =)
132 Salimbek
 
25.12.13
20:07
(125) Нет. не просто, в результате ты получишь строки, их надо проверить, чтобы они были Числом, и если все параметры - это числа, то преобразуешь их к Числу. А потом уже считаешь
133 rphosts
 
25.12.13
20:07
(131) потому что задача в простейшем парсинге строки
134 Feunoir
 
25.12.13
20:07
+(130) в последней строке

C = Лев(СтрУравнение, Поз-1);
135 Sachaaaa
 
25.12.13
20:09
спасибо большое ребятаа! щас разбираться буду и смотреть что не понятно будет спрошу!!!!! спасибо большое очень помогли!!!!
136 mrDSide
 
25.12.13
20:09
А если хотите парсить текст и решать что-то сложнее - возьмите какую-нибудь внешнюю компоненту (а еще лучше установить на машине интерпретатор phyton и в него передавать текст для решения).
137 Salimbek
 
25.12.13
20:10
(135) Фотку новую только не забудь ;-)
(136) А мне больше работа со строками в Ruby нравится
138 Fragster
 
гуру
25.12.13
20:12
Надо контролировать Х - русская или английская. + большая-маленькая


Уравнение = "3x^2+2x+1=0";

А=0;
Б=0;
В=0;

Знак = 1;

Числа = "0123456789";

Состояние = "А";
Для Сч = 1 По СтрДлина(Уравнение) Цикл
    
    ТекСимв = Сред(Уравнение, Сч, 1);
    
    Если Найти(Числа,ТекСимв) <> 0 Тогда
        
        Если Состояние = "А" Тогда
            А = А * 10 + Знак*Число(ТекСимв);
        ИначеЕсли Состояние = "Б" Тогда
            Б = Б * 10 + Знак*Число(ТекСимв);
        ИначеЕсли Состояние = "В" Тогда
            В = В * 10 + Знак*Число(ТекСимв);
        ИначеЕсли Состояние = "Квадрат" Тогда
            Состояние = "Б";
        КонецЕсли;
        
    Иначе
        Если Состояние = "Квадрат" Тогда
            Состояние = "Б"
        КонецЕсли;

        Если ТекСимв = "-" Тогда
            Знак = -1;
        ИначеЕсли ТекСимв = "+" Тогда
            Знак = 1;
        ИначеЕсли ТекСимв = "^" Тогда
            Состояние = "Квадрат";
        ИначеЕсли ТекСимв = "=" Тогда
            Состояние = "Конец";
        ИначеЕсли ТекСимв = "x" И Состояние="Б" Тогда
            Состояние = "В";
        КонецЕсли;
    КонецЕсли;
КонецЦикла;
139 Fragster
 
гуру
25.12.13
20:13
в (138), конечно, заляпуха, но  зачет получить можно
140 Sachaaaa
 
25.12.13
20:13
а что такое Сч?
141 Fragster
 
гуру
25.12.13
20:13
(140) открой конспект на главе про циклы
142 Fragster
 
гуру
25.12.13
20:14
Ну, или замени на Счетчик
143 Sachaaaa
 
25.12.13
20:14
хорошо
144 Fragster
 
гуру
25.12.13
20:17
(143) жду фотку с сигной ;)
145 Sachaaaa
 
25.12.13
20:18
спасибо большое мальчики! очень благодарна вам!
146 Sachaaaa
 
25.12.13
20:18
с чем?
147 Fragster
 
гуру
25.12.13
20:19
(146) -> (48)
148 Fragster
 
гуру
25.12.13
20:19
что-то (130) мне нравится больше...
149 mrDSide
 
25.12.13
20:20
(137) охотно верю, но речь скорее о модуле "math" для phyton'а.

А вообще:
1) заменить в строке Символ(160) на "";
2) заменить "-" на "+-";
3) разложить в массив подстрок по разделителю "+";
4) в новый массив структуры с й=Найти("*х`"), лев(все до й) в показатель, а прав(все после й) в степень;
5) перебрать массив, суммируя по условию эл[й]["показатель"]=сколько надо;
6) (131)
150 Sachaaaa
 
25.12.13
20:32
Мальчики, ошибку выдает! когда решение идет переменная не определена пишет а и с
151 Feunoir
 
25.12.13
20:34
(150) Внимательно перечитай сообщения и уточнения к ним и проверь русский-английский в именах переменных.

Ты по какому варианту делаешь?
152 Sachaaaa
 
25.12.13
20:36
все рус - англ было
153 Fragster
 
гуру
25.12.13
20:40
(150) ну так коэффициенты в (130) и (138) по другому, наверное, называются
154 Sachaaaa
 
25.12.13
20:42
все нормально сохранилось без ошибок, а вот нажимаю F5 ввожу уравнение нажимаю на кнопку решение и нечего не происходит, почему?
155 Sachaaaa
 
25.12.13
20:45
почему??
156 Feunoir
 
25.12.13
20:48
(155) Есть кнопка F9 - установка точки останова. Ставишь её на первой строке процедуры в которой разбираешь уравнение и по шагам (F10) проходишь процедуру, проверяя значения переменных.

А как ты результат выводишь? Как определила, что ничего не происходит.
157 Sachaaaa
 
25.12.13
20:53
через кнопку. У меня форма создана кнопка Решить, и процедура нажатие на эту кнопку вот запускаю F5 пишу уравнение нажимаю на кнопку и молчок
158 Feunoir
 
25.12.13
20:58
"Через кнопку" ты результат вывести не можешь. Через кнопку ты запускаешь решение. Так вот проверяй, что ты действительно решение запускаешь, то есть к кнопке привязано соответствующее действие.

И смотри, каким образом у тебя сообщается результат. А то может ты считать считаешь, а результат сообщить пользователю забываешь. Судя по твоему коду из (9) и (23), так и происходит.
159 Sachaaaa
 
25.12.13
21:00
а как тогда посчитать?
160 Sachaaaa
 
25.12.13
21:02
и результат вывести
161 Feunoir
 
25.12.13
21:02
Как ты сообщаешь пользователю, что нет решений?
162 Grobik
 
25.12.13
21:11
В карточке нет E-mail:, Город, страна:, День рождения:

Вдруг далеко живешь или старая?
163 Sachaaaa
 
25.12.13
21:14
ахахахахах обязательно заполнять?
164 Sachaaaa
 
25.12.13
21:15
так то не как не сообщаю( блин
165 Grobik
 
25.12.13
21:16
18:26 -> 21:15

Я бы над этим подумал.
166 Feunoir
 
25.12.13
21:18
(164) ой да ладно. А это что?

Если D<0 Тогда
Сообщить ("Решений нет");
...

Вот где у тебя такое сообщение результатов расчета в других случаях.

Ты по шагам процедуру проходила?
167 Grobik
 
25.12.13
21:19
+ не знаю каким броузером Вы пользуетесь. Но большинство подсвечивает ошибки. В правилах форума помню была фраза пользоваться русским.
168 Grobik
 
25.12.13
21:22
Feunoir молодец. Все порешает.

(156) +100500
169 User_Agronom
 
25.12.13
21:25
(0) я что-то пропустил? Дегустировать борщ кто первый?
170 Sachaaaa
 
25.12.13
21:31
в одном только!
получается везде сообщить добавить ну где иксы?
171 Grobik
 
25.12.13
21:32
(169) А кто сказал что автор украинка? Иначе я согласен дегустировать борщ только за 3000 рублей за чайную ложку.
172 Sachaaaa
 
25.12.13
21:47
русская я
173 dj_serega
 
25.12.13
22:31
(170) перечитай (156).
К нему же:
Можешь воспользоваться "Табло".
В запущеной отладке в конфигураторе:
Подменю "Отладка" -> "Табло" (третье снизу или ctrl+alt+w).
В выражения добавь свои переменные.
174 Wobland
 
26.12.13
04:19
ох, ничо вы тут нафлудили
175 rphosts
 
26.12.13
07:57
(174) спать нужно было меньше
176 Wobland
 
26.12.13
09:11
(175) спать нужно было больше. не выспался
177 dj_serega
 
26.12.13
12:42
(174) Флудили то флудили. А вот помогли или нет непонятно.
178 User_Agronom
 
26.12.13
12:48
(177) ТС варит борщ. Другого способа нет.
179 Птица
 
26.12.13
13:03
а в чем смысл такой задачи?
не, я понимаю еще когда идет распознавание какого-то текста и из него нужно вытащить квадратное уравнение, но когда вход зависит от программы, нафига усложнять жизнь, вводя квадратное уравнение строкой, когда его можно задавать тремя коэффициентами?
или программист считает, пользователю доставит особое удовольствие выписывать все эти икс и икс квадрат?
конечно понятно, что задача учебная, но хоть какая-то привязка к реальности должна быть? культура мышления должна быть?
180 User_Agronom
 
26.12.13
13:04
(179) Это студентка. Смысл: проверить навык работы со строками.
181 Птица
 
26.12.13
13:08
(180) читать я умею. но задача все равно идиотская.
навык работы со строками можно проверять и на более адекватных задачах, благо, это вещь часто востребованна в работе и подобрать задачу не  проблема.
182 Wobland
 
26.12.13
13:09
а это не её ли личная интерпретация задачи?
183 User_Agronom
 
26.12.13
13:10
(181) (182) Скорее всего такая. Смысл нужно спрашивать у преподавателя, но его мы спросить не можем. Поэтому только предположения.
184 Птица
 
26.12.13
13:11
+(181) не знаю, это как если бы интернов тренировали удалять аппендикс через горло(или другое отверстие), чтобы заодно проверить навыки манипулирования через разные отверстия.
а потом выпускали бы к пациентам, решать реальные задачи.
185 Wobland
 
26.12.13
13:12
всё правильно! аппендикс надо удалять через другое отверстие, там ближе
186 User_Agronom
 
26.12.13
13:14
(184) Несколько странное сравнение.
Задача разбиения строки с анализом результата - нормальная задача. И это часто приходится делать практически.
187 Wobland
 
26.12.13
13:36
(186) практически я иногда задумываюсь, как бы не работать со строками. просто на автопилоте. строки - они такие строки
188 Asirius
 
26.12.13
14:02
Решение
ункция ЭтоЦифра(Симв)
    Цифры ="1234567890.";
    Возврат  Найти(Цифры,Симв)>0;
         
КонецФункции

Функция ПолучитьНачальноеЧислоИзСтроки(Знач  СтрокаНачинающаясяСЧисла,ОстатокСтроки,ПолученноеЧисло)
    Для К = 1 По СТРДлина(СтрокаНачинающаясяСЧисла) Цикл
        Симв = Сред(СтрокаНачинающаясяСЧисла,К,1);
        Если Не ЭтоЦифра(Симв) Тогда
            Прервать;
        КонецЕслИ;
    КонецЦикла;
    Попытки
    ПолученноеЧисло= Число(Лев(СтрокаНачинающаясяСЧисла,к-1));
Исключение
Сообщить("Некорректный коэффициент "+Лев(СтрокаНачинающаясяСЧисла,к-1));
КонецПопытки
    ОстатокСтроки = Сред(СтрокаНачинающаясяСЧисла,К);
    
КонецФункции


Процедура ОтброситьПервыеНеЦифры(Знач ПроизвольнаяСтрока,ОстатокСтроки,Знак,ОтбрасываемаяСтрока)
    
    Знак = 1;
                                
    Для К = 1 По СТРДлина(ПроизвольнаяСтрока) Цикл
        Симв = Сред(ПроизвольнаяСтрока,К,1);
        
        Если Симв = "+" Тогда
            Знак = 1;
        КонецЕсли;
        
        Если Симв = "-" Тогда
            Знак = -1;
        КонецЕсли;
        
        Если ЭтоЦифра(Симв) Тогда
            Прервать;
        КонецЕслИ;
    КонецЦикла;
    
    ОстатокСтроки = Сред(ПроизвольнаяСтрока,К);
    ОтбрасываемаяСтрока  = Лев(ПроизвольнаяСтрока,К-1);
КонецПроцедуры

Процедура РазобратьКвадратноеУравнение(КорректнаяСтрока,a,b,c)
    Перем ОтбрасываемаяСтрока,ОстатокСтроки,Знак1,Знак2,Знак3;
    
    
    ОтброситьПервыеНеЦифры(КорректнаяСтрока, ОстатокСтроки,Знак1,ОтбрасываемаяСтрока);
    
    Если ОтбрасываемаяСтрока<>"-" и ОтбрасываемаяСтрока<>"+" Тогда
        Сообщить("Некорректное начало уравнения");
    КонецЕсли;
    
    ПолучитьНачальноеЧислоИзСтроки(ОстатокСтроки,ОстатокСтроки,a);
    ОтброситьПервыеНеЦифры(ОстатокСтроки, ОстатокСтроки,Знак2,ОтбрасываемаяСтрока);
    
    Если ОтбрасываемаяСтрока<>"XX+" и ОтбрасываемаяСтрока<>"XX-" Тогда
        Сообщить("Некорректный X^2 (не вначеле уравнения или отсутствует)");
    КонецЕсли;
    
    
    ПолучитьНачальноеЧислоИзСтроки(ОстатокСтроки,ОстатокСтроки,b);
    ОтброситьПервыеНеЦифры(ОстатокСтроки, ОстатокСтроки,Знак3,ОтбрасываемаяСтрока);
    
    
    Если ОтбрасываемаяСтрока<>"X+" и ОтбрасываемаяСтрока<>"X+" Тогда
        Сообщить("Некорректный X (не в середине уравнения или отсутствует)");
    КонецЕсли;
    
    
    ПолучитьНачальноеЧислоИзСтроки(ОстатокСтроки,ОстатокСтроки,c);
    Если ОстатокСтроки<>"=0" Тогда
        Сообщить("некорректрое окончание уравнения, должно быть =0");
    КонецЕслИ;
    
    a = a*знак1;
    b = b*знак2;
    c = c*знак3;
    
КонецПроцедуры

Функция ОткрорректироватьСтроку(Стр)
     Корректировка = ВРЕГ(СТРЗаменить(СТР,",","."));
     Корректировка = "+"+Корректировка ;
     Корректировка = СТРЗаменить(Корректировка,"+-","-");
     Корректировка = СТРЗаменить(Корректировка,"++","+");
     Корректировка = СТРЗаменить(Корректировка,"+X","+1X");
     Корректировка = СТРЗаменить(Корректировка,"-X","-1X");
     Корректировка = СТРЗаменить(Корректировка,"*X","X");
     Корректировка = СТРЗаменить(Корректировка,"X^2","XX");
     Возврат Корректировка;
    
КонецФункции

    

Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
    
//На форме реквизиты: ПолеВводаУравнения,a,b,c     РазобратьКвадратноеУравнение(ОткрорректироватьСтроку(ПолеВводаУравнения),a,b,c)
    
КонецПроцедуры
189 Wobland
 
26.12.13
14:06
(188) что будет при входе ""?
190 Asirius
 
26.12.13
14:09
(189)

Например, понимает:

2*X*X+x-1=0
-X^2+10*x+2=0
6X^2+4x+2=0
191 Wobland
 
26.12.13
14:10
(190) коли затеял проверки, делай нормально и до конца
192 Asirius
 
26.12.13
14:11
(191) а там все до конца. Не учтена только перестановка X и X*X
193 Wobland
 
26.12.13
14:12
(192) что будет при ""? и при "2х=0"?
194 Asirius
 
26.12.13
14:13
(193) Скажет, что не найден X^2
195 Wobland
 
26.12.13
14:14
(194) и героически пойдёт вычислять дальше?
196 Asirius
 
26.12.13
14:15
(195) героически найдет дальше все ошибки
197 Wobland
 
26.12.13
14:15
можно я не буду это запускать? чему будут равны А, Б и В при уравнении ""?
198 Asirius
 
26.12.13
14:17
При пустой стороке выдается сообщение:
Некорректный X^2 (не вначеле уравнения или отсутствует)
Некорректный коэффициент
Некорректный X (не в середине уравнения или отсутствует)
Некорректный коэффициент
некорректрое окончание уравнения, должно быть =0

a,b,c = 0
199 Wobland
 
26.12.13
14:19
ну тогда буду спать спокойно ;)
200 Feunoir
 
26.12.13
14:21
(200)
201 zva
 
26.12.13
14:24
(188) 1/3X^2 тоже поймет?
202 catena
 
26.12.13
14:30
А может преподаватель сидит на мисте? И потихоньку устраивает себе развлечение... Что-то много студентов последнее время поперло, явно в каком-то учебном заведении пиарят.
203 Wobland
 
26.12.13
14:32
а миста его вычислит и заявится всем составом требовать принятия зачёта. ещё и придираться будем
204 Asirius
 
26.12.13
15:02
(201) не, на такое выдаст ошибку.
Поймет 0.33*X^2+x+2=0
Доработать несложно: для дробей можно сделать препарсинг - искать все выражения вида число/число и менять на значения.
205 Asirius
 
26.12.13
15:05
Задача вполне из практики. Я на парсинге строк из назначений платежа для автоматической разноски банка собаку съел.
206 Sachaaaa
 
27.12.13
15:30
Привет всем! ак его вычислять не надо, я могу номер телефона скинуть..ахаха
207 narayanan
 
27.12.13
15:33
Sachaaaa, это Андрей, отправь письмо блRть!
208 Sachaaaa
 
27.12.13
15:36
дак отправила же
209 narayanan
 
27.12.13
15:37
210 Sachaaaa
 
27.12.13
15:40
дошло?
211 narayanan
 
27.12.13
15:42
(210) ага
212 Sachaaaa
 
27.12.13
19:50
narayanan, зайди на почту
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.