Читайте также: |
|
СОӨЖ өткізу түрлері: тренинг.
Әдістемелік ұсыныс: F(x) нақты функцияны белгілеп, дисплейдің символдық экранында оның графигін құру және ешқандай сандық әдістерін пайдаланбай барлық есептерін графикалық түрде табу. Программаны іске асыру кезінде келесі ескертулер бар: функцияның түрі және интервалы кез келген болуы мүмкін (берілген функцияның графигінің дұрыс тұрғызылуын тексеру нақты варианттарда тестік интервал және осы интервалдағы түбірлердің мәндері берілген).
Тапсырмалар варианттары:
1. F(x) = 3*sin + 0.35*x - 3.8. [2,3] аралығындағы жауап: x=2.2985.
2. F(x) = + - 2. [-1,0] аралығындағы жауап: x= - 0.2877.
3. F(x) = - cos . [0,1] аралығындағы жауап: x=0.4538.
4. F(x) = 0.4 + arctg - x. [1,2] аралығындағы жауап: x=1.2388.
5. F(x) = tg - ctg + x. [1,2] аралығындағы жауап: x=1.0769.
6. F(x) = 0.6* - 2.3*x - 3. [2,3] аралығындағы жауап: x=2.42.
7. F(x) = cos - 2*sin + . [1,2] аралығындағы жауап: x=1.8756.
8. F(x) = -arcsin x. [0,1] аралығындағы жауап: x=0.7672.
9. F(x) = 0.1* - x*ln x. [1,2] аралығындағы жауап: x=1.1183.
10. F(x) = tg x - * + * - . [0,0.8] аралығындағы жауап: x=0.333.
11. F(x) = + ln x - 10*x. [3,4] аралығындағы жауап: x= 3.5265.
12. F(x) = x*tg x - . [0.2,1] аралығындағы жауап: x=0.5472.
13. F(x) = 3* + 6*ln x - 5. [1,3] аралығындағы жауап: x=1.8832.
14. F(x) = x*x - ln (1+x) - 3. [2,3] аралығындағы жауап: x=2.0267.
15. F(x) = 2*x*sin x - cos x. [0.4,1] аралығындағы жауап: x=0.6533.
16. F(x) = ln x - x + 1.8. [2,3] аралығындағы жауап: x=2.8459.
17. F(x) = cos x - + x - 1. На интервале [1,2] ответ: x= 1.0804.
18. F(x) = 1 - x + sin x - ln (1+x). [0,1.5] аралығындағы жауап: x=1.1474.
19. F(x) = 3*x - 14 + - . [1,3] аралығындағы жауап: x= 2.0692.
20. F(x) = x + cos (2+ ). [0.5,1] аралығындағы жауап: x=0.9892.
21. F(x) = x*x - ln (5 + x). [1,2] аралығындағы жауап: x=1.36016.
22. F(x) = 0.5*x + sin (1+x). [-1,0] аралығындағы жауап:x=-0.66242.
23. F(x) = arcsin (2*x +1) - x*x. [- 0.5,0] аралығындағы жауап: x= - 0.4145.
24. F(x) = x - + - 4. [2,3] аралығындағы жауап: x=2.25078.
25. F(x) = x - sin x - 0.5. [1,2] аралығындағы жауап: x=1.496.
Бақылау мысалы.
[1,2] аралығында.
program primer11;
{ y=f(x) кез келген функциядан графикті құру}
uses crt;
const h=79; {дисплей экранындағы бағаналардың максимальды саны }
type position=1..h;
arraya=array [position] of char;
func=function (x:real):real;
var y0, m: integer;
k, n, j: position;
ymin, ymax, a, b,
dx, x, y, my: real;
ar: arraya; {экранға шығарылатын символдардың массиві }
ch: char;
{ k символдарды экранға шығару}
procedure grafic (a: arraya; k: position);
var i: position;
begin
for i:=1 to k do
write(a[i]);
writeln;
end;
{$i funct} { funct.pas басқа файлдан нақты функцияны енгізу}
{ f функцияның [a, b] аралықтағы ymin минимумын және ymax максимумын табу],
сонымен бірге барлық x0 түбірлерін экранға шығару }
procedure minmax (f: func; dx, a, b: real; var ymin, ymax: real);
var fx,f1x:real;
begin
x:=a;
ymin:=f(x);
ymax:=ymin;
f1x:=ymin;
while x<=b do
begin
x:=x+dx;
fx:=f(x);
{ f функцияның түбірін табу варианттары:
fx - функцияның келесі мәні
f1x- функцияның алдынғы мәні}
if fx*f1x<0 then {функция белгісін өзгертті, x0 түбірін аламыз}
writeln('x0=',x-dx/2);
f1x:=fx;
if fx>ymax then ymax:=fx;
if fx<ymin then ymin:=fx;
end
end; {minmax}
{басты программа}
begin
repeat
for j:=1 to h do ar[j]:=' '; {ar массивін тазалау}
clrscr;
write('нүктелердің санын еңгзіңіз ==========>');
readln(m);
write([a..b] аралығын енгізіңіз=====>');
readln(a,b);
dx:=(b-a)/(m-1);
writeln('аралықтағы түбірлердің тізімі);
minmax(f,dx,a,b,ymin,ymax);
writeln('--------- enter басыңыз --------- ');
readln;
my:=75/(ymax-ymin); {y осінің масштабы}
y0:=trunc(2-my*ymin); {Дисплейдің экранындағы y0 жайы}
{графиктің өзі}
x:=a;
while x<=b do
begin
y:=f(x);
if y0 in [1..h] then ar[y0]:='|'; {x осьтің символы}
n:=round(my*y)+y0;
if n<y0 then k:=y0
else k:=n;
if x=0 then
begin { осьті аламыз ------------------------->y}
for j:=1 to h-3 do ar[j]:='-';
ar[h-2]:='>';
ar[h-1]:='y';
k:=h;
end;
ar[n]:='@'; {графиктағы нүктенің символы}
grafic(ar,k);
for j:=1 to h do ar[j]:=' '; {ar массивін тазалау}
x:=x+dx
end;
if y0 in [1..h-1] then {x осінің соңы}
begin
ar[y0]:='v';
ar[y0+1]:='x';
grafic(ar,y0+1);
end;
writeln('қайталайықпа? (y/n)');
ch:=readkey;
until (ch='n') or (ch='n');
end.
funct.pas ішкі файлдің листингісі
нақты функция (шынайы сандарының барлық аралығында анықталған):
{$f+} {бұл директива pentium және одан жоғары ПЭЕМ-дерге қажет}
function f(x: real): real;
begin
f:=exp(-x)*sin(2*pi*x)
end;
Негізгі әдебиет: 1 [276-336].
Қосымша әдебиет: 5 [26-27], 10 [164-207], 12 [150-160].
Дата добавления: 2015-07-08; просмотров: 724 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Тақырып. Мәтіндік файлдар. | | | Тақырып. Тармақты есептеу процессін программалау. |