Ôîðìèðîâàíèå ìàòåìàòè÷åñêîãî îáåñïå÷åíèÿ ñèñòåì âêëþ÷àåò êîìïëåêòàöèþ ìåòîäîâ è àëãîðèòìîâ ðåøåíèÿ ôóíêöèîíàëüíûõ çàäà÷. Ïðè ôîðìèðîâàíèè ïðîãðàììíîãî îáåñïå÷åíèÿ ñèñòåì îñîáîå âíèìàíèå îáðàùàåòñÿ íà ñîçäàíèå êîìïëåêñà ïðîãðàìì è èíñòðóêöèé ïîëüçîâàòåëÿ è âûáîð ýôôåêòèâíûõ ïðîãðàììíûõ ïðîäóêòîâ.
×åì òî÷íåå ìàòåìàòè÷åñêîå îïèñàíèå çàäà÷è, òåì âûøå âîçìîæíîñòè êîìïüþòåðíîé îáðàáîòêè äàííûõ è òåì ìåíüøå ñòåïåíü ó÷àñòèÿ ÷åëîâåêà â ïðîöåññå åå ðåøåíèÿ. Ýòî è îïðåäåëÿåò ñòåïåíü àâòîìàòèçàöèè çàäà÷è.
Ìàòåìàòè÷åñêîå îáåñïå÷åíèå ÀÐÌ îïåðàòîðà-ðàñøèôðîâùèêà äëÿ ó÷åòà äåôåêòíûõ è îñòðîäåôåêòíûõ ðåëüñ âêëþ÷àåò ñëåäóþùèå àëãîðèòìû:
– àëãîðèòìû âíåñåíèÿ ïåðâè÷íîé èíôîðìàöèè â ÁÄ;
– àëãîðèòìû ïîèñêà èíôîðìàöèè â ÁÄ;
– àëãîðèòìû ñîðòèðîâêè èíôîðìàöèè â ÁÄ;
– àëãîðèòìû óäàëåíèÿ çàïèñåé èç ÁÄ;
– àëãîðèòìû ôîðìèðîâàíèÿ îò÷¸òîâ;
– àëãîðèòì ðàñ÷¸òà êîëè÷åñòâà äåôåêòíûõ è îñòðîäåôåêòíûõ ðåëüñ çà îïðåäåëåííûé ïåðèîä è äðóãèå àëãîðèòìû âûáîðêè èíôîðìàöèè èç ÁÄ ïî çàïðîñó ïîëüçîâàòåëåé.
Áîëüøàÿ ÷àñòü ïðåäñòàâëåííûõ àëãîðèòìîâ ÿâëÿþòñÿ òèïîâûìè, ïîýòîìó ðàññìàòðèâàòüñÿ íå áóäóò.  êà÷åñòâå ïðèìåðà ðàññìîòðèì àëãîðèòì ðàñ÷¸òà êîëè÷åñòâà äåôåêòíûõ è îñòðîäåôåêòíûõ ðåëüñ çà îïðåäåëåííûé ïåðèîä, êîòîðûé çàäàåò ïîëüçîâàòåëü. Äàííûé àëãîðèòì â äèïëîìíîì ïðîåêòå ïðåäñòàâëåí â âèäå áëîê-ñõåìû/
Ðàñ÷åò ïðîèçâîäèòñÿ íà îñíîâàíèè ïîêàçàòåëåé, ñîäåðæàùèõñÿ â ôàéëå «Vedomost», à òàêæå â êà÷åñòâå âõîäíîé èíôîðìàöèè áóäåò ïåðèîä (ââîäèòñÿ ïîëüçîâàòåëåì ñ êëàâèàòóðû), çà êîòîðûé íåîáõîäèìî îïðåäåëèòü êîëè÷åñòâî äåôåêòíûõ è îñòðîäåôåêòíûõ ðåëüñ. Âûõîäíûìè äàííûìè ïðè ïîäñ÷åòå äåôåêòíûõ è îñòðîäåôåêòíûõ ðåëüñ áóäóò çíà÷åíèÿ ïåðåìåííûõ d1 è d2.
Íèæå ïðåäñòàâëåíî ñëîâåñíîå îïèñàíèå äåéñòâèé âûáðàííîãî àëãîðèòìà.
Äåéñòâèå 1. Ââîä ïåðèîäà, çà êîòîðûé íåîáõîäèìî îïðåäåëèòü êîëè÷åñòâî äåôåêòíûõ è îñòðîäåôåêòíûõ ðåëüñ (íà÷àëî è êîíåö ïåðèîäà).
Äåéñòâèå 2. Ïðèñâàèâàåì íà÷àëüíûå çíà÷åíèÿ ïåðåìåííûì d1 è d2 (d1=0 è d2=0), ò.å. ñ÷èòàåì, ÷òî íà ìîìåíò ðàñ÷åòà êîëè÷åñòâî äåôåêòíûõ è îñòðîäåôåêòíûõ ðåëüñ ðàâíî íóëþ.
Äåéñòâèå 3. Îòêðûâàåì ôàéë «Vedomost» äëÿ ÷òåíèÿ, ïðè ýòîì óêàçàòåëü óñòàíàâëèâàåòñÿ íà ïåðâóþ çàïèñü â ôàéëå.
Äåéñòâèå 4. Ïðîâåðÿåì óñëîâèå «Äîñòèãíóò êîíåö ôàéëà». Åñëè óñëîâèå íå âûïîëíÿåòñÿ, ò.å. â ôàéëå åùå ñîäåðæàòüñÿ çàïèñè, òî áóäåò âûïîëíÿòüñÿ äåéñòâèå 5. Åñëè â ôàéëå «Vedomost» áîëüøå íåò çàïèñåé (óñëîâèå âûïîëíÿåòñÿ), òî âûïîëíÿåòñÿ äåéñòâèå 10.
Äåéñòâèå 5. Îñóùåñòâëÿåòñÿ ïðîâåðêà óñëîâèÿ «Vedomost.DateObnar>=t1 and Vedomost.DateObnar<=t2», ò.å. îïðåäåëÿåòñÿ, íàõîäèòñÿ çíà÷åíèå ïîëÿ «DateObnar» òåêóùåé çàïèñè âíóòðè óêàçàííîãî äèàïàçîíà, ò.å. ìåæäó çíà÷åíèÿìè t1 è t2. Åñëè óñëîâèå íå âûïîëíÿåòñÿ, òîãäà ïðîèñõîäèò ïåðåõîä ê äåéñòâèþ 6, èíà÷å ê äåéñòâèþ 9.
Äåéñòâèå 6. Ïðîâåðÿåòñÿ óñëîâèå «Vedomost.PriznakDefecta= =«äåôåêòíûé». Åñëè ïîëå «PriznakDefecta» òåêóùåé çàïèñè ñîäåðæèò çíà÷åíèå «äåôåêòíûé» (óñëîâèå èñòèííî), òî îñóùåñòâëÿåòñÿ ïåðåõîä ê äåéñòâèþ 7, èíà÷å – ê äåéñòâèþ 8.
Äåéñòâèå 7. Çíà÷åíèå ïàðàìåòðà d1 óâåëè÷èâàåòñÿ íà 1 è ïðîèñõîäèò ïåðåõîä ê äåéñòâèþ 9.
Äåéñòâèå 8. Çíà÷åíèå ïàðàìåòðà d2 óâåëè÷èâàåòñÿ íà 1 è ïðîèñõîäèò ïåðåõîä ê äåéñòâèþ 9.
Äåéñòâèå 9. Ïåðåâîä êóðñîðà íà ñëåäóþùóþ çàïèñü ôàéëà «Vedomost» ÁÄ è ïåðåõîä ê äåéñòâèþ 4.
|