Transcript Document

“Өскемен қаласы әкімдігінің А.Байтұрсынов атындағы
№20 орта мектеп” КММ
Информатика пәнінің мұғалімі:
Турсунбаева Гульмира Слямбаевна
НЕГІЗГІ ГЕОМЕТРИЯЛЫҚ
ОБЪЕКТІЛЕР
• Нүктелер,
• Кесінділер,
• Векторлар (скалярлық және
векторлық қосындылар),
• Түзүлер,
• Көпбұрыштар
(дөңес және дөңес емес)
• Түзудің теңдеуі.
• Нүкте мен фигураның өз ара орналасуы.
• Фигуралардың өз ара орналасуы және олардың
қиылысу нуктелерін табу.
• Нүктеден фигураға дейінгі қашықтың немесе
фигуралардың ара қашықтығы.
• N нүктелер жиынынан алынған көпбұрыштың
негізгі нүктелері.
• Көпбұрыш пен жазықтықтың нүктелер жиыны
• Векторлар.
Нүктелер мен векторлар.
Нүктенің координатасын (x,y) сандар жұбымен
белгілейміз. Сондайақ вектордың
координатасында (x,y) сандар жұбымен
белгілейміз де былайша есептейміз:
(x2,y2)
(x1,y1)
x=x2-x1 (x1,y1) – вектордың басының
координатасы;
y=y2-y1 (x2,y2) – вектордың ұшының
координатасы.
Осы жағдайда вектордың ұзындығын
Пифагор теорамасымен өрнектейміз.

2
2
a  x y
Координаталары A(x1;y1) мен B(x2;y2)
болатын вектордың ұзындығы.
2
2
(
x

x
)

(
y

y
)
АВ=
1
2
1
2
Скаляр көбейтінді
 
 
(a  b )  a * b * cos 
Векторлардың көбейтіндісі
   
a  b  a * b * sin 
 
a , b - екі вектордың ұзындығы;

- бағытталған векторлардың арасындағы бұрыш
Скаляр және векторлық көбейтіндіні координаталар
арқылы да өрнектеуге болады.
Скаляр көбейтінді.
 
(a  b )  x1 * x 2  y1 * y 2
Векторлардың көбейтіндісі
 
a  b  x1 * y 2  y1 * x 2

a

a

b
 
a b  0

b
 
a b  0
Үшбұрыштың ауданы векторлардың
көбейтіндісінің жартысымен есептеледі.
1   1
S  (a  b )  ( x1 * y2  y1 * x2 )
2
2
Вектордың көбейтіндісінің таңбасы векторлардың
өзара орналасуымен анықталады:

болса a -ға
қарағанда сағат тілімен бағыттас
 
 
Егер векторлардың көбейтіндісі ,a b  0 болса a менb
 
Векторлардың көбейтіндісі ,a b  0
бір түзудің бойында жатады

 
Егер
 векторлардың көбейтіндісі ,a b  0 болса a
b-ға қарағанда сағат тілінің бағытына қарама - қарсы
бағытта
Координаталары берілген А мен В
нүктелері арқылы жүргізілген түзуден С
түзуіне дейінгі қашықтықты СА мен СВ
векторларының ұзындықтарының
көбейтіндісінің АВ векторының
ұзындығына қатынасы ретінде есептеуге
болады.
С
В
А
Шеңбердің теңдеуі:
Центрі О (a; b) және радиусы R
шеңбер берілсін.
2
2
Шеңбердің теңдеуі - ( x  a)  ( y  b)
R
2
Егер шеңбердің центрі координаталар
басында жатса яғни a=0 және b=0, болса :
Есеп Шахмат тақтасындағы шеңбер
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
5133
B.OUT
10
i
(5,1)
(5,2)
(5,3)
(5,4)
(5,5)
(4,1)
(4,2)
(4,3)
(4,4)
(4,5)
(3,4)
(3,5)
(3,3)
(3,1)
(3,2)
(2,1)
(2,2)
(2,3)
(2,4)
(2,5)
(1,1)
(1,2)
(1,3)
(1,4)
(1,5)
j
i
5
4
(x,y)
3
d2
2
(i+0.5,j-0.5)
(i+0.5,j+0.5)
(i,j)
1
d3
(i-0.5,j-0.5)
0
(i-0.5,j+0.5)
1
2
3
4
5
j
i
5
4
(x,y)
3
d2
2
(i+0.5,j-0.5)
(i+0.5,j+0.5)
(i,j)
1
d3
(i-0.5,j-0.5)
0
(i-0.5,j+0.5)
1
D=
2
3
4
( x1  x 2 )  ( y1  y 2 )
2
j
5
2
D=
( x1  x 2 )  ( y1  y 2 )
2
2
d1:=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)));
d4:=sqrt(sqr(x-(i+0.5))+sqr(y-(j+0.5)));
(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;
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 do
begin
d1:=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)));
d4:=sqrt(sqr(x-(i+0.5))+sqr(y-(j+0.5)));
if (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;
end;
writeln(kb,' ',kw);
end.