Ñîâåòû ïîëüçîâàòåëÿì Mathcad

Ñîâåò 1. Íå èñïîëüçóéòå îïåðàòîð ïðèñâàèâàíèÿ

Ñîâåò 2. Ñèìâîëüíûé âûâîä âìåñòî ÷èñëîâîãî

Ñîâåò 3. Ñî÷åòàíèå âûâîäà ñèìâîëüíîãî è àíàëèòè÷åñêîãî çíà÷åíèé

Ñîâåò 4. Êîíñòàíòà â ÷èñëîâîì îòâåòå

Ñîâåò 5. Òèïîâàÿ òðîéêà îïåðàòîðîâ

Ñîâåò 6. Ââîä èñõîäíûõ äàííûõ ñ ïðîâåðêîé

Ñîâåò 7. Ââîä îáúåìíîé ìàòðèöû ñ òèïîâûìè ýëåìåíòàìè

Ñîâåò 8. Âûâîä îáúåìíîé ìàòðèöû

Ñîâåò 9. Íå ïðîïóñêàéòå çíàêà óìíîæåíèÿ

Ñîâåò 10. Ãëîáàëüíîå ïðèñâàèâàíèå ïðè ðåøåíèè ñèñòåìû

Ñîâåò 11. Ëèøíèå ñêîáêè

Ñîâåò 12. Òðîéêà áóëåâûõ ôóíêöèé

Ñîâåò 13. Ïåðåîïðåäåëåíèå âñòðîåííîé ôóíêöèè

Ñîâåò 14. Ñïåöñèìâîëû â èìåíàõ ïåðåìåííûõ è ôóíêöèé

Ñîâåò 15. Ïðîíóìåðîâàííûå èìåíà ïåðåìåííûõ

Ñîâåò 16. Ïîëüçîâàòåëüñêèå åäèíèöû èçìåðåíèÿ ôèçè÷åñêèõ âåëè÷èí

Ñîâåò 17. Åäèíèöû èçìåðåíèÿ íåôèçè÷åñêèõ âåëè÷èí

Ñîâåò 18. Åùå ðàç î ñïåöñèìâîëàõ â èìåíàõ ïåðåìåííûõ

Ñîâåò 19. Ôóíêöèÿ-íåâèäèìêà è ôóíêöèÿ-îáîðîòåíü

Ñîâåò 20. Äîáàâëÿåì ëèøíèå ñêîáêè

Ñîâåò 21. Êîíòðîëü ðàçìåðíîñòè ïåðåìåííîé

Ñîâåò 22. Ãðàôè÷åñêîå ðåøåíèå çàäà÷è ëèíåéíîãî ïðîãðàììèðîâàíèÿ

Ñîâåò 23. Öâåòíîé äåêàðòîâ ãðàôèê (Scatter Plot) Ìîñò

Ñîâåò 24. Ãðàôè÷åñêîå ðåøåíèå ñèñòåìû äâóõ àëãåáðàè÷åñêèõ óðàâíåíèé (Íà÷àëî òåìû – ñì. ïóíêò 1 â ãëàâå «Mathcad MM»)

Ñîâåò 25. Ëó÷åâàÿ äèàãðàììà

Ñîâåò 26. Íà÷íè ñ ñèìâîëà, à êîí÷è ÷èñëîì

Ñîâåò 27. Äîâåðÿé, íî ïðîâåðÿé

Ñîâåò 28. Òðè ñïîñîáà çàäàíèÿ îáëàñòè ñóùåñòâîâàíèÿ òðåõìåðíîãî ãðàôèêà

Ñîâåò 29. Ïëîñêèé ãðàôèê â «äâà ñ÷åòà»

Ñîâåò 30. Êîììåíòàðèé â Mathcad-ïðîãðàììå

Äàëåå åùå îêîëî 70 ñîâåòîâ. Ðèñóíêè áóäóò îòêðûòû ïîñëå âûõîäà êíèãè â ñâåò.

Ñîâåòû ïîëüçîâàòåëÿì Mathcad

Ðóáðèêè, îäíîèìåííûå íàçâàíèþ ýòîé ãëàâû êíèãè, ìîæíî âñòðåòèòü ïðàêòè÷åñêè â ëþáîì êîìïüþòåðíîì èçäàíèè – ñì., íàïðèìåð, «Ñîâåòû òåì, êòî ïðîãðàììèðóåò íà Visual Basic» èëè «îôèñíûå» ñîâåòû íà CD-ROM è âî âêëàäêå «Ðåøåíèÿ Microsoft» æóðíàëà ÊîìïüþòåðÏðåññ.

Òàêèå ñîâåòû óñëîâíî äåëÿòñÿ íà òðè ãðóïïû:

1.    Óòî÷íÿþòñÿ ðåêîìåíäàöèè, êîòîðûå â äîêóìåíòàöèè è â helpe ïðîïèñàíû «ïåòèòîì».

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] êàê íà ïîñëåäóþùèå, òàê è íà ïðåäûäóùèå ñîâåòû. Òàê ÷òî ÷èòàòåëü ìîæåò íà÷àòü çíàêîìñòâî ñ ñîâåòàìè íå ïî ïîðÿäêó, à íàóãàä, âûáðàâ èç îãëàâëåíèÿ òî, ÷òî åãî áîëüøå çàèíòðèãîâàëî.


Ñîâåò 1. Íå èñïîëüçóéòå îïåðàòîð ïðèñâàèâàíèÿ

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 ñèìâîëû îïåðàòîðîâ «=» è «:=» ñòàëî âîçìîæíûì ïðîïèñûâàòü îäèíàêîâî: «=».

Ñîâåò 2. Ñèìâîëüíûé âûâîä âìåñòî ÷èñëîâîãî

 

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).

Ñîâåò 3. Ñî÷åòàíèå âûâîäà ñèìâîëüíîãî è àíàëèòè÷åñêîãî çíà÷åíèé

  

03 Ñî÷åòàíèå âûâîäà ñèìâîëüíîãî è àíàëèòè÷åñêîãî çíà÷åíèé.bmp

Èíîãäà ñòîèò íå ïðîòèâîïîñòàâëÿòü îïåðàòîðû âûâîäà ñèìâîëüíîãî è ÷èñëåííîãî îòâåòîâ (ñì. ñîâåò 2), à ñî÷åòàòü èõ â îäíîì âûðàæåíèè. Íà ðèñóíêå äàåòñÿ òðè ïðèìåðà òàêîãî ñî÷åòàíèÿ:

·        Ïóíêò 1: ïðè âû÷èñëåíèè ìîæíî îäíîâðåìåííî ïîëó÷èòü îòâåò â âèäå è ïðîñòîé è äåñÿòè÷íîé äðîáè.

·        ïóíêò 2: ïðè ðåøåíèè àëãåáðàè÷åñêîãî óðàâíåíèÿ ìîæíî ïîëó÷èòü è àáñîëþòíî òî÷íûå è ïðèáëèæåííûå, íî «ãîâîðÿùèå» îòâåòû («ãîâîðÿùèå» â òîì ñìûñëå, ÷òî ìåñòîïîëîæåíèå êîðíåé íà ÷èñëîâîé îñè âèäíî ñðàçó).

·        ïóíêò 3: âû÷èñëåíèå âûðàæåíèÿ ìîæíî ïðåäâàðèòü åãî óïðîùåíèåì. Òàêóþ ðàáîòó âûïîëíÿåò ðåæèì Optimize, íî â íàøåì ïðèìåðå ìû îïÿòü æå îäíîâðåìåííî âèäèì è àíàëèòè÷åñêèé (ïîëèíîì ÷åòâåðòîé ñòåïåíè) è ÷èñëîâîé îòâåòû.

Ñì. òàêæå ïóíêò ??? â ãëàâå «Mathcad ÌÌ: íîâàÿ ïðîãðàììà íîâûå âîçìîæíîñòè», ãäå ðàññìàòðèâàåòñÿ íåîáõîäèìîñòü íå îäèíî÷íîãî, à «ñåðèéíîãî» èñïîëüçîâàíèÿ îïåðàòîðà âûâîäà ÷èñëîâîãî çíà÷åíèÿ. «Ñåðèéíûé» âûâîä ñèìâîëüíîãî çíà÷åíèÿ â ðåàëüíîé, à íå â ôàíòàñòè÷åñêîé ñðåäå Mathcad äîïóñòèì. Òàê, íàïðèìåð, ïðè ðåøåíèè àëãåáðàè÷åñêîãî óðàâíåíèÿ ìîæíî ñíà÷àëà âûâåñòè àíàëèòè÷åñêîå ðåøåíèå, à çàòåì è ÷èñëîâîå ñì. êîíåö ðèñóíêà.

Ñîâåò 4. Êîíñòàíòà â ÷èñëîâîì îòâåòå

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 ÌÌ: íîâàÿ ïðîãðàììà íîâûå âîçìîæíîñòè» îáñóæäàåòñÿ íåîáõîäèìîñòü ðàçáèåíèÿ îòâåòà íå òîëüêî íà ñîìíîæèòåëè, íî è íà ñëàãàåìûå.

Ñîâåò 5. Òèïîâàÿ òðîéêà îïåðàòîðîâ

 

05 Òèïîâàÿ òðîéêà îïåðàòîðîâ.bmp

Ââåðõó íà ðèñóíêå ïðåäñòàâëåí òèïîâîé ôðàãìåíò Mathcad-äîêóìåíòà ñ çàãîëîâêîì «Èñõîäíûé âàðèàíò ðàñ÷åòà»: ïîëüçîâàòåëü ïèøåò òåêñò, êîììåíòèðóþùèé äàëüíåéøèå äåéñòâèÿ (Âðåìÿ), ââîäèò â ðàñ÷åò ïåðåìåííóþ (t), ïðèñâàèâàÿ åé ÷èñëîâîå çíà÷åíèå ñ åäèíèöåé èçìåðåíèÿ âðåìåíè (360 ñåêóíä), è âûâîäèò åå «íà ïå÷àòü», ñîïðîâîäèâ äëÿ ðàçíîîáðàçèÿ äðóãîé åäèíèöåé èçìåðåíèÿ âðåìåíè (ìèíóòû). Òàêèìè òðîéêàìè îïåðàòîðîâ[11] ìîæíî çàïîëíèòü âåñü Mathcad-äîêóìåíò, ðåøèâ ïîñòàâëåííóþ çàäà÷ó (ðàñ÷åò ñêîðîñòè, êàê íà íàøåì ðèñóíêå). Íåóäîáñòâî òàêîé òåõíîëîãèè ñîñòîèò â òîì, ÷òî ïðè ïåðåíîñå ôðàãìåíòîâ íà íîâîå ìåñòî ìîæíî îïåðàòîðû, âõîäÿùèå â íåãî, «ðàñòåðÿòü ïî äîðîãå». Êðîìå òîãî, åñëè îïåðàòîð âûâîäà («=») ðàñïîëîæèòü ÷óòü-÷óòü âûøå îïåðàòîðà ââîäà («:=»), òî íàðóøèòñÿ ïðè÷èííî-ñëåäñòâåííàÿ ñâÿçü è ïîÿâèòñÿ ñîîáùåíèå îá îøèáêå: «Ïåðåìåííàÿ èìÿðåê íå îïðåäåëåíà».

Íåïðîíóìåðîâàííûé ñîâåò. Ïðè íàïèñàíèè íîâîãî Mathcad-äîêóìåíòà ñëåäóåò ðàñïîëàãàòü îïåðàòîðû ñòîëáèêîì, ïî îäíîìó íà êàæäîé ñòðîêå.  ãîòîâîì äîêóìåíòå ìîæíî áóäåò ïåðåéòè «îò ëèíèè ê ïîâåðõíîñòè», ðàñïîëîæèâ ïî íåñêîëüêî îïåðàòîðîâ íà îäíîé ñòðîêå äîêóìåíòà è ñäåëàâ åãî òåì ñàìûì áîëåå êîìïàêòíûì, ñîîòâåòñòâóþùèì åâðîïåéñêîé òðàäèöèè: ñíà÷àëà ïèøóò ñëåâà íàïðàâî äî êðàÿ ñòðàíèöû è òîëüêî ïîòîì ïåðåõîäÿò íà íîâóþ ñòðîêó. ( ñðåäå Mathcad ìîæíî ïåðåéòè íå òîëüêî îò «ëèíèè» ê «ïîâåðõíîñòè», íî è ê «îáúåìó», êîãäà îäèí îïåðàòîð íàêðûâàåò äðóãîé. Òàêîé «îáúåìíûé» äîêóìåíò ïîëó÷àåòñÿ, êîãäà âûäåëåííûé ðÿä (ñòîëáåö) îïåðàòîðîâ ïî îøèáêå èëè ñïåöèàëüíî âûðàâíèâàåòñÿ ïî âåðòèêàëè (ãîðèçîíòàëè).

Âíèçó ðèñóíêà îòîáðàæåíà äðóãàÿ òåõíîëîãèÿ âåäåíèÿ ðàñ÷åòà: ïèøåòñÿ êîììåíòàðèé (Âðåìÿ) ñ øåñòüþ ïðîáåëàìè íà êîíöå. Äàëåå â ñåðåäèíó öåïî÷êè ïðîáåëîâ è â åå êîíåö âñòàâëÿþòñÿ ìàòåìàòè÷åñêèå îáëàñòè (êîìàíäà Math Region â ìåíþ Insert), à â íèõ îïåðàòîðû ââîäà è âûâîäà. Ïîëó÷åííûé òàêèì îáðàçîì êîíãëîìåðàò (òåêñò, òðè ïðîáåëà, îïåðàòîð ââîäà, òðè ïðîáåëà è îïåðàòîð âûâîäà) ìîæíî áåç îïàñêè ïåðåòàñêèâàòü ñ ìåñòà íà ìåñòî. Òðè íèæíèõ îïåðàòîðà ðèñóíêà, ñîñòàâëÿþùèõ íåêèé ñìûñëîâîé ôðàãìåíò ðàñ÷åòà, ìîæíî, â ñâîþ î÷åðåäü, ïðåâðàòèòü â îäèí îïåðàòîð: òåêñò, ñîñòîÿùèé èç òðåõ ñòðîê, â êîòîðûå âñòàâëåíû øåñòü ìàòåìàòè÷åñêèõ îáëàñòåé (òðè îïåðàòîðà ââîäà è òðè îïåðàòîðà âûâîäà). Ìîæíî ïîïûòàòüñÿ è âåñü ðàñ÷åò «çàïèõíóòü» â îäèí òåêñòîâûé êîììåíòàðèé, íî òàêîé îáúåäèíåííûé îïåðàòîð ñòàíîâèòñÿ òðóäíî ðåäàêòèðîâàòü: âî âñåì íóæíî çíàòü ìåðó.

Ìàòåìàòè÷åñêèå âñòàâêè â êîììåíòàðèè îòëè÷àþòñÿ îò òåêñòà, âî-ïåðâûõ, öâåòîì è øðèôòîì (óìîë÷àíèå Mathcad). Âî-âòîðûõ, â ðåæèìå ôîíîâîãî âûäåëåíèÿ ìàòåìàòè÷åñêèå âñòàâêè èìåþò áîëåå øèðîêîå áåëîå îáðàìëåíèå: íà ðèñóíêå ýòîò áåëûé ôîí ó ìàòåìàòè÷åñêèõ ôîðìóë ñïåöèàëüíî ðàñøèðåí ïðè äîðàáîòêå ðèñóíêà â ñðåäå ãðàôè÷åñêîãî ðåäàêòîðà.

Ñîâåò 6. Ââîä èñõîäíûõ äàííûõ ñ ïðîâåðêîé

 

06 Ââîä èñõîäíûõ äàííûõ ñ ïðîâåðêîé.bmp

Êàê ïðàâèëî, ïåðåìåííàÿ, ââîäèìàÿ â ðàñ÷åò, äîëæíà èìåòü îãðàíè÷åííûé äèàïàçîí ðàçóìíûõ çíà÷åíèé, â êîòîðûé ïîëüçîâàòåëü ìîæåò ïî îøèáêå íå ïîïàñòü.  òàêîé ñèòóàöèè öåëåñîîáðàçíî îðãàíèçîâàòü ïðîâåðêó ïðàâèëüíîñòè ââåäåííîãî çíà÷åíèÿ. Íà ðèñóíêå ïîëüçîâàòåëÿ «ïðîñÿò» ïðèñâîèòü ïåðåìåííîé t çíà÷åíèå êîìíàòíîé òåìïåðàòóðû, êîòîðàÿ íå îïóñêàåòñÿ íèæå, äîïóñòèì, ìèíóñ 20 ãðàäóñîâ Öåëüñèÿ (çäåñü îïåðàòîð àðèôìåòè÷åñêîãî ñëîæåíèÿ âûïîëíÿåò ôóíêöèþ ëîãè÷åñêîãî ñëîæåíèÿ ñì. ñîâåò 12 è ïóíêò ??? â ãëàâå Mathcad 2000: ïåðâûå âïå÷àòëåíèÿ) è íå ïîäíèìàåòñÿ âûøå ïëþñ ñîðîêà ãðàäóñîâ (î ãðàäóñàõ Öåëüñèÿ ñì. â ñîâåòå 64). Åñëè æå ïîëüçîâàòåëü íåíàðîêîì îøèáåòñÿ è íå ïîïàäåò â îãîâîðåííûé äèàïàçîí, òî â ïåðåìåííóþ t áóäåò çàïèñàíî òåêñòîâîå çíà÷åíèå (“Íå ìîæåò òàêîãî áûòü!”), êîòîðîå çàáëîêèðóåò äàëüíåéøèå ðàñ÷åòû.

Âòîðîå âûðàæåíèå ñ ôóíêöèåé if çàêëþ÷åíî â ðàìêè (íàõîäèòñÿ âíóòðè îáëàñòè Mathcad-äîêóìåíòà ñì. ñîâåò 62), êîòîðûå çàõëîïûâàþòñÿ, ÷òîáû íå ñìóùàòü ïîëüçîâàòåëÿ ñì. êîìàíäó Collapse èç êîíòåêñòíîãî ìåíþ, êîòîðîå «âûïàäàåò», åñëè âíóòðü îáëàñòè ïîìåñòèòü êóðñîð è íàæàòü ïðàâóþ êíîïêó ìûøêè. Ñàìà îáëàñòü (äâå ãîðèçîíòàëüíûå ëèíèè) âñòàâëÿåòñÿ êîìàíäîé Area â ìåíþ Insert.

Ñîâåò 7. Ââîä îáúåìíîé ìàòðèöû ñ òèïîâûìè ýëåìåíòàìè

 

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 åñòü ñðåäñòâà áûñòðîãî çàïîëíåíèÿ ìàòðèö íå òîëüêî îäèíàêîâûìè çíà÷åíèÿìè, íî è çíà÷åíèÿìè, ïî îïðåäåëåííîìó çàêîíó (ïî ïðîãðåññèè).

Ñîâåò 8. Âûâîä îáúåìíîé ìàòðèöû

   

08 Âûâîä îáúåìíîé ìàòðèöû.bmp

Íåêîòîðûå çàòðóäíåíèÿ ìîãóò âîçíèêàòü íå òîëüêî ïðè ââîäå îáúåìíîé ìàòðèöû (ñì. ñîâåò 7), íî è ïðè åå âûâîäå íà ýêðàí äèñïëåÿ è íà áóìàãó ïðèíòåðà. Ïî óìîë÷àíèþ íà äèñïëåé âûâîäèòñÿ òîëüêî ëåâûé âåðõíèé óãîë îáúåìíîé ìàòðèöû â âèäå òàáëèöû, áîêîâèê êîòîðîé õðàíèò íîìåðà ñòðîê, à øàïêà – íîìåðà ñòîëáöîâ (íà ðèñóíêå ê ñîâåòó 7 ýòî óìîë÷àíèå ìû íàðóøèëè). Åñëè ìàòðèöà íå âûâîäèòñÿ âñÿ ñðàçó, òî ñïðàâà è âíèçó âûâåäåííîé òàáëèöû ïîìåùàþòñÿ ïîëîñû âåðòèêàëüíîé è ãîðèçîíòàëüíîé ïðîêðóòêè ñ áåãóíêîì, äâèãàÿ êîòîðûé ìîæíî ïîñëåäîâàòåëüíî ïðîñìîòðåòü âñþ âûâåäåííóþ ìàòðèöó: òåõíîëîãèÿ ñêðîëëèíãà òàáëèöû. Äðóãîé ñëó÷àé – âûâîä îáúåìíîé ìàòðèöû íå â âèäå òàáëèöû, à â âèäå ìàòðèöû (ñì. ñîâåò 7) è ïðîñìîòð åå óæå ñ ïîìîùüþ ïîëîñ ïðîêðóòêè ñàìîãî îêíà Mathcad-äîêóìåíòà.

Åñëè æå îáúåìíàÿ ìàòðèöà âûâîäèòñÿ íà ïå÷àòü (à íà ëèñòå áóìàãè íåò, ê ñîæàëåíèþ, ïîëîñ ïðîêðóòêè), òî ìîæíî ðåêîìåíäîâàòü ðàñïå÷àòàòü íåñêîëüêî ðàç ìàòðèöó-òàáëèöó, âûñòàâèâ ïðåäâàðèòåëüíî ñ ïîìîùüþ áåãóíêà îòäåëüíûå åå ÷àñòè ñì. ðèñóíîê, ãäå ìàòðèöà Ì òðè ðàçà âûâåäåíà òàêèì îáðàçîì, ÷òî âèäíû âñå åå ýëåìåíòû.

Ñîâåò 9. Íå ïðîïóñêàéòå çíàêà óìíîæåíèÿ

  

09 Íå ïðîïóñêàéòå çíàêà óìíîæåíèÿ.bmp

 ñðåäå Mathcad äîïóñòèìî íå ñòàâèòü çíàê óìíîæåíèÿ ìåæäó ñîìíîæèòåëÿìè. Ýòîò ïðèåì êàê áû åùå áîëüøå ïðèáëèæàåò çàïèñè â Mathcad-äîêóìåíòå ê çàïèñÿì, ñäåëàííûì îò ðóêè: 2 à, à íå × à, kg, à íå × kg è ò.ä.  ñðåäå Mathcad 2000 ñòàëî âîçìîæíûì ñòàâèòü ìåæäó ñîìíîæèòåëÿìè íå òîëüêî òî÷êó èëè ïðîáåë, íî è äðóãèå ñèìâîëû, çàêðåïèâøèåñÿ â ìàòåìàòèêå çà îïåðàöèåé óìíîæåíèÿ (ñì. ïóíêò 12 â ãëàâå «Mathcad 2000»).

Îäíàêî íèæå ïðèâîäÿòñÿ òðè äîâîäà ïðîòèâ çàìåíû çíàêà óìíîæåíèÿ ïðîáåëîì – ïðîòèâ èñïîëüçîâàíèÿ ïðèåìà, èäóùåãî âðàçðåç ñ ïðîãðàììèñòñêîé ïðàêòèêîé âñåãäà ñòàâèòü çíàê óìíîæåíèÿ (çâåçäî÷êó) ìåæäó ñîìíîæèòåëÿìè: * à, * kg è ò.ä.

Âî-ïåðâûõ; â êîíñòðóêöèè × à âñå áîëåå-ìåíåå ÿñíî: äâîéêà óìíîæàåòñÿ íà ïåðåìåííóþ à. Âûðàæåíèå 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. Ãëîáàëüíîå ïðèñâàèâàíèå ïðè ðåøåíèè ñèñòåìû

 

10 Ãëîáàëüíîå ïðèñâàèâàíèå ïðè ðåøåíèè ñèñòåìû.bmp

Äëÿ ðåøåíèÿ ñèñòåì àëãåáðàè÷åñêèõ óðàâíåíèé è íåðàâåíñòâ â ñðåäå Mathcad ïðåäíàçíà÷åíà âñòðîåííàÿ ôóíêöèÿ Find. Îáû÷íî ñèñòåìà ðåøàåòñÿ òàê: ñ ïîìîùüþ îïåðàòîðîâ ïðèñâàèâàíèÿ «:=» çàäàåòñÿ ïåðâîå ïðèáëèæåíèå ê êîðíþ ñèñòåìû[15]. Äàëåå çàïèñûâàåòñÿ êëþ÷åâîå ñëîâî Given (äàíî), ââîäèòñÿ ñèñòåìà ðàâåíñòâ è/èëè íåðàâåíñòâ (íåëüçÿ òîëüêî èñïîëüçîâàòü áóëåâûé îïåðàòîð «¹» íå ðàâíî) è, íàêîíåö, âûçûâàåòñÿ ôóíêöèÿ Find, êîòîðàÿ âîçâðàùàåò â âèäå âåêòîðà-ñòîëáöà çíà÷åíèÿ ñâîèõ àðãóìåíòîâ, ïðåâðàùàþùèõ ñèñòåìó óðàâíåíèé â ñèñòåìó òîæäåñòâ.  ðÿäå ñëó÷àåâ ðåøåíèå ñèñòåìû òðåáóåò èçìåíåíèÿ çíà÷åíèé âñòðîåííûõ ïåðåìåííûõ TOL è CTOL, âëèÿþùèõ íà òî÷íîñòü ðàñ÷åòà. Î÷åíü ÷àñòî òàêàÿ òåõíîëîãèÿ òðåáóåò ïîñëåäîâàòåëüíûõ ïðèáëèæåíèé ê íóæíîìó êîðíþ.  ýòîì ñëó÷àå ðåêîìåíäóåòñÿ èçìåíèòü âûøåîïèñàííûé ïîðÿäîê çàïèñè îïåðàòîðîâ (íî íå ïîðÿäîê èõ âûïîëíåíèÿ) – «îïóñòèòü» ñ ïîìîùüþ îïåðàòîðà «º» ïåðâîå ïðèáëèæåíèå è äðóãèå íà÷àëüíûå óñòàíîâêè ïîä ôóíêöèþ Find. Åñëè ñèñòåìà îáúåìíàÿ è âñÿ íå óìåùàåòñÿ íà ýêðàíå äèñïëåÿ, òî ïîðÿäîê îïåðàòîðîâ, ïîêàçàííûé íà ðèñóíêå, èñêëþ÷èò íåîáõîäèìîñòü ïðîêðóòêè (ñêðîëëèíãà) Mathcad-äîêóìåíòà äëÿ êîððåêòèðîâêè èñõîäíûõ äàííûõ è ïðîñìîòðà ðåçóëüòàòà.

Ñîâåò 11. Ëèøíèå ñêîáêè

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. Òðîéêà áóëåâûõ ôóíêöèé

 

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. Ïåðåîïðåäåëåíèå âñòðîåííîé ôóíêöèè

  

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. Ñïåöñèìâîëû â èìåíàõ ïåðåìåííûõ è ôóíêöèé

   

14 Ñïåöñèìâîëû â èìåíàõ ïåðåìåííûõ è ôóíêöèé.bmp

Íà èìåíà ïåðåìåííûõ è ôóíêöèé ÿçûêîâ ïðîãðàììèðîâàíèÿ âñåãäà íàêëàäûâàþòñÿ íåêîòîðûå îãðàíè÷åíèÿ. Mathcad ïî ñðàâíåíèþ ñ òðàäèöèîííûìè ÿçûêàìè ïîäîáíûõ îãðàíè÷åíèé èìååò ìåíüøå: â èìåíè Mathcad-ïåðåìåííîé ìîãóò áûòü ãðå÷åñêèå áóêâû, áóêâû êèðèëëèöû, íèæíèå èíäåêñû è ò.ä. Âñå ýòî ïîçâîëÿåò ïåðåìåííûì äàâàòü èìåíà, êîòîðûå çàêðåïèëèñü çà íèìè â ìàòåìàòèêå (p, à íå PI, íàïðèìåð), ôèçèêå (tâõ), õèìèè è äðóãèõ íàó÷íûõ äèñöèïëèíàõ çàäîëãî äî ïîÿâëåíèÿ êîìïüþòåðîâ. Ñ äðóãîé ñòîðîíû, èìåíà Mathcad-ïåðåìåííûõ èìåþò ñîáñòâåííûå îãðàíè÷åíèÿ, ñâÿçàííûå, ìîæíî òàê ñêàçàòü, ñ ïëîõîé «íàñëåäñòâåííîñòüþ», ïðåïÿòñòâóþùåé âñòàâêå â èìåíà íåêîòîðûõ ñèìâîëîâ: «$», «&», «?» è ò.ä. Äåëî â òîì, ÷òî ýòè è äðóãèå ñèìâîëû (êëàâèøè êëàâèàòóðû) íàãðóæåíû ôóíêöèÿìè ââîäà â Mathcad-äîêóìåíò îïåðàòîðîâ ñóììû («$»), èíòåãðèðîâàíèÿ («&»), äèôôåðåíöèðîâàíèÿ («?»), ïðîèçâåäåíèÿ («#») è ò.ä. Åñëè ïðè íàïèñàíèè èìåíè ïåðåìåííîé íàæàòü ýòè êëàâèøè, òî óêàçàííûé ñèìâîë íå ïîÿâèòñÿ, à âîçíèêíåò çàãîòîâêà ñîîòâåòñòâóþùåãî îïåðàòîðà (ñì. êîëîíêó «Ãîðÿ÷àÿ êëàâèøà» â òàáëèöå «Âñòðîåííûå îïåðàòîðû Mathcad»). Íî ñïåöñèìâîëû è äàæå ïðîáåëû â èìåíà ïîëüçîâàòåëüñêèõ ïåðåìåííûõ è ôóíêöèé ïðè æåëàíèè ââåñòè ìîæíî.

Ïðèåì ñíÿòèÿ «òðàäèöèîííûõ» îãðàíè÷åíèé ñ èìåí ïåðåìåííûõ èìååò ñâîþ èñòîðèþ.  ñîâåòå 30 ðåêîìåíäóåòñÿ äëÿ êîììåíòèðîâàíèÿ îïåðàòîðîâ, âõîäÿùèõ â Mathcad-ïðîãðàììû, èñïîëüçîâàòü òåêñòîâûå ïåðåìåííûå öåïî÷êè ñèìâîëîâ, îáðàìëåííûå êàâû÷êàìè.  òàêèå öåïî÷êè ìîãóò âõîäèòü ïðîáåëû è äðóãèå âûøåîòìå÷åííûå ñèìâîëû («$», «?», «&» è ò.ä.). Ïðè ðåäàêòèðîâàíèè Mathcad-ïðîãðàììû èíîãäà âîçíèêàåò «ãëþê», ïðèâîäÿùèé ê òîìó, ÷òî òåêñòîâûå êîíñòàíòû, èãðàþùèå ðîëü êîììåíòàðèÿ, ëèøàþòñÿ ñâîèõ êàâû÷åê è «êðàñíåþò», îòìå÷àÿ âîçíèêøóþ â ïðîãðàììå îøèáêó. Íåò õóäà áåç äîáðà – âîçíèêøåé ñèòóàöèåé (ïðåâðàùåíèå òåêñòîâîé êîíñòàíòû â èìÿ) ìîæíî âîñïîëüçîâàòüñÿ, ÷òî è ïîêàçàíî íà ðèñóíêå. «Ïîêðàñíåâøóþ» öåïî÷êó ñèìâîëîâ ñëåäóåò ñêîïèðîâàòü è èñïîëüçîâàòü äàëåå â êà÷åñòâå èìåíè ïåðåìåííîé èëè ôóíêöèè.

Ó ïðèåìà ââîäà â èìåíè Mathcad-ïðîáåëîâ è ñïåöñèìâîëîâ (à ìíîãèå ñ÷èòàþò ýòî ÷èñòîé âîäû êðàìîëîé) åñòü òàêîå «èñòîðè÷åñêîå» îáîñíîâàíèå: â ñðåäå DOS è Windows 3.* â èìåíàõ ôàéëîâ íå ìîãëî áûòü ïðîáåëîâ, áóêâ êèðèëëèöû è äðóãèõ ñïåöñèìâîëîâ.  ñðåäå Windows 95/98 òàêîãî îãðàíè÷åíèÿ óæå íåò.

Ñîâåò 15. Ïðîíóìåðîâàííûå èìåíà ïåðåìåííûõ

 

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. Ïîëüçîâàòåëüñêèå åäèíèöû èçìåðåíèÿ ôèçè÷åñêèõ âåëè÷èí

 

16 Ïîëüçîâàòåëüñêèå åäèíèöû èçìåðåíèÿ ôèçè÷åñêèõ âåëè÷èí.bmp

 Mathcad âñòðîåíî äîâîëüíî ìíîãî ïðåäîïðåäåëåííûõ ïåðåìåííûõ, õðàíÿùèõ âñòðîåííûå åäèíèöû èçìåðåíèÿ ôèçè÷åñêèõ âåëè÷èí â ðàçíûõ ñèñòåìàõ (ñì. ïðèëîæåíèå 6). Íî ïîëüçîâàòåëü âïðàâå ðàñøèðèòü ýòîò ñïèñîê è ââåñòè â ðàñ÷åò ïîëüçîâàòåëüñêèå åäèíèöû (ñì. ðèñóíîê), ñâÿçàâ èõ ñî âñòðîåííûìè ÷åðåç ñîîòâåòñòâóþùèå êîýôôèöèåíòû[20].

 íà÷àëå ðàñ÷åòà ïîëüçîâàòåëü ìîæåò íå çíàòü, êàêèå íîâûå åäèíèöû åìó ïîíàäîáÿòñÿ. Èõ ìîæíî ââîäèòü â ðàñ÷åò ïî ìåðå íåîáõîäèìîñòè: íóæíî, íàïðèìåð, âûâåñòè âðåìÿ â íåäåëÿõ – äîñòàòî÷íî âåðíóòüñÿ â «ãîëîâó» ðàñ÷åòà è çàïèñàòü íåäåëÿ:=7 × day è ò.ä.

(äà, èìåííî 7 day, à íå 7day – ñì. ñîâåò 9).

Îïåðàòîð ì := m óäîáåí âîò åùå ÷åì. Ìîæíî çàáûòüñÿ è â ðàñ÷åòå ïðèñâîèòü ïåðåìåííîé m (à îíà î÷åíü ïîïóëÿðíà) êàêîå-ëèáî íîâîå çíà÷åíèå (ñì. ñîâåò 1). Ýòî äåéñòâèå ìîæåò ïîëîìàòü âñþ ñòðîéíóþ ñèñòåìó ôèçè÷åñêèõ âåëè÷èí, çàëîæåííóþ â Mathcad. Îïåðàòîð ì := m îñâîáîæäàåò ïåðåìåííóþ m äëÿ õðàíåíèÿ ÷åãî-ëèáî äðóãîãî.

Ñîâåò 17. Åäèíèöû èçìåðåíèÿ íåôèçè÷åñêèõ âåëè÷èí

  

17 Åäèíèöû èçìåðåíèÿ íåôèçè÷åñêèõ âåëè÷èí.bmp

 ñîâåòå 15, ðàññìàòðèâàÿ çàäà÷ó ëèíåéíîãî ïðîãðàììèðîâàíèÿ – çàäà÷ó î ïîèñêå ïëàíà âûïóñêà ñòóëüåâ, ìû íå çàäåéñòâîâàëè åäèíèöû èçìåðåíèÿ âåëè÷èí, õîòÿ â îïèñàíèè çàäà÷è îíè óïîìèíàëèñü (ñì. òàáëèöó â ñîâåòå 15).  çàäà÷å íàðÿäó ñ ôèçè÷åñêèìè (ìåòð, êâàäðàòíûé ìåòð è ÷àñ) çàäåéñòâîâàíû ñ÷åòíûå (ñòóëüÿ, ëþäè) è ôèíàíñîâûå åäèíèöû.

 ïàêåò Mathcad âñòðîåíû ñèñòåìíûå ïåðåìåííûå (ñì. ïðèëîæåíèå 6), õðàíÿùèå åäèíèöû èçìåðåíèÿ ôèçè÷åñêèõ âåëè÷èí. Íà ðèñóíêå ðåøàåòñÿ çàäà÷à î ïëàíå âûïóñêà ñòóëüåâ ñ èñïîëüçîâàíèåì åäèíèöû èçìåðåíèÿ âñåõ âåëè÷èí, âõîäÿùèõ â ðàñ÷åò.

«Åäèíèöà èçìåðåíèÿ» àìåðèêàíñêîé âàëþòû ($US) ââîäèòñÿ â ðàñ÷åò ïî ïðèíöèïó «Âðåìÿ – äåíüãè»: ôèçè÷åñêàÿ âåëè÷èíà «âðåìÿ» â äàííîì ðàñ÷åòå íå èñïîëüçóåòñÿ, è åå âðåìåííî (íå÷àÿííûé êàëàìáóð) ìîæíî «íàãðóçèòü» èíîé ôóíêöèåé. Êîíå÷íî, ïðîùå íàïèñàòü: $US := 1 è øò := 1 (ó íàñ øòóêè «ïðèâÿçàíû» ê ìîëÿì, êîòîðûå òàêæå íå çàäåéñòâîâàíû â ðàñ÷åòå), íî ýòî ÷ðåâàòî ñëåäóþùåé îøèáêîé:

$US + øò = 2

Çäåñü äîëæåí ïîÿâëÿòüñÿ íå ÷èñëîâîé îòâåò (äâîéêà), à ñîîáùåíèå îá îøèáêå: «Íåñîâìåñòèìûå ðàçìåðíîñòè».  ðàñ÷åò, ïðèâåäåííûé íà ðèñóíêå, ôèçè÷åñêèå è ïðî÷èå âåëè÷èíû ââåäåíû íå òîëüêî äëÿ áîëüøåé «÷èòàáåëüíîñòè» çàäà÷è, íî è äëÿ êîíòðîëÿ ñîîòâåòñòâèÿ ðàçìåðíîñòåé â ââåäåííûõ ôîðìóëàõ.

Ñîâåò 18. Åùå ðàç î ñïåöñèìâîëàõ â èìåíàõ ïåðåìåííûõ

  

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 îïèñàí è òðåòèé ñïîñîá ñîçäàíèÿ íåñòàíäàðòíûõ èìåí ïåðåìåííûõ è ôóíêöèé).

Ñîâåò 19. Ôóíêöèÿ-íåâèäèìêà è ôóíêöèÿ-îáîðîòåíü

(Íà÷àëî òåìû – ñì. ïóíêò 23 â ñòàòüå «Mathcad MM»).

   

19 Ôóíêöèÿ íåâèäèìêà è îáîðîòåíü.bmp

 ñîâåòå 15 áûëî ðåêîìåíäîâàíî äëÿ íóìåðàöèè ïåðåìåííûõ çàïèñûâàòü â íà÷àëå èõ èìåíè íå àðàáñêîå ÷èñëî (ýòî òàì íåâîçìîæíî), à ðèìñêîå. (Ìîæíî, ïðàâäà, ïèñàòü Ïåðâàÿ ïåðåìåííàÿ, Âòîðàÿ ïåðåìåííàÿ è ò. ä., çàìåíÿÿ ÷èñëà ñëîâàìè).

Ìíîãèå ëþäè ìîãóò ñ÷èòàòü «ïî-ðèìñêè» òîëüêî äî äâåíàäöàòè, ñâÿçûâàÿ òàêîé ñ÷åò ñ öèôåðáëàòîì ÷àñîâ. Íî ñ ïðÿìûìè àíàëîãàìè ðèìñêèõ ÷èñåë ìû ñòàëêèâàåìñÿ íå òîëüêî, óòî÷íÿÿ âðåìÿ, íî è ïðîâîäÿ ôèíàíñîâûå ðàñ÷åòû: ñóììà äåíåã – ýòî àðàáñêîå ÷èñëî, à ðàçëîæåíèå åå íà áàíêíîòû è ìîíåòû – ðèìñêîå. Ïðîãðàììà, ïîìåùåííàÿ íà ðèñóíêå, ïðèãîäèòñÿ â ðàáîòå, íàïðèìåð, áàíêîìàòà.

Íî íå òîëüêî äëÿ ýòîãî ïðèâåäåíà çäåñü ýòà ïðîãðàììà, à äëÿ òîãî, ÷òîáû äàòü ÷èòàòåëþ íåñêîëüêî ñîâåòîâ.

Ìíîãèå âñòðîåííûå ôóíêöèè è îïåðàòîðû Mathcad è äðóãèõ ïðîãðàììíûõ ñðåä èìåþò îáðàòíûå àíàëîãè: sinarcsin, åxln(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. Äîáàâëÿåì ëèøíèå ñêîáêè

 

20 Äîáàâëÿåì ëèøíèå ñêîáêè.bmp

×èòàòåëü, íàâåðíîå, óæå çàìåòèë, ÷òî íåêîòîðûå ñîâåòû êíèãè ïðîòèâîðå÷àò äðóã äðóãó.  ñîâåòå 11 äàâàëèñü ðåêîìåíäàöèè ïî èñêëþ÷åíèþ èç Mathcad-âûðàæåíèé ëèøíèõ ñêîáîê. Ñåé÷àñ æå ðå÷ü ïîéäåò î âñòàâêå äîïîëíèòåëüíûõ ñêîáîê.

 ïóíêòå 1 íà ðèñóíêå ñêîáêàìè åùå ðàç îòìå÷àåòñÿ, ÷òî â ñðåäå Mathcad, êàê è âî âñåõ äðóãèõ ñðåäàõ ïðîãðàììèðîâàíèÿ è âîîáùå â ìàòåìàòèêå, – îïåðàòîð âîçâåäåíèÿ â ñòåïåíü «ãëàâíåå» îïåðàòîðà óìíîæåíèÿ, êîòîðûé, â ñâîþ î÷åðåäü, «ãëàâíåå» îïåðàòîðà ñëîæåíèÿ[22]. Ñêîáêè çäåñü åùå ðàç ïîä÷åðêèâàþò äàííóþ èåðàðõèþ îïåðàòîðîâ, î êîòîðîé íå âñå ìîãóò äîãàäàòüñÿ (ñì. ïðèìåðû íà ðèñóíêå ê ñîâåòó 34).

 ïóíêòå 2 ñ ïîìîùüþ ôóíêöèè (äðåâîâèäíîãî îïåðàòîðà) augment ôîðìèðóåòñÿ íå ðàñòàñîâàííàÿ êîëîäà êàðò – âåêòîð-ñòðîêà ñ 52 ýëåìåíòàìè (êàðòàìè ¾ «äâîéêà, «òðîéêà»… «òóç»). Ñêîáêè â «äåðåâå» ôîðìèðîâàíèÿ êîëîäû ñìîòðÿòñÿ äàëåêî íå ëèøíèìè (ñðàâíèòå ïóíêòû 2.1 è 2.2 – ñêîáêè «ëèøíèå» äëÿ ìàøèíû, è «ïîëåçíûå» äëÿ ÷åëîâåêà).

 ïóíêòå 3 ôîðìèðóåòñÿ áóëåâà ôóíêöèÿ Ðåøåíèå, âîçâðàùàþùàÿ èòîãè ãîëîñîâàíèÿ. Ãîëîñà ó÷àñòâóþùèõ â íåì (1 – çà, 0 – ïðîòèâ) õðàíÿòñÿ â âåêòîðå-àðãóìåíòå X: ðåøåíèå ïðèíèìàåòñÿ, êîãäà «çà» ïðîãîëîñóþò áîëåå äâóõ òðåòåé ãîëîñîâàâøèõ (âñòðîåííàÿ ôóíêöèÿ mean âîçâðàùàåò ñðåäíåå àðèôìåòè÷åñêîå ýëåìåíòîâ ìàññèâà). Ñêîáêè çäåñü òàêæå ïîä÷åðêèâàþò àëãîðèòì ðàáîòû ôóíêöèè è ïîðÿäîê âûïîëíåíèÿ îïåðàòîðîâ «>» è «:=».  ïåðâîì ñëó÷àå ôóíêöèÿ mean âûçûâàåòñÿ â âèäå ïðåôèêñíîãî îïåðàòîðà, à âî âòîðîì – â âèäå ôóíêöèè.

Ïðè âñòàâêå äîïîëíèòåëüíûõ ñêîáîê íóæíî ïîìíèòü, ÷òî äàííûé ïðèåì óëó÷øåíèÿ «÷èòàåìîñòè» Mathcad-äîêóìåíòà ìîæåò ñíèæàòü ñêîðîñòü åãî âûïîëíåíèÿ.

Ñîâåò 21. Êîíòðîëü ðàçìåðíîñòè ïåðåìåííîé

   

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. Ãðàôè÷åñêîå ðåøåíèå çàäà÷è ëèíåéíîãî ïðîãðàììèðîâàíèÿ

   

22 Ãðàôè÷åñêîå ðåøåíèå çàäà÷è ëèíåéíîãî ïðîãðàììèðîâàíèÿ.bmp

Mathcad–äîêóìåíòû, ïîìåùåííûå íà ðèñóíêàõ â ñîâåòàõ 15 è 17, ðåøàþò çàäà÷ó ëèíåéíîãî ïðîãðàììèðîâàíèÿ.  ñðåäå Mathcad íåò ñïåöèàëèçèðîâàííûõ ñðåäñòâ âèçóàëèçàöèè ðåøåíèÿ çàäà÷ òàêîãî òèïà. Íî ýòó ïðîáëåìó ïðè îïðåäåëåííîé ñíîðîâêå ìîæíî ðåøèòü ñ ïîìîùüþ îáû÷íîãî äåêàðòîâîãî ãðàôèêà – ñì. ðèñóíîê. Ñóòü çàäà÷è îïèñàíà â ñîâåòå 15.

Äëÿ ãðàôè÷åñêîãî ðåøåíèÿ çàäà÷è ëèíåéíîãî ïðîãðàììèðîâàíèÿ îïðåäåëÿþòñÿ äâå ôóíêöèè: Oãð (îãðàíè÷åíèÿ) è ÖÔ (öåëåâàÿ ôóíêöèÿ) ñ îäíèì àðãóìåíòîì Chair1 (÷èñëî ñòóëüåâ ïåðâîãî òèïà[24]). Ïðè ôîðìèðîâàíèè ôóíêöèé çàäåéñòâîâàíû ñðåäñòâà ñèìâîëüíîé ìàòåìàòèêè, íî ñêîðåå, íå äëÿ ðåøåíèÿ (solve) íåðàâåíñòâ (ýòî íåñëîæíî ñäåëàòü è âðó÷íóþ[25]), à äëÿ èëëþñòðàöèè ñóòè ãðàôè÷åñêîãî ðåøåíèÿ çàäà÷è: ïðÿìàÿ ëèíèÿ öåëåâîé ôóíêöèè ñêîëüçèò ââåðõ (çäåñü áóäåò î÷åíü óìåñòíà àíèìàöèÿ Mathcad, êîãäà ñèñòåìíàÿ ïåðåìåííàÿ FRAME (ñ÷åò÷èê êàäðîâ àíèìàöèè) ñâÿçûâàåòñÿ ñî çíà÷åíèåì öåëåâîé ôóíêöèè). Ðåøåíèå áóäåò äîñòèãíóòî â ìîìåíò «ïðîùàíèÿ» ïðÿìîé (öåëåâàÿ ôóíêöèÿ) ñ ìíîãîóãîëüíèêîì (îáëàñòü âûïîëíåíèÿ îãðàíè÷åíèé). Äàííîå ãðàôè÷åñêîå ðåøåíèå ãîäèòñÿ è äëÿ èëëþñòðàöèè öåëî÷èñëåííîé çàäà÷è (îáëàñòü, îãðàíè÷åííàÿ ëîìàíîé ëèíèåé, çàìåíÿåòñÿ íà ìíîæåñòâî òî÷åê), è äëÿ íåëèíåéíîé çàäà÷è (îòðåçêè ïðÿìûõ çàìåíÿþòñÿ íà îòðåçêè êðèâûõ: âûïóêëûõ èëè âîãíóòûõ).

Ïðèìå÷àíèå – íåïðîíóìåðîâàííûé ñîâåò.  ïóíêòå 2 ïðèâåäåíû äâå ïîïûòêè ðåøåíèÿ öåëåâîé ôóíêöèè îòíîñèòåëüíî ïåðåìåííîé Chair2 (ñòóëüÿ âòîðîãî òèïà).  ïåðâîì îïåðàòîðå solve (øðèôò âûðàæåíèÿ òàì ìåëêèé) êóðñ åâðî ê äîëëàðó çàïèñàí êàê 1.2, à âî âòîðîì – 12/10. Òàêàÿ, íà ïåðâûé âçãëÿä, ýêâèâàëåíòíàÿ çàìåíà ìåíÿåò âèä êîýôôèöèåíòîâ îòâåòà (ñì. òàêæå ñîâåò 2).

Ñîâåò 23. Öâåòíîé äåêàðòîâ ãðàôèê (Scatter Plot) Ìîñò

   

23 Öâåòíîé äåêàðòîâ ãðàôèê.bmp

Äàííûé ñîâåò ïðîäîëæàåò òåìó íåñòàíäàðòíîé ãðàôèêè Mathcad, íà÷àòóþ â ñîâåòå 22.

Mathcad èìååò ñðåäñòâà ðàñêðàñêè òðåõìåðíûõ ãðàôèêîâ. Ê ñîæàëåíèþ, ýòîò ïðèåì ôîðìàòèðîâàíèÿ íåëüçÿ ïðèìåíèòü ê äâóìåðíîìó ãðàôèêó. Íî… Íà ðèñóíêå èçîáðàæåí ãðàôèê ôóíêöèè îäíîãî àðãóìåíòà, òàê ÷òî âåðøèíû... – ñì. êîììåíòàðèé ñïðàâà îò ãðàôèêà. Ê ñîæàëåíèþ, äàííàÿ êíèãà íå öâåòíàÿ, íî ÷èòàòåëü ìîæåò ïîâåðèòü àâòîðó, ÷òî íà äèñïëåå ëèíèÿ íà ãðàôèêå èìååò îòòåíêè âñåõ öâåòîâ ðàäóãè: ìàêñèìóìû èìåþò òåïëûå òîíà, à ìèíèìóìû – õîëîäíûå. Ôîêóñ ðèñóíêà â òîì, ÷òî ýòî íå äåêàðòîâ ãðàôèê, à ðàñöâå÷åííàÿ ïîâåðõíîñòü, îñîáûì îáðàçîì (îäíèì «áîêîì») ïîâåðíóòàÿ ê çðèòåëþ. Îïåðàòîðû, ôîðìèðóþùóþ ìàòðèöó Ì, ýëåìåíòû êîòîðîé – çíà÷åíèÿ àíàëèçèðóåìîé ôóíêöèè (îíè ïîâòîðÿþòñÿ ïî ñòîëáöàì), ñòîèò çàïðÿòàòü, çàõëîïíóâ ñîîòâåòñòâóþùóþ îáëàñòü (ñì. âåðõíþþ ÷àñòü ðèñóíêà, à òàêæå ñîâåò 62), – òîãäà èëëþçèÿ öâåòíîãî äåêàðòîâîãî ãðàôèêà áóäåò àáñîëþòíî ïîëíîé.

Íåïðîíóìåðîâàííûé ñîâåò. Îïåðàòîðû, ôîðìèðóþùóþ ïîëüçîâàòåëüñêóþ ôóíêöèþ y(x) è ïðåäåëû ðàçáðîñà ãðàôèêà (x íà÷ x êîí) ñòîèò «ïîäòÿíóòü» ê ãðàôèêó. Çäåñü ïðèãîäèòñÿ îïåðàòî𠫺» (ãëîáàëüíîå ïðèñâàèâàíèå), ðàñïðîñòðàíÿþùèé ñâîå äåéñòâèå íå òîëüêî âíèç, ÷òî äåëàåò îïåðàòîð «:=», íî è ââåðõ.

Ñîâåò 24. Ãðàôè÷åñêîå ðåøåíèå ñèñòåìû äâóõ àëãåáðàè÷åñêèõ óðàâíåíèé
(Íà÷àëî òåìû – ñì. ïóíêò 1 â ãëàâå «
Mathcad MM»)

   

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. Ëó÷åâàÿ äèàãðàììà

  

25 Ëó÷åâàÿ äèàãðàììà.bmp

äëÿ âèçóàëèçàöèè òàáëè÷íûõ äàííûõ óäîáíî èñïîëüçîâàòü îñîáûé òèï áèçíåñ-ãðàôèêè – ëó÷åâóþ äèàãðàììó (ïî-àíãëèéñêè radar-diagram – äèàãðàììà ðàäàðà): îò öåíòðà ïðîâîäÿòñÿ ëó÷è, íà êîòîðûõ äåëàþòñÿ çàñå÷êè, îòñòîÿùèå îò öåíòðà íà ðàññòîÿíèè, ïðîïîðöèîíàëüíîì ýëåìåíòàì âèçóàëèçèðóåìîãî âåêòîðà; äàëåå çàñå÷êè ñîåäèíÿþòñÿ ïðÿìûìè ëèíèÿìè. Ïîëó÷àåòñÿ ìíîãîóãîëüíèê, ïëîùàäü è ôîðìà êîòîðîãî îòðàæàåò íåêîå ÿâëåíèå èëè íåêèé îáúåêò.

Íà ðèñóíêå ïðåäñòàâëåíû ðåçóëüòàòû âèçóàëèçàöèè ÷åðåç ëó÷åâóþ äèàãðàììó äàííûõ, õðàíÿùèõñÿ â ìàòðèöå Ì. Ñóòü çàäà÷è: äëÿ îöåíêè êàêèõ-ëèáî äåñÿòè êà÷åñòâ êàêîãî-ëèáî îáúåêòà ïðèãëàøåíû äåâÿòü ýêñïåðòîâ, âûñòàâëÿþùèõ îöåíêè îò 2 (íåóäîâëåòâîðèòåëüíî) äî 5 (îòëè÷íî). Íà ëó÷åâîé äèàãðàììå (à ýòî íå ÷òî èíîå, êàê ïîëÿðíûé ãðàôèê Mathcad) ïðàâèëüíûé ìíîãîóãîëüíèê – ýòî ñðåäíèé áàëë, âûñòàâëåííûé ýêñïåðòàìè, à íåïðàâèëüíûé ìíîãîóãîëüíèê – ñðåäíèé áàëë, ïðîñòàâëåííûé çà îòäåëüíûå êà÷åñòâàì: ñðàçó âèäíî, ãäå «ñëàáûå» è ãäå «ñèëüíûå» ìåñòà ó èñïûòóåìîãî.

 ñðåäå Mathcad ìîæíî ïîñòðîèòü è êðóãîâóþ äèàãðàììó (ïî-àíãëèéñêè pai-diagramm – «äèàãðàììà ïèðîãà»), îòîáðàæàþùóþ ýëåìåíòû âåêòîðà, ñóììà çíà÷åíèé êîòîðûõ ðàâíà 100%. Íî ñòîèò ëè ýòî äåëàòü!? Âåäü äàííûå èç Mathcad ìîæíî ýêñïîðòèðîâàòü â ñðåäó, íàïðèìåð, Excel, ãäå åñòü ñðåäñòâà ïîñòðîåíèÿ è êðóãîâîé äèàãðàììû, è ëó÷åâîé äèàãðàììû, è äðóãèõ òèïîâ ãðàôèêîâ. Ìîæíî âñòàâèòü â Mathcad–äîêóìåíò ôðàãìåíò Excel (èëè Axum – ïàêåòà, ñïåöèàëüíî ñîçäàííîãî äëÿ ðàñøèðåíèÿ ãðàôè÷åñêèõ âîçìîæíîñòåé Mathcad), êîòîðûé ïðåäíàçíà÷åí äëÿ îòîáðàæåíèÿ îòìå÷åííîé íåñòàíäàðòíîé ãðàôèêè. Íî ñîçäàííûé ñ òàêîé ãðàôèêîé Mathcad – äîêóìåíò ïðè ïåðåíîñå åãî íà äðóãîé êîìïüþòåð, ãäå íå óñòàíîâëåíû ñîîòâåòñòâóþùèå ïðèëîæåíèÿ, ìîæåò íå ðàáîòàòü.

Ñîâåò 26. Íà÷íè ñ ñèìâîëà, à êîí÷è ÷èñëîì

 

26 Íà÷íè ñ ñèìâîëà, à êîí÷è ÷èñëîì.bmp

 ñîâåòå 24 ìû ïûòàëèñü ãðàôè÷åñêèì ìåòîäîì ðåøèòü ñèñòåìó äâóõ àëãåáðàè÷åñêèõ óðàâíåíèé, – îïðåäåëèëè îáëàñòü ñóùåñòâîâàíèÿ äåéñòâèòåëüíûõ êîðíåé ñèñòåìû, íàøëè çíà÷åíèÿ íåèçâåñòíûõ äëÿ ïåðâîãî ïðèáëèæåíèÿ ïðè ïîèñêå ðåøåíèÿ ÷èñëåííûì ìåòîäîì (÷òî áóäåò ñäåëàíî â ñîâåòå 44). Íî â öåïî÷êó «ãðàôèê» – «÷èñëî» ìîæíî ïîïûòàòüñÿ âêëèíèòü è «ñèìâîë». Ñóòü ñîâåòà. Ïåðåä ÷èñëåííûì ðåøåíèåì çàäà÷è ñòîèò ïîïûòàòüñÿ ïðèëîæèòü ê íåé ñðåäñòâà ñèìâîëüíîé ìàòåìàòèêè Mathcad. Íà ðèñóíêå ïîêàçàíî àíàëèòè÷åñêîå ðåøåíèå íàøåé ñèñòåìû äâóõ íåëèíåéíûõ àëãåáðàè÷åñêèõ óðàâíåíèé ñ ïîìîùüþ Mathcad-îïåðàòîðîâ solve è float. (Çäåñü èñïîëüçóåòñÿ íå îäèí îïåðàòîð solve, à «ñïàðêà» solvefloat, ò.ê. îäèí îïåðàòîð solve ëèáî äàåò î÷åíü ãðîìîçäêèé îòâåò, ëèáî íèêàêîãî). Íàéäåíû âñå 24 êîðíÿ ñèñòåìû, èç êîòîðûõ ÷åòûðå äåéñòâèòåëüíûå îòîáðàæåíû íà ãðàôèêå â ñîâåòå 24.

Íà ðèñóíêå â îòâåòå âûâåäåíî òîëüêî ïÿòü çíàêîâ â ìàíòèññå (ñì. êëþ÷ float, 5). Ïî óìîë÷àíèþ (áåç êëþ÷à float) âûâîäèòñÿ 20 çíàêîâ, à ìàêñèìàëüíîå èõ êîëè÷åñòâî – 250. (Îäíîèìåííàÿ êîìàíäà èç ìåíþ ñèìâîëüíîé ìàòåìàòèêè (êîìàíäà solve) ìîæåò âûäàòü äî 4000 çíàêîâ â ìàíòèññå. Íî ýòà êîìàíäà ðàáîòàåò òîëüêî ñ óðàâíåíèÿìè, íî íå ñ ñèñòåìàìè óðàâíåíèé.)

Êîðíè ìîæíî âûâåñòè â âèäå äåñÿòè÷íîé äðîáè ñ ïëàâàþùåé çàïÿòîé (0.043778), à íå â «íàó÷íîì» âèäå (4.3778×10-2), åñëè âûðàæåíèå íà ðèñóíêå îõâàòèòü êóðñîðîì è íàæàòü êëàâèøó «=». Ïîñëå ýòîãî «÷èñëåííûé» îòâåò ìîæíî áóäåò ñîîòâåòñòâóþùèì îáðàçîì îòôîðìàòèðîâàòü (ñì. òàêæå ñîâåò 3).

Ñîâåò 27. Äîâåðÿé, íî ïðîâåðÿé

 

27 Äîâåðÿé, íî ïðîâåðÿé.bmp

Ýòîò ñîâåò, åñòåñòâåííî, îòíîñèòñÿ ïî âñåì ïðîãðàììíûì ñðåäñòâàì ðåøåíèÿ ìàòåìàòè÷åñêèõ çàäà÷, à íå òîëüêî ê Mathcad. Èòàê, ïîëó÷èâ îòâåò, íå ïîëåíèòåñü ïðîâåðèòü åãî. Íà ðèñóíêå êîðíè ñèñòåìû ïîäñòàâëÿþòñÿ â óðàâíåíèå. Äëÿ ýòîãî ìàòðèöà ñ êîðíÿìè èç Mathcad-äîêóìåíòà, èëëþñòðèðóþùåãî ñîâåò 26, çàíîñèòñÿ â ïåðåìåííóþ Êîðíè. Çàòåì ïàðû çíà÷åíèé èç ñòðîê ìàòðèöû Êîðíè ïåðåíîñÿòñÿ â ïåðåìåííûå x è y, êîòîðûå, â ñâîþ î÷åðåäü, ïîäñòàâëÿþòñÿ â ëåâûå ÷àñòè àëãåáðàè÷åñêèõ óðàâíåíèé ïðîâåðÿåìîé ñèñòåìû. Ïî àíàëèçó íåâÿçêè ìîæíî ñóäèòü î êà÷åñòâå ðåøåíèÿ.

Ñîâåò 28. Òðè ñïîñîáà çàäàíèÿ îáëàñòè ñóùåñòâîâàíèÿ òðåõìåðíîãî ãðàôèêà

 

28 Òðè ñïîñîáà çàäàíèÿ îáëàñòè ñóùåñòâîâàíèÿ òðåõìåðíîãî ãðàôèêà.bmp

Ïîñòðîåíèå ïîâåðõíîñòè â ñðåäå Mathcad äî âåðñèè 2000 (ñì. ïóíêò 2 ãë. MC 2000) ïðåäâàðÿåòñÿ çàïîëíåíèåì ìàòðèöû, ýëåìåíòû êîòîðîé – çíà÷åíèÿ àíàëèçèðóåìîé ôóíêöèè äâóõ ïåðåìåííûõ â ïðÿìîóãîëüíîé îáëàñòè. Íîìåðà ñòîëáöîâ ìàòðèöû ïðè ýòîì ñâÿçûâàþòñÿ ñî çíà÷åíèÿìè ïåðâîãî àðãóìåíòà, à íîìåðà ñòðîê – âòîðîãî.

Íà ðèñóíêå â ïóíêòå 1 ïðåäñòàâëåíà ñòàíäàðòíàÿ ìåòîäèêà çàïîëíåíèÿ äàííîé ìàòðèöû, îïèñàííàÿ â äîêóìåíòàöèè ïàêåòà Mathcad: îïîðíûìè òî÷êàìè ÿâëÿþòñÿ íîìåðà ñòðîê è ñòîëáöîâ ìàòðèöû çíà÷åíèé àíàëèçèðóåìîé ôóíêöèè.

 ïóíêòàõ 2 è 3 ïîêàçàíû àëüòåðíàòèâíûå è â ÷åì-òî áîëåå óäîáíûå ìåòîäèêè ïîñòðîåíèÿ ãðàôèêîâ: îïîðíûìè òî÷êàìè ÿâëÿþòñÿ êîîðäèíàòû óãëîâ ïðÿìîóãîëüíîé îáëàñòè (ïóíêò 2) èëè öåíòð êâàäðàòíîé îáëàñòè, ñòîðîíà êîòîðîé òàêæå çàäàåòñÿ ïîëüçîâàòåëåì. Åñëè ïðè ýòîì îïåðàòîð ââîäà (îïåðàòî𠫺») êîîðäèíàò àíàëèçèðóåìîé ôóíêöèè «îïóñòèòü» ê ãðàôèêó, òî ðàáîòàòü ñ íèìè áóäåò ñîâñåì ëåãêî.

Ñ ïîÿâëåíèåì Mathcad 2000 íåîáõîäèìîñòü â îáÿçàòåëüíîì çàïîëíåíèè ìàòðèöû ïåðåä ïîñòðîåíèåì òðåõìåðíîãî ãðàôèêà îòïàëà – ñì. ï. 2 â ãëàâå «Mathcad 2000 – ÷òî íîâîãî». Íî íàøè òðè ñïîñîáà ôîðìèðîâàíèÿ ìàòðèö ïåðåä ïîñòðîåíèåì ïîâåðõíîñòè îñòàþòñÿ â ñèëå. Òðåòèé ñïîñîá, íàïðèìåð, óäîáåí ïðè àíèìàöèè: ìåíÿÿ ÷åðåç ïåðåìåííóþ FRAME îäíó èç êîîðäèíàò öåíòðà êâàäðàòà, ìîæíî «ëåòåòü» íàä ïîâåðõíîñòüþ; èçìåíÿÿ çíà÷åíèå D, ìîæíî ïðèáëèæàòüñÿ èëè óäàëÿòüñÿ îò ïîâåðõíîñòè, êàê áû íàáëþäàÿ çà íåé ÷åðåç ….«èëëþìèíàòîð».

Ñîâåò 29. Ïëîñêèé ãðàôèê â «äâà ñ÷åòà»

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-ïðîãðàììå

  

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 (ýëü) íå î÷åíü óäîáíà â ïðîãðàììàõ, òàê êàê åå ìîæíî ñïóòàòü ñ åäèíèöåé èëè ñ çàãëàâíîé ëàòèíñêîé áóêâîé È.