Олимпиада есептерін шығаруда есептің геометриясы...
DESCRIPTION
Олимпиада есептерін шығаруда есептің геометриясы мен сандар тәсілін қолдану. “Өскемен қаласы әкімдігінің А.Байтұрсынов атындағы №20 орта мектеп” КММ Информатика пәнінің мұғалімі: Турсунбаева Гульмира Слямбаевна. Есептің геометриясы. - PowerPoint PPT PresentationTRANSCRIPT
“Өскемен қаласы әкімдігінің А.Байтұрсынов атындағы №20 орта мектеп” КММ
Информатика пәнінің мұғалімі: Турсунбаева Гульмира Слямбаевна
НЕГІЗГІ ГЕОМЕТРИЯЛЫҚ ОБЪЕКТІЛЕР
• Нүктелер, • Кесінділер, • Векторлар (скалярлық және векторлық қосындылар), • Түзүлер,• Көпбұрыштар (дөңес және дөңес емес)
• Түзудің теңдеуі.• Нүкте мен фигураның өз ара орналасуы.• Фигуралардың өз ара орналасуы және олардың
қиылысу нуктелерін табу.• Нүктеден фигураға дейінгі қашықтың немесе
фигуралардың ара қашықтығы.• N нүктелер жиынынан алынған көпбұрыштың
негізгі нүктелері.• Көпбұрыш пен жазықтықтың нүктелер жиыны• Векторлар.
Нүктелер мен векторлар.
Нүктенің координатасын (x,y) сандар жұбымен белгілейміз. Сондайақ вектордың координатасында (x,y) сандар жұбымен белгілейміз де былайша есептейміз:
x=x2-x1 (x1,y1) – вектордың басының координатасы;y=y2-y1 (x2,y2) – вектордың ұшының координатасы.
(x1,y1)
(x2,y2)
Осы жағдайда вектордың ұзындығын Пифагор теорамасымен
өрнектейміз.
22 yxa
Координаталары A(x1;y1) мен B(x2;y2) болатын вектордың ұзындығы.
221
221 )()( yyxx АВ=
Скаляр көбейтінді
Векторлардың көбейтіндісі
- екі вектордың ұзындығы;
- бағытталған векторлардың арасындағы бұрыш
cos**)( baba
ba
,
sin** baba
Скаляр және векторлық көбейтіндіні координаталар арқылы да өрнектеуге болады. Скаляр көбейтінді.
Векторлардың көбейтіндісі
2121 ** xyyxba
2121 **)( yyxxba
0ba
a
b b
a
0ba
Үшбұрыштың ауданы векторлардың көбейтіндісінің жартысымен есептеледі.
)**(2
1)(
2
12121 xyyxbaS
Вектордың көбейтіндісінің таңбасы векторлардың өзара орналасуымен
анықталады:
Векторлардың көбейтіндісі , болса -ға қарағанда сағат тілімен бағыттас
Егер векторлардың көбейтіндісі , болса мен бір түзудің бойында жатады
Егер векторлардың көбейтіндісі , болса
-ға қарағанда сағат тілінің бағытына қарама - қарсы бағытта
0ba a
a
a
b
b
0ba
0ba
Координаталары берілген А мен В нүктелері арқылы жүргізілген
түзуден С түзуіне дейінгі қашықтықты СА мен СВ
векторларының ұзындықтарының көбейтіндісінің АВ векторының ұзындығына қатынасы ретінде
есептеуге болады.
А
В
С
Шеңбердің теңдеуі:Центрі О (a; b) және радиусы R шеңбер берілсін. Шеңбердің теңдеуі -
Егер шеңбердің центрі координаталар басында жатса яғни a=0 және b=0, болса :
222 )()( Rbyax
Есеп Шахмат тақтасындағы шеңберN x N өлшемді шахмат тақтасына R радиусты шеңбер орналастырылған, оның центрі тақтаның белгілі бір ұяшығының центрімен сәйкес келеді. Шеңбердің ішіне толығымен түскен ақ және қара ұяшықтардың санын анықтау керек. Тақтаның сол жақ төменгі ұяшығы қара.
Мәліметтерді енгізу форматыКірістік файлдың ( B.IN ) бірінші жолында аралары бос орынмен бөлінген 4 сан жазылған: N – тақта қабырғасының өлшемі (1 N 100); R - шеңбер радиусы (1 ≤ R ≤ 100); X, Y – шеңбердің центрі сәйкес келетін ұяшықтың координаталары (1 X, Y ≤ N). Ұяшықтардың координаталары сол жақ төменгі ұяшықтан бастап саналады, ол ұяшықтың координаталары (1,1).
Мәліметтерді шығару форматыШығыстық файлдың ( B.OUT ) бірінші жолында екі сан шығарылуы керек: шеңбер ішіне толығымен түсетін қара және ақ ұяшықтардың саны.
Мысал/Пример B.IN B.OUT5 1 3 3 1 0
(1,1) (1,2) (1,3) (1,4) (1,5)
(2,1) (2,2) (2,3) (2,4) (2,5)
(3,1) (3,2)(3,3)
(3,4) (3,5)
(4,1) (4,2) (4,3) (4,4) (4,5)
(5,1) (5,2) (5,3) (5,4) (5,5)
i
j
10
2 3 54
1
2
3
4
5
i
j
(i,j)
(i-0.5,j-0.5) (i-0.5,j+0.5)
(i+0.5,j-0.5) (i+0.5,j+0.5)
(x,y)
d2d1 d4
d3
10
2 3 54
1
2
3
4
5
i
j
(i,j)
(i-0.5,j-0.5) (i-0.5,j+0.5)
(i+0.5,j-0.5) (i+0.5,j+0.5)
(x,y)
d2d1 d4
d3
221
221 )()( yyxx D=
221
221 )()( yyxx D=
d1:=sqrt(sqr(x-(i-0.5))+sqr(y-(j-0.5)));d1:=sqrt(sqr(x-(i-0.5))+sqr(y-(j-0.5)));
d2:=sqrt(sqr(x-(i+0.5))+sqr(y-(j-0.5)));d2:=sqrt(sqr(x-(i+0.5))+sqr(y-(j-0.5)));
d3:=sqrt(sqr(x-(i-0.5))+sqr(y-(j+0.5)));d3:=sqrt(sqr(x-(i-0.5))+sqr(y-(j+0.5)));
d4:=sqrt(sqr(x-(i+0.5))+sqr(y-(j+0.5)));d4:=sqrt(sqr(x-(i+0.5))+sqr(y-(j+0.5)));
(d1<=r) and (d2<=r) and (d3<=r) and (d4<=r) (d1<=r) and (d2<=r) and (d3<=r) and (d4<=r)
if (i+j) mod 2=0 then kb:=kb+1 else kw:=kw+1;if (i+j) mod 2=0 then kb:=kb+1 else kw:=kw+1;
var i,j,kb,kw,n,r,x,y:integer; d1,d2,d3,d4:real; begin read(n,r,x,y); kb:=0; kw:=0; for i:=1 to n do for j:=1 to n dofor j:=1 to n do beginbegin d1:=sqrt(sqr(x-(i-0.5))+sqr(y-(j-0.5)));d1:=sqrt(sqr(x-(i-0.5))+sqr(y-(j-0.5))); d2:=sqrt(sqr(x-(i+0.5))+sqr(y-(j-0.5)));d2:=sqrt(sqr(x-(i+0.5))+sqr(y-(j-0.5))); d3:=sqrt(sqr(x-(i-0.5))+sqr(y-(j+0.5)));d3:=sqrt(sqr(x-(i-0.5))+sqr(y-(j+0.5))); d4:=sqrt(sqr(x-(i+0.5))+sqr(y-(j+0.5)));d4:=sqrt(sqr(x-(i+0.5))+sqr(y-(j+0.5))); if (d1<=r) and (d2<=r) and (d3<=r) and (d4<=r) thenif (d1<=r) and (d2<=r) and (d3<=r) and (d4<=r) then if (i+j) mod 2=0 then kb:=kb+1 else kw:=kw+1;if (i+j) mod 2=0 then kb:=kb+1 else kw:=kw+1; end;end; writeln(kb,' ',kw); end.