Составьте программу, которая строит график зависимости: а) y(x)=0.5x *cos 2x на промежутке [-12; 12]; б) y(x)=8 sinx *sin 2x на промежутке [-15; 15];
151
173
Ответы на вопрос:
Основа взята на сайте progmatem.ru. к сожалению, автор статьи там не был указан. // pascalabc.net 3.1, сборка 1204 от 24.03.2016 uses graphabc; const w=1000; h=600; function f(x: real): =0.5*x*cos(2*x); begin setwindowsize(w,h); // поле для графика в окне var xleft: =50; var yleft: =50; var xright: =w-xleft; var yright: =h-yleft; // интервалы по осям var ax: =-12.0; var bx: =12.0; var hx: =1.0; var ay: =-6.5; // минимум f(x) с запасом var by: =6.5; var hy: =0.5; // масштабы по осям var mx: =(xright-xleft)/(bx-ax); var my: =(yright-yleft)/(by-ay); // точка начала координат графика var x0: =xleft+trunc(abs(ax)*mx); var y0: =yright-trunc(abs(ay)*my); // рисование координатных осей line(xleft,y0,xright+10,y0); line(x0,yleft-10,x0,yright); setfontsize(12); setfontcolor(clblue); textout(xright+15,y0-10,'x'); textout(x0-4,yleft-30,'y'); setfontsize(8); setfontcolor(clgreen); // рисование засечек var s: string; for var i: =1 to round((bx-ax)/hx)+1 do begin var num: =ax+(i-1)*hx; var x: =xleft+trunc(mx*(num-ax)); line(x,y0-3,x,y0+3); str(num,s); if abs(num)> 1e-15 then textout(x-textwidth(s) div 2,y0+10,s) end; for var i: =1 to round((by-ay)/hy)+1 do begin var num: =ay+(i-1)*hy; var y: =yright-trunc(my*(num-ay)); line(x0-3,y,x0+3,y); str(num,s); if abs(num)> 1e-15 then textout(x0+7,y-textheight(s) div 2,s) end; textout(x0-10,y0+10,'0'); // собственно график var xi: =ax; while xi< =bx do begin var yi: =f(xi); var x: =x0+round(xi*mx); var y: =y0-round(yi*my); if (y> =yleft) and (y< =yright) then setpixel(x,y,clred); xi+=1e-3 end end. ******************************************* // pascalabc.net 3.1, сборка 1204 от 24.03.2016 uses graphabc; const w=1000; h=600; function f(x: real): =8*sin(x)*sin(2*x); begin setwindowsize(w,h); // поле для графика в окне var xleft: =50; var yleft: =50; var xright: =w-xleft; var yright: =h-yleft; // интервалы по осям var ax: =-15.0; var bx: =15.0; var hx: =1.0; var ay: =-6.5; // минимум f(x) с запасом var by: =6.5; var hy: =0.5; // масштабы по осям var mx: =(xright-xleft)/(bx-ax); var my: =(yright-yleft)/(by-ay); // точка начала координат графика var x0: =xleft+trunc(abs(ax)*mx); var y0: =yright-trunc(abs(ay)*my); // рисование координатных осей line(xleft,y0,xright+10,y0); line(x0,yleft-10,x0,yright); setfontsize(12); setfontcolor(clblue); textout(xright+15,y0-10,'x'); textout(x0-4,yleft-30,'y'); setfontsize(8); setfontcolor(clgreen); // рисование засечек var s: string; for var i: =1 to round((bx-ax)/hx)+1 do begin var num: =ax+(i-1)*hx; var x: =xleft+trunc(mx*(num-ax)); line(x,y0-3,x,y0+3); str(num,s); if abs(num)> 1e-15 then textout(x-textwidth(s) div 2,y0+10,s) end; for var i: =1 to round((by-ay)/hy)+1 do begin var num: =ay+(i-1)*hy; var y: =yright-trunc(my*(num-ay)); line(x0-3,y,x0+3,y); str(num,s); if abs(num)> 1e-15 then textout(x0+7,y-textheight(s) div 2,s) end; textout(x0-10,y0+10,'0'); // собственно график var xi: =ax; while xi< =bx do begin var yi: =f(xi); var x: =x0+round(xi*mx); var y: =y0-round(yi*my); if (y> =yleft) and (y< =yright) then setpixel(x,y,clred); xi+=1e-3 end end.
Var c,i: integer; function sov(k: integer): boolean; var j,s: integer; begin result: =false; s: =0; for j: =1 to k div 2 do if k mod j=0 then s: =s+j; if s=k then result: =true; end; begin read(c); i: =1; while (sov(c+i)=false) and (sov (c-i)=false) do i: =i+1; if sov(c+i)=true then writeln(c+i) else writeln(c-i) end.
Популярно: Информатика
-
СветланаСветик313.04.2022 19:29
-
hdbhbd23.09.2020 03:09
-
sadpoli28.07.2020 14:53
-
zarugeos07.06.2022 09:31
-
Кирвалидзе24.08.2021 21:08
-
mischad22.04.2022 06:29
-
Dima89043819.08.2022 11:05
-
maruad117.04.2022 08:41
-
nosalyaik13.07.2021 03:00
-
КираГум21.03.2020 09:41