Ñîâåò 1. Íå èñïîëüçóéòå îïåðàòîð
ïðèñâàèâàíèÿ
Ñîâåò 2. Ñèìâîëüíûé âûâîä âìåñòî ÷èñëîâîãî
Ñîâåò 3. Ñî÷åòàíèå âûâîäà ñèìâîëüíîãî è
àíàëèòè÷åñêîãî çíà÷åíèé
Ñîâåò 4. Êîíñòàíòà â ÷èñëîâîì îòâåòå
Ñîâåò 5. Òèïîâàÿ òðîéêà îïåðàòîðîâ
Ñîâåò 6. Ââîä èñõîäíûõ äàííûõ ñ ïðîâåðêîé
Ñîâåò 7. Ââîä îáúåìíîé ìàòðèöû ñ òèïîâûìè
ýëåìåíòàìè
Ñîâåò 8. Âûâîä îáúåìíîé ìàòðèöû
Ñîâåò 9. Íå ïðîïóñêàéòå çíàêà óìíîæåíèÿ
Ñîâåò 10. Ãëîáàëüíîå ïðèñâàèâàíèå ïðè
ðåøåíèè ñèñòåìû
Ñîâåò 12. Òðîéêà áóëåâûõ ôóíêöèé
Ñîâåò 13. Ïåðåîïðåäåëåíèå âñòðîåííîé ôóíêöèè
Ñîâåò 14. Ñïåöñèìâîëû â èìåíàõ ïåðåìåííûõ è
ôóíêöèé
Ñîâåò 15. Ïðîíóìåðîâàííûå èìåíà ïåðåìåííûõ
Ñîâåò 16. Ïîëüçîâàòåëüñêèå åäèíèöû èçìåðåíèÿ
ôèçè÷åñêèõ âåëè÷èí
Ñîâåò 17. Åäèíèöû èçìåðåíèÿ íåôèçè÷åñêèõ
âåëè÷èí
Ñîâåò 18. Åùå ðàç î ñïåöñèìâîëàõ â èìåíàõ
ïåðåìåííûõ
Ñîâåò 19. Ôóíêöèÿ-íåâèäèìêà è
ôóíêöèÿ-îáîðîòåíü
Ñîâåò 20. Äîáàâëÿåì ëèøíèå ñêîáêè
Ñîâåò 21. Êîíòðîëü ðàçìåðíîñòè ïåðåìåííîé
Ñîâåò 22. Ãðàôè÷åñêîå ðåøåíèå çàäà÷è
ëèíåéíîãî ïðîãðàììèðîâàíèÿ
Ñîâåò 23. Öâåòíîé äåêàðòîâ ãðàôèê (Scatter Plot) Ìîñò
Ñîâåò 26. Íà÷íè ñ ñèìâîëà, à êîí÷è ÷èñëîì
Ñîâåò 27. Äîâåðÿé, íî ïðîâåðÿé
Ñîâåò 28. Òðè ñïîñîáà çàäàíèÿ îáëàñòè
ñóùåñòâîâàíèÿ òðåõìåðíîãî ãðàôèêà
Ñîâåò 29. Ïëîñêèé ãðàôèê â «äâà ñ÷åòà»
Ñîâåò 30. Êîììåíòàðèé â Mathcad-ïðîãðàììå
Äàëåå åùå îêîëî 70 ñîâåòîâ. Ðèñóíêè áóäóò îòêðûòû ïîñëå âûõîäà êíèãè â
ñâåò.
Ðóáðèêè, îäíîèìåííûå
íàçâàíèþ ýòîé ãëàâû êíèãè, ìîæíî âñòðåòèòü ïðàêòè÷åñêè â ëþáîì êîìïüþòåðíîì
èçäàíèè – ñì., íàïðèìåð, «Ñîâåòû òåì, êòî ïðîãðàììèðóåò íà Visual Basic» èëè «îôèñíûå» ñîâåòû íà CD-ROM è âî âêëàäêå «Ðåøåíèÿ Microsoft»
æóðíàëà ÊîìïüþòåðÏðåññ.
Òàêèå ñîâåòû óñëîâíî äåëÿòñÿ
íà òðè ãðóïïû:
1.
Óòî÷íÿþòñÿ
ðåêîìåíäàöèè, êîòîðûå â äîêóìåíòàöèè è â help’e ïðîïèñàíû «ïåòèòîì».
2.
Ðàçðàáîò÷èêè
ïðîãðàìì çàäíèì ÷èñëîì (ïîñëå çàâåðøåíèÿ ðàáîòû íàä äîêóìåíòàöèåé) ñîîáùàþò î
åå íîâûõ ïîëåçíûõ ñâîéñòâàõ è î ñïîñîáàõ íåéòðàëèçàöèè íåäîñòàòêîâ.
3.
Ñîîáùàåòñÿ
î ðåçóëüòàòàõ ýêñïåðèìåíòîâ íàä
ïðîãðàììàìè. Ðå÷ü çäåñü ìîæåò èäòè è î òàê íàçûâàåìûõ íåäîêóìåíòèðîâàííûõ ñâîéñòâàõ ïðîãðàìì, íà êîòîðûå ðàçðàáîò÷èêè
óáåäèòåëüíî ïðîñÿò íå îïèðàòüñÿ, íî...
Åñòåñòâîèñïûòàòåëü, æåëàþùèé
ïîçíàòü îêðóæàþùèé ìèð, íå ìîæåò ïðÿìî îáðàòèòüñÿ ê Ñîçäàòåëþ (ê Áîãó èëè ê Ïðèðîäå – êòî ÷òî ïðåäïî÷èòàåò), à äîëæåí çàäàâàòü
âîïðîñû ñàìîìó îáúåêòó èññëåäîâàíèé.
Äëÿ ýòîãî ïðîâîäèòñÿ ýêñïåðèìåíò[1] – â îáúåêò âíîñÿòñÿ âîçìóùåíèÿ è ôèêñèðóþòñÿ ðåàêöèè íà íèõ: «ùåëêíè êîáûëó ïî íîñó,
è îíà ìàõíåò õâîñòîì».
Ó ïðîãðàììû åñòü àâòîð. Åãî
èìÿ, êàê ïðàâèëî, íå íàéäåøü íà êîðîáêå ñ äèñòðèáóòèâîì è â äîêóìåíòàöèè, íî îí
(àâòîð) åñòü[2]. Ñëåäîâàòåëüíî, êàêèå-ëèáî
ýêñïåðèìåíòû íàä ïðîãðàììàìè èçëèøíè. Ñ âîçíèêàþùèìè âîïðîñàìè íóæíî îáðàùàòüñÿ
ëèáî ê äîêóìåíòàöèè, ëèáî ê ñàìîìó àâòîðó. Íî! Åñëè, ê ïðèìåðó, òðåáóåòñÿ
óòî÷íèòü, â ãðàäóñàõ èëè â ðàäèàíàõ äîëæåí áûòü àðãóìåíò ñèíóñà, ìû íå ñòàíåì
ðûòüñÿ â äîêóìåíòàöèè, à ïðîñòî íàïèøåì x:=sin(90) è ïîñìîòðèì, ÷åìó ðàâíà ïåðåìåííàÿ x[3]. Ïîäîáíûå «ýêñïåðèìåíòû» ïîëüçîâàòåëè ñòàâÿò åæå÷àñíî, îáðàùàÿñü ê
äîêóìåíòàöèè (åñëè îíà, êîíå÷íî, åñòü – ñì. áëèæàéøóþ ñíîñêó) òîëüêî â îñîáî
ñëîæíûõ ñëó÷àÿõ è çà÷àñòóþ íå íàõîäÿ òàì îòâåòà. Îáðàùåíèå æå ê «Ñîçäàòåëþ»
ïðîáëåìàòè÷íî. Íà hot-line ñèäÿò íå àâòîðû, à ïðîäàâöû
ïðîãðàìì, ÷òî äàëåêî íå îäíî è òî æå[4].
Íà ôèðìå, ïîääåðæèâàþùåé òîò èëè èíîé ïðîãðàììíûé ïðîäóêò, âàñ, ñêîðåå âñåãî,
ïîïðîñÿò ïåðåçâîíèòü ÷åðåç ïàðó äíåé, â òå÷åíèå êîòîðûõ òàì… ïðîâåäóò ñâîé
ýêñïåðèìåíò íàä ïðîãðàììîé è ïîïûòàþòñÿ íàéòè îòâåò. Äà è îáðàùåíèå ê àâòîðó
÷àñòî íè÷åãî íå äàåò, òàê êàê îí óæå çàáûë î ñâîåì äåòèùå è âñåöåëî ïîãëîùåí
íîâûì ïðîåêòîì. Äàæå åñëè ýòî íå ñîâñåì òàê, àâòîð ìîæåò íå ïîìíèòü âñåõ
ñâîéñòâ è íþàíñîâ ñâîåãî òâîðåíèÿ. Áîëåå òîãî, ñîçäàâàÿ ïðîãðàììó, ïðîãðàììèñò
ñàì íåïðåðûâíî ýêñïåðèìåíòèðóåò íàä
íåé, óäèâëÿÿñü åå íîâûì íåîæèäàííûì ñâîéñòâàì, äàëåêî íå âñå èç êîòîðûõ
óçàêîíèâàþòñÿ (ôèêñèðóþòñÿ â äîêóìåíòàöèè).
Èç-çà ýòîãî ïîëüçîâàòåëü
íåðåäêî (è íåâîëüíî) çàáûâàåò, ÷òî Ïðîãðàììà – ýòî òâîðåíèå óìà è ðóê
÷åëîâå÷åñêèõ (Âòîðàÿ Ïðèðîäà), ïîëàãàÿ íà óðîâíå ïîäñîçíàíèÿ, ÷òî ýòî ïëîä
ðàáîòû àíîíèìíîãî è íåäîñòóïíîãî «Ñîçäàòåëÿ» (Ïåðâàÿ Ïðèðîäà), ñ êîòîðûì íå
ñâÿæåøüñÿ ïî hot-line. Çäåñü, ïî-âèäèìîìó, è êðîåòñÿ îáúÿñíåíèå (íî íè â êîåì ñëó÷àå íå îïðàâäàíèå) øèðîêîìó ðàñïðîñòðàíåíèþ íåëåãàëüíîãî êîïèðîâàíèÿ
ïðîãðàìì. Èìåþòñÿ â âèäó íå CD-ROM òèïà «Âñå äëÿ îôèñà» – âîðîâñòâî
åñòü âîðîâñòâî. Ðå÷ü èäåò íå î òîðãîâöàõ «÷åðíûìè» äèñêàìè[5], à îá îòíîñèòåëüíî ÷åñòíûõ
ëþäÿõ, ñòàâÿùèõ íà ñâîé êîìïüþòåð ïðîãðàììó ñ òîãî æå «ïèðàòñêîãî» äèñêà, ÷òîáû
ïîçíàòü Ïðèðîäó è ïåðåäàòü ñâîè çíàíèÿ ñòóäåíòàì.
Ìîæíî ñ÷èòàòü, ÷òî íå
÷åëîâåê îòêðûë Çàêîíû Íåáåñíîé Ìåõàíèêè, à Ñîçäàòåëü, áðîñèâ ñâåðõó ÿáëîêî è
óãîäèâ èì ïî íüþòîíîâîé ãîëîâå, ïðèîòêðûë íàì îäíó èç òàéí ñâîåãî Áîæåñòâåííîãî
Çàìûñëà. Çàñëóãà ãåíèÿ (Íüþòîíà) çäåñü ëèøü â óìåíèè îêàçàòüñÿ â íóæíîå âðåìÿ[6] â íóæíîì ìåñòå. Ïðîãðàììû òîæå
êàê áû ïàäàþò ê íàì ñâåðõó. Îòñþäà è æèâó÷åñòü èäåè freeware, êîòîðîé ïðîòèâÿòñÿ â
ïåðâóþ î÷åðåäü ïðîäàâöû, à íå àâòîðû ïðîãðàìì. Êàê ãîâàðèâàëè â áûëûå âðåìåíà,
åñòü ìíåíèå, ÷òî Áîã (Àáñîëþòíûé
Âñåìèðíûé Ðàçóì) ñîçäàë ïî ñâîåìó îáðàçó è ïîäîáèþ íå òîëüêî ÷åëîâåêà, íî è
êîìïüþòåð. Ïèøóùèé äëÿ íåãî ïðîãðàììû
âäûõàåò äóøó â áåçæèçíåííîå íàãðîìîæäåíèå æåëåçîê. Òîðãîâëÿ òåëîì (òðàíñïëàíòàöèÿ îðãàíîâ, ïåðåëèâàíèå êðîâè, ïðîñòèòóöèÿ,
íàêîíåö) – ðåàëèÿ íàøèõ äíåé. Òåìà æå ïîêóïêè è ïðîäàæè äóøè âñòðå÷àåòñÿ òîëüêî â ìèôàõ è ëåãåíäàõ, à òàêæå â èõ
ëèòåðàòóðíûõ òðàêòîâêàõ (èñòîðèÿ Ôàóñòà, íàïðèìåð). Ïðèîáðåòàÿ ïðîãðàììíûé
ïðîäóêò, ìû îïÿòü æå ïîêóïàåì òîëüêî «òåëî» – äèñêè, äîêóìåíòàöèþ, èíôîðìàöèþ è
ñêèäêè ïî íîâûì âåðñèÿì, à ãëàâíîå – ïîñëåïðîäàæíûé ñåðâèñ.
Íî âåðíåìñÿ ê ñîâåòàì, åùå
ðàç îòìåòèâ, ÷òî âñëåäñòâèå íåèçáåæíûõ ýêñïåðèìåíòîâ íàä ïðîãðàììàìè äåëåíèå
ñîâåòîâ íà «ïðàâèëüíûå» è «íåïðàâèëüíûå» ñòàíîâèòüñÿ âåñüìà óñëîâíûì. Äàâàÿ
«âðåäíûå» ñîâåòû (ñì. äåòñêóþ êíèæêó Ã.Îñòåðà «Âðåäíûå ñîâåòû»), àâòîðû êàê áû
ãîâîðÿò ÷èòàòåëÿì: «”Äóìàéòå ñàìè, ðåøàéòå ñàìè – èìåòü èëè íå èìåòü” äàííûå
ïðèåìû â âàøåé ñîáñòâåííîé ïðîãðàììå». Ñëåäóþùóþ ãðóïïó ñîâåòîâ ìîæíî
îáúåäèíèòü ïîä äðóãèì «ïàòåíòîâàííûì» íàçâàíèåì: «Î÷óìåëûå ðó÷êè» (âñïîìíèì
òåëåïåðåäà÷ó «Ïîêà âñå äîìà»). Àâòîðû íàäåþòñÿ, ÷òî ÷èòàòåëü, îçíàêîìèâøèñü ñ
òåì èëè èíûì ñîâåòîì, ñêàæåò ñåáå: «Ìûñëü õîòü è ñïîðíàÿ, íî èíòåðåñíàÿ. À ÿ
ñäåëàþ ëó÷øå!».
Ïðîãðàììû ãîäÿòñÿ íå òîëüêî
äëÿ ðåøåíèÿ êîíêðåòíûõ ïðàêòè÷åñêèõ çàäà÷: èõ ìîæíî ðàññìàòðèâàòü è êàê íåêèå
çàíèìàòåëüíûå è ñëîæíûå ãîëîâîëîìêè, ïîäõîäÿùèå äëÿ âûñîêîèíòåëëåêòóàëüíîãî äîñóãà: «À ÷òî, èíòåðåñíî, ïîëó÷èòñÿ, åñëè
ÿ ñäåëàþ âîò òàê?! Íà ÷òî ýòîò ïðîãðàììèñòñêèé òðþê ñãîäèòñÿ, ÿ íå çíàþ, íî
ïðèåì çàáàâíûé».
È åùå îá àâòîðñòâå ýòîé
÷àñòè êíèãè. Ñîâåòû ðàáîòàþùèì íà êîìïüþòåðå â ÷åì-òî ïîäîáíû àíåêäîòàì.
Íàçâàòü àâòîðà òîãî èëè èíîãî óäà÷íîãî ñîâåòà èëè àíåêäîòà íå òàê-òî ïðîñòî:
àâòîð – íàðîä. ×èòàòåëü, îçíàêîìèâøèñü ñ òîé èëè èíîé ðåêîìåíäàöèåé, ìîæåò
ñêàçàòü: «À ÿ çíàþ áîëåå óäà÷íóþ êîíöîâêó àíåêäîòà, ïàðäîí, ñîâåòà – ýòó ïðîáëåìó â ñðåäå Mathcad
ìîæíî ðåøèòü ïðîùå è ýôôåêòèâíåå!» Äðóãàÿ ðåàêöèÿ: «Èíòåðåñíûé ïðèåì. ß
îáÿçàòåëüíî ïîçíàêîìëþ ñ íèì ñâîèõ êîëëåã (ïåðåñêàæó àíåêäîò) è âêëþ÷ó åãî â
ñâîè Mathcad-äîêóìåíòû!» Àâòîðû (à ýòî òîæå íàðîä) ãîòîâû è ê
òðåòüåé ðåàêöèè – íåéòðàëüíîé èëè îòðèöàòåëüíîé.  ëþáîì ñëó÷àå îíè áóäóò ðàäû
ïîëó÷èòü îòçûâû ÷èòàòåëåé, ðàñøèðÿþùèå è ñîâåðøåíñòâóþùèå ñîâåòû ïîëüçîâàòåëÿì Mathcad.
Ñíà÷àëà ïðåäïîëàãàëîñü
ðàçáèòü ñîâåòû íà ñåìü ÷åòêèõ ãðóïï, îõâàòûâàþùèõ ðàçëè÷íûå àñïåêòû ðàáîòû â ñðåäå
Mathcad. Íî îêàçàëîñü, ÷òî ïîäîáíóþ ãðàäàöèþ ïðîâåñòè íå òàê ïðîñòî. Îäèí è òîò
æå ñîâåò ìîæåò êàñàòüñÿ ðàçëè÷íûõ àñïåêòîâ ðàáîòû. Ïîýòîìó áûëî ðåøåíî ïîñëå
íàçâàíèÿ ñîâåòà äàâàòü ïèêòîãðàììû, ïîäñêàçûâàþùèå ÷èòàòåëþ, î ÷åì ïîéäåò ðå÷ü:
– ââîä-âûâîä èíôîðìàöèè;
– ðàáîòà ñ ïåðåìåííûìè, îïåðàòîðàìè è ôóíêöèÿìè,
âñòðîåííûìè è ïîëüçîâàòåëüñêèìè;
– îôîðìëåíèå Mathcad-äîêóìåíòîâ;
– ðàçìåðíîñòè âåëè÷èí;
– ñèìâîëüíàÿ ìàòåìàòèêà;
– ïðîãðàììèðîâàíèå;
– ãðàôèêà.
Êðîìå òîãî, äâå ïèêòîãðàììû îòìå÷àþò
ñëåäóþùèå îñîáåííîñòè ñîâåòîâ:
– íåäîêóìåíòèðîâàííûé ïðèåì, êîòîðûé ðåøàåò
îäíó ïðîáëåìó, íî ìîæåò ñîçäàòü íîâóþ;
– «Åñëè íåëüçÿ, íî î÷åíü õî÷åòñÿ, òî ìîæíî!»
– ýòà ïèêòîãðàììà îòìå÷àåò âïîëíå ëåãàëüíîå èñïîëüçîâàíèå ðàçëè÷íûõ ïðèåìîâ â
íîâîì íåîáû÷íîì ðàêóðñå.
Îñîáîãî ïîðÿäêà â
÷åðåäîâàíèè ñîâåòîâ íåò: èç òåêóùåãî ñîâåòà ìîãóò ïðîèçâîäèòüñÿ ññûëêè[7] êàê íà ïîñëåäóþùèå, òàê è
íà ïðåäûäóùèå ñîâåòû. Òàê ÷òî ÷èòàòåëü ìîæåò íà÷àòü çíàêîìñòâî ñ ñîâåòàìè íå ïî
ïîðÿäêó, à íàóãàä, âûáðàâ èç îãëàâëåíèÿ òî, ÷òî åãî áîëüøå çàèíòðèãîâàëî.
01
Íå èñïîëüçóéòå îïåðàòîð ïðèñâàèâàíèÿ.bmp
Ïàêåò Mathcad ÷àñòî íàçûâàþò ñóïåðêàëüêóëÿòîðîì: åñëè çà ââåäåííûì âûðàæåíèåì, ñîäåðæàùèì êîíñòàíòû, ïåðåìåííûå, îïåðàòîðû è ôóíêöèè, íàáðàòü «=» (çíàê ðàâåíñòâà), òî áóäåò âûâåäåí ÷èñëåííûé ðåçóëüòàò:
125 + a2 – sin(b) = 2.753
Åñòåñòâåííî, ïåðåìåííûå, âõîäÿùèå â âûðàæåíèå (â íàøåì ñëó÷àå ýòî a è b), äîëæíû áûòü îïðåäåëåíû çàðàíåå – èì ñëåäóåò ïðåäâàðèòåëüíî ïðèñâîèòü êàêîå-ëèáî ÷èñëîâîå çíà÷åíèå.
Îïåðàòîð ïðèñâàèâàíèÿ (ââîäà) â ñðåäå Mathcad èìååò ñèìâîë «:=». Åãî îáû÷íî íàáèðàþò, íàæèìàÿ òîëüêî êëàâèøó «:» (äâîåòî÷èå) – âòîðîé ñèìâîë (ðàâíî) ñèñòåìà Mathcad ëþáåçíî ïðèïå÷àòûâàåò ñàìà, ïåðåäâèãàÿ êóðñîð íà ìåñòî ââîäà âûðàæåíèÿ (placeholder):
Ñóòü ñîâåòà.
Ââîäÿ â Mathcad-äîêóìåíò îïåðàòîð
ïðèñâàèâàíèÿ[8], ñòîèò íàæèìàòü íå êëàâèøó «:», à êëàâèøó «=». Ðåçîí çäåñü â òîì, ÷òî
åñëè ïåðåìåííàÿ, ââåäåííàÿ äî ýòîãî, íå îïðåäåëåíà, òî îïåðàòîð «=» (âûâîä) àâòîìàòè÷åñêè
ïðåâðàùàåòñÿ â îïåðàòîð «:=» (ââîä). Åñëè æå ïåðåìåííàÿ,
êîòîðîé ïðèñâàèâàåòñÿ çíà÷åíèå, óæå îïðåäåëåíà, òî âûâîäèòñÿ åå ÷èñëåííîå
çíà÷åíèå. Ýòèì åùå ðàç ïðîâåðÿåòñÿ, ÷òî äàííàÿ ïåðåìåííàÿ ñâîáîäíà – åé íè ïîëüçîâàòåëåì, íè ñèñòåìîé ïîêà åùå íè÷åãî íå
ïðèñâîåíî. Òàê ìû îáåçîïàñèì ñåáÿ îò ðÿäà îøèáîê. Âî-ïåðâûõ, ìîæíî íåíàðîêîì
«èñïîðòèòü» êàêóþ-ëèáî ïðåäîïðåäåëåííóþ
ïåðåìåííóþ: å:=5, m:=1, A:=2. Ïåðåìåííàÿ å õðàíèò îñíîâàíèå
íàòóðàëüíîãî ëîãàðèôìà, à ïåðåìåííûå m è À – åäèíèöû èçìåðåíèÿ äëèíû (ìåòð) è ñèëû òîêà (àìïåð), ñîîòâåòñòâåííî.
Âî-âòîðûõ, ìîæíî çàáûòü, ÷òî êàêàÿ-ëèáî ïåðåìåííàÿ óæå «íàãðóæåíà»
ïîëüçîâàòåëåì, è ïðèñâîèòü åé ÷òî-òî íîâîå. Ñèòóàöèÿ, êîãäà ïåðåìåííàÿ â îäíîé
÷àñòè Mathcad-äîêóìåíòà èìååò îäíî çíà÷åíèå, à â äðóãîé – èíîå, íå ñîâñåì
íîðìàëüíà.
Ïðèåì ïåðåîïðåäåëåíèÿ ïåðåìåííûõ áûë â õîäó â òå âðåìåíà, êîãäà ïàìÿòü êîìïüþòåðà ÿâëÿëàñü ëèìèòèðóþùèì ïàðàìåòðîì ïðè ðåøåíèè çàäà÷ è êîãäà «îñâîáîäèâøóþñÿ» ïåðåìåííóþ ïðèõîäèëîñü íåìåäëåííî «çàãðóæàòü» õðàíåíèåì äðóãîé âåëè÷èíû.  íàñòîÿùåå âðåìÿ òàêèì îáðàçîì ïðèõîäèòñÿ ïîñòóïàòü ïðè ðàçìåùåíèè â ïàìÿòè êîìïüþòåðà îáúåìíûõ ìàññèâîâ (âåêòîðîâ è ìàòðèö, ïðîñòûõ è ñîñòàâíûõ).
Ðåæèì àâòîìàòè÷åñêîé çàìåíû îïåðàòîðà «=» íà îïåðàòîð «:=» (ïîäîáíûé ãèáðèä äâóõ îïåðàòîðîâ íàçûâàåòñÿ Smart Operator – «ñîîáðàçèòåëüíûé» îïåðàòîð) ìîæíî îòêëþ÷èòü ÷åðåç êîìàíäó Preference… ìåíþ View (ñì. â êîíöå ðèñóíêà äèàëîãîâîå îêíî, âûçûâàåìîå ýòîé êîìàíäîé).
Îïåðàòîð ââîäà ÷èñëîâîãî çíà÷åíèÿ ïåðåìåííîé ÿâëÿëñÿ è ÿâëÿåòñÿ íåêèì êàìíåì ïðåòêíîâåíèÿ äëÿ òåõ, êòî ëåò äåñÿòü íàçàä ïûòàëñÿ îñâîèòü Mathcad, íàñëûøàâøèñü î åãî íåîáûêíîâåííûõ ñïîñîáíîñòÿõ ëåãêî ñòðîèòü ãðàôèêè, ðåøàòü óðàâíåíèÿ è ñèñòåìû. Ëþäè ïî ïðèâû÷êå, âûðàáîòàííîé ðàáîòîé ñ ÿçûêàìè fortran èëè BASIC, íàáèðàëè â ñðåäå Mathcad «a=» âìåñòî «a:» è… îòêàçûâàëèñü îò äàëüíåéøåé ðàáîòû èç-çà âîçíèêàâøåé íåïîíÿòíîé îøèáêè – ñèñòåìà Mathcad ñîîáùàëà, ÷òî ïåðåìåííàÿ a íå îïðåäåëåíà. Åå ïûòàëèñü îïðåäåëèòü îïåðàòîðîì çàäàíèÿ òèïà ïåðåìåííîé, íî òàêîãî â ñðåäå Mathcad íå áûëî è íåò. Ôèðìà MathSoft òîëüêî â ñåäüìîé âåðñèè «ñäàëàñü» è ïåðåñòàëà äîáèâàòüñÿ îò ïîëüçîâàòåëåé íàáèðàòü «à:» âìåñòî áîëåå ïðèâû÷íîãî è åñòåñòâåííîãî «a=». Òåïåðü ìàÿòíèê êà÷íóëñÿ â îáðàòíóþ ñòîðîíó: ïåðâûì ñîâåòîì íàñòîÿùåé êíèãè ðåêîìåíäóåòñÿ äëÿ ââîäà çíà÷åíèÿ ïåðåìåííîé íàáèðàòü íå «à:», à «à=». Ìîæíî áûëî áû ïîðåêîìåíäîâàòü ðàçðàáîò÷èêàì Mathcad âîîáùå èñêëþ÷èòü îïåðàòîð «:=» èç àðñåíàëà ýòîãî ïàêåòà, åñëè áû íå íåîáõîäèìîñòü èñïîëüçîâàíèÿ åãî äëÿ èçìåíåíèÿ çíà÷åíèÿ ïðåäîïðåäåëåííîé ïåðåìåííîé è äëÿ îáúÿâëåíèÿ ôóíêöèè ïîëüçîâàòåëÿ. Õîòÿ è çäåñü ìîæíî îáîéòèñü áåç ââîäà îïåðàòîðà «:=», ñêîïèðîâàâ åãî â äðóãîì ìåñòå, ãäå îí áûë ñîçäàí îïåðàòîðîì «=».
Ïðèìå÷àíèå. Íà ðèñóíêå ïîêàçàí Mathcad-äîêóìåíò â ðåæèìå, êîãäà îòäåëüíûå îïåðàòîðû èìåþò áåëóþ ïîäëîæêó íà ñåðîì ôîíå.  òàêîì ðåæèìå áóäóò ïîêàçàíû òå Mathcad-äîêóìåíòû, ÷òåíèå êîòîðûõ ïðè ýòîì îáëåã÷àåòñÿ: áåëîå îáðàìëåíèå íà ñâåòëî-ñåðîì ôîíå ÷åòêî îáðèñîâûâàåò îòäåëüíûå îïåðàòîðû.
Íåïðîíóìåðîâàííûé ñîâåò. Íà÷èíàþùåìó ïîëüçîâàòåëþ Mathcad æåëàòåëüíî ðàáîòàòü â ðåæèìå ôîíîâîãî âûäåëåíèÿ îïåðàòîðîâ Mathcad-äîêóìåíòà (ñì. ðèñóíîê). Ýòî îñîáåííî ïîëåçíî, êîãäà íà îäíîé ñòðîêå áëèçêî äðóã îò äðóãà ðàñïîëîæåíî íåñêîëüêî îïåðàòîðîâ è íå âñåãäà ÿñíî, ãäå êîí÷àåòñÿ îäèí è íà÷èíàåòñÿ äðóãîé. Ýòîò ðåæèì ïðîñìîòðà (ïîêàçà) Mathcad-äîêóìåíòà çàâèñèò îò ïîëîæåíèÿ ïåðåêëþ÷àòåëÿ Regions ìåíþ View.
Ïðèìå÷àíèå.  ñðåäå Mathcad 2000 ñèìâîëû îïåðàòîðîâ «=» è «:=» ñòàëî âîçìîæíûì ïðîïèñûâàòü îäèíàêîâî: «=».
02
Ñèìâîëüíûé âûâîä âìåñòî ÷èñëîâîãî.bmp
Èíîãäà âìåñòî îïåðàòîðà «=» (âûâîä ÷èñëîâîãî çíà÷åíèÿ âûðàæåíèÿ èëè ïåðåìåííîé ¾ ñì. ñîâåò 1)
ñòîèò èñïîëüçîâàòü îïåðàòîð «®» (âûâîä ñèìâîëüíîãî çíà÷åíèÿ). Íà ðèñóíêå[9] ïîêàçàíû òðè ðåçîíà òàêîé
çàìåíû:
• Ïóíêò 1: îïåðàòîð «=» âûâîäèò äî 15 çíàêîâ â ìàíòèññå (ñì., íàïðèìåð,
îêíî ôîðìàòèðîâàíèÿ ÷èñåë íà ðèñóíêå ê ñîâåòó
7);
îïåðàòîð «®» – äî 250 (íà íàøåì ðèñóíêå äâàäöàòü
çíàêîâ – êëþ÷ êëþ÷åâîãî ñëîâà float[10]).
• Ïóíêò 2: îïåðàòîð «®» ïîçâîëÿåò ïîëó÷àòü àáñîëþòíî òî÷íûå îòâåòû çà ñ÷åò âûâîäà
âñåõ çíà÷àùèõ öèôð (ïóíêò 2.2) èëè çà ñ÷åò ïðåäñòàâëåíèÿ ÷èñëà â âèäå ïðîñòîé
äðîáè (ïóíêò 2.4).
• Ïóíêò 3: îïåðàòîð «®» â ñî÷åòàíèè ñ îïåðàòîðîì k := k (ëèøåíèå ïåðåìåííîé åå ÷èñëåííîãî çíà÷åíèÿ â
îòíîøåíèè îïåðàòîðà ñèìâîëüíîé ìàòåìàòèêè) ïîçâîëÿåò âûâåñòè ÷èñëåííûé îòâåò,
âêëþ÷àþùèé ñèìâîëüíûå êîíñòàíòû (ýòîãî, ïðàâäà, ìîæíî äîáèòüñÿ, ïðîñòî
ïðèïå÷àòàâ ïåðåìåííóþ ê îòâåòó íà ìàíåð åäèíèö èçìåðåíèÿ ôèçè÷åñêîé âåëè÷èíû –
ñì. ïóíêò 2 íà ðèñóíêå ê ñîâåòó 4).
Âíèìàíèå! Íà ðèñóíêå â
ïóíêòå 3.2 çàïèñàíî 123/2, à íå 66.5: äëÿ ñèìâîëüíîé ìàòåìàòèêè Mathcad – ýòî ðàçíûå ÷èñëà. Åñëè áû
â ïóíêòå 3.2 áûëî áû çàïèñàíî 66.5, òî è îòâåò áû áûë äðóãîé –
259.5×k. Ñèìâîëüíûé îòâåò íåîáõîäèìî ïðåäâàðÿòü «ñèìâîëüíûì» âîïðîñîì.
 êîíöå ðèñóíêà äàííîãî ñîâåòà
ïîêàçàíû åùå òðè ïðèìåðà òîãî, ÷òî â ðÿäå ñëó÷àåâ ñèìâîëüíàÿ ìàòåìàòèêà Mathcad
íå òîëüêî òî÷íåå âû÷èñëèòåëüíîé (ñì. âûøå), íî è òîãî, ÷òî ñèìâîëüíàÿ
ìàòåìàòèêà èñïðàâëÿåò ôàêòè÷åñêèå îøèáêè ìàòåìàòèêè âû÷èñëèòåëüíîé. Ó ïîñëåäíåé
îäíî äîñòîèíñòâî – îíà ðàáîòàåò íàìíîãî áûñòðåå, â ÷àñòíîñòè, çà ñ÷åò
îïòèìèçàöèè ïðîèçâåäåíèÿ. Ôóíêöèÿ f(x) ïðè x=0 âûäàåò «âû÷èñëèòåëüíûé»
íóëü, à íå ñîîáùåíèå îá îøèáêå («ñèìâîëüíûé» îòâåò) èç-çà òîãî, ÷òî
âû÷èñëèòåëüíàÿ ìàòåìàòèêà Mathcad âûäàåò íóëü, åñëè ïåðâûé ñîìíîæèòåëü ðàâåí
íóëþ. Ñèìâîëüíàÿ ìàòåìàòèêà â ýòîì ñëó÷àå ïðîâåðèò, ÷åìó ðàâíû îñòàëüíûå
ñîìíîæèòåëè. Òàêîé æå ïàðàäîêñ íàáëþäàåòñÿ ïðè ïîïûòêå èíâåðòèðîâàíèÿ
ñèíãóëÿðíîé ìàòðèöû (ïóíêò 2). Íóæíî òàêæå ïîìíèòü î òîì, ÷òî «áåñêîíå÷íîñòü»
âû÷èñëèòåëüíîé ìàòåìàòèêè è «áåñêîíå÷íîñòü ìàòåìàòèêè àíàëèòè÷åñêîé – ýòî
ðàçíûå âåùè (ñì. ïóíêò 3).
03
Ñî÷åòàíèå âûâîäà ñèìâîëüíîãî è àíàëèòè÷åñêîãî çíà÷åíèé.bmp
Èíîãäà ñòîèò íå ïðîòèâîïîñòàâëÿòü îïåðàòîðû âûâîäà ñèìâîëüíîãî è ÷èñëåííîãî îòâåòîâ (ñì. ñîâåò 2),
à ñî÷åòàòü èõ â îäíîì âûðàæåíèè. Íà ðèñóíêå äàåòñÿ òðè ïðèìåðà
òàêîãî ñî÷åòàíèÿ:
·
Ïóíêò
1: ïðè âû÷èñëåíèè ìîæíî îäíîâðåìåííî ïîëó÷èòü îòâåò â âèäå è ïðîñòîé è äåñÿòè÷íîé äðîáè.
·
ïóíêò 2: ïðè ðåøåíèè àëãåáðàè÷åñêîãî óðàâíåíèÿ ìîæíî ïîëó÷èòü è
àáñîëþòíî òî÷íûå è ïðèáëèæåííûå, íî «ãîâîðÿùèå» îòâåòû («ãîâîðÿùèå» â òîì
ñìûñëå, ÷òî ìåñòîïîëîæåíèå êîðíåé íà ÷èñëîâîé îñè âèäíî ñðàçó).
·
ïóíêò 3: âû÷èñëåíèå âûðàæåíèÿ ìîæíî ïðåäâàðèòü åãî óïðîùåíèåì. Òàêóþ
ðàáîòó âûïîëíÿåò ðåæèì Optimize,
íî â íàøåì ïðèìåðå ìû îïÿòü æå îäíîâðåìåííî âèäèì è àíàëèòè÷åñêèé (ïîëèíîì
÷åòâåðòîé ñòåïåíè) è ÷èñëîâîé îòâåòû.
Ñì. òàêæå ïóíêò ??? â ãëàâå «Mathcad
ÌÌ: íîâàÿ ïðîãðàììà – íîâûå âîçìîæíîñòè», ãäå
ðàññìàòðèâàåòñÿ íåîáõîäèìîñòü íå îäèíî÷íîãî, à «ñåðèéíîãî» èñïîëüçîâàíèÿ
îïåðàòîðà âûâîäà ÷èñëîâîãî çíà÷åíèÿ. «Ñåðèéíûé» âûâîä ñèìâîëüíîãî çíà÷åíèÿ â
ðåàëüíîé, à íå â ôàíòàñòè÷åñêîé ñðåäå Mathcad äîïóñòèì. Òàê, íàïðèìåð, ïðè
ðåøåíèè àëãåáðàè÷åñêîãî óðàâíåíèÿ ìîæíî ñíà÷àëà âûâåñòè àíàëèòè÷åñêîå ðåøåíèå,
à çàòåì è ÷èñëîâîå – ñì. êîíåö ðèñóíêà.
04 Êîíñòàíòà â ÷èñëîâîì îòâåòå.bmp
Ìíîãèå ïîëüçîâàòåëè íå çíàþò, ÷òî ó îñíîâíîãî îïåðàòîðà Mathcad «=» (îïåðàòîðà âûâîäà ÷èñëîâîãî çíà÷åíèÿ – ñì. ñîâåò 1) íå îäèí, à äâà îïåðàíäà:
˜ = ˜[˜]
 ïåðâûé (ëåâûé) êâàäðàòèê (placeholder – äåðæàòåëü ìåñòà äëÿ îïåðàíäà) ïîëüçîâàòåëü Mathcad çàïèñûâàåò àëãåáðàè÷åñêîå âûðàæåíèå (èëè ïåðåìåííóþ), ÷èñëåííîå çíà÷åíèå êîòîðîãî ïîÿâëÿåòñÿ âî âòîðîì (ñðåäíåì) êâàäðàòèêå (ñì. ñîâåò 1).  òðåòèé (ïðàâûé) êâàäðàòèê ïîëüçîâàòåëü ìîæåò (êâàäðàòíûå ñêîáêè ïîä÷åðêèâàþò íåîáÿçàòåëüíîñòü ýòîãî îïåðàíäà) çàïèñàòü ëþáóþ êîíñòàíòó èëè ïåðåìåííóþ, îïðåäåëåííóþ ê äàííîìó ìîìåíòó. Îáû÷íî òóäà çàïèñûâàþò âñòðîåííûå èëè ïîëüçîâàòåëüñêèå (ñì. ñîâåò 16) åäèíèöû èçìåðåíèÿ ôèçè÷åñêèõ âåëè÷èí, ïîëó÷àÿ ðàçíûå îòâåòû (ñì. ãëàâó «Mathcad è ðàçìåðíîñòè ôèçè÷åñêèõ âåëè÷èí»):
D = 200×cm, èëè D = 2×m
Íà ðèñóíêå ïîêàçàíî äâà äðóãèõ ïðèìåðà ïîäñòàíîâêè êîíñòàíòû â ÷èñëîâîé îòâåò:
• Ïðèìåð 1. Â ìóëüòôèëüìå
«Òðèäöàòü âîñåìü ïîïóãàåâ» Óäàâà èçìåðÿþò ïîïóãàÿìè, ìàðòûøêàìè è ñëîíàìè. Åñëè
çàäàòü (ïîäîáðàòü) ðàçìåðû æèâîòíûõ, òî Óäàâ «óêëàäûâàåòñÿ» â ïÿòü ìàðòûøåê,
èëè â äâà ñëîíà, èëè â 38 ïîïóãàåâ è åùå îäíî ïîïóãàéñêîå êðûëûøêî. «À â
ïîïóãàÿõ-òî ÿ ãîðàçäî äëèííåå!».
• Ïðèìåð 2. Â êîðíÿõ
òðèãîíîìåòðè÷åñêèõ óðàâíåíèé íåðåäêî «ñïðÿòàíî» ÷èñëî p. Åñëè ýòî ÷èñëî ïîäñòàâèòü â êà÷åñòâå íåîáÿçàòåëüíîãî îïåðàíäà
îïåðàòîðà «=», òî, âî-ïåðâûõ, ìîæíî ïðè ÷èñëåííîì ðåøåíèè íàéòè àáñîëþòíî òî÷íûé
îòâåò (îäíà ÷åòâåðòàÿ p, à íå 0.7855…), à âî-âòîðûõ, íàéòè âñå îòâåòû (îäíà ÷åòâåðòàÿ p ñ ïåðèîäîì 1).  îòâåò, êàê ìû âèäèì, ìîæíî ïîäñòàâëÿòü íå òîëüêî
êîíñòàíòû è ïåðåìåííûå, íî è âûðàæåíèÿ – p, 2 × p, 3 × p è ò.ä.
Äàííûé ñîâåò íàçâàí «Êîíñòàíòà â ÷èñëîâîì îòâåòå». Íî åãî ìîæíî
îçàãëàâèòü è òàê «Ðàçáèåíèå ÷èñëîâîãî îòâåòà íà ñîìíîæèòåëè».  òàêîì
ïðîèçâåäåíèè, êàê ïðàâèëî, ïåðâûé ñîìíîæèòåëü ýòî ÷èñëîâàÿ êîíñòàíòà, à âòîðîé –
åäèíèöà èçìåðåíèÿ ôèçè÷åñêîé âåëè÷èíû: 25 km, 45.5 êã è ò.ä.  ïóíêòå 26
ãëàâû «Mathcad ÌÌ: íîâàÿ ïðîãðàììà – íîâûå âîçìîæíîñòè» îáñóæäàåòñÿ íåîáõîäèìîñòü ðàçáèåíèÿ îòâåòà íå
òîëüêî íà ñîìíîæèòåëè, íî è íà ñëàãàåìûå.
05 Òèïîâàÿ òðîéêà îïåðàòîðîâ.bmp
Ââåðõó íà ðèñóíêå ïðåäñòàâëåí òèïîâîé ôðàãìåíò Mathcad-äîêóìåíòà ñ çàãîëîâêîì «Èñõîäíûé âàðèàíò ðàñ÷åòà»: ïîëüçîâàòåëü ïèøåò òåêñò, êîììåíòèðóþùèé äàëüíåéøèå äåéñòâèÿ (Âðåìÿ), ââîäèò â ðàñ÷åò ïåðåìåííóþ (t), ïðèñâàèâàÿ åé ÷èñëîâîå çíà÷åíèå ñ åäèíèöåé èçìåðåíèÿ âðåìåíè (360 ñåêóíä), è âûâîäèò åå «íà ïå÷àòü», ñîïðîâîäèâ äëÿ ðàçíîîáðàçèÿ äðóãîé åäèíèöåé èçìåðåíèÿ âðåìåíè (ìèíóòû). Òàêèìè òðîéêàìè îïåðàòîðîâ[11] ìîæíî çàïîëíèòü âåñü Mathcad-äîêóìåíò, ðåøèâ ïîñòàâëåííóþ çàäà÷ó (ðàñ÷åò ñêîðîñòè, êàê íà íàøåì ðèñóíêå). Íåóäîáñòâî òàêîé òåõíîëîãèè ñîñòîèò â òîì, ÷òî ïðè ïåðåíîñå ôðàãìåíòîâ íà íîâîå ìåñòî ìîæíî îïåðàòîðû, âõîäÿùèå â íåãî, «ðàñòåðÿòü ïî äîðîãå». Êðîìå òîãî, åñëè îïåðàòîð âûâîäà («=») ðàñïîëîæèòü ÷óòü-÷óòü âûøå îïåðàòîðà ââîäà («:=»), òî íàðóøèòñÿ ïðè÷èííî-ñëåäñòâåííàÿ ñâÿçü è ïîÿâèòñÿ ñîîáùåíèå îá îøèáêå: «Ïåðåìåííàÿ èìÿðåê íå îïðåäåëåíà».
Íåïðîíóìåðîâàííûé ñîâåò. Ïðè íàïèñàíèè íîâîãî Mathcad-äîêóìåíòà ñëåäóåò ðàñïîëàãàòü îïåðàòîðû ñòîëáèêîì, ïî îäíîìó íà êàæäîé ñòðîêå.  ãîòîâîì äîêóìåíòå ìîæíî áóäåò ïåðåéòè «îò ëèíèè ê ïîâåðõíîñòè», ðàñïîëîæèâ ïî íåñêîëüêî îïåðàòîðîâ íà îäíîé ñòðîêå äîêóìåíòà è ñäåëàâ åãî òåì ñàìûì áîëåå êîìïàêòíûì, ñîîòâåòñòâóþùèì åâðîïåéñêîé òðàäèöèè: ñíà÷àëà ïèøóò ñëåâà íàïðàâî äî êðàÿ ñòðàíèöû è òîëüêî ïîòîì ïåðåõîäÿò íà íîâóþ ñòðîêó. ( ñðåäå Mathcad ìîæíî ïåðåéòè íå òîëüêî îò «ëèíèè» ê «ïîâåðõíîñòè», íî è ê «îáúåìó», êîãäà îäèí îïåðàòîð íàêðûâàåò äðóãîé. Òàêîé «îáúåìíûé» äîêóìåíò ïîëó÷àåòñÿ, êîãäà âûäåëåííûé ðÿä (ñòîëáåö) îïåðàòîðîâ ïî îøèáêå èëè ñïåöèàëüíî âûðàâíèâàåòñÿ ïî âåðòèêàëè (ãîðèçîíòàëè).
Âíèçó ðèñóíêà îòîáðàæåíà äðóãàÿ òåõíîëîãèÿ âåäåíèÿ ðàñ÷åòà: ïèøåòñÿ êîììåíòàðèé (Âðåìÿ) ñ øåñòüþ ïðîáåëàìè íà êîíöå. Äàëåå â ñåðåäèíó öåïî÷êè ïðîáåëîâ è â åå êîíåö âñòàâëÿþòñÿ ìàòåìàòè÷åñêèå îáëàñòè (êîìàíäà Math Region â ìåíþ Insert), à â íèõ – îïåðàòîðû ââîäà è âûâîäà. Ïîëó÷åííûé òàêèì îáðàçîì êîíãëîìåðàò (òåêñò, òðè ïðîáåëà, îïåðàòîð ââîäà, òðè ïðîáåëà è îïåðàòîð âûâîäà) ìîæíî áåç îïàñêè ïåðåòàñêèâàòü ñ ìåñòà íà ìåñòî. Òðè íèæíèõ îïåðàòîðà ðèñóíêà, ñîñòàâëÿþùèõ íåêèé ñìûñëîâîé ôðàãìåíò ðàñ÷åòà, ìîæíî, â ñâîþ î÷åðåäü, ïðåâðàòèòü â îäèí îïåðàòîð: òåêñò, ñîñòîÿùèé èç òðåõ ñòðîê, â êîòîðûå âñòàâëåíû øåñòü ìàòåìàòè÷åñêèõ îáëàñòåé (òðè îïåðàòîðà ââîäà è òðè îïåðàòîðà âûâîäà). Ìîæíî ïîïûòàòüñÿ è âåñü ðàñ÷åò «çàïèõíóòü» â îäèí òåêñòîâûé êîììåíòàðèé, íî òàêîé îáúåäèíåííûé îïåðàòîð ñòàíîâèòñÿ òðóäíî ðåäàêòèðîâàòü: âî âñåì íóæíî çíàòü ìåðó.
Ìàòåìàòè÷åñêèå âñòàâêè â êîììåíòàðèè îòëè÷àþòñÿ îò òåêñòà, âî-ïåðâûõ, öâåòîì è øðèôòîì (óìîë÷àíèå Mathcad). Âî-âòîðûõ, â ðåæèìå ôîíîâîãî âûäåëåíèÿ ìàòåìàòè÷åñêèå âñòàâêè èìåþò áîëåå øèðîêîå áåëîå îáðàìëåíèå: íà ðèñóíêå ýòîò áåëûé ôîí ó ìàòåìàòè÷åñêèõ ôîðìóë ñïåöèàëüíî ðàñøèðåí ïðè äîðàáîòêå ðèñóíêà â ñðåäå ãðàôè÷åñêîãî ðåäàêòîðà.
06 Ââîä èñõîäíûõ äàííûõ ñ ïðîâåðêîé.bmp
Êàê ïðàâèëî, ïåðåìåííàÿ,
ââîäèìàÿ â ðàñ÷åò, äîëæíà èìåòü îãðàíè÷åííûé äèàïàçîí ðàçóìíûõ çíà÷åíèé, â
êîòîðûé ïîëüçîâàòåëü ìîæåò ïî îøèáêå íå ïîïàñòü. Â òàêîé ñèòóàöèè öåëåñîîáðàçíî
îðãàíèçîâàòü ïðîâåðêó ïðàâèëüíîñòè ââåäåííîãî
çíà÷åíèÿ. Íà ðèñóíêå ïîëüçîâàòåëÿ «ïðîñÿò» ïðèñâîèòü ïåðåìåííîé t çíà÷åíèå êîìíàòíîé òåìïåðàòóðû, êîòîðàÿ íå îïóñêàåòñÿ íèæå, äîïóñòèì,
ìèíóñ 20 ãðàäóñîâ Öåëüñèÿ (çäåñü îïåðàòîð àðèôìåòè÷åñêîãî ñëîæåíèÿ âûïîëíÿåò
ôóíêöèþ ëîãè÷åñêîãî ñëîæåíèÿ – ñì. ñîâåò 12 è ïóíêò ??? â ãëàâå Mathcad 2000: ïåðâûå
âïå÷àòëåíèÿ) è íå ïîäíèìàåòñÿ âûøå ïëþñ ñîðîêà ãðàäóñîâ (î ãðàäóñàõ Öåëüñèÿ ñì.
â ñîâåòå
64). Åñëè æå ïîëüçîâàòåëü íåíàðîêîì îøèáåòñÿ è íå ïîïàäåò â îãîâîðåííûé
äèàïàçîí, òî â ïåðåìåííóþ t áóäåò çàïèñàíî òåêñòîâîå
çíà÷åíèå (“Íå ìîæåò òàêîãî
áûòü!”),
êîòîðîå çàáëîêèðóåò äàëüíåéøèå ðàñ÷åòû.
Âòîðîå âûðàæåíèå ñ ôóíêöèåé if çàêëþ÷åíî â ðàìêè (íàõîäèòñÿ âíóòðè îáëàñòè Mathcad-äîêóìåíòà – ñì. ñîâåò 62), êîòîðûå çàõëîïûâàþòñÿ, ÷òîáû íå ñìóùàòü ïîëüçîâàòåëÿ – ñì. êîìàíäó Collapse èç êîíòåêñòíîãî ìåíþ, êîòîðîå «âûïàäàåò», åñëè âíóòðü îáëàñòè ïîìåñòèòü êóðñîð è íàæàòü ïðàâóþ êíîïêó ìûøêè. Ñàìà îáëàñòü (äâå ãîðèçîíòàëüíûå ëèíèè) âñòàâëÿåòñÿ êîìàíäîé Area â ìåíþ Insert.
07
Ââîä îáúåìíîé ìàòðèöû ñ òèïîâûìè ýëåìåíòàìè.bmp
Äëÿ ââîäà â ðàñ÷åò âåêòîðà èëè ìàòðèöû (ìàññèâà) îáû÷íî ïðèáåãàþò ê
êîìàíäå Matrix… â ìåíþ Insert
(èëè íàæèìàþò êíîïêó ñ èçîáðàæåíèåì ìàòðèöû). Ïîñëå ýòîãî íà äèñïëåå ïîÿâèòñÿ
äèàëîãîâîå îêíî ñ çàïðîñîì î ÷èñëå ñòðîê è ñòîëáöîâ ñîçäàâàåìîé ìàòðèöû. Ýòîò
ïóòü èìååò ðÿä íåóäîáñòâ. Âî-ïåðâûõ, ðàçìåð ìàòðèöû, ââîäèìîé òàêèì ñïîñîáîì,
îãðàíè÷åí 100 ýëåìåíòàìè, â òî âðåìÿ êàê ìàòðèöà ìîæåò ñîäåðæàòü äî 8 ìèëëèîíîâ
ýëåìåíòîâ (îãðàíè÷åíèå Mathcad). Òàêóþ ïðîáëåìó ìîæíî
ðåøèòü, ñîçäàâ íåñêîëüêî ìàëåíüêèõ ìàòðèö è «ñêëåèâ» èõ â îäíó áîëüøóþ
ôóíêöèÿìè stack è augment (ñì. ñîâåò 13).
Âòîðîå íåóäîáñòâî ñâÿçàíî ñ òåì, ÷òî â ñîçäàííîé ÷åðåç êîìàíäó Matrix ìàòðèöå âñå ýëåìåíòû ïóñòûå
è èõ ïðèõîäèòñÿ ââîäèòü âðó÷íóþ. Èç-çà ýòîãî, íàâåðíîå, è ââåäåíî îãðàíè÷åíèå
íà 100 ýëåìåíòîâ, êîòîðûå åùå ìîæíî ââåñòè ñ êëàâèàòóðû. Áîëüøîå êîëè÷åñòâî
ýëåìåíòîâ òðåáóåò èíîé òåõíîëîãèè ââîäà, ïðèìåð êîòîðîé ñîñòàâëÿåò ñóòü äàííîãî
ñîâåòà.
 Mathcad-äîêóìåíòå íà ðèñóíêå àâòîìàòè÷åñêè ñîçäàåòñÿ è âûâîäèòñÿ íà
äèñïëåé îáúåìíàÿ ìàòðèöà, ñîäåðæàùàÿ òèïîâîé
ýëåìåíò (â íàøåì ñëó÷àå ýòî 1.0). Ðàçìåð ìàòðèöû òàêæå
çàäàåòñÿ ïîëüçîâàòåëåì[12]. Çàòåì ýòà ìàòðèöà êîïèðóåòñÿ â ïðàâûé îïåðàíä îïåðàòîðà
ïðèñâàèâàíèÿ è ðåäàêòèðóåòñÿ: 1.0 çàìåíÿåòñÿ íà ÷òî-ëèáî
äðóãîå. Çäåñü ìû ïðåäïîëîæèëè, ÷òî ýëåìåíòû ìàòðèöû – ýòî ÷èñëà â èíòåðâàëå îò 1
äî 2. Íàì íå íóæíî áóäåò ââîäèòü âðó÷íóþ åäèíèöû è òî÷êè – äîñòàòî÷íî
îòðåäàêòèðîâàòü íóëü. Ìîæíî â ìàòðèöó-ïîëóôàáðèêàò çàïèñàòü ðàçíûå ÷èñëà,
âîñïîëüçîâàâøèñü ôóíêöèåé Matrix èëè òåõíîëîãèåé, îïèñàííîé
â ñîâåòå 8. Ïðè âûâîäå ìàòðèöû Ì äëÿ äàëüíåéøåãî åå êîïèðîâàíèÿ âàæíî ïðàâèëüíî åå îòôîðìàòèðîâàòü. Âíèçó íà ðèñóíêå ïîêàçàí ôðàãìåíò îêíà
ôîðìàòèðîâàíèÿ, ãäå ïîëüçîâàòåëü îòìå÷àåò, ÷òî:
· çà äåñÿòè÷íîé òî÷êîé
âûâîäèòñÿ îäèí çíàê (Displayed precision
– ïî óìîë÷àíèþ ïîêàçûâàþòñÿ òðè çíàêà, ìàêñèìàëüíîå êîëè÷åñòâî çíàêîâ – 15);
· íåîáõîäèìî ïîêàçûâàòü òàêæå
è íåçíà÷àùèå íóëè (1.0, à íå ïðîñòî 1 – Show trailing zeros); ïî óìîë÷àíèþ òàêèå íóëè íå ïîêàçûâàþòñÿ;
· ìàòðèöó íóæíî ïîêàçûâàòü
âñþ â âèäå ìàòðèöû (Matrix), à íå â âèäå òàáëèöû ñ ïîëîñàìè ïðîêðóòêè (ñì.
ðèñóíîê ê ñîâåòó 8); ïî óìîë÷àíèþ ñèñòåìà Mathcad ñàìà
âûáèðàåò ôîðìó ïîêàçà ìàòðèö[13].
Íåïðîíóìåðîâàííûé
ñîâåò.
Ïîäîáíóþ ìàòðèöó ëó÷øå ñîçäàòü, ñ÷èòàâ ôàéë ñ äèñêà (ñì. ñîâåò 57) èëè âíåäðèâ â Mathcad-äîêóìåíò òàáëèöó Excel
÷åðåç êîìàíäó Component… èç ìåíþ
Insert. Ýòà
êîìàíäà, ÷åñòíî ãîâîðÿ, ñâîäèò íà íåò öåííîñòü äàííîãî ñîâåòà. Äåëî â òîì, ÷òî
â ñðåäå Excel åñòü ñðåäñòâà áûñòðîãî çàïîëíåíèÿ ìàòðèö íå òîëüêî îäèíàêîâûìè
çíà÷åíèÿìè, íî è çíà÷åíèÿìè, ïî îïðåäåëåííîìó çàêîíó (ïî ïðîãðåññèè).
08
Âûâîä îáúåìíîé ìàòðèöû.bmp
Íåêîòîðûå çàòðóäíåíèÿ ìîãóò âîçíèêàòü íå òîëüêî ïðè ââîäå îáúåìíîé ìàòðèöû (ñì. ñîâåò
7),
íî è ïðè åå âûâîäå íà ýêðàí äèñïëåÿ è
íà áóìàãó ïðèíòåðà. Ïî óìîë÷àíèþ íà äèñïëåé âûâîäèòñÿ òîëüêî ëåâûé âåðõíèé óãîë
îáúåìíîé ìàòðèöû â âèäå òàáëèöû,
áîêîâèê êîòîðîé õðàíèò íîìåðà ñòðîê, à øàïêà – íîìåðà ñòîëáöîâ (íà ðèñóíêå ê ñîâåòó 7
ýòî óìîë÷àíèå ìû íàðóøèëè). Åñëè ìàòðèöà íå âûâîäèòñÿ âñÿ ñðàçó, òî ñïðàâà è
âíèçó âûâåäåííîé òàáëèöû ïîìåùàþòñÿ ïîëîñû âåðòèêàëüíîé è ãîðèçîíòàëüíîé
ïðîêðóòêè ñ áåãóíêîì, äâèãàÿ êîòîðûé ìîæíî ïîñëåäîâàòåëüíî ïðîñìîòðåòü âñþ
âûâåäåííóþ ìàòðèöó: òåõíîëîãèÿ ñêðîëëèíãà òàáëèöû. Äðóãîé ñëó÷àé – âûâîä
îáúåìíîé ìàòðèöû íå â âèäå òàáëèöû, à â âèäå ìàòðèöû (ñì. ñîâåò 7) è ïðîñìîòð åå óæå ñ ïîìîùüþ ïîëîñ
ïðîêðóòêè ñàìîãî îêíà Mathcad-äîêóìåíòà.
Åñëè æå îáúåìíàÿ ìàòðèöà
âûâîäèòñÿ íà ïå÷àòü (à íà ëèñòå áóìàãè íåò, ê ñîæàëåíèþ, ïîëîñ ïðîêðóòêè), òî
ìîæíî ðåêîìåíäîâàòü ðàñïå÷àòàòü íåñêîëüêî
ðàç ìàòðèöó-òàáëèöó, âûñòàâèâ ïðåäâàðèòåëüíî ñ ïîìîùüþ áåãóíêà îòäåëüíûå åå
÷àñòè – ñì. ðèñóíîê, ãäå ìàòðèöà Ì òðè ðàçà âûâåäåíà òàêèì îáðàçîì, ÷òî âèäíû âñå åå ýëåìåíòû.
09 Íå ïðîïóñêàéòå çíàêà óìíîæåíèÿ.bmp
 ñðåäå Mathcad äîïóñòèìî íå ñòàâèòü çíàê óìíîæåíèÿ ìåæäó ñîìíîæèòåëÿìè. Ýòîò
ïðèåì êàê áû åùå áîëüøå ïðèáëèæàåò çàïèñè â Mathcad-äîêóìåíòå ê çàïèñÿì,
ñäåëàííûì îò ðóêè: 2 à, à íå 2 × à, 5 kg, à íå 5 × kg
è ò.ä. Â ñðåäå
Mathcad 2000 ñòàëî âîçìîæíûì ñòàâèòü ìåæäó ñîìíîæèòåëÿìè íå òîëüêî òî÷êó èëè
ïðîáåë, íî è äðóãèå ñèìâîëû, çàêðåïèâøèåñÿ â ìàòåìàòèêå çà îïåðàöèåé óìíîæåíèÿ
(ñì. ïóíêò
12 â ãëàâå «Mathcad 2000»).
Îäíàêî íèæå ïðèâîäÿòñÿ òðè äîâîäà ïðîòèâ çàìåíû çíàêà óìíîæåíèÿ ïðîáåëîì – ïðîòèâ èñïîëüçîâàíèÿ ïðèåìà, èäóùåãî âðàçðåç ñ ïðîãðàììèñòñêîé ïðàêòèêîé âñåãäà ñòàâèòü çíàê óìíîæåíèÿ (çâåçäî÷êó) ìåæäó ñîìíîæèòåëÿìè: 2 * à, 5 * kg è ò.ä.
Âî-ïåðâûõ; â êîíñòðóêöèè 2 × à âñå áîëåå-ìåíåå ÿñíî:
äâîéêà óìíîæàåòñÿ íà ïåðåìåííóþ à. Âûðàæåíèå 2 à íåñåò â ñåáå äâóñìûñëåííîñòü: ýòî è ïðîèçâåäåíèå 2 íà à, è ïîñòôèêñíûé
îïåðàòîð ñ èìåíåì à, îïåðàíä êîòîðîãî – êîíñòàíòà (äâîéêà).
Âî-âòîðûõ; íåèçâåñòíî, êàê
ïîâåäåò ñåáÿ âûðàæåíèå 2 à, åñëè ê êîíñòðóêöèè, êóäà
îíî âõîäèò, ïðèëîæèòü ñðåäñòâà ñèìâîëüíîé ìàòåìàòèêè.
Òðåòèé äîâîä
ïðîèëëþñòðèðîâàí ðèñóíêîì. Åñëè îò äâóõ îòíÿòü åäèíèöó (ñì. ïóíêò 3), òî äîëæíà
ïîëó÷èòüñÿ åäèíèöà, íî óæ íèêàê íå äâîéêà, äà åùå ñ ìèíóñîì. Ñåêðåò «ôîêóñà»
ïðîñò, íî ýòà ïðîñòîòà óæ òî÷íî «õóæå âîðîâñòâà». Äåëî â òîì, ÷òî â ïðèâåäåííîì
ïðèìåðå íå åäèíèöà âû÷èòàåòñÿ èç äâóõ, à äâîéêà óìíîæàåòñÿ íà ìèíóñ[14] åäèíèöó. Óñëóãà Mathcad
(ïðîãðàììèñòó íå íóæíî ââîäèòü çíàê óìíîæåíèÿ) çäåñü îêàçàëàñü «ìåäâåæüåé».
Äðóãàÿ äâóñìûñëåííîñòü (ñì. ïóíêò 2 íà ðèñóíêå): k a – ýòî
ïåðåìåííàÿ k,
óìíîæåííàÿ íà ïåðåìåííóþ a, èëè ïåðåìåííàÿ, èìÿ êîòîðîé ñîñòîèò èç òðåõ ñèìâîëîâ, âòîðîé èç
êîòîðûõ – ïðîáåë (ñì. ñîâåòû 14 è 18). Äðóãîå òîëêîâàíèå: k
a – ýòî ïîñòôèêñíûé
îïåðàòîð ñ îïåðàíäîì k èëè ïðåôèêñíûé
îïåðàòîð ñ îïåðàíäîì a.
Ìîæíî ñ÷èòàòü, ÷òî â Mathcad
âñòðîåíî äâà îïåðàòîðà óìíîæåíèÿ. Ñèìâîë ïåðâîãî – «×» (òî÷êà), à âòîðîé íå èìååò
ñèìâîëà. À âîò åùå äâà «áåññèìâîëüíûõ» Mathcad-îïåðàòîðà: âîçâåäåíèå â ñòåïåíü
(xy) è îáðàùåíèå ê ýëåìåíòó ìàññèâà (Vi èëè Mi,j).
Çà ïðîáåëîì ìîæåò ñêðûâàòüñÿ
íå òîëüêî çíàê óìíîæåíèÿ, íî è çíàê ñëîæåíèÿ. Ýòî, ïðàâäà êàñàåòñÿ íå
ðåàëüíîãî, à ôàíòàñòè÷åñêîãî Mathcad'à –
ñì. ïóíêòå 26
ãëàâû «Mathcad ÌÌ» è ïðîñòî ìàòåìàòèêè. Åñëè ìû âèäèì çàïèñü 1 ÷àñ 30 ìèí, òî
ìû íå ïåðåìíîæàåì 1 ÷àñ íà 30 ìèíóò, à ñêëàäûâàåì ýòè ðàçìåðíûå âåëè÷èíû. Â
ïðîñòûõ äðîáÿõ (1 ⅔, íàïðèìåð) ìû ñêëàäûâàåì ñîñòàâëÿþùèå, à íå
ïåðåìíîæàåì èõ.
 ïðèìåðàõ äàííîé êíèãè
âñåãäà ïðîñòàâëåíû çíàêè óìíîæåíèÿ äàæå òàì, ãäå ìîæíî èõ è íå ñòàâèòü: â êíèãå
íå òîëüêî äàþòñÿ ñîâåòû ÷èòàòåëÿì, íî è âûïîëíÿþòñÿ äàííûå ðåêîìåíäàöèè.
Çàêàí÷èâàÿ ñîâåò î çíàêå
óìíîæåíèÿ, îòìåòèì åùå ðàç, ÷òî â ñðåäå Mathcad 2000 ñòàëî âîçìîæíûì ìåæäó
ñîìíîæèòåëÿìè ñòàâèòü íå òîëüêî òî÷êó èëè ïðîáåë, íî è äðóãèå ñèìâîëû:
«àíäðååâñêèé êðåñò», æèðíàÿ òî÷êà è äð. – ñì. ïóíêò 12
â ãëàâå «Mathcad 2000».
10
Ãëîáàëüíîå ïðèñâàèâàíèå ïðè ðåøåíèè ñèñòåìû.bmp
Äëÿ ðåøåíèÿ ñèñòåì àëãåáðàè÷åñêèõ óðàâíåíèé è
íåðàâåíñòâ â ñðåäå Mathcad ïðåäíàçíà÷åíà âñòðîåííàÿ ôóíêöèÿ Find. Îáû÷íî ñèñòåìà ðåøàåòñÿ
òàê: ñ ïîìîùüþ îïåðàòîðîâ ïðèñâàèâàíèÿ «:=» çàäàåòñÿ ïåðâîå ïðèáëèæåíèå ê êîðíþ
ñèñòåìû[15]. Äàëåå çàïèñûâàåòñÿ
êëþ÷åâîå ñëîâî Given (äàíî), ââîäèòñÿ ñèñòåìà
ðàâåíñòâ è/èëè íåðàâåíñòâ (íåëüçÿ òîëüêî èñïîëüçîâàòü áóëåâûé îïåðàòîð «¹» – íå ðàâíî) è, íàêîíåö, âûçûâàåòñÿ ôóíêöèÿ Find, êîòîðàÿ âîçâðàùàåò â âèäå âåêòîðà-ñòîëáöà
çíà÷åíèÿ ñâîèõ àðãóìåíòîâ, ïðåâðàùàþùèõ ñèñòåìó óðàâíåíèé â ñèñòåìó òîæäåñòâ. Â
ðÿäå ñëó÷àåâ ðåøåíèå ñèñòåìû òðåáóåò èçìåíåíèÿ çíà÷åíèé âñòðîåííûõ ïåðåìåííûõ TOL è CTOL, âëèÿþùèõ íà òî÷íîñòü
ðàñ÷åòà. Î÷åíü ÷àñòî òàêàÿ òåõíîëîãèÿ òðåáóåò ïîñëåäîâàòåëüíûõ ïðèáëèæåíèé ê íóæíîìó êîðíþ.  ýòîì ñëó÷àå
ðåêîìåíäóåòñÿ èçìåíèòü âûøåîïèñàííûé ïîðÿäîê çàïèñè îïåðàòîðîâ (íî íå ïîðÿäîê
èõ âûïîëíåíèÿ) – «îïóñòèòü» ñ ïîìîùüþ îïåðàòîðà «º» ïåðâîå ïðèáëèæåíèå è
äðóãèå íà÷àëüíûå óñòàíîâêè ïîä ôóíêöèþ Find. Åñëè ñèñòåìà îáúåìíàÿ è âñÿ íå óìåùàåòñÿ íà
ýêðàíå äèñïëåÿ, òî ïîðÿäîê îïåðàòîðîâ, ïîêàçàííûé íà ðèñóíêå, èñêëþ÷èò
íåîáõîäèìîñòü ïðîêðóòêè (ñêðîëëèíãà) Mathcad-äîêóìåíòà äëÿ êîððåêòèðîâêè
èñõîäíûõ äàííûõ è ïðîñìîòðà ðåçóëüòàòà.
11 Ëèøíèå
ñêîáêè.bmp
Ìíîãèå ôóíêöèè Mathcad â êà÷åñòâå àðãóìåíòà èìåþò
âåêòîð èëè ìàòðèöó (ìàññèâ) – ñîáðàíèå ñêàëÿðíûõ âåëè÷èí,
îêîíòóðåííûõ ñêîáêàìè. Ñ äðóãîé
ñòîðîíû, àòðèáóòîì ôóíêöèè îïÿòü æå ÿâëÿþòñÿ ñêîáêè, â êîòîðûå çàêëþ÷àåòñÿ
àðãóìåíò. Èç-çà ýòîãî ïðè òðàäèöèîííîì âûçîâå ôóíêöèè ñ àðãóìåíòîì-âåêòîðîì
(ñì. ïåðâûé îïåðàòîð íà ðèñóíêå) ïîëó÷àþòñÿ äâîéíûå ñêîáêè («ìàñëî ìàñëÿíîå»),
êîòîðûå ìîãóò ñìóùàòü ïîëüçîâàòåëÿ: îí ïûòàåòñÿ óáðàòü ïàðó «ëèøíèõ» ñêîáîê, íå ïîíèìàÿ, ïî÷åìó
ýòîãî ñäåëàòü íåëüçÿ. Âûõîä èç ïîëîæåíèÿ – âûçîâ «ìàòðè÷íîé» ôóíêöèè (ôóíêöèè, ó êîòîðîé
àðãóìåíò – ìàññèâ) íå â âèäå ôóíêöèè,
à â âèäå ïðåôèêñíîãî îïåðàòîðà,
îïåðàíä êîòîðîãî íå òðåáóåò «ñêîáî÷íîãî» îáðàìëåíèÿ (âòîðîé îïåðàòîð
íà ðèñóíêå).
Íà ðèñóíêå ïîêàçàíû
äèàëîãîâûå îêíà ñîçäàíèÿ òðåõ âàæíåéøèõ îáúåêòîâ Mathcad:
· Âñòàâêà âñòðîåííîé ôóíêöèè – Insert Function; ïîêàçàí ïîðÿäîê ââîäà â Mathcad-äîêóìåíò
ôóíêöèè mean,
âîçâðàùàþùåé ñðåäíåå àðèôìåòè÷åñêîå ýëåìåíòîâ ìàññèâà.
· Âñòàâêà ìàññèâà – Insert Matrix; ïîêàçàí ïîðÿäîê ââîäà â Mathcad-äîêóìåíò
âåêòîðà-ñòðîêè – ìàòðèöû ñ îäíîé ñòðîêîé (Rows) è ñ íåñêîëüêèìè ñòîëáöàìè
(Columns).
· Âñòàâêà ïðåôèêñíîãî
îïåðàòîðà ÷åðåç êíîïêó fx îêíà Evaluation.
Ïåðâûå
äâà îáúåêòà ìîæíî ââåñòè è áåç âûçîâà ïîêàçàííûõ íà ðèñóíêå äèàëîãîâûõ îêîí[16]. Òðåòèé îáúåêò íóæåí íå òàê ÷àñòî, êàê äâà ïåðâûõ, ïîýòîìó îí ââîäèòñÿ
òîëüêî îäíèì ñïîñîáîì – ÷åðåç äèàëîãîâîå îêíî Evaluation.
Åùå îäèí ïðèìåð îáîñíîâàííîñòè èñïîëüçîâàíèÿ ëèøíåé ïàðû ñêîáîê. Î÷åíü
÷àñòî Mathcad-ïðîãðàììû âêëþ÷àþò â ñåáÿ îïåðàòîð äîñðî÷íîãî ïðåðûâàíèÿ
ïðîãðàììû (return) ïî óñëîâèþ (if):
return A if
B>C
Ïðè ââîäå äàííîé êîíñòðóêöèè íóæíî ñíà÷àëà ââîäèòü îïåðàòîð if è òîëüêî ïîòîì return. Ýòîò ïîðÿäîê ââîäà ìîæíî îòìåòèòü ñêîáêàìè:
(return A) if B>C
12.
Òðîéêà áóëåâûõ ôóíêöèé.bmp
 ñïèñêå âñòðîåííûõ îïåðàòîðîâ è ôóíêöèé äî Mathcad
2000 (ñì. ïóíêò 1
â ãëàâå «Mathcad 2000») íå áûëî áóëåâûõ ôóíêöèé And, Or (ëîãè÷åñêîå «è», ëîãè÷åñêîå «èëè») è Not (ëîãè÷åñêîå îòðèöàíèå), ïðèñóòñòâóþùèõ âî âñåõ ÿçûêàõ ïðîãðàììèðîâàíèÿ
è èñïîëüçóþùèõñÿ ïðè ðåàëèçàöèè âñÿêîãî ðîäà ëîãè÷åñêèõ ñõåì, ïðè îðãàíèçàöèè
öèêëîâ è àëüòåðíàòèâ. Ñåé÷àñ áóäåò ðàññêàçàíî, êàê â ñðåäå Mathcad äî 2000-é
âåðñèè ïðèõîäèëîñü ðåøàòü ýòó ïðîáëåìó è ïî÷åìó ýòà ïðîáëåìà äî êîíöà íå ñíÿòà
â Mathcad 2000.
Âî-ïåðâûõ, íóæíî âñïîìíèòü,
÷òî ëîãè÷åñêîå «è» è ëîãè÷åñêîå «èëè» èìåþò è òàêèå íàçâàíèÿ: «ëîãè÷åñêîå óìíîæåíèå»
è «ëîãè÷åñêîå ñëîæåíèå» – äàííûå ôóíêöèè ìîæíî ðåàëèçîâàòü ÷åðåç ïðèâû÷íûå
îïåðàòîðû óìíîæåíèÿ è ñëîæåíèÿ (ñì. ïóíêò
1 íà ðèñóíêå[17]); â ñðåäå Mathcad
ëîãè÷åñêîå «íåò» – ýòî íóëü, à ëîãè÷åñêîå «äà» – ÷èñëî, îòëè÷íîå îò íóëÿ.
Âî-âòîðûõ, ôóíêöèè ëîãè÷åñêîãî
«è» è ëîãè÷åñêîãî «èëè» ìîæíî îïðåäåëèòü
(ñì. ïóíêò 2 íà ðèñóíêå). Ïðè ýòîì áóëåâûõ àðãóìåíòîâ – ýëåìåíòîâ
ñîîòâåòñòâóþùèõ âåêòîðîâ ¾ îïåðàòîðîâ ïðîèçâåäåíèÿ è
ñóììèðîâàíèÿ ìîæåò áûòü ëþáîå (ïåðåìåííîå) êîëè÷åñòâî. (Íåïðîíóìåðîâàííûé ñîâåò. Ñòîèò îïðåäåëèòü ïî ïàðå ôóíêöèè ñ
ðàçëè÷íûìè èìåíàìè And-È – Or-ÈËÈ, óäîâëåòâîðèâ òåì ñàìûì è «ñëàâÿíîôèëîâ» è àíãëîìàíîâ.)
Â-òðåòüèõ, â ñðåäå Mathcad
óæå åñòü âñòðîåííûå ôóíêöèè, âïîëíå ïðèãîäíûå äëÿ ðåøåíèÿ ëîãè÷åñêèõ çàäà÷, –
ýòî min è max (ñì. ïóíêò 3 íà ðèñóíêå).
Áîëåå òîãî, îíè óäîáíû âîò åùå ÷åì:
·
íå
íóæíî «çàñîðÿòü» Mathcad-äîêóìåíò äîïîëíèòåëüíûìè ïîëüçîâàòåëüñêèìè ôóíêöèÿìè And, Or, È, ÈËÈ è ò.ä., âñòðîåííûìè èëè ïîëüçîâàòåëüñêèìè.
·
àðãóìåíòîì
ôóíêöèè min è max ìîãóò áûòü è ìàòðèöà, è
âåêòîð-ñòðîêà, è âåêòîð-ñòîëáåö, ÷òî ïîçâîëÿåò äåëàòü çàïèñè áîëåå êîìïàêòíûìè;
·
ôóíêöèè
min è max â êà÷åñòâå ñâîèõ àðãóìåíòîâ
(ýëåìåíòîâ ìàññèâîâ) ìîãóò èìåòü íå òîëüêî ëîãè÷åñêèå âûðàæåíèÿ (äà – íåò, 1 – 0), íî è âåùåñòâåííûå, ïëàâíî ìåíÿþùèåñÿ îò íóëÿ äî åäèíèöû. Òåì ñàìûì ìîæíî
ðàáîòàòü íå òîëüêî ñ ÷åòêîé, íî è ñ íå÷åòêîé
ëîãèêîé (fuzzy logic).
Íåïðîíóìåðîâàííûé ñîâåò. Åñëè íåîáõîäèìî óñêîðèòü ðàáîòó ïðîãðàììû òî, ñòîèò
âìåñòî îïåðàòîðà Ù èëè ôóíêöèè min (And) èñïîëüçîâàòü îïåðàòîð óìíîæåíèÿ è ïî
âîçìîæíîñòè ñòàâèòü ïåðâûì ñîìíîæèòåëåì (ïåðâûì îïåðàíäîì) âûðàæåíèå, ÷àùå
âñåãî ïðèíèìàþùåå íóëåâîå çíà÷åíèå. Äåëî â òîì, ÷òî îïåðàòîð óìíîæåíèÿ â öåëÿõ
óñêîðåíèÿ ðàñ÷åòîâ ñðàçó âûäàåò íóëü, åñëè ïåðâûé ñîìíîæèòåëü ðàâåí íóëþ.
Ôóíêöèÿ æå min (And) è îïåðàòîð Ù èçëèøíå ïåäàíòè÷íà: îíî
ïåðåáèðàåò âñå ýëåìåíòû ìàòðèöû èëè âåêòîðà – ñâîåãî àðãóìåíòà.
13 Ïåðåîïðåäåëåíèå âñòðîåííîé ôóíêöèè.bmp
Mathcad ïðåäîñòàâëÿåò
ïîëüçîâàòåëþ óíèêàëüíóþ âîçìîæíîñòü ïåðåèìåíîâàíèÿ
è ïåðåîïðåäåëåíèÿ âñòðîåííûõ ôóíêöèé.
Ñ ïåðåèìåíîâàíèåì (ñòàðîå ñîäåðæàíèå â íîâîé ôîðìå) âñå áîëåå-ìåíåå ÿñíî:
îïðåäåëÿåòñÿ íîâàÿ ôóíêöèÿ ïîëüçîâàòåëÿ, ïîëíîñòüþ ñîâïàäàþùàÿ ñ îäíîé èç
âñòðîåííûõ. Çà÷åì ýòî äåëàåòñÿ? Íà ðèñóíêå â
ïóíêòàõ 1 è 2 ïðèâåäåíû äâà ïðèìåðà òàêîãî ïåðåèìåíîâàíèÿ. Âî-ïåðâûõ, ìîæíî
çàìåíèòü êîðîòêîå àíãëèéñêîå èìÿ ôóíêöèè (identity), íàïðèìåð, íà áîëåå ïîëíîå
íàöèîíàëüíîå (Åäèíè÷íàÿ êâàäðàòíàÿ ìàòðèöà – ñì. ïóíêò 1). Ïîëó÷àåòñÿ íåêèé ãèáðèä
ôóíêöèè è êîììåíòàðèÿ ê íåé. Ôóíêöèÿ ñ íîâûì èìåíåì â ïóíêòå 1 âûçûâàåòñÿ â
âèäå ïðåôèêñíîãî îïåðàòîðà (fx), à íå â âèäå ôóíêöèè, ÷òî ïîçâîëÿåò èçáàâèòüñÿ îò ñêîáîê è ñäåëàòü
îïåðàòîð ñîçäàíèÿ íîâîé ìàòðèöû àáñîëþòíî åñòåñòâåííûì (ñì. òàêæå ñîâåò 11). Ýòîìó ñïîñîáñòâóþò òàêæå
òðè ïðîáåëà â íîâîì èìåíè ôóíêöèè (ñì. ñîâåòû 14, 15 è 18).
Â
ïóíêòå 2 èìÿ íîâîé ïîëüçîâàòåëüñêîé ôóíêöèè, ïîâòîðÿþùåé âñòðîåííóþ (augment - «ãîðèçîíòàëüíîå» ñëèÿíèå äâóõ ìàòðèö), ñîêðàùàåòñÿ äî îäíîãî ñèìâîëà. Ýòî ïîçâîëÿåò ñîêðàòèòü îáúåì ïðîãðàììû, ãäå äàííàÿ
ïåðåèìåíîâàííàÿ ôóíêöèÿ áóäåò ìíîãîêðàòíî èñïîëüçîâàòüñÿ. Êðîìå òîãî,
àíãëèéñêîå ñëîâî çàìåíåíî íà ñèìâîë «ñòÿãèâàíèÿ», êîòîðûé ëåã÷å çàïîìíèòü.
Â
ïóíêòå 3 ïåðåîïðåäåëÿåòñÿ (íîâîå ñîäåðæàíèå â ñòàðîé ôîðìå) âñòðîåííàÿ ôóíêöèÿ stack, ÷òî ïîçâîëÿåò âèçóàëèçèðîâàòü åå ñóùíîñòü. Ôóíêöèÿ augment (ñì. ïóíêò 2 íà ðèñóíêå)
îñóùåñòâëÿåò «ãîðèçîíòàëüíîå» ñëèÿíèå äâóõ ìàòðèö – åå àðãóìåíòû òàêæå ðàñïîëîæåíû «ãîðèçîíòàëüíî». Ôóíêöèÿ stack ïðåäíàçíà÷åíà äëÿ «âåðòèêàëüíîãî» ñëèÿíèÿ ìàòðèö, íî åå àðãóìåíòû ðàñïîëîæåíû ïî-ïðåæíåìó
«ãîðèçîíòàëüíî» (ñì. ïóíêò 3.1), ÷òî íå ñîâñåì ëîãè÷íî. Ïåðåîïðåäåëåíèå ôóíêöèè
stack – çàìåíà äâóõ àðãóìåíòîâ íà îäèí – âåêòîð-ñòîëáåö ñ äâóìÿ ýëåìåíòàìè
(ïóíêò 3.2) – ïîçâîëÿåò âîññòàíîâèòü «ãåîìåòðè÷åñêóþ» ëîãèêó ôóíêöèé ñëèÿíèÿ ìàòðèö.
Ïðèìå÷àíèå. Íåëüçÿ ïåðåîïðåäåëÿòü âñòðîåííûå ôóíêöèè WRITEPRN è APPENDPRN. Èõ ðàáîòà ðàññìàòðèâàòüñÿ
â ñîâåòå
57.
 ñðåäå
Mathcad äîïóñòèìî ñîêðàùàòü ïðîöåññ ïåðåîïðåäåëåíèÿ ôóíêöèè:
íî ýòîò ïðèåì íå ÿâëÿåòñÿ
äîêóìåíòèðîâàííûì
14
Ñïåöñèìâîëû â èìåíàõ ïåðåìåííûõ è ôóíêöèé.bmp
Íà èìåíà ïåðåìåííûõ è
ôóíêöèé ÿçûêîâ ïðîãðàììèðîâàíèÿ âñåãäà íàêëàäûâàþòñÿ íåêîòîðûå îãðàíè÷åíèÿ. Mathcad ïî ñðàâíåíèþ ñ òðàäèöèîííûìè
ÿçûêàìè ïîäîáíûõ îãðàíè÷åíèé èìååò ìåíüøå: â èìåíè Mathcad-ïåðåìåííîé ìîãóò
áûòü ãðå÷åñêèå áóêâû, áóêâû êèðèëëèöû, íèæíèå èíäåêñû è ò.ä. Âñå ýòî ïîçâîëÿåò
ïåðåìåííûì äàâàòü èìåíà, êîòîðûå çàêðåïèëèñü çà íèìè â ìàòåìàòèêå (p,
à íå PI,
íàïðèìåð), ôèçèêå (tâõ), õèìèè è äðóãèõ íàó÷íûõ äèñöèïëèíàõ çàäîëãî äî
ïîÿâëåíèÿ êîìïüþòåðîâ. Ñ äðóãîé ñòîðîíû, èìåíà Mathcad-ïåðåìåííûõ èìåþò
ñîáñòâåííûå îãðàíè÷åíèÿ, ñâÿçàííûå, ìîæíî òàê ñêàçàòü, ñ ïëîõîé «íàñëåäñòâåííîñòüþ», ïðåïÿòñòâóþùåé âñòàâêå â
èìåíà íåêîòîðûõ ñèìâîëîâ: «$», «&», «?» è ò.ä. Äåëî â òîì, ÷òî ýòè è äðóãèå
ñèìâîëû (êëàâèøè êëàâèàòóðû) íàãðóæåíû ôóíêöèÿìè ââîäà â Mathcad-äîêóìåíò
îïåðàòîðîâ ñóììû («$»), èíòåãðèðîâàíèÿ («&»), äèôôåðåíöèðîâàíèÿ («?»),
ïðîèçâåäåíèÿ («#») è ò.ä. Åñëè ïðè íàïèñàíèè èìåíè ïåðåìåííîé íàæàòü ýòè
êëàâèøè, òî óêàçàííûé ñèìâîë íå ïîÿâèòñÿ, à âîçíèêíåò çàãîòîâêà
ñîîòâåòñòâóþùåãî îïåðàòîðà (ñì. êîëîíêó «Ãîðÿ÷àÿ êëàâèøà» â òàáëèöå «Âñòðîåííûå
îïåðàòîðû Mathcad»). Íî ñïåöñèìâîëû è äàæå ïðîáåëû â èìåíà
ïîëüçîâàòåëüñêèõ ïåðåìåííûõ è ôóíêöèé ïðè æåëàíèè ââåñòè ìîæíî.
Ïðèåì ñíÿòèÿ «òðàäèöèîííûõ»
îãðàíè÷åíèé ñ èìåí ïåðåìåííûõ èìååò ñâîþ èñòîðèþ.  ñîâåòå 30
ðåêîìåíäóåòñÿ äëÿ êîììåíòèðîâàíèÿ îïåðàòîðîâ, âõîäÿùèõ â Mathcad-ïðîãðàììû,
èñïîëüçîâàòü òåêñòîâûå ïåðåìåííûå – öåïî÷êè ñèìâîëîâ,
îáðàìëåííûå êàâû÷êàìè.  òàêèå öåïî÷êè ìîãóò âõîäèòü ïðîáåëû è äðóãèå
âûøåîòìå÷åííûå ñèìâîëû («$», «?», «&» è ò.ä.). Ïðè ðåäàêòèðîâàíèè
Mathcad-ïðîãðàììû èíîãäà âîçíèêàåò «ãëþê», ïðèâîäÿùèé ê òîìó, ÷òî
òåêñòîâûå êîíñòàíòû, èãðàþùèå ðîëü êîììåíòàðèÿ, ëèøàþòñÿ ñâîèõ êàâû÷åê è «êðàñíåþò», îòìå÷àÿ âîçíèêøóþ â
ïðîãðàììå îøèáêó. Íåò õóäà áåç äîáðà – âîçíèêøåé ñèòóàöèåé (ïðåâðàùåíèå òåêñòîâîé êîíñòàíòû â èìÿ)
ìîæíî âîñïîëüçîâàòüñÿ, ÷òî è
ïîêàçàíî íà ðèñóíêå. «Ïîêðàñíåâøóþ» öåïî÷êó ñèìâîëîâ ñëåäóåò
ñêîïèðîâàòü è èñïîëüçîâàòü äàëåå â êà÷åñòâå èìåíè ïåðåìåííîé èëè ôóíêöèè.
Ó ïðèåìà ââîäà â èìåíè Mathcad-ïðîáåëîâ
è ñïåöñèìâîëîâ (à ìíîãèå ñ÷èòàþò ýòî ÷èñòîé âîäû êðàìîëîé) åñòü òàêîå
«èñòîðè÷åñêîå» îáîñíîâàíèå: â ñðåäå DOS è Windows 3.* â èìåíàõ ôàéëîâ íå ìîãëî áûòü ïðîáåëîâ, áóêâ
êèðèëëèöû è äðóãèõ ñïåöñèìâîëîâ.  ñðåäå Windows 95/98 òàêîãî îãðàíè÷åíèÿ
óæå íåò.
15 Ïðîíóìåðîâàííûå èìåíà ïåðåìåííûõ.bmp
 ñîâåòå 14 áûëî ïîêàçàíî, êàê ìîæíî ñíÿòü ñ èìåí Mathcad-ïåðåìåííûõ íåêîòîðûå îãðàíè÷åíèÿ – âñòàâèòü â íèõ ïðîáåëû è
ñïåöñèìâîëû. Íî íåêîòîðûå îãðàíè÷åíèÿ â èìåíàõ âñå æå îñòàþòñÿ.  ÷àñòíîñòè, â
èìåíè Mathcad-ïåðåìåííîé íåëüçÿ óâèäåòü òî÷êó: âñòàâèòü òî÷êó ìîæíî, íî ïîòîì (ïîñëå
óâîäà êóðñîðà) òî÷êà ïðîïàäàåò, ðàçäåëÿÿ èìÿ ïåðåìåííîé íà äâå ïîëîâèíêè ¾ íà ñàìî èìÿ è íà íèæíèé òåêñòîâûé èíäåêñ: áûëî t.âõ – ñòàëî t âõ. Íèæíèé òåêñòîâûé èíäåêñ â Mathcad-äîêóìåíòàõ
íå ñîâñåì æåëàòåëåí, òàê êàê åãî ìîæíî ñïóòàòü ñ îïåðàòîðîì óêàçàíèÿ ýëåìåíòà â
âåêòîðå – ñ íèæíèì ÷èñëîâûì èíäåêñîì. Ïðîäîëæàÿ àíàëîãèþ, ïðîâîäèìóþ â
ïðåäûäóùåì ñîâåòå, ìîæíî îòìåòèòü, ÷òî òî÷êà íåñêîëüêî äâóñìûñëåííà è â èìåíè
ôàéëà îïåðàöèîííîé ñèñòåìû Windows 95/98: ïî òðàäèöèè òî÷êà
îòäåëÿåò èìÿ ôàéëà îò åãî ðàñøèðåíèÿ (åãî «ôàìèëèè»). Åñëè â ïîëíîì èìåíè ôàéëà
áîëüøå îäíîé òî÷êè, òî íå âñåãäà ïîíÿòíî, ãäå êîí÷àåòñÿ èìÿ è íà÷èíàåòñÿ
ðàñøèðåíèå. Âòîðîå îãðàíè÷åíèå ñîñòîèò òîì, ÷òî íåëüçÿ íà÷èíàòü èìÿ ïåðåìåííîé
ñ ÷èñëà[18]. Íî, èìååòñÿ â âèäó, ÷òî ýòî àðàáñêîå
÷èñëî. À êðîìå àðàáñêèõ åñòü è ðèìñêèå
÷èñëà. Íà ðèñóíêå ïðåäñòàâëåíî ðåøåíèå òèïè÷íîé çàäà÷è ëèíåéíîãî
ïðîãðàììèðîâàíèÿ: ìåáåëüíàÿ ôàáðèêà ìîæåò âûïóñêàòü ñòóëüÿ äâóõ òèïîâ öåíîþ â
70 è 108 ó.å.[19] Ïîä ýòîò çàêàç âûäåëåíû ìàòåðèàëüíûå è ëþäñêèå ðåñóðñû – èçâåñòíî,
ñêîëüêî äîñîê, òêàíè è âðåìåíè èäåò íà èçãîòîâëåíèå êàæäîãî ñòóëà:
Ðàñõîä äîñîê, ì |
Ðàñõîä òêàíè, êâ ì |
Ðàñõîä âðåìåíè, ÷åëîâåêî÷àñû |
|
Ïåðâûé |
2 |
0.5 |
2 |
Âòîðîé |
4 |
0.25 |
2.5 |
Ðåñóðñ |
440 |
65 |
320 |
Ñïðàøèâàåòñÿ,
êàê íóæíî ñïëàíèðîâàòü ïðîèçâîäñòâî ñòóëüåâ, ÷òîáû èõ ñòîèìîñòü áûëà
ìàêñèìàëüíîé.
Íåèçâåñòíûå ýòîé çàäà÷è – äâå ïðîíóìåðîâàííûå
ïåðåìåííûå ñî ñïåöñèìâîëàìè âíóòðè (çíàê ìèíóñà è ïðîáåë): I-é ñòóë è II-é ñòóë.
Ãðàôè÷åñêîå ðåøåíèå çàäà÷è – ñì. ñîâåò 22.
16 Ïîëüçîâàòåëüñêèå åäèíèöû èçìåðåíèÿ ôèçè÷åñêèõ
âåëè÷èí.bmp
 Mathcad âñòðîåíî äîâîëüíî ìíîãî ïðåäîïðåäåëåííûõ ïåðåìåííûõ, õðàíÿùèõ
âñòðîåííûå åäèíèöû èçìåðåíèÿ ôèçè÷åñêèõ âåëè÷èí â ðàçíûõ ñèñòåìàõ (ñì. ïðèëîæåíèå 6). Íî
ïîëüçîâàòåëü âïðàâå ðàñøèðèòü ýòîò ñïèñîê è ââåñòè â ðàñ÷åò ïîëüçîâàòåëüñêèå åäèíèöû (ñì. ðèñóíîê),
ñâÿçàâ èõ ñî âñòðîåííûìè ÷åðåç ñîîòâåòñòâóþùèå êîýôôèöèåíòû[20].
Â
íà÷àëå ðàñ÷åòà ïîëüçîâàòåëü ìîæåò íå çíàòü, êàêèå íîâûå åäèíèöû åìó
ïîíàäîáÿòñÿ. Èõ ìîæíî ââîäèòü â ðàñ÷åò ïî ìåðå íåîáõîäèìîñòè: íóæíî, íàïðèìåð,
âûâåñòè âðåìÿ â íåäåëÿõ – äîñòàòî÷íî âåðíóòüñÿ â «ãîëîâó» ðàñ÷åòà è çàïèñàòü íåäåëÿ:=7 × day è ò.ä.
(äà, èìåííî 7 day, à íå 7day – ñì. ñîâåò 9).
Îïåðàòîð
ì := m óäîáåí âîò åùå ÷åì. Ìîæíî
çàáûòüñÿ è â ðàñ÷åòå ïðèñâîèòü ïåðåìåííîé m (à îíà î÷åíü ïîïóëÿðíà)
êàêîå-ëèáî íîâîå çíà÷åíèå (ñì. ñîâåò 1). Ýòî äåéñòâèå ìîæåò
ïîëîìàòü âñþ ñòðîéíóþ ñèñòåìó ôèçè÷åñêèõ âåëè÷èí, çàëîæåííóþ â Mathcad. Îïåðàòîð ì := m îñâîáîæäàåò ïåðåìåííóþ m äëÿ õðàíåíèÿ ÷åãî-ëèáî äðóãîãî.
17 Åäèíèöû èçìåðåíèÿ íåôèçè÷åñêèõ âåëè÷èí.bmp
 ñîâåòå 15, ðàññìàòðèâàÿ çàäà÷ó ëèíåéíîãî ïðîãðàììèðîâàíèÿ – çàäà÷ó î ïîèñêå ïëàíà âûïóñêà ñòóëüåâ, ìû íå çàäåéñòâîâàëè åäèíèöû èçìåðåíèÿ âåëè÷èí, õîòÿ â îïèñàíèè çàäà÷è îíè óïîìèíàëèñü (ñì. òàáëèöó â ñîâåòå 15).  çàäà÷å íàðÿäó ñ ôèçè÷åñêèìè (ìåòð, êâàäðàòíûé ìåòð è ÷àñ) çàäåéñòâîâàíû ñ÷åòíûå (ñòóëüÿ, ëþäè) è ôèíàíñîâûå åäèíèöû.
 ïàêåò Mathcad âñòðîåíû ñèñòåìíûå
ïåðåìåííûå (ñì. ïðèëîæåíèå 6), õðàíÿùèå åäèíèöû
èçìåðåíèÿ ôèçè÷åñêèõ âåëè÷èí. Íà ðèñóíêå ðåøàåòñÿ çàäà÷à î ïëàíå âûïóñêà
ñòóëüåâ ñ èñïîëüçîâàíèåì åäèíèöû èçìåðåíèÿ âñåõ
âåëè÷èí, âõîäÿùèõ â ðàñ÷åò.
«Åäèíèöà èçìåðåíèÿ» àìåðèêàíñêîé âàëþòû ($US) ââîäèòñÿ â ðàñ÷åò ïî
ïðèíöèïó «Âðåìÿ – äåíüãè»: ôèçè÷åñêàÿ âåëè÷èíà «âðåìÿ» â äàííîì ðàñ÷åòå íå
èñïîëüçóåòñÿ, è åå âðåìåííî (íå÷àÿííûé êàëàìáóð) ìîæíî «íàãðóçèòü» èíîé
ôóíêöèåé. Êîíå÷íî, ïðîùå íàïèñàòü: $US := 1 è øò := 1 (ó íàñ
øòóêè «ïðèâÿçàíû» ê ìîëÿì, êîòîðûå òàêæå íå çàäåéñòâîâàíû â ðàñ÷åòå), íî ýòî
÷ðåâàòî ñëåäóþùåé îøèáêîé:
$US + øò = 2
Çäåñü
äîëæåí ïîÿâëÿòüñÿ íå ÷èñëîâîé îòâåò (äâîéêà), à ñîîáùåíèå îá îøèáêå:
«Íåñîâìåñòèìûå ðàçìåðíîñòè».  ðàñ÷åò, ïðèâåäåííûé íà ðèñóíêå, ôèçè÷åñêèå è
ïðî÷èå âåëè÷èíû ââåäåíû íå òîëüêî äëÿ áîëüøåé «÷èòàáåëüíîñòè» çàäà÷è, íî è äëÿ
êîíòðîëÿ ñîîòâåòñòâèÿ ðàçìåðíîñòåé â ââåäåííûõ
ôîðìóëàõ.
18 Åùå ðàç î ñïåöñèìâîëàõ â èìåíàõ ïåðåìåííûõ.bmp
Ïðèåì
âñòàâêè â èìåíà ïåðåìåííûõ ïðîáåëîâ è äðóãèõ ñïåöñèìâîëîâ, îïèñàííûé â ñîâåòå 14, áûë îïóáëèêîâàí àâòîðàìè íà ñàéòå ôèðìû Mathsoft (ðàçðàáîò÷èê Mathcad) – íà ñàéòå ïîä íàçâàíèåì Collaboratory («ñîâìåñòíàÿ ðàáîòà» – http://webserve.mathsoft.com/mathcad/collab) – â èíòðèãóþùåì âèäå:
I have spaces in var-name := 10
Can you do it? := 2
I have spaces in var-name + Can you do it? = 12
Íà ýòî ïîñëåäîâàëè îòêëèêè òðåõ ñîðòîâ:
1) À çà÷åì ýòî íàäî?!
2)
Êàê
âû óõèòðÿåòåñü äåëàòü ýòî?
3) ß äàâíî âñòàâëÿþ ñïåöñèìâîëû â èìåíà ïåðåìåííûõ, íî íå çíàë, ÷òî òóäà ìîæíî âíîñèòü è ïðîáåëû.
Ïîñëåäíèé îòêëèê îïèðàåòñÿ íà òîò ôàêò, ÷òî ïðè ôîðìèðîâàíèè èìåíè
ïåðåìåííîé è ôóíêöèè îñîáûì àêêîðäîì (Shift+Ctrl+k)[21] ìîæíî çàáëîêèðîâàòü òî, ÷òî ñèñòåìà Mathcad âîñïðèíèìàåò íàæàòèÿ
ïîëüçîâàòåëåì ñïåöñèìâîëîâ (ïðîáåë, $ è äð.) êàê ââîä êîìàíäû îõâàòà êóðñîðîì
èìåíè ïåðåìåííîé (ïðîáåë) èëè îïåðàòîðà ñóììû ($). Íà ðèñóíêå îòîáðàæåíî
ôîðìèðîâàíèå ïåðåìåííîé ñ äâóìÿ ïðîáåëàìè è ñèìâîëîì «$» âíóòðè èìåíè (Öåíà â $US). Âòîðóþ ïåðåìåííóþ ñ îäíèì
ïðîáåëîì âíóòðè (Ðîññèéñêèé ðóáëü) ìîæíî
ïîëó÷èòü, ñêîïèðîâàâ è îòðåäàêòèðîâàâ ïåðâóþ. Ïðè ðåäàêòèðîâàíèè íåëüçÿ
âñòàâëÿòü ïðîáåëû è ñïåöñèìâîëû. Äëÿ ýòîãî íåîáõîäèìî ñíîâà âîñïîëüçîâàòüñÿ
âûøåîïèñàííûì àêêîðäîì (â ñîâåòå 54 îïèñàí è òðåòèé ñïîñîá
ñîçäàíèÿ íåñòàíäàðòíûõ èìåí ïåðåìåííûõ è ôóíêöèé).
(Íà÷àëî òåìû – ñì. ïóíêò 23 â ñòàòüå «Mathcad MM»).
19
Ôóíêöèÿ íåâèäèìêà è îáîðîòåíü.bmp
 ñîâåòå 15 áûëî ðåêîìåíäîâàíî äëÿ íóìåðàöèè ïåðåìåííûõ çàïèñûâàòü â íà÷àëå èõ èìåíè íå àðàáñêîå ÷èñëî (ýòî òàì íåâîçìîæíî), à ðèìñêîå. (Ìîæíî, ïðàâäà, ïèñàòü Ïåðâàÿ ïåðåìåííàÿ, Âòîðàÿ ïåðåìåííàÿ è ò. ä., çàìåíÿÿ ÷èñëà ñëîâàìè).
Ìíîãèå ëþäè ìîãóò ñ÷èòàòü «ïî-ðèìñêè» òîëüêî äî äâåíàäöàòè, ñâÿçûâàÿ òàêîé ñ÷åò ñ öèôåðáëàòîì ÷àñîâ. Íî ñ ïðÿìûìè àíàëîãàìè ðèìñêèõ ÷èñåë ìû ñòàëêèâàåìñÿ íå òîëüêî, óòî÷íÿÿ âðåìÿ, íî è ïðîâîäÿ ôèíàíñîâûå ðàñ÷åòû: ñóììà äåíåã – ýòî àðàáñêîå ÷èñëî, à ðàçëîæåíèå åå íà áàíêíîòû è ìîíåòû – ðèìñêîå. Ïðîãðàììà, ïîìåùåííàÿ íà ðèñóíêå, ïðèãîäèòñÿ â ðàáîòå, íàïðèìåð, áàíêîìàòà.
Íî íå òîëüêî äëÿ ýòîãî ïðèâåäåíà çäåñü ýòà ïðîãðàììà, à äëÿ òîãî, ÷òîáû äàòü ÷èòàòåëþ íåñêîëüêî ñîâåòîâ.
Ìíîãèå âñòðîåííûå ôóíêöèè è îïåðàòîðû Mathcad
è äðóãèõ ïðîãðàììíûõ ñðåä èìåþò îáðàòíûå àíàëîãè: sin
– arcsin, åx
– ln(x), äèôôåðåíöèðîâàíèå – èíòåãðèðîâàíèå è ò.ä. Ñîçäàâàÿ ïàðó
ïîëüçîâàòåëüñêèõ ôóíêöèé (ïðÿìàÿ – îáðàòíàÿ), ìîæíî ïîñòóïèòü ñëåäóþùèì
îáðàçîì: ñîçäàòü îäíó ôóíêöèþ, à âòîðóþ (îáðàòíóþ) íàïèñàòü ñ îïîðîé íà ïåðâóþ.
Åñëè àðãóìåíò ôóíêöèè – âåùåñòâåííîå ÷èñëî, òî çàäà÷à ñâîäèòñÿ ê ïîèñêó êîðíÿ
óðàâíåíèÿ, åñëè æå àðãóìåíò – öåëîå ÷èñëî, òî çàäà÷à ìîæåò ðåøàòüñÿ, íàïðèìåð,
ïåðåáîðîì, åñëè òàêèõ ÷èñåë íå ñëèøêîì ìíîãî.
Íà ðèñóíêå ïðåäñòàâëåíà
òàêàÿ «äâóõñòîðîííÿÿ» ôóíêöèÿ. Îíà âîçâðàùàåò ðèìñêîå ÷èñëî, åñëè åå àðãóìåíò
àðàáñêîå ÷èñëî, è âîçâðàùàåò àðàáñêîå ÷èñëî, åñëè åå àðãóìåíò ðèìñêîå ÷èñëî. Â
îäíîé ôóíêöèè çàëîæåíû è ïðÿìîé è îáðàòíûé àëãîðèòìû. Ôóíêöèÿ îïðåäåëÿåò, â
êàêîì íàïðàâëåíèè âåñòè ïðåîáðàçîâàíèå, îðèåíòèðóÿñü íà òèï àðãóìåíòà. Åñëè çíà÷åíèå àðãóìåíòà (ñì. îïåðàòîð if) òåêñò (string –
çäåñü ðàáîòàåò âñòðîåííàÿ áóëåâà ôóíêöèÿ IsString), òî èùåòñÿ àðàáñêîå ÷èñëî, åñëè íåò (otherwise) – ðèìñêîå.
Àïîôåîç òåõíîëîãèè ââîäà â
èìåíà ñïåöñèìâîëîâ è ïðîáåëîâ (ñì. ñîâåòû
14
è 18) – ýòî ïðåäñòàâëåííàÿ íà ðèñóíêå ïîëüçîâàòåëüñêàÿ ôóíêöèÿ, èìÿ êîòîðîé
ñîñòîèò âñåãî ëèøü èç îäíîãî ïðîáåëà.
Ñïðàøèâàåòñÿ – íà ÷òî òàêàÿ ôóíêöèÿ ìîæåò ñãîäèòüñÿ.
Ôóíêöèÿ-àíîíèì ïîçâîëÿåò íå òîëüêî ââåñòè ïåðåñ÷åò ÷èñåë, íå çàãðîìîæäàÿ Mathcad-äîêóìåíò ëèøíèìè ñëîâàìè è ñèìâîëàìè (“XXV”=25 ÿñíî è áåç êîììåíòàðèåâ), íî è èìèòèðîâàòü ðàñ÷åòû (âû÷èòàíèå, êîðåíü, ñèíóñ) ñ ðèìñêèìè ÷èñëàìè (ñì. êîíåö ðèñóíêà). Ôîêóñ çäåñü â òîì, ÷òî íàøà ôóíêöèÿ âûçûâàåòñÿ íå â òðàäèöèîííîì âèäå, à â âèäå ïðåôèêñíîãî èëè ïîñòôèêñíîãî îïåðàòîðîâ: ñêîáîê, îáðàìëÿþùèõ àðãóìåíò (âåðíåå, îïåðàíä), òàì íåò (ñì. ñîâåò 11), äà è ñàì ñèìâîë îïåðàòîðà íåâèäèì. Îòñþäà è ïîëíàÿ èëëþçèÿ òîãî, ÷òî Mathcad óìååò ðàáîòàòü ñ ðèìñêèìè ÷èñëàìè áåçî âñÿêèõ äîïîëíèòåëüíûõ èíñòðóìåíòîâ – îïåðàòîðîâ è ôóíêöèé.
Ñîâåòû, íà êîòîðûå íàâîäèò
èçó÷åíèå ðèñóíêà:
1.
Â
íåêîòîðûõ ñëó÷àÿõ öåëåñîîáðàçíî îáúåäèíÿòü â îäíîé ôóíêöèè àëãîðèòì ïðÿìîãî è îáðàòíîãî ðàñ÷åòîâ. Ðåçîí çäåñü â òîì, ÷òî ó ýòèõ
àëãîðèòìîâ ìîæåò áûòü îáùàÿ áàçà (â íàøåì ñëó÷àå ýòî ïàðû ðèìñêèõ è àðàáñêèõ
÷èñåë): îäíà îáùàÿ ïðîãðàììà êîðî÷å äâóõ ñàìîñòîÿòåëüíûõ.
2.
Èíîãäà
îáúåêòó öåëåñîîáðàçíî äàòü èìÿ, íå âèäèìîå â Mathcad-äîêóìåíòå. Ýòî ìîæåò áûòü
ïðîáåë (ïðèìåð ïðàêòè÷åñêîãî èñïîëüçîâàíèÿ ýòîãî ïðèåìà – ñîâåò 64) èëè öåïî÷êà ïðîáåëîâ (äðóãîé ïîäõîä: èìÿ
íå ïðîáåë, à ñèìâîë, íî èìååò áåëûé öâåò øðèôòà – ñì. ñîâåò
59).
Ïåðåìåííûõ èëè ôóíêöèé, èìÿ êîòîðûõ – îäèí ïðîáåë, ìîæåò áûòü íåñêîëüêî,
ðàçëè÷àþùèõñÿ ñòèëåì (ñì. ñîâåò 52).
3.
Ôóíêöèÿ,
ïîìåùåííàÿ íà ðèñóíêå, ìîæåò áûòü èñïîëüçîâàíà äëÿ øèôðîâêè ñîîáùåíèé. Ñâîåìó
òîðãîâîìó àãåíòó äîïóñòèìî, íàïðèìåð, ïîñëàòü òàêîå ñîîáùåíèå: «Ìèíèìàëüíàÿ
öåíà MM, ìàêñèìàëüíàÿ – MMCD». Åñëè åñòü îïàñåíèÿ, ÷òî
êîíêóðåíò, îò êîòîðîãî çàùèùàåòñÿ ñîîáùåíèå, çíàêîì ñ ðèìñêèìè öèôðàìè, òî
ìîæíî èñïîëüçîâàòü äðóãèå ïàðû ÷èñåë: àíàëîã àðàáñêèõ ÷èñåë – ýòî, íàïðèìåð,
÷èñëà Ôèáîíà÷÷è (1, 2, 3, 5, 8, 13 è ò.ä. – äî áåñêîíå÷íîñòè), à èõ ðèìñêèå
àíàëîãè – ýòî èõ ïîðÿäêîâûé íîìåð («1», «2», «3», «4», «5», «6» è ò.ä.).
20 Äîáàâëÿåì ëèøíèå ñêîáêè.bmp
×èòàòåëü, íàâåðíîå, óæå
çàìåòèë, ÷òî íåêîòîðûå ñîâåòû êíèãè ïðîòèâîðå÷àò äðóã äðóãó.  ñîâåòå 11 äàâàëèñü ðåêîìåíäàöèè ïî èñêëþ÷åíèþ
èç Mathcad-âûðàæåíèé ëèøíèõ ñêîáîê. Ñåé÷àñ æå ðå÷ü ïîéäåò î âñòàâêå äîïîëíèòåëüíûõ ñêîáîê.
 ïóíêòå 1 íà ðèñóíêå ñêîáêàìè åùå ðàç îòìå÷àåòñÿ, ÷òî â ñðåäå Mathcad, êàê è âî âñåõ äðóãèõ ñðåäàõ ïðîãðàììèðîâàíèÿ è âîîáùå â ìàòåìàòèêå, – îïåðàòîð âîçâåäåíèÿ â ñòåïåíü «ãëàâíåå» îïåðàòîðà óìíîæåíèÿ, êîòîðûé, â ñâîþ î÷åðåäü, «ãëàâíåå» îïåðàòîðà ñëîæåíèÿ[22]. Ñêîáêè çäåñü åùå ðàç ïîä÷åðêèâàþò äàííóþ èåðàðõèþ îïåðàòîðîâ, î êîòîðîé íå âñå ìîãóò äîãàäàòüñÿ (ñì. ïðèìåðû íà ðèñóíêå ê ñîâåòó 34).
 ïóíêòå 2 ñ ïîìîùüþ ôóíêöèè (äðåâîâèäíîãî îïåðàòîðà) augment ôîðìèðóåòñÿ íå
ðàñòàñîâàííàÿ êîëîäà êàðò – âåêòîð-ñòðîêà ñ 52 ýëåìåíòàìè (êàðòàìè ¾ «äâîéêà, «òðîéêà»… «òóç»). Ñêîáêè â «äåðåâå» ôîðìèðîâàíèÿ êîëîäû
ñìîòðÿòñÿ äàëåêî íå ëèøíèìè (ñðàâíèòå ïóíêòû 2.1 è 2.2 – ñêîáêè «ëèøíèå» äëÿ
ìàøèíû, è «ïîëåçíûå» äëÿ ÷åëîâåêà).
 ïóíêòå 3 ôîðìèðóåòñÿ áóëåâà ôóíêöèÿ Ðåøåíèå, âîçâðàùàþùàÿ èòîãè ãîëîñîâàíèÿ. Ãîëîñà ó÷àñòâóþùèõ â íåì (1 – çà, 0 –
ïðîòèâ) õðàíÿòñÿ â âåêòîðå-àðãóìåíòå X: ðåøåíèå ïðèíèìàåòñÿ, êîãäà
«çà» ïðîãîëîñóþò áîëåå äâóõ òðåòåé ãîëîñîâàâøèõ (âñòðîåííàÿ ôóíêöèÿ mean âîçâðàùàåò ñðåäíåå
àðèôìåòè÷åñêîå ýëåìåíòîâ ìàññèâà). Ñêîáêè çäåñü òàêæå ïîä÷åðêèâàþò àëãîðèòì
ðàáîòû ôóíêöèè è ïîðÿäîê âûïîëíåíèÿ îïåðàòîðîâ «>» è «:=».  ïåðâîì ñëó÷àå
ôóíêöèÿ mean âûçûâàåòñÿ â âèäå ïðåôèêñíîãî îïåðàòîðà, à âî âòîðîì – â âèäå ôóíêöèè.
Ïðè âñòàâêå äîïîëíèòåëüíûõ ñêîáîê íóæíî ïîìíèòü, ÷òî äàííûé ïðèåì
óëó÷øåíèÿ «÷èòàåìîñòè» Mathcad-äîêóìåíòà ìîæåò ñíèæàòü
ñêîðîñòü åãî âûïîëíåíèÿ.
21 Êîíòðîëü ðàçìåðíîñòè ïåðåìåííîé.bmp
Èíîãäà íåîáõîäèìî, ÷òîáû
ïîëüçîâàòåëü îïåðàòîðîì «:=» ââîäèë íå ïðîñòî çíà÷åíèå ïåðåìåííîé â
îïðåäåëåííîì äèàïàçîíå (ñì. ñîâåò 6), à çíà÷åíèå ñ îïðåäåëåííîé ðàçìåðíîñòüþ ôèçè÷åñêîé
âåëè÷èíû. Ââîä áåçðàçìåðíîé âåëè÷èíû èëè âåëè÷èíû ñ íåïðàâèëüíîé ðàçìåðíîñòüþ
äîëæåí âûçûâàòü àâàðèéíûé îñòàíîâ âûïîëíåíèÿ (îáñ÷åòà) Mathcad-äîêóìåíòà. Òàêîé ñöåíàðèé ðåàëèçîâàí íà ðèñóíêå: â ïåðåìåííóþ d (åå ñòèëü User 1 – ñì. ñîâåò
52) ïîëüçîâàòåëü äîëæåí ââåñòè
äëèíó – êîíñòàíòó, óìíîæåííóþ íà
êàêóþ-ëèáî âñòðîåííóþ èëè ïîëüçîâàòåëüñêóþ (ñì. ñîâåò 16) åäèíèöó èçìåðåíèÿ äëèíû. Êîíòðîëü ââåäåííîé ðàçìåðíîñòè
îñóùåñòâëÿåòñÿ ñëåäóþùèì îáðàçîì: ê ïåðåìåííîé d ïðèáàâëÿåòñÿ è òóò æå
îòíèìàåòñÿ åäèíè÷íûé ìåòð (m – ñèñòåìíàÿ ïåðåìåííàÿ). Ñî
çíà÷åíèåì íîâîé ïåðåìåííîé d (åå ñòèëü óæå íå User 1, êàê ó ïåðâîé ïåðåìåííîé d, à Variables) íè÷åãî íå ïðîèñõîäèò, íî âîçíèêàåò îøèáêà, åñëè ê äëèíå ïðèáàâëÿåòñÿ
÷òî-ëèáî äðóãîå (ñì. âåðõíþþ ïîëîâèíêó ðèñóíêà). Ôîêóñ çäåñü â òîì, ÷òî ìû
èìååì äåëî ñ ïàðîé îäíîèìåííûõ, íî ðàçíûõ ïî ñòèëþ ïåðåìåííûõ d.
 ñðåäå Mathcad 2000 äëÿ êîíòðîëÿ ðàçìåðíîñòè ïåðåìåííîé (ñì. ïóíêò 5 â ãëàâå «Mathcad 2000: ÷òî íîâîãî»)
ââåäåíà ñïåöèàëüíàÿ ôóíêöèÿ UnitsOf(x), âîçâðàùàþùàÿ åäèíèöó (1),
åñëè ïåðåìåííàÿ x áåçðàçìåðíàÿ, èëè åäèíèöó[23] èçìåðåíèÿ, åñëè x ðàçìåðíàÿ âåëè÷èíà. (Ïðîäîëæåíèå òåìû â ñîâåòå 61.)
22 Ãðàôè÷åñêîå ðåøåíèå çàäà÷è ëèíåéíîãî
ïðîãðàììèðîâàíèÿ.bmp
Mathcad–äîêóìåíòû, ïîìåùåííûå íà
ðèñóíêàõ â ñîâåòàõ 15 è 17, ðåøàþò çàäà÷ó ëèíåéíîãî ïðîãðàììèðîâàíèÿ. Â ñðåäå Mathcad
íåò ñïåöèàëèçèðîâàííûõ ñðåäñòâ âèçóàëèçàöèè
ðåøåíèÿ çàäà÷ òàêîãî òèïà. Íî ýòó ïðîáëåìó ïðè îïðåäåëåííîé ñíîðîâêå ìîæíî
ðåøèòü ñ ïîìîùüþ îáû÷íîãî äåêàðòîâîãî ãðàôèêà – ñì. ðèñóíîê. Ñóòü çàäà÷è
îïèñàíà â ñîâåòå 15.
Äëÿ ãðàôè÷åñêîãî ðåøåíèÿ çàäà÷è ëèíåéíîãî ïðîãðàììèðîâàíèÿ îïðåäåëÿþòñÿ
äâå ôóíêöèè: Oãð (îãðàíè÷åíèÿ) è ÖÔ (öåëåâàÿ ôóíêöèÿ) ñ îäíèì
àðãóìåíòîì Chair1 (÷èñëî ñòóëüåâ ïåðâîãî òèïà[24]). Ïðè ôîðìèðîâàíèè ôóíêöèé çàäåéñòâîâàíû ñðåäñòâà ñèìâîëüíîé
ìàòåìàòèêè, íî ñêîðåå, íå äëÿ ðåøåíèÿ (solve) íåðàâåíñòâ (ýòî íåñëîæíî
ñäåëàòü è âðó÷íóþ[25]), à äëÿ èëëþñòðàöèè ñóòè ãðàôè÷åñêîãî ðåøåíèÿ çàäà÷è: ïðÿìàÿ ëèíèÿ
öåëåâîé ôóíêöèè ñêîëüçèò ââåðõ (çäåñü áóäåò î÷åíü óìåñòíà àíèìàöèÿ Mathcad, êîãäà ñèñòåìíàÿ ïåðåìåííàÿ FRAME (ñ÷åò÷èê êàäðîâ àíèìàöèè) ñâÿçûâàåòñÿ ñî çíà÷åíèåì öåëåâîé ôóíêöèè).
Ðåøåíèå áóäåò äîñòèãíóòî â ìîìåíò «ïðîùàíèÿ» ïðÿìîé (öåëåâàÿ ôóíêöèÿ) ñ
ìíîãîóãîëüíèêîì (îáëàñòü âûïîëíåíèÿ îãðàíè÷åíèé). Äàííîå ãðàôè÷åñêîå ðåøåíèå
ãîäèòñÿ è äëÿ èëëþñòðàöèè öåëî÷èñëåííîé
çàäà÷è (îáëàñòü, îãðàíè÷åííàÿ ëîìàíîé ëèíèåé, çàìåíÿåòñÿ íà ìíîæåñòâî
òî÷åê), è äëÿ íåëèíåéíîé çàäà÷è
(îòðåçêè ïðÿìûõ çàìåíÿþòñÿ íà îòðåçêè êðèâûõ: âûïóêëûõ èëè âîãíóòûõ).
Ïðèìå÷àíèå – íåïðîíóìåðîâàííûé
ñîâåò. Â ïóíêòå 2 ïðèâåäåíû äâå ïîïûòêè ðåøåíèÿ öåëåâîé ôóíêöèè
îòíîñèòåëüíî ïåðåìåííîé Chair2 (ñòóëüÿ âòîðîãî òèïà). Â ïåðâîì îïåðàòîðå solve (øðèôò âûðàæåíèÿ òàì
ìåëêèé) êóðñ åâðî ê äîëëàðó çàïèñàí êàê 1.2, à âî âòîðîì – 12/10. Òàêàÿ, íà ïåðâûé âçãëÿä,
ýêâèâàëåíòíàÿ çàìåíà ìåíÿåò âèä êîýôôèöèåíòîâ îòâåòà (ñì. òàêæå ñîâåò
2).
23 Öâåòíîé äåêàðòîâ ãðàôèê.bmp
Äàííûé ñîâåò ïðîäîëæàåò òåìó íåñòàíäàðòíîé ãðàôèêè Mathcad,
íà÷àòóþ â ñîâåòå 22.
Mathcad èìååò ñðåäñòâà ðàñêðàñêè òðåõìåðíûõ ãðàôèêîâ. Ê ñîæàëåíèþ, ýòîò ïðèåì
ôîðìàòèðîâàíèÿ íåëüçÿ ïðèìåíèòü ê äâóìåðíîìó ãðàôèêó. Íî… Íà ðèñóíêå èçîáðàæåí
ãðàôèê ôóíêöèè îäíîãî àðãóìåíòà, òàê ÷òî âåðøèíû... – ñì. êîììåíòàðèé ñïðàâà îò
ãðàôèêà. Ê ñîæàëåíèþ, äàííàÿ êíèãà íå öâåòíàÿ, íî ÷èòàòåëü ìîæåò ïîâåðèòü
àâòîðó, ÷òî íà äèñïëåå ëèíèÿ íà ãðàôèêå èìååò îòòåíêè âñåõ öâåòîâ ðàäóãè:
ìàêñèìóìû èìåþò òåïëûå òîíà, à ìèíèìóìû – õîëîäíûå. Ôîêóñ ðèñóíêà â òîì, ÷òî
ýòî íå äåêàðòîâ ãðàôèê, à ðàñöâå÷åííàÿ
ïîâåðõíîñòü, îñîáûì îáðàçîì (îäíèì «áîêîì») ïîâåðíóòàÿ ê çðèòåëþ.
Îïåðàòîðû, ôîðìèðóþùóþ ìàòðèöó Ì, ýëåìåíòû êîòîðîé –
çíà÷åíèÿ àíàëèçèðóåìîé ôóíêöèè (îíè ïîâòîðÿþòñÿ ïî ñòîëáöàì), ñòîèò çàïðÿòàòü,
çàõëîïíóâ ñîîòâåòñòâóþùóþ îáëàñòü (ñì. âåðõíþþ ÷àñòü ðèñóíêà, à òàêæå ñîâåò 62), – òîãäà èëëþçèÿ öâåòíîãî äåêàðòîâîãî
ãðàôèêà áóäåò àáñîëþòíî ïîëíîé.
Íåïðîíóìåðîâàííûé ñîâåò. Îïåðàòîðû, ôîðìèðóþùóþ ïîëüçîâàòåëüñêóþ ôóíêöèþ y(x) è ïðåäåëû ðàçáðîñà ãðàôèêà
(x íà÷ – x êîí) ñòîèò «ïîäòÿíóòü» ê ãðàôèêó. Çäåñü ïðèãîäèòñÿ îïåðàòî𠫺» (ãëîáàëüíîå ïðèñâàèâàíèå),
ðàñïðîñòðàíÿþùèé ñâîå äåéñòâèå íå òîëüêî âíèç, ÷òî äåëàåò îïåðàòîð «:=», íî è
ââåðõ.
24 Ãðàôè÷åñêîå
ðåøåíèå ñèñòåìû äâóõ àëãåáðàè÷åñêèõ óðàâíåíèé.bmp
Äëÿ ðåøåíèÿ çàäà÷è, âûíåñåííîé â íàçâàíèå ñîâåòà, ñòðîÿò ïàðó äåêàðòîâûõ ãðàôèêîâ è ñìîòðÿò, ãäå îíè ïåðåñåêàþòñÿ. Íî òðóäíîñòü çäåñü â òîì, ÷òî ñèñòåìà íå âñåãäà èìååò âèä, ãîòîâûé ê ïîñòðîåíèþ ãðàôèêîâ: y1(x) :=… è y2(x) := …. Êàê ïðàâèëî, ñèñòåìà çàïèñàíà â îáùåì âèäå: f1(x, y) = 0 è f2(x, y) = 0, à ðàçäåëèòü ïåðåìåííûå è ñâåñòè ñèñòåìó ê ïðîñòîé çàäà÷å íå âñåãäà óäàåòñÿ:
èñõîäíàÿ
ñèñòåìà |
|
Ïðåîáðàçîâàíèå
ñèñòåìû äëÿ ãðàôè÷åñêîãî ðåøåíèÿ |
x + y = 5 |
|
y1(x):= 5 – x |
|
® |
|
y = x2 |
|
y2(x):= x2 |
Íà ðèñóíêå ïîêàçàíî ðåøåíèå ýòîé ïðîáëåìû:
äâóìÿ öèêëàìè ñ ïàðàìåòðîì (çíà÷åíèå x è çíà÷åíèå y)
çàïîëíÿåòñÿ ìàòðèöà Ì. Åå ýëåìåíòû îòîáðàæàþò
ñîñòîÿíèå óðàâíåíèé íà ïëîñêîñòè x-y: åñëè ïðè ïåðåáîðå çíà÷åíèé
x è y ñ øàãîì dx è dy îäíî èç âûðàæåíèé ìåíÿåò çíàê[26], òî ñîîòâåòñòâóþùèé ýëåìåíò
ìàòðèöû Ì ñòàíîâèòñÿ ðàâåí åäèíèöå,
åñëè íåò – íóëþ. Ìû êàê áû ñêàíèðóåì îáëàñòü ïîñòðîåíèÿ ãðàôèêà, «âûñâå÷èâàÿ»
(íà «îñöèëëîãðàôå» – íà ãðàôèêå ëèíèé
óðîâíÿ, îòôîðìàòèðîâàííîì îñîáûì îáðàçîì) íàøè êðèâûå (â öåíòðå ëåìíèñêàòà
(«óâèòàÿ ëåíòàìè») Áåðíóëëè). Êàê äîëãî áóäåò äëèòüñÿ òàêîå «ñêàíèðîâàíèå» –
ýòî âòîðîé âîïðîñ[27]. Êîíñòàíòà 300 (ïîðÿäîê ìàòðèöû M) ïîçâîëÿåò èñêàòü êîìïðîìèññ ìåæäó ñêîðîñòüþ ïîñòðîåíèÿ ãðàôèêà è åãî
êà÷åñòâîì.
Äëÿ ïîâûøåíèÿ êà÷åñòâà ãðàôèêà ìîæíî
ïîðåêîìåíäîâàòü ïðîâåñòè äâîéíîå ñêàíèðîâàíèå – ñíà÷àëà ïî «ãîðèçîíòàëè», êàê
ýòî ñäåëàíî íà ðèñóíêå, è ïî «âåðòèêàëè».
Ìåòîäèêà, ïîêàçàííàÿ íà ðèñóíêå, ãîäèòñÿ è äëÿ ïîñòðîåíèÿ ãðàôèêà îäíîãî
óðàâíåíèÿ âèäà
f(x, y) = 0.
25 Ëó÷åâàÿ
äèàãðàììà.bmp
äëÿ âèçóàëèçàöèè òàáëè÷íûõ äàííûõ óäîáíî èñïîëüçîâàòü îñîáûé òèï áèçíåñ-ãðàôèêè – ëó÷åâóþ äèàãðàììó (ïî-àíãëèéñêè radar-diagram – äèàãðàììà ðàäàðà): îò öåíòðà ïðîâîäÿòñÿ ëó÷è, íà êîòîðûõ äåëàþòñÿ çàñå÷êè, îòñòîÿùèå îò öåíòðà íà ðàññòîÿíèè, ïðîïîðöèîíàëüíîì ýëåìåíòàì âèçóàëèçèðóåìîãî âåêòîðà; äàëåå çàñå÷êè ñîåäèíÿþòñÿ ïðÿìûìè ëèíèÿìè. Ïîëó÷àåòñÿ ìíîãîóãîëüíèê, ïëîùàäü è ôîðìà êîòîðîãî îòðàæàåò íåêîå ÿâëåíèå èëè íåêèé îáúåêò.
Íà ðèñóíêå ïðåäñòàâëåíû
ðåçóëüòàòû âèçóàëèçàöèè ÷åðåç ëó÷åâóþ äèàãðàììó äàííûõ, õðàíÿùèõñÿ â ìàòðèöå Ì. Ñóòü çàäà÷è: äëÿ îöåíêè êàêèõ-ëèáî äåñÿòè êà÷åñòâ êàêîãî-ëèáî îáúåêòà
ïðèãëàøåíû äåâÿòü ýêñïåðòîâ,
âûñòàâëÿþùèõ îöåíêè îò 2 (íåóäîâëåòâîðèòåëüíî) äî 5 (îòëè÷íî). Íà ëó÷åâîé
äèàãðàììå (à ýòî íå ÷òî èíîå, êàê ïîëÿðíûé
ãðàôèê Mathcad) ïðàâèëüíûé ìíîãîóãîëüíèê – ýòî ñðåäíèé áàëë,
âûñòàâëåííûé ýêñïåðòàìè, à íåïðàâèëüíûé ìíîãîóãîëüíèê – ñðåäíèé áàëë,
ïðîñòàâëåííûé çà îòäåëüíûå êà÷åñòâàì: ñðàçó âèäíî, ãäå «ñëàáûå» è ãäå «ñèëüíûå»
ìåñòà ó èñïûòóåìîãî.
 ñðåäå Mathcad
ìîæíî ïîñòðîèòü è êðóãîâóþ äèàãðàììó (ïî-àíãëèéñêè pai-diagramm – «äèàãðàììà ïèðîãà»),
îòîáðàæàþùóþ ýëåìåíòû âåêòîðà, ñóììà çíà÷åíèé êîòîðûõ ðàâíà 100%. Íî ñòîèò ëè
ýòî äåëàòü!? Âåäü äàííûå èç Mathcad ìîæíî ýêñïîðòèðîâàòü â
ñðåäó, íàïðèìåð, Excel, ãäå åñòü ñðåäñòâà ïîñòðîåíèÿ è êðóãîâîé äèàãðàììû,
è ëó÷åâîé äèàãðàììû, è äðóãèõ òèïîâ ãðàôèêîâ. Ìîæíî âñòàâèòü â Mathcad–äîêóìåíò
ôðàãìåíò Excel (èëè Axum – ïàêåòà, ñïåöèàëüíî
ñîçäàííîãî äëÿ ðàñøèðåíèÿ ãðàôè÷åñêèõ âîçìîæíîñòåé Mathcad), êîòîðûé ïðåäíàçíà÷åí äëÿ
îòîáðàæåíèÿ îòìå÷åííîé íåñòàíäàðòíîé ãðàôèêè. Íî ñîçäàííûé ñ òàêîé ãðàôèêîé Mathcad
– äîêóìåíò ïðè ïåðåíîñå åãî íà äðóãîé êîìïüþòåð, ãäå íå óñòàíîâëåíû ñîîòâåòñòâóþùèå
ïðèëîæåíèÿ, ìîæåò íå ðàáîòàòü.
26 Íà÷íè ñ ñèìâîëà, à êîí÷è ÷èñëîì.bmp
 ñîâåòå 24 ìû ïûòàëèñü ãðàôè÷åñêèì ìåòîäîì ðåøèòü ñèñòåìó äâóõ
àëãåáðàè÷åñêèõ óðàâíåíèé, – îïðåäåëèëè îáëàñòü ñóùåñòâîâàíèÿ äåéñòâèòåëüíûõ
êîðíåé ñèñòåìû, íàøëè çíà÷åíèÿ íåèçâåñòíûõ äëÿ ïåðâîãî ïðèáëèæåíèÿ ïðè ïîèñêå
ðåøåíèÿ ÷èñëåííûì ìåòîäîì (÷òî áóäåò
ñäåëàíî â ñîâåòå
44). Íî â öåïî÷êó «ãðàôèê» – «÷èñëî» ìîæíî ïîïûòàòüñÿ
âêëèíèòü è «ñèìâîë». Ñóòü ñîâåòà.
Ïåðåä ÷èñëåííûì ðåøåíèåì çàäà÷è ñòîèò
ïîïûòàòüñÿ ïðèëîæèòü ê íåé ñðåäñòâà ñèìâîëüíîé ìàòåìàòèêè Mathcad.
Íà ðèñóíêå ïîêàçàíî àíàëèòè÷åñêîå ðåøåíèå íàøåé ñèñòåìû äâóõ íåëèíåéíûõ
àëãåáðàè÷åñêèõ óðàâíåíèé ñ ïîìîùüþ Mathcad-îïåðàòîðîâ solve è float. (Çäåñü èñïîëüçóåòñÿ íå îäèí
îïåðàòîð solve, à «ñïàðêà» solve
– float,
ò.ê. îäèí îïåðàòîð solve
ëèáî äàåò î÷åíü ãðîìîçäêèé îòâåò, ëèáî íèêàêîãî). Íàéäåíû âñå 24 êîðíÿ ñèñòåìû, èç êîòîðûõ ÷åòûðå äåéñòâèòåëüíûå îòîáðàæåíû
íà ãðàôèêå â ñîâåòå 24.
Íà ðèñóíêå â îòâåòå âûâåäåíî òîëüêî ïÿòü
çíàêîâ â ìàíòèññå (ñì. êëþ÷ float, 5). Ïî óìîë÷àíèþ (áåç êëþ÷à float) âûâîäèòñÿ 20 çíàêîâ, à
ìàêñèìàëüíîå èõ êîëè÷åñòâî – 250. (Îäíîèìåííàÿ êîìàíäà èç ìåíþ ñèìâîëüíîé
ìàòåìàòèêè (êîìàíäà solve) ìîæåò âûäàòü äî 4000 çíàêîâ â ìàíòèññå. Íî ýòà
êîìàíäà ðàáîòàåò òîëüêî ñ óðàâíåíèÿìè, íî íå ñ ñèñòåìàìè óðàâíåíèé.)
Êîðíè ìîæíî âûâåñòè â âèäå äåñÿòè÷íîé äðîáè ñ
ïëàâàþùåé çàïÿòîé (0.043778), à íå â «íàó÷íîì» âèäå (4.3778×10-2), åñëè
âûðàæåíèå íà ðèñóíêå îõâàòèòü êóðñîðîì è íàæàòü êëàâèøó «=». Ïîñëå ýòîãî
«÷èñëåííûé» îòâåò ìîæíî áóäåò ñîîòâåòñòâóþùèì îáðàçîì îòôîðìàòèðîâàòü (ñì.
òàêæå ñîâåò 3).
27 Äîâåðÿé, íî ïðîâåðÿé.bmp
Ýòîò ñîâåò, åñòåñòâåííî, îòíîñèòñÿ ïî âñåì
ïðîãðàììíûì ñðåäñòâàì ðåøåíèÿ ìàòåìàòè÷åñêèõ çàäà÷, à íå òîëüêî ê Mathcad.
Èòàê, ïîëó÷èâ îòâåò, íå ïîëåíèòåñü ïðîâåðèòü
åãî. Íà ðèñóíêå êîðíè ñèñòåìû ïîäñòàâëÿþòñÿ â óðàâíåíèå. Äëÿ ýòîãî ìàòðèöà
ñ êîðíÿìè èç Mathcad-äîêóìåíòà, èëëþñòðèðóþùåãî ñîâåò
26, çàíîñèòñÿ â ïåðåìåííóþ Êîðíè. Çàòåì ïàðû çíà÷åíèé èç ñòðîê ìàòðèöû Êîðíè ïåðåíîñÿòñÿ â ïåðåìåííûå x è y, êîòîðûå, â ñâîþ î÷åðåäü, ïîäñòàâëÿþòñÿ â ëåâûå
÷àñòè àëãåáðàè÷åñêèõ óðàâíåíèé ïðîâåðÿåìîé ñèñòåìû. Ïî àíàëèçó íåâÿçêè ìîæíî ñóäèòü î êà÷åñòâå ðåøåíèÿ.
28
Òðè ñïîñîáà çàäàíèÿ îáëàñòè ñóùåñòâîâàíèÿ òðåõìåðíîãî ãðàôèêà.bmp
Ïîñòðîåíèå ïîâåðõíîñòè â ñðåäå Mathcad äî âåðñèè
2000 (ñì. ïóíêò 2 ãë. MC 2000) ïðåäâàðÿåòñÿ çàïîëíåíèåì ìàòðèöû, ýëåìåíòû êîòîðîé –
çíà÷åíèÿ àíàëèçèðóåìîé ôóíêöèè äâóõ ïåðåìåííûõ â ïðÿìîóãîëüíîé îáëàñòè. Íîìåðà
ñòîëáöîâ ìàòðèöû ïðè ýòîì ñâÿçûâàþòñÿ ñî çíà÷åíèÿìè ïåðâîãî àðãóìåíòà, à íîìåðà
ñòðîê – âòîðîãî.
Íà ðèñóíêå â ïóíêòå 1
ïðåäñòàâëåíà ñòàíäàðòíàÿ ìåòîäèêà çàïîëíåíèÿ äàííîé ìàòðèöû, îïèñàííàÿ â
äîêóìåíòàöèè ïàêåòà Mathcad: îïîðíûìè òî÷êàìè ÿâëÿþòñÿ íîìåðà ñòðîê è ñòîëáöîâ
ìàòðèöû çíà÷åíèé àíàëèçèðóåìîé ôóíêöèè.
 ïóíêòàõ 2 è 3 ïîêàçàíû àëüòåðíàòèâíûå è â ÷åì-òî áîëåå óäîáíûå
ìåòîäèêè ïîñòðîåíèÿ ãðàôèêîâ: îïîðíûìè òî÷êàìè ÿâëÿþòñÿ êîîðäèíàòû óãëîâ ïðÿìîóãîëüíîé îáëàñòè (ïóíêò 2) èëè öåíòð
êâàäðàòíîé îáëàñòè, ñòîðîíà êîòîðîé òàêæå çàäàåòñÿ ïîëüçîâàòåëåì. Åñëè ïðè ýòîì
îïåðàòîð ââîäà (îïåðàòî𠫺») êîîðäèíàò àíàëèçèðóåìîé
ôóíêöèè «îïóñòèòü» ê ãðàôèêó, òî ðàáîòàòü ñ íèìè áóäåò ñîâñåì ëåãêî.
Ñ ïîÿâëåíèåì Mathcad 2000
íåîáõîäèìîñòü â îáÿçàòåëüíîì çàïîëíåíèè ìàòðèöû ïåðåä ïîñòðîåíèåì òðåõìåðíîãî
ãðàôèêà îòïàëà – ñì. ï. 2 â ãëàâå «Mathcad 2000 – ÷òî íîâîãî». Íî íàøè
òðè ñïîñîáà ôîðìèðîâàíèÿ ìàòðèö ïåðåä ïîñòðîåíèåì ïîâåðõíîñòè îñòàþòñÿ â ñèëå.
Òðåòèé ñïîñîá, íàïðèìåð, óäîáåí ïðè àíèìàöèè: ìåíÿÿ ÷åðåç ïåðåìåííóþ FRAME îäíó èç êîîðäèíàò öåíòðà êâàäðàòà, ìîæíî «ëåòåòü» íàä ïîâåðõíîñòüþ;
èçìåíÿÿ çíà÷åíèå D, ìîæíî ïðèáëèæàòüñÿ èëè
óäàëÿòüñÿ îò ïîâåðõíîñòè, êàê áû íàáëþäàÿ çà íåé ÷åðåç ….«èëëþìèíàòîð».
29
Ïëîñêèé ãðàôèê â «äâà
ñ÷åòà».bmp
Âîò îáû÷íàÿ, «òðåõøàãîâàÿ» òåõíîëîãèÿ ïîñòðîåíèÿ â ñðåäå Mathcad äåêàðòîâîãî ãðàôèêà (ñì. âåðõíþþ ÷àñòü ðèñóíêà):
• 1 øàã: çàäàåòñÿ âèä àíàëèçèðóåìîé ôóíêöèè;
• 2 øàã: ââîäèòñÿ ïåðåìåííàÿ îáëàñòè (Range Variable – ó íàñ ýòî x), çàäàþùàÿ ðàçáðîñ ãðàôèêà ïî îñè îðäèíàò (x íà÷ è x êîí) è ÷èñëî òî÷åê íà íåì
(çàäàåòñÿ íå ÷èñëî òî÷åê, à øàã òî÷åê – ðàññòîÿíèå ìåæäó íèìè);
• 3 øàã: îòäàåòñÿ êîìàíäà íà ïîñòðîåíèå
ãðàôèêà, êîòîðûé çàòåì ôîðìàòèðóåòñÿ, åñëè êàêèå-ëèáî åãî ïàðàìåòðû íå
óñòðàèâàþò ïîëüçîâàòåëÿ; äëÿ ýòîãî âûçûâàþò ñîîòâåòñòâóþùèå äèàëîãîâûå îêíà;
ðàçìåð ãðàôèêà èçìåíÿåòñÿ ÷åðåç ïðîòÿæêó åãî êîíòóðà (îáû÷íàÿ «îêîííàÿ» òåõíîëîãèÿ â ñðåäå Windows).
 ñðåäå Mathcad, íà÷èíàÿ ñ âåðñèè 7,
äîïóñòèìà áûñòðàÿ (Quick Graph – ñì. âòîðîé ãðàôèê íà
ðèñóíêå) òåõíîëîãèÿ ïîñòðîåíèÿ «ïëîñêèõ» ãðàôèêîâ (äåêàðòîâîãî è
ïîëÿðíîãî):
• 1 øàã: ñì. âûøå, òîëüêî àíàëèçèðóåìóþ
ôóíêöèþ ìîæíî è íå çàäàâàòü â âèäå ôóíêöèè ïîëüçîâàòåëÿ – äîñòàòî÷íî çàïèñàòü
åå ó îñè y;
• 2 øàã: îòäàåòñÿ êîìàíäà íà ïîñòðîåíèå
ãðàôèêà; òóò ïîÿâëÿþòñÿ åùå äâà óìîë÷àíèÿ: ãðàôèê ñòðîèòñÿ â äèàïàçîíå îò -10
äî 10[28] ïî ïåðåìåííîìó ÷èñëó òî÷åê,
çàâèñÿùåìó îò ðàçìåðà ãðàôèêà; ïåðâîå óìîë÷àíèå ïîëüçîâàòåëÿ, êàê ïðàâèëî,
óäîâëåòâîðÿåò (çäåñü èìååò ìåñòî êîìïðîìèññ ìåæäó êà÷åñòâîì ãðàôèêà è ñêîðîñòüþ
åãî ïîñòðîåíèÿ). Âòîðîå óìîë÷àíèå ïîëüçîâàòåëü âïðàâå íàðóøèòü è çàäàòü èíîé
äèàïàçîí ðàçáðîñà àðãóìåíòà, ìåíÿÿ ÷èñëà íà êðàÿõ îñè x.
Âòîðàÿ òåõíîëîãèÿ èìååò åùå îäíî ïðåèìóùåñòâî
(ñóòü ñîâåòà): ïåðåìåííàÿ àðã îñòàåòñÿ ñâîáîäíîé îò êàêîãî-ëèáî ÷èñëîâîãî çíà÷åíèÿ, êîòîðîå â
äàëüíåéøåì ìîæåò ïîìåøàòü, íàïðèìåð, àíàëèòè÷åñêîìó (ñèìâîëüíîìó) ðåøåíèþ
çàäà÷è. (Ïðîäîëæåíèå òåìû â ñîâåòàõ 65 è 73.)
30 Êîììåíòàðèé
â Mathcad-ïðîãðàììå.bmp
Ýòîò è íåêîòîðûå ïîñëåäóþùèå ñîâåòû (ñì. òàêæå ñîâåòû 30,
35, 36, 37, 69.)
áóäóò ïðîèëëþñòðèðîâàíû íåñëîæíîé ïðîãðàììîé[29], ôîðìèðóþùåé ôóíêöèþ
ïîëüçîâàòåëÿ ñ èìåíåì V, êîòîðàÿ âîçâðàùàåò îáúåì ïðàâèëüíîãî (ïðÿìîãî) êîíóñà â çàâèñèìîñòè
îò äèàìåòðà åãî îñíîâàíèÿ (d) è äëèíû îáðàçóþùåé (l – ýëü[30]).
ßçûê ïðîãðàììèðîâàíèÿ Mathcad íå èìååò
ñïåöèàëüíûõ ñðåäñòâ (îïåðàòîðîâ) êîììåíòèðîâàíèÿ
ïðîãðàìì. Ñ÷èòàåòñÿ, ÷òî òå èëè èíûå îïåðàòîðû ïðîãðàììû ìîæíî
ïðîêîììåíòèðîâàòü, ïîìåñòèâ ïðàâåå (èëè âîêðóã) ïðîãðàììû òåêñòîâûå âñòàâêè (ñì. ïóíêò 1 íà ðèñóíêå). Íî èç-çà ðàçëè÷èÿ â
øðèôòàõ ôîðìóë è òåêñòîâûõ âñòàâîê òðóäíî áûâàåò ïîñòàâèòü êîììåíòàðèé òàì, ãäå
îí íóæåí.
Íåóäîáñòâà òàêîé òåõíîëîãèè ìû ðàññìîòðåëè â ñîâåòå 5: ïðè ïåðåòàñêèâàíèè îïåðàòîðîâ ìîæíî ÷òî-ëèáî «ðàñòåðÿòü ïî äîðîãå».
Êîììåíòàðèè ìîæíî âñòàâëÿòü â ïðîãðàììû â
âèäå îòäåëüíûõ îïåðàòîðîâ –
òåêñòîâûõ êîíñòàíò (ïåðâàÿ ñòðîêà
ïðîãðàììû â ïóíêòå 2 íà ðèñóíêå). Ìîæíî ïîñòóïèòü ïî-äðóãîìó (ñì. ñòðîêè 2-3):
çàïèñàòü â ïðîãðàììó âåêòîð-ñòðîêó ñ äâóìÿ ýëåìåíòàìè, ïåðâûé èç êîòîðûõ – ýòî
êîììåíòàðèé, à âòîðîé – îïåðàòîð ïðîãðàììû.
Êîììåíòèðîâàíèå ìàòðèöåé, ïåðâûé ýëåìåíò
êîòîðîé – òåêñòîâàÿ êîíñòàíòà, èìååò ñóùåñòâåííûé
íåäîñòàòîê: ôóíêöèÿ ïåðåñòàåò ðàáîòàòü ñ ðàçìåðíûìè àðãóìåíòàìè. Ýòî ÿâëÿåòñÿ
ñëåäñòâèåì òîãî, ÷òî ìàññèâ Mathcad íå ìîæåò õðàíèòü «ðàçíîðàçìåðíûå» âåëè÷èíû.
Äàëåå åùå îêîëî 70 ñîâåòîâ. Ðèñóíêè áóäóò îòêðûòû ïîñëå âûõîäà êíèãè â ñâåò.
[1] Îäíî èç îïðåäåëåíèé íàóêè: óäîâëåòâîðåíèå ÷àñòíîãî ëþáîïûòñòâà çà îáùåñòâåííûé (ãîñóäàðñòâåííûé) ñ÷åò.
[2] Âñå ñåðüåçíûå êîììåð÷åñêèå ïðîãðàììû ñîçäàþòñÿ áîëüøèì êîëëåêòèâîì ðàçðàáîò÷èêîâ, íî íîâàòîðñêèå èäåè, çàëîæåííûå â íèõ, èìåþò êîíêðåòíûõ àâòîðîâ.
[3] Ðåøåíèå äîâîëüíî-òàêè ñïîðíîå. Ìíîãèå ïîëüçîâàòåëè íå çàãëÿäûâàþò â äîêóìåíòàöèþ íå ïîòîìó, ÷òî ëåíü, à ïîòîìó, ÷òî äîêóìåíòàöèè ïðîñòî íåò, ò.ê. äèñê ñ ïðîãðàììîé êóïëåí «íà ãîðáóøêå» è, åñòåñòâåííî, áåç äîêóìåíòàöèè.
[4] Îäèí êîëëåãà àâòîðà êóïèë òàì äëÿ ôèðìû, ãäå îí «õàëòóðèò», ëåãàëüíóþ êîïèþ îôèñíîé ñèñòåìû çà 2500 äîëë., õîòÿ íà ëîòêàõ åå ïðîäàþò çà 90 ðóáëåé. Ïðè óñòàíîâêå ïðîãðàììû ïîíàäîáèëàñü êîíñóëüòàöèÿ. Çâîíÿò ïðîäàâöó, à îí îòâå÷àåò, ÷òî ïåðåïîðó÷èë ïîñëåïðîäàæíóþ ïîääåðæêó ïðîãðàììû äðóãîé ôèðìå. Çâîíÿò òóäà. À òàì îòâå÷àþò, ÷òî ó íèõ êîíñóëüòàöèè ïëàòíûå – 60 äîëë. çà âîïðîñ. Çà òàêèå äåíüãè îíè êîíñóëüòèðóþò, åñòåñòâåííî, âñåõ ïîäðÿä, à íå òîëüêî ëåãàëüíûõ ïîëüçîâàòåëåé.
[5] Õîòÿ ýòî íå ñàìûé ñòðàøíûé «÷åðíûé» áèçíåñ: ðàäóéòåñü, ÷òî òîðãóþò «æåëåçîì» è ïðîãðàììàìè, à íå íàñòîÿùèìè âèí÷åñòåðàìè è íàðêîòèêàìè.
[6] Ãîâîðÿò, ÷òî èãðàòü íà ôîðòåïüÿíî î÷åíü ïðîñòî. Äîñòàòî÷íî íàæèìàòü íóæíóþ êëàâèøó â íóæíîå âðåìÿ. À ãåíèàëüíûõ ïèàíèñòîâ åäèíèöû ïîòîìó, ÷òî Ñîçäàòåëü íå â ñèëàõ îáñëóæèòü âñåõ èãðàþùèõ. Ïðîáëåìû æå òðóäîëþáèÿ ìóçûêàíòà (ïðîãðàììèñòà) ìû êàñàòüñÿ íå áóäåì, îòñûëàÿ ÷èòàòåëÿ ê «Ìîöàðòó è Ñàëüåðè» À.Ñ.Ïóøêèíà, ãäå ýòà òåìà ðàçðàáîòàíà äîñòàòî÷íî ãëóáîêî.
[7] Àâòîìàòè÷åñêèå ññûëêè (ãèïåðññûëêè) ââåäåíû â ýëåêòðîííûé âàðèàíò òåêñòà êíèãè, ãäå îíè ïîìå÷åíû öâåòîì è ïîä÷åðêèâàíèåì. Åñëè òàêîé ôðàãìåíò òåêñòà (ñì. ñîâåò NN) «îêëèêíóòü» (ùåëêíóòü ïî íåìó ìûøêîé), òî ìû ïåðåéäåì â íóæíîå ìåñòî (ê ñîâåòó NN).  êíèãå öâåò, åñòåñòâåííî, ïðîïàë, à ïîä÷åðêèâàíèå îñòàëîñü.
[8] «Îïåðàòîð ïðèñâàèâàíèÿ» – íå ñîâñåì ïðàâîìåðíûé òåðìèí. «Íàñòîÿùèé» îïåðàòîð – ýòî îñîáûé âèä ïðåäñòàâëåíèÿ ôóíêöèè, ó÷èòûâàþùèé èñòîðè÷åñêè ñëîæèâøååñÿ äåëåíèå ìàòåìàòè÷åñêèõ èíñòðóìåíòîâ íà ôóíêöèè (ñèíóñ, êîñèíóñ è ò.ä.) è íà îïåðàòîðû (ñëîæåíèå, âîçâåäåíèå â ñòåïåíü è ò.ä.).
[9] Çäåñü ðåæèì ôîíîâîãî âûäåëåíèÿ îïåðàòîðîâ îòêëþ÷åí – ñðàâíèòå ðèñóíîê, ïðèâåäåííûé â äàííîì ñîâåòå, ñ ðèñóíêàìè â ñîâåòàõ 1 è 3.
[10] Êîìàíäà Evaluate\Floating Point…ìåíþ Symbolic ïîçâîëÿåò âûâåñòè äî 4 000 çíàêîâ.
[11] Çäåñü òåðìèí «îïåðàòîð» èìååò óæå òðåòüå çíà÷åíèå (ïåðâûå äâà – ñì. ñíîñêó â ñîâåòå 1): ïîäñâå÷åííàÿ áåëûì ôîíîì ÷àñòü Mathcad-äîêóìåíòà (êîììåíòàðèé, âûðàæåíèå, îïåðàòîð ïðèñâàèâàíèÿ, îïåðàòîð âûâîäà è ò.ä.).
[12] Èìåíà ïåðåìåííûõ â Mathcad-äîêóìåíòå äàííîãî ñîâåòà ñîäåðæàò ïðîáåëû. Êàê ýòîãî äîáèòüñÿ – ñì. ñîâåòû 14, 18 è 19.
[13] ×åðåñ÷óð îáúåìíûé ìàññèâ íå ìîæåò áûòü ïîêàçàí â âèäå ìàòðèöû – âûâîäèòñÿ ñîîáùåíèå îá îøèáêå.
[14] Íà ýêðàíå äèñïëåÿ ìèíóñ (îïåðàòîð èçìåíåíèÿ çíàêà ÷èñëà) ÷óòü-÷óòü êîðî÷å ñèìâîëà îïåðàòîðà âû÷èòàíèÿ, õîòÿ ââîäÿòñÿ îíè ÷åðåç íàæàòèå îäíîé êëàâèøè.
[15] Åñëè â ñðåäå Mathcad 8 è Mathcad 2000 â êà÷åñòâå ïåðâîãî ïðèáëèæåíèÿ äàòü íå ñêàëÿð, à âåêòîð, òî áóäåò âûäàí íå îäèí, à íåñêîëüêî êîðíåé ñèñòåìû. (ñì. ðèñ. 1. ? â êíèãå «MC 8Pro…»
[16] Êàê ïðàâèëî, ëþáîå äåéñòâèå â ñðåäå Mathcad ìîæíî âûïîëíèòü òðåìÿ ñïîñîáàìè. Òàê âñòðîåííóþ ôóíêöèþ äîïóñòèìî ââåñòè ÷åðåç ñîîòâåòñòâóþùåå äèàëîãîâîå îêíî, à ìîæíî íàáðàòü åå èìÿ ÷åðåç êëàâèàòóðó èëè ñêîïèðîâàòü èç äðóãîãî ìåñòà.
[17] Íà ðèñóíêå ê ñîâåòó 6 ìû óæå èñïîëüçîâàëè îïåðàòîð ñëîæåíèÿ â êà÷åñòâå ëîãè÷åñêîãî «èëè»: åñëè ââåäåííîå çíà÷åíèå òåìïåðàòóðû ìåíüøå ìèíóñ 20 èëè áîëüøå 40 ãðàäóñîâ Öåëüñèÿ, òî ýòî ñ÷èòàåòñÿ îøèáêîé ââîäà.
[18] Ýòî îãðàíè÷åíèå íå âïîëíå îáîñíîâàíî. Ïîíÿòíî, ïî÷åìó èìÿ ïåðåìåííîé íå ìîæåò ñîñòîÿòü òîëüêî èç ÷èñåë, íî íå ÿñíî, ïî÷åìó îíî íå ìîæåò íà÷èíàòüñÿ ñ ÷èñëà...
[19] Íà ñàìîì äåëå ýòî óñëîâíûå åäèíèöû, à íå äîëëàðû ÑØÀ (ñì. ñîâåò 17): âèä âàëþòû íå âëèÿåò íà ðåøåíèå çàäà÷è.
[20] Êàê ðàáîòàòü ñ ãðàäóñàìè Öåëüñèÿ, êîòîðûå íåëüçÿ ââåñòè â ðàñ÷åò ÷åðåç êîýôôèöèåíò ïåðåñ÷åòà, – ñì. ñîâåò 64.
[21] Ýòîò «àêêîðä» èíîãäà áûâàåò òðóäíî «âçÿòü» èç-çà òîãî, ÷òî «àêêîðä» Shift+Ctrl â ñðåäå Windows çàðåçåðâèðîâàí çà ïåðåêëþ÷åíèåì êëàâèàòóðû ñ àíãëèéñêîãî íà ðóññêèé øðèôò è îáðàòíî. Îòñþäà, ÷åñòíî ãîâîðÿ, è ñëîæíîñòè, êîòîðûå ìû ïûòàëèñü îáõîäèòü, ïðåâðàùàÿ êîììåíòàðèé â ïåðåìåííóþ (ñì. ñîâåò 14).
[22] Èåðàðõèÿ îïåðàòîðîâ – ýòî, òî ÷òî èõ îòëè÷àåò îò ôóíêöèé – ñì. ãëàâó «Ôóíêöèè è îïåðàòîðû» â êíèãå «Mathcad 2000 Pro»
[23] Â àíãëèéñêîì ÿçûêå íåò òàêîé ïóòàíèöû – òàì ýòè «åäèíèöû» íàçûâàþòñÿ ïî-ðàçíîìó: one è unit.
[24] Çäåñü èñïîëüçîâàíî àíãëèéñêîå (Chair1), à íå ðóññêîå èìÿ ïåðåìåííîé (I-é ñòóë ñì. ðèñóíîê â ñîâåòå 17) èç-çà òîãî, ÷òî ñèìâîëüíàÿ ìàòåìàòèêà Mathcad 8 Pro íå ìîæåò ðàáîòàòü ñ òàêèìè «íåñòàíäàðòíûìè» ïåðåìåííûìè.
[25] Âåðíåå, «âãîëîâíóþ», åñëè òàê ìîæíî âûðàçèòüñÿ.  êíèãå ÷àñòî âñòðå÷àåòñÿ âûðàæåíèå «ðó÷íîé ðàñ÷åò â ñðåäå Mathcad». Èìååòñÿ â âèäó, ÷òî Mathcad-äîêóìåíò èñïîëüçóåòñÿ êàê ïðîñòîé ëèñò áóìàãè.
[26]Ôóíêöèÿ max çäåñü ðàáîòàåò êàê ëîãè÷åñêîå «èëè» (ñì. ñîâåò 12). Íà ãðàôèêå ñòàâèòñÿ òî÷êà, åñëè ïðîèçâåäåíèå ôóíêöèè âáëèçè äàííîé êîîðäèíàòû ìåíüøå íóëÿ – ôóíêöèè ïî îáå ñòîðîíû òî÷êè èìåþò ðàçíûé çíàê.
[27] Ðàñ÷åò ìîæíî óñêîðèòü, íå ïðîèçâîäÿ êàæäûé ðàç âû÷èñëåíèÿ îáîèõ çíà÷åíèé ôóíêöèè, à èñïîëüçóÿ îäíî èç ïðåäûäóùèõ.
[28] Ýòî íå âñåãäà òàê. Åñëè, íàïðèìåð, ïðè x<0 ôóíêöèÿ íå îïðåäåëåíà, âîçâðàùàåò êîìïëåêñíûå çíà÷åíèÿ èëè èìååò êàêèå-òî äðóãèå ïðîáëåìû, òî ãðàôèê ñòðîèòñÿ òîëüêî â ïðàâîé ïîëîâèíå îñè îðäèíàò.
[29] Àâòîðû íàìåðåííî èëëþñòðèðóþò ñîâåòû êíèãè ïðîñòûìè çàäà÷àìè, ñ÷èòàÿ, ÷òî íåëüçÿ îäíîâðåìåííî äàâàòü ÷èòàòåëþ è íåçíàêîìûé àëãîðèòì, è íîâûé ïðîãðàììèñòñêèé ïðèåì.
[30] Ïåðåìåííàÿ ñ èìåíåì l (ýëü) íå î÷åíü óäîáíà â ïðîãðàììàõ, òàê êàê åå ìîæíî ñïóòàòü ñ åäèíèöåé èëè ñ çàãëàâíîé ëàòèíñêîé áóêâîé È.