
Составьте программу построения таблицы значений функции, состоящую из N строк, при изменении аргумента от L до R (значения вводятся пользователем).Во время построения таблицы найти и напечатать в конце таблицы отдельной строкой сумму таких значений функции, которые имеют целую часть,кратную Z.
Проблема вот в чём:
Надо написать функцию, опpеделяющую, сколько точек c кооpди-
натами (X,Y) из полученной pанее таблицы попадает
внутpь области, огpаниченной окружностью...
var x,y, {argument, znachenie funkcii}
L, {minimal'noe znachenie argumenta}
R, {maximal'noe znachenie argumenta}
T, {T-shag tablici}
S:real; {summa znach. funkcii,kotorie imeiut celuiu chast',kratnuiu Z}
N, {kol-vo strok v tablice}
I, {tekusthii nomer stroki}
Z, {chislo,na kotoroe delyatsya x}
Kol:integer; {kol-vo tochek vnutri okruzhnosti-vspomogatel'naya perem.}
rad:real; {radius ocruzhnosti}
Function Fn(x:real):real; {funkciya,vichislauschaya zadannuyu funktciu}
begin
Fn:=1.4*x-0.3*x*x+ln(x+1)+3;
end;
Function Kolvo(rad:real):integer; {funkciya,opredelyauschaya skol'ko tochek s koord.(x,y) iz poluchennoi}
var {tablici popadet vnutr' oblasti,ogranichennoi okruzhnost'iyu}
arg, {koordinata centra okruzhnosti po x}
ord:real; {koordinata centra okruzhnosti po y}
begin
write('koordinata tcentra po OX arg='); {vivod soobscheniya na ekran}
read(arg); {vvod znacheniya arg s klaviaturi}
write('koordinata tcentra po OY ord=');
read(ord); {vvod znacheniya ord s klaviaturi}
write('radius okruzhnosti rad=');
read(rad); {vvod znacheniya rad s klaviaturi}
Kol:=0; {prisvaevaem Kol nachal'noe znachenie 0}
for I:=1 to N do begin {povtorit' N raz}
if rad>=(sqrt(sqr(x-arg)+sqr(y-ord))) {uslovie nahozhdeniya tochek vnutri okruzhnosti}
then inc(Kol); {podschet kol-va tochek}
end;
Kolvo:=Kol; {prisvaivaem znachenie Kol funkcii}
end;
begin {nachalo osnovnoi programmi postroeniya tablitci}
s:=0; {prisvaivaem s nachal;noe znachenie 0}
write('min znachenie argumenta L='); read(L);
write('max znachenie argumenta R='); read(R);
write('chislo strok N=');read(N);
write('Z=');read(Z);
T:=(R-L)/(N-1); {schitaet shag tablici}
for I:=1 to N do begin
x:=L+T*I; {schitaet znachenie x}
y:=Fn(x); {schitaet znachenie y}
writeln('x=',x:6:4,' ','y=',y:6:4); {vivod tablitci}
if trunc(x) mod Z = 0 then s:=s+x; {summa znachenii funkcii,imeiuustchih}
end; {celuiy chast',kratnuiy Z}
writeln('summa znacheniy kratnih Z s=',s:6:4);
Kol:=Kolvo(rad);
writeln('chislo tochek vnutri okruzhnosti: ',Kol); {vivod chisla tochek vnutri okruzhnosti}
end.