Всем привет!
Дана следующая задача;
Составить программму на любом языке программирования и с ее помощью решить уравнение с точностью равную до тысячных E=0.001 б=0.01 Уравнение 3cos2x-x+0.25 х принадлежит [-2.5;-1,8]
Я выяснил что уравнение корней не имеет!!! т.к найдя производную этого уравнение и подставляя значение -2.5 и -1.8 получается что в двух случаях уравнение имеет знак плюс!!!
Написал прогу на Делфи но у меня она не запускается(((((((((((( Может кто предложит более простой вариант? Я еще не организовал как задать точность(((
код проги:
var
Form1: TForm1;
x1, n,p,b,rez,rezu,t,y,u,q:integer;
x2, x3,f,h,c,w,e: extended;
s, red,per:string;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
x1:=3;
n:=-5;
x2:=2.5;
x3:=0.25;
s:= IntToStr(x1)+'cos'+IntToStr(n)+'+'+FloatToStr(x2)+'+'+FloatToStr(x3)+'=';
label1.Caption:=s;
p:= StrToInt (3*cos(-5)+ StrToFloat (2.5+0.25);
Label2.Caption:=IntToStr(p);
end;
begin
b:=3;
c:=-3.6;
f:=1.8;
h:=0.25;
red:= IntToStr(b)+'cos'+FloatToStr©+'+'+FloatToStr(f)+'+'+FloatToStr(h)+'=';
label3.Caption:=red;
rez:= StrToFloat (3*cos(-3.6)+ StrToFloat (1.8+0.25);
Label4.Caption:=FloatToStr(rez);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
t:=-6;
y:=-5;
u:=-5;
per:=IntToStr(t)+'sin'+IntToStr(y)+'*'+'cos'+IntToStr(u)+'=';
Label5.Caption:=per;
rezu:=StrToInt (-6*sin(-5)* cos(-5));
Label6.Caption:=IntToStr(rezu);
ShowMessage('uraveneie ne imeet kornei');
end;
begin
q:=-6;
w:=-3.6;
e:=-3.6;
per:=IntToStr(q)+'sin'+FloatToStr(w)+'*'+'cos'+FloatToStr(e)+'=';
Label7.Caption:=per;
rezu:=FloatToStr (-6*sin(-3.6)* cos(-3.6));
Label8.Caption:=StrToFloat(rezu);
ShowMessage('uraveneie ne imeet kornei);
end.
Добавлено через 5 мин.
В этом коде полно проблем с переводом типов данных и почему то ошибки выдает с лейбелами
program Project1;
{$APPTYPE CONSOLE}
function f(x: real): real;
begin
f := 3 * cos(2*x) - x + 0.25;
end;
var
x, y: real;
found: boolean = false;
begin
x := -2.5;
while x <= -1.8 do begin
y := f(x);
if abs(y) < 0.001 then begin
writeln('X = ', X:12:6, ' Y = ', Y:12:6); found := true;
end;
x := x + 0.0005;
end;
if not found then writeln('no roots...');
readln;
end.
Это на каком языке написано? это уравнение не имеет корней при х=-2.5 и -1.8
А это на каком языке написано?
Если даже сделать чертеж то эти два графика не пересекаются! а значит нет корней
Добавлено через 2 мин.
А как запустить этот код? в проге
Добавлено через 46 сек.
Я не знаю консольный режим(((((( в делфи
Там получаеотся два графика из одного уравнения! 3cos2x и x-0.25 нарисуй их и поймешь что они не пересекаются
program Project1;
uses graph;
function f1(x: real): real;
begin
f1 := 3 * cos(2*x);
end;
function f2(x: real): real;
begin
f2 := x - 0.25;
end;
const
found: boolean = false;
var
x, y1, y2: real;
gd, gm: smallint;
begin
initgraph(gd, gm, '');
x := -2.5;
while x <= -1.8 do begin
y1 := f1(x); y2 := f2(x);
putpixel((getmaxx div 2) + trunc(x*50),
(getmaxx div 2) + trunc(y1*50), lightred);
putpixel((getmaxx div 2) + trunc(x*50),
(getmaxx div 2) + trunc(y2*50), lightgreen);
if abs(y1 - y2) < 0.001 then begin
writeln('X = ', X:12:6, ' Y1 = ', Y1:12:6, ' Y2 = ', Y2:12:6); found := true;
end;
x := x + 0.0005;
end;
if not found then writeln('no roots...');
readln;
end.
Ну, наверное, человек ошибся при рисовании графиков. Мне кажется, это не повод отсылать его..
Как могут пересечся эти два графика?????? если мы берем значения от [-2.5 , -1.8]
Делал вручную они не пересекаются!!!!! значит нет корней а выясняем мы с помощью производной которую берем от уравнения 3 * cos(2*x)-X+0.25
Добавлено через 19 мин.
Посмотрите ваши график противоположен моему!
Эскизы прикрепленных изображений
Точно они пересекаются извините за ошибку
Chlamydia Pills Online
Why not settling on games that is fun and at the same time your earning. Well it'll make suspense because the game is well but dude just try it and it gave me hope while pandemic is real rn. https://muzzglobal.com/4-tips-for-online-casino-players-to-remember/