![]() |

Çäðàâñòâóéòå, ãîñòü ( Âõîä | Ðåãèñòðàöèÿ )
![]() ![]() |
![]() |
![]() ![]()
Ñîîáùåíèå
#1
|
|
Íîâè÷îê ![]() Ãðóïïà: Íîâè÷îê Ñîîáùåíèé: 3 Ðåãèñòðàöèÿ: 16.06.2012 Ïîëüçîâàòåëü ¹: 11036 ![]() |
Ïðîãà íà ActionScript 2.0
Êàçàëîñü áû, ïðîñòåéøàÿ ïðîãðàììà. Âðîäå áû âñ¸ äîïèñàíî ïðàâèëüíî. Íå áóäåì áðàòü â ðàñ÷¸ò òî÷íîñòü âû÷èñëåíèÿ ìàòåìàòè÷åñêèõ ôóíêöèé cos, sin è ïð. Âîçíèêàåò åäèíñòâåííàÿ ÏÐÎÁËÅÌÀ Ñ ÒÎ×ÊÎÉ! Ñðàáàòûâàåò ïî íåïîíÿòíîé ñõåìå. Âîò ïðèìåð: 1 + 8.1 = 9.1 (âñ¸ ÎÊ) 8.1 + 1 = 8.11 (WTF?) 0.1 + 0.1 = 0.101 è ò.ä. Ò.å. ïðè ââåäåíèè ñíà÷àëà äðîáíîãî ÷èñëà, à ïîòîì ëþáîãî äðóãîãî íå ðàáîòàåò. ×òî ñ ýòèì äåëàòü, ïîäñêàæèòå ïîæàëóéñòà! Ìíå î÷åíü âàæíî êàê ìîæíî ñêîðåå äîâåñòè àëãîðèòì äî óìà è èñïîëüçîâàòü åãî â ÄÈÏËÎÌÅ! ![]() Êîä // Îáúÿâëÿåì ïåðåìåííûå var tablo = 0; var num = 0; var tochka = true; var Numbers = 0; var n = 1; var Str = ""; var memory = null; var operation = null; // Îòêëþ÷àåì êíîïêó "ðàâíî" But_RAVNO.enabled = false; // Êîä äëÿ êíîïêè î÷èñòêè ýêðàíà But_CLEAR.onPress = function() { tablo = 0; num = 0; tochka = true; Numbers = 0; n = 1; Str = ""; But_RAVNO.enabled = false; block2(true); block(true); block3(true); }; // Îáðàáîò÷èêè íàæàòèÿ êíîïîê ñ öèôðàìè But_0.onPress = function() { num = 0; MyAdd(); }; But_1.onPress = function() { num = 1; MyAdd(); }; But_2.onPress = function() { num = 2; MyAdd(); }; But_3.onPress = function() { num = 3; MyAdd(); }; But_4.onPress = function() { num = 4; MyAdd(); }; But_5.onPress = function() { num = 5; MyAdd(); }; But_6.onPress = function() { num = 6; MyAdd(); }; But_7.onPress = function() { num = 7; MyAdd(); }; But_8.onPress = function() { num = 8; MyAdd(); }; But_9.onPress = function() { num = 9; MyAdd(); }; // Ôóíêöèÿ, îòâå÷àþùàÿ çà äîáàâëåíèå äåñÿòè÷íîé òî÷êè But_TOCHKA.onPress = function() { if (tochka) { tochka = false; Str += "."; } }; // Êîä äëÿ êíîïêè èçìåíåíèÿ çíàêà But_ZNAK.onPress = function() { if (Str != 0 && Str != "") { Numbers *= -1; if (Str.substring(0, 1) != "-") { Str = "-"+Str; } else { Str = Str.substring(1); } if (Str.length<17) { tablo = Str; } else { tablo = Numbers; } } }; // Ôóíêöèÿ, ôîðìèðóþùàÿ ïî íàæàòèÿì êíîïîê îïåðàíäû function MyAdd() { if (tochka) { Numbers = Numbers*10+num; } else { Numbers += num/Math.pow(10, n); n++; } if (Str != 0) { Str = Str+num; } else { Str = String(num); } if (Str.length<17) { tablo = Str; } else { tablo = Numbers; } } // Îáðàáîò÷èêè ñîáûòèÿ íàæàòèÿ êíîïîê àðèôìåòè÷åñêèõ îïåðàöèé But_PLUS.onPress = function() { calc("plus"); }; But_MINUS.onPress = function() { calc("minus"); }; But_UMN.onPress = function() { calc("umn"); }; But_DEL.onPress = function() { calc("del"); }; But_STEPEN.onPress = function() { calc("stepen"); }; // Ôóíêöèÿ, âûçûâàåìàÿ ïðè íàæàòèè êíîïêè àðèôìåòè÷åñêîé îïåðàöèè function calc(operat) { memory = Numbers; Numbers = 0; Str = ""; operation = operat; block(false); But_RAVNO.enabled = true; block2(true); block3(false); } // Êîä, ïðîèçâîäÿùèé âû÷èñëåíèÿ ïðè íàæàòèè êíîïêè "ðàâíî" But_RAVNO.onPress = function() { var result = null; if (operation == "plus") { result = memory+Numbers; } if (operation == "minus") { result = memory-Numbers; } if (operation == "umn") { result = memory*Numbers; } if (operation == "del") { result = memory/Numbers; } if (operation == "stepen") { result = Math.pow(memory, Numbers); } Numbers = result; Str = result; tablo = result; block(true); block2(false); block3(true); But_ravno.enabled = false; }; // Ôóíêöèÿ, âêëþ÷àþùàÿ èëè âûêëþ÷àþùàÿ êíîïêè îïåðàöèé function block(par) { But_PLUS.enabled = par; But_UMN.enabled = par; But_MINUS.enabled = par; But_DEL.enabled = par; But_STEPEN.enabled = par; } // Ôóíêöèÿ, îòâå÷àþùàÿ çà àêòèâíîñòü êíîïîê ñ öèôðàìè function block2(par) { for (var i = 0; i<=9; i++) { eval("But_"+i).enabled = par; } But_TOCHKA.enabled = par; But_E.enabled = par; But_PI.enabled = par; } // Îáðàáîò÷èêè íàæàòèÿ êíîïîê ìàòåìàòè÷åñêèõ ôóíêöèé But_SIN.onPress = function() { func("sin"); }; But_COS.onRelease = function() { func("cos"); }; But_TAN.onPress = function() { func("tan"); }; But_LN.onPress = function() { func("ln"); }; But_ASIN.onPress = function() { func("asin"); }; But_ACOS.onPress = function() { func("acos"); }; But_SQRT.onPress = function() { func("sqrt"); }; But_ROUN.onPress = function() { func("roun"); }; // Ôóíêöèÿ, îòâå÷àþùàÿ çà âû÷èñëåíèÿ ïðè íàæàòèè êíîïêè ìàòåìàòè÷åñêîé ôóíêöèè function func(par) { var result = null; if (par == "sin") { result = Math.sin(Numbers/180*Math.PI); } if (par == "cos") { result = Math.cos(Numbers/180*Math.PI); } if (par == "tan") { result = Math.tan(Numbers/180*Math.PI); } if (par == "ln") { result = Math.log(Numbers); } if (par == "asin") { result = Math.asin(Numbers)/Math.PI*180; } if (par == "acos") { result = Math.acos(Numbers)/Math.PI*180; } if (par == "sqrt") { result = Math.sqrt(Numbers); } if (par == "roun") { result = Math.round(Numbers); } tablo = result; Numbers = result; Str = String(result); } // Ôóíêöèÿ, îòâå÷àþùàÿ çà àêòèâíîñòü êíîïîê ìàòåìàòè÷åñêèõ ôóíêöèé function block3(par) { But_SIN.enabled = par; But_COS.enabled = par; But_TAN.enabled = par; But_LN.enabled = par; But_ASIN.enabled = par; But_ACOS.enabled = par; But_SQRT.enabled = par; But_ROUN.enabled = par; } // Îáðàáîò÷èêè íàæàòèÿ êíîïîê ìàòåìàòè÷åñêèõ êîíñòàíò But_PI.onPress = function() { Numbers = Math.PI; Str = String(Math.PI); block2(false); tablo = Math.PI; }; But_E.onPress = function() { Numbers = Math.E; Str = String(Math.E); block2(false); tablo = Math.E; }; Èñõîäíèê òóò http://rghost.ru/38702893 |
|
|
![]()
Ñîîáùåíèå
#2
|
|
Âåòåðàí êîíôåðåíöèè ![]() ![]() ![]() ![]() ![]() Ãðóïïà: Flash Zone Team Ñîîáùåíèé: 4739 Ðåãèñòðàöèÿ: 10.03.2005 Èç: Êèåâ Ïîëüçîâàòåëü ¹: 5 ![]() |
Öèòàòà Ò.å. ïðè ââåäåíèè ñíà÷àëà äðîáíîãî ÷èñëà, à ïîòîì ëþáîãî äðóãîãî íå ðàáîòàåò. ×òî ñ ýòèì äåëàòü, ïîäñêàæèòå ïîæàëóéñòà! VINegative Ýòî ó òåáÿ â êîäå ñðàáàòûâàåò "ïðåîáðàçîâàíèå îïåðàöèè". Ò.å. ïîñëå äðîáíîãî ÷èñëà âìåñòî äîáàâëåíèÿ ñðàáàòûâàåò êîíêàòåíàöèÿ. Ñêîëüêî ÿ ñîçäàâàë êàëüêóëÿòîðîâ, òàêîãî ó ìåíÿ íå ñëó÷àëîñü. Òàê ÷òî óëó÷øàòü ñâîé êîä ![]() Ïîìèìî îïåðàöèè äîáàâëåíèÿ áîëåå íèãäå òàêèõ ãëþêîâ íåò?  îïåðàöèè óäàëåíèÿ è ò.ä. (îáÿçàòåëüíî äåòàëüíî ïðîòåñòèðóé âñå îïåðàöèè). Åñëè íåò, òî çíà÷èò òîëüêî êîä äîáàâëåíèÿ óëó÷øàé. -------------------- Best wishes & regards,
MustLive Àäìèíèñòðàòîð ñàéòà http://mlfun.org.ua |
|
|
![]() ![]() |
![]() |
Òåêñòîâàÿ âåðñèÿ | Ñåé÷àñ: 19.01.2013 - 01:09 |