Ãëàâíàÿ Ó÷åáíèêè - Ðàçíûå Ëåêöèè (ðàçíûå) - ÷àñòü 33
Öåëü ðàáîòû: Ïîëó÷èòü íàâûêè îïèñàíèÿ ìåòîäà ðåøåíèÿ ìàòåìàòè÷åñêîé
ìîäåëè íà ïðèìåðå ðåøåíèÿ çàäà÷ àíàëèòè÷åñêîé ãåîìåòðèè. Çàäàíèå: 1) Ñîãëàñíî
çàäàííîìó âàðèàíòó îïèñàòü ìåòîäû ðåøåíèÿ çàäà÷è. 2) Íà îñíîâå îïèñàííûõ
ìåòîäîâ ðàçðàáîòàòü ìàòåìàòè÷åñêóþ ìîäåëü. Çàäà÷à: Çàäàíî ìíîæåñòâî
òî÷åê, íàéòè ïàðàìåòðû îêðóæíîñòè ìèíèìàëüíîãî ðàäèóñà, ïðîõîäÿùèå ÷åðåç òðè
òî÷êè ìíîæåñòâà. ²)Ìàòåìàòè÷åñêàÿ ïîñòàíîâêà çàäà÷è: D= j : = 1… 2)D1,D2,D3- ðàäèóñû
îêðóæíîñòè; 3) X 5) -ñèñòåìà óðàâíåíèÿ èëè
íåðàâåíñòâà; -ñîâîêóïíîñòü óðàâíåíèÿ
èëè íåðàâåíñòâà;
7) =-çíàê ðàâíî; 8) A, B, C, E- íåêîòîðûå òî÷êè ñ îïðåäåëåííûìè
êîîðäèíàòàìè ²²) Îïèñàíèå
ìåòîäîâ ðåøåíèÿ: Ìåòîä 1. Ìåòîä
çàêëþ÷àåòñÿ â òîì , ÷òî áû íàéòè íàèìåíüøèé ðàäèóñ îêðóæíîñòè ñ ïîìîùüþ
ïîñëåäîâàòåëüíîãî ñîåäèíåíèÿ òî÷åê ñ îäíîé, à çàòåì ïðîäåëûâàíèÿ ýòîãî ñ êàæäîé
èç òî÷åê ìíîæåñòâà. Çàòåì, ñ ïîìîùüþ ôîðìóëû íàõîæäåíèÿ ðàññòîÿíèÿ ìåæäó äâóìÿ
òî÷êàìè (D= Ðèñ.¹1 Ìåòîä 2.Âòîðîé ìåòîä
çàêëþ÷àåòñÿ â òîì, ÷òî áû èñêàòü ìèíèìàëüíûé ðàäèóñ îêðóæíîñòè ïðè ïîìîùè
ñîåäèíåíèÿ ìíîæåñòâî òî÷åê ìåæäó ñîáîé, è â ðåçóëüòàòå ïîëó÷åíèå ìíîæåñòâî
ãåîìåòðè÷åñêèõ ôèãóð ( â äàííîì ñëó÷àå ãåîìåòðè÷åñêèå ôèãóðû – òðåóãîëüíèêè).
Çàòåì íåîáõîäèìî íàéòè ðàññòîÿíèå ñòîðîí òðåóãîëüíèêà. Äëÿ ýòîãî âîçüìåì
ôîðìóëó íàõîæäåíèÿ ðàññòîÿíèÿ ìåæäó äâóìÿ òî÷êàìè (D= ²²²) Àíàëèç ìåòîäà ðåøåíèÿ: Ïåðâûé ìåòîä áîëåå
ýôôåêòèâåí, ÷åì âòîðîé, òàê êàê òðåáóåò ìåíüøåå êîëè÷åñòâî àðèôìåòè÷åñêèõ
ðàñ÷åòîâ, è â ïàìÿòè áóäåò çàíèìàòü ìåíüøåå êîëè÷åñòâî ðåñóðñîâ. ²Y) Ôîðìàëèçàöèÿ âûáðàííîãî ìåòîäà: 1)
D1= D2= D3= 2)
Åñëè D1=D3, òî âûïîëíÿåòñÿ ïóíêò 3, èíà÷å ïóíêò 4; 3)
D1, D3 - ðàäèóñû îêðóæíîñòè; 4)
Åñëè D2=D3, òî âûïîëíÿåòñÿ ïóíêò 5, èíà÷å ïóíêò 6; 5)
D2, D3 – ðàäèóñû îêðóæíîñòè; 6)
Åñëè D1=D2 , òî âûïîëíÿåòñÿ ïóíêò 7, èíà÷å ïóíêò 8; 7)
D1, D2 – ðàäèóñû îêðóæíîñòè; 8)
Åñëè D1=D2 , è/èëè D2=D3, è/èëè D1=D3, òî âûïîëíÿåòñÿ
ïóíêò 9; 9)
 ñëó÷àè ïóíêòà 8
íåîáõîäèìî ñðàâíèòü íà ìåíüøèé ðàäèóñ: D1=D2 D1=D3 D2=D3 10) Çàòåì íåîáõîäèìî ïîâòîðèòü ýòî ñ îñòàâøèìèñÿ òî÷êàìè ïîêà
íå ïåðåãåíèðèðóþòñÿ âñå òî÷êè. Y². Ãåîìåòðè÷åñêîå ðåøåíèå
çàäà÷è A= (-5;0); B= (-3;2); E= (0;1); C= (-3;-2), òàê êàê D= 1)
AB=
AE=
AC= Òàê êàê AB=AC, AB 2) ÀÂ= ÅÂ= ÑÂ= Òàê êàê ÀÂ 3) ÀÅ= ÑÅ= ÂÅ= Òàê êàê ÀÅ 4) ÀÑ= ÅÑ= ÑÂ= Òàê êàê ÀÑ Èç äàííîãî ìíîæåñòâà
òî÷åê ìîæíî ïðîâåñòè òîëüêî îäíó îêðóæíîñòü ñ ìèíèìàëüíûì ðàäèóñîì, ïðîõîäÿùåé
÷åðåç òðè òî÷êè ìíîæåñòâà. Îòñþäà ñëåäóåò, ÷òî ìèíèìàëüíûì ðàäèóñîì ÿâëÿþòñÿ
îòðåçêè ÀÂ è ÀÑ. Àëãîðèòì ðåàëèçàöèè: ââîä
Âûâîä ‘Ââåäèòå êîîðäèíàòû’,I,’-îé òî÷êè.’
Ââîä D[i].x, D[i].y
Âûâîä ‘D[‘,i,’].x =’,D[i].x; ‘D[‘,i,’].y =’,D[i].y;
äëÿ i:=1..(n-3) äëÿ k:=i+1..(n-2) äëÿ l:=j+1..(n-1) äëÿ j:=l+1...n
Åñëè (dk=dl) èëè (dk=dj) òîãäà Âûâîä ‘Òî÷êà ',i,'- ÿâëÿåòñÿ öåíòðîì
îêðóæíîñòè!' Âûâîä 'Òî÷êà ',i,' íå ÿâëÿåòñÿ öåíòðîì îêðóæíîñòè!'
Âûâîä ' dl- âîçìîæíûé ðàäèóñ îêðóæíîñòè!' Èíà÷å Âûâîä 'dl-íå îáðàçóåò ðàäèóñ..' Åñëè (dk=dj) èëè (dk=dl) òîãäà Âûâîä ' dk- âîçìîæíûé ðàäèóñ îêðóæíîñòè!' Èíà÷å Åñëè (dj=dl) èëè (dj=dk) òîãäà ' dj- âîçìîæíûé ðàäèóñ îêðóæíîñòè!’ Âûâîä åñëè (dk<dj)
è (dk=dl) òî Âûâîä ' dk- Íàèìåíüøèé ðàäèóñ îêðóæíîñòè!' Åñëè (dk<dl)
è (dk=dj) òî Âûâîä ' dl-
Íàèìåíüøèé ðàäèóñ îêðóæíîñòè!' Åñëè (dk=dj)
è (dl=dk) òîãäà Âûâîä Ëèñòèíã ïðîãðàììû: Program alex; uses crt; Type Point = Record x,y : real; End; pnt = Array [1..20] Of Point; var q, nstr,cstr:string; c:char; D:pnt; l,n,i,k,j,code:integer; di,dj,dk,dl,Dmin:real; begin clrscr; writeln(' Äîíåöêèé ãîñóäàðñòâåííûé èíñòèòóò èñêóññòâåííîãî
èíòåëëåêòà'); writeln; writeln; gotoxy(40,6); write('Êàôåäðà ïðîãðàìíîãî îáåñïå÷åíèÿ'); gotoxy(40,7); writeln(' èíòåëëåêòóàëüíûõ ñèñòåì'); gotoxy(19,10); writeln(' Ëàáîðàòîðíàÿ ðàáîòà #2'); writeln(' ïî êóðñó:"Àëãîðèòìèçàöèÿ âû÷èñëèòåëüíûõ
ïðîöåññîâ"'); writeln(' òåìà:"Ðàçðàáîòêà àëãîðèòìîâ è
ïðîãðàììû"'); gotoxy(60,20); write('Âûïîëíèë:'); gotoxy(60,21); write(‘'); gotoxy(60,22); write(); writeln; writeln; writeln; write('Íàæìèòå ëþáóþ êëàâèøó'); readkey; clrscr; writeln(' Çàäàíèå: Çàäàíî ìíîæåñòâî òî÷åê. Íàéòè ïàðàìåòðû îêðóæíîñòè'); writeln('ìèíèìàëüíîãî ðàäèóñà ïðîõîäÿùåé ÷åðåç òðè òî÷êè ìíîæåñòâà.'); gotoxy(1,25); write('Íàæìèòå ëþáóþ êëàâèøó...'); readkey; clrscr; repeat Writeln('Ââåäèòå êîëè÷åñòâî òî÷åê'); readln(nstr); writeln; val(nstr,n,code); if (code<>0) then begin clrscr; writeln('Ýòî íå ÷èñëî!
Ïîïðîáóéòå åùå ðàç.'); n:=5; end; if not( n in[3..20]) then begin clrscr; code:=1; writeln('×èñëî íå íàõîäèòñÿ â çàäàííîì äèàïàçîíå!
Ïîïðîáóéòå åùå ðàç') end; until (code=0); clrscr; for i:=1 to n do begin repeat write('Ââåäèòå êîîðäèíàòó Õ ',i,'-îé òî÷êè: '); readln(cstr); val(cstr,D[i].x,code); if (code<>0) then begin writeln('Ýòî íå ÷èñëî! Ïîïðîáóéòå åùå ðàç.'); continue end; clrscr; if ((D[i].x>100) or (D[i].x<-100))
then begin clrscr; writeln('Äèàïàçîí êîîðäèíàò òî÷åê îò -100 äî 100!'); code:=1; continue end; until (code=0); repeat write('Ââåäèòå êîîðäèíàòó Y ',i,'-îé òî÷êè: '); readln readln
val(cstr,D[i].y,code); if (code<>0) then begin clrscr; writeln('Ýòî íå ÷èñëî!
Ïîïðîáóéòå åùå ðàç.'); code:=1; continue end; clrscr; if ((D[i].y>100) or (D[i].y<-100))
then begin clrscr; writeln('Äèàïàçîí êîîðäèíàò òî÷åê îò -100 äî 100!'); code:=1; continue end; until (code=0); end; for i:=1 to n do begin writeln('D[',i,'].x=',D[i].x); writeln('D[',i,'].y=',D[i].y); end; for i:= 1 to (n-3) do for k:= i+1 to (n-2) do for l:= k+1 to (n-1) do for j:= l+1 to n do begin begin begin begin
dk:=Sqrt(Sqr(D[i].x-D[k].x)+Sqr(D[i].y-D[k].y));
dl:=Sqrt(Sqr(D[i].x-D[l].x)+Sqr(D[i].y-D[l].y));
dj:=Sqrt(Sqr(D[i].x-D[j].x)+Sqr(D[i].y-D[j].y)); Dmin:=dk; begin if (dk=dl) or
(dj=dl) then writeln
('',dl:7:2,' dl-âîçìîæíûé ðàäèóñ îêðóæíîîñòè') else writeln ('dl-íå îáðàçóåò ðàäèóñ'); if (dk=dj) or
(dk=dl) then writeln
('',dk:7:2,' dk-âîçìîæíûé ðàäèóñ îêðóæíîñòè') else writeln ('dk-íå îáðàçóåò ðàäèóñ'); if (dj=dl) or
(dj=dk) then writeln
('',dj:7:2,' dj-âîçìîæíûé ðàäèóñ îêðóæíîñòè') else writeln ('dj-íå îáðàçóåò ðàäèóñ'); if (dk=dl) or
(dk=dj) then writeln
('Òî÷êà ',i,' ÿâëÿåòñÿ öåíòðîì îêðóæíîñòè') else writeln ('Òî÷êà ',i,' íå ÿâëÿåòñÿ
öåíòðîì îêðóæíîñòè!'); end; begin if (dk<dj) and
(dk=dl) then writeln ('dk
i dl-íàèìåíüøèé ðàäèóñ îêðóæíîñòè') ; if (dk<dl) and
(dk=dj) then writeln ('dk
i dj-íàèìåíüøèé ðàäèóñ îêðóæíîñòè'); if (dk=dj) and
(dk=dl) then writeln ('dk
i dj i dl-íàèìåíüøèé ðàäèóñ îêðóæíîñòè'); end; end; end; end; end; readLn; end. Ýêðàííûå ôîðìû: Âûâîä: Â õîäå ëàáîðàòîðíîé
ðàáîòû ÿ èçó÷èë íàâûêè îïèñàíèÿ ìåòîäà ðåøåíèÿ ìàòåìàòè÷åñêîé ìîäåëè íà
ïðèìåðå ðåøåíèÿ çàäà÷ àíàëèòè÷åñêîé ãåîìåòðèè.
|