Temat: Pole figury płaskiej. (gimnazjum)
pola-fig.doc – 64 kB
Celem lekcji jest wprowadzenie pojęcie pola
figury płaskiej metodą Jordana i metodą Monte Carlo
Przebieg lekcji:
1. Powtórzenie wiadomości o mierzeniu
odcinków.
2. Omówienie sposobu wyznaczania pola
figury za pomocą miary Jordana.
3.Zastosowanie programu „Narzędzia
matematyczne II” - WSiP do
wyznaczania ciągów pól segmentów wewnętrznych i zewnętrznych - Rys. 1, 2, 3, 4.
|
|
Rys.1 Rys.2
|
|
Rys.3
Rys.4
4. Wprowadzenie definicji pola.
Polem figury płaskiej nazywamy wspólny kres ciągu pól segmentów zewnętrznych
i ciągu pól segmentów wewnętrznych.
5.Ćwiczenia w mierzeniu pól różnych
figur - prostokąta, trójkąta, trapezu.
6.Wyznaczenia pola odcinka, punktu,
prostej. Figury te mają pole równe 0, ponieważ zarówno ciąg pól segmentów
wewnętrznych jak i ciąg pól segmentó zewnętrznych dąży do 0..
7.Przykłady figur nie mających pola
– wykorzystanie programu „Kwadrat sito”. Kwadrat sito nie ma pola ponieważ ciąg
pól segmentów wewnętrznych dąży do 0 zaś ciąg pól segmentów zewnętrznych dąży
do a2.
program
Kwadrat_sito; {Turbo Pascal} uses
Graph; var karta,tryb,n,x,y,bok:integer; begin karta:=detect;
initGraph(karta,tryb,''); n:=1; bok:=256; rectangle(0,0,bok,bok); repeat bok:=bok
div 2; for
x:=0 to n-1 do for
y:=0 to n-1 do putPixel(bok+2*x*bok,bok+2*y*bok,
white);
n:=n*2; readLn; until bok=1; closeGraph; end. |
program
Kwadrat_sito; {Think Pascal} var n, x, y, bok: integer; begin n := 1; bok := 256; frameRect(0,
0, bok, bok); repeat bok
:= bok div 2; for
x := 0 to n - 1 do for
y := 0 to n - 1 do drawLine(bok+2*x*bok,bok+2*y*bok,
bok+2*x*bok,bok+2*y*bok); n
:= n * 2; readLn; end. until
bok = 1; end. |
|
|
|
|
|
|
Rys.2. Kolejne etapy budowania
"kwadratu - sita".
10. Omówienie sposobu mierzenia pola
metodą „Monte-Carlo”.
Uczniowie mierzą pola figur tą metodą i
porównują wyniki z metodą Jordana.
11.Wykorzystanienie programu do
zmierzenia pola koła o promieniu 1, metodą Monte Carlo.
Pole takiego koła daję przybliżoną
wartość liczby p.
Program
Pole_kola;
{Turbo Pascal} uses
Graph; var
karta,tryb:integer; ilProb,ilSukcesow,x,y:longInt; pole_C:real; begin karta:=detect; initGraph(karta,tryb,''); randomize; fillEllipse(320,240,200,200); for ilProb:=1 to 200000 do begin x:=random(640); y:=random(480); if
(getPixel(x,y)=15) or (getPixel(x,y)=4) then begin
putPixel(x,y,4);
ilSukcesow:=ilSukcesow+1; end else
putPixel(x,y,yellow); end; pole_C:=640*480/200.5/200.5; write('Pole
= ',pole_C/ilProb*ilSukcesow:1:2); readLn; closeGraph; end. |
program
Pole_kola;
{Think Pascal} var ilProb, ilSukcesow, x, y: longInt; pole_C: real; begin randSeed := tickCount; paintCircle(200, 200, 100); foreColor(redColor); for ilProb := 1 to 10000 do begin
x := abs(random) mod 400;
y := abs(random) mod 400;
if getPixel(x, y) then
begin
drawLine(x, y, x, y);
ilSukcesow
:= ilSukcesow + 1;
end; end; pole_C := 400 / 100.5 * 400 / 100.5; write('Pole
= ',pole_C/ilProb*ilSukcesow:1:2); end. |
Rys.5. Pole koła o promieniu 1
zmierzone metodą Monte Carlo wynosi 3.14.