В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
Sasha2000ret
Sasha2000ret
01.08.2021 15:05 •  Информатика

Как в maxima разложить выражение на множители; разложить рациональную дробь на простейшие дроби?

Показать ответ
Ответ:
rope22
rope22
27.03.2022 05:39
Основа взята на сайте 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.

Составьте программу, которая строит график зависимости: а) y(x)=0.5x *cos 2x на промежутке [-12; 12]
Составьте программу, которая строит график зависимости: а) y(x)=0.5x *cos 2x на промежутке [-12; 12]
0,0(0 оценок)
Ответ:
vikaivanova12
vikaivanova12
07.04.2023 11:54
Создаёшь в папке с программой два текстовых файла с именами "1.txt." и "output.txt". В первый записываешь 8 чисел без пробелов и запятых ("22031991", например).

type  matrix = array [1..8] of integer;var  F, output: text;  i, n, cc, sum: integer;  c: char;  x: matrix;  ma: real;
procedure convert (var c: char; var cc: integer);begin  if c='1' then cc:=1;  if c='2' then cc:=2;  if c='3' then cc:=3;  if c='4' then cc:=4;  if c='5' then cc:=5;  if c='6' then cc:=6;  if c='7' then cc:=7;  if c='8' then cc:=8;  if c='9' then cc:=9;  if c='0' then cc:=0;end;
procedure sorting (n: integer; x: matrix);begin  for n:=1 to 7 do begin    if x[n]>x[n+1] then swap(x[n],x[n+1]);  end;end;
begin  Assign(F, '1.txt');  Reset(F);  for i:=1 to 8 do begin    read(F, c);    convert(c,cc);    x[i]:=cc;  end;  Close(F);
  sorting(n,x);  sum:=x[1]+x[2]+x[3]+x[4]+x[5]+x[6]+x[7]+x[8];  ma:=sum/8;    Assign(output, 'output.txt');  rewrite(output);  writeln(output, sum); writeln(output, ma);  Close(output);end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота