Сделайте программу, которая будет живописать графиктангенса (В Паскале нет функции для
Сделайте программку, которая будет рисовать график
тангенса (В Паскале нет функции для вычисления
тангенса, но есть функции для вычисления синуса и
косинуса используйте их)
Срочнооо,помогите пожалуйста!
Daniil Kalahanov
а можешь написать программку?
Цернова
Таня
есть условия,сейчас добавлю сюда скрины
Ljudmila Konyshina
все,добавила
Vladik Gromyshkov
а не подскажите,как на именуется,чтоб её найти?
1 ответ
Jupik Borka
// PascalABC.NET 3.2, сборка 1381 от 04.02.2017
// Внимание! Если программа не работает, обновите версию!
uses graphABC;
const
w=1000;
h=600;
function f(x:real):=Tan(x);
begin
SetWindowSize(w,h);
// поле для графика в окне
var xLeft:=50;
var yLeft:=50;
var xRight:=w-xLeft;
var yRight:=h-yLeft;
// интервалы по осям
var ax:=-7.0;
var bx:=7.0;
var hx:=0.5;
var ay:=-10.0; // минимум f(x) с припасом
var by:=10.0;
var hy:=1.0;
// масштабы по осям
var mx:=(xRight-xLeft)/(bx-ax);
var my:=(yRight-yLeft)/(by-ay);
// точка начала координат графика
var x0:=xLeft+Trunc(абс(ax)*mx);
var y0:=yRight-Trunc(абс(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 абс(num)gt;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 абс(num)gt;1E-15 then TextOut(x0+7,y-TextHeight(s) div 2,s)
end;
TextOut(x0-10,y0+10,'0');
// фактически график
var xi:=ax;
while xilt;=bx do begin
var yi:=f(xi);
var x:=x0+Round(xi*mx);
var y:=y0-Round(yi*my);
if (ygt;=yLeft) and (ylt;=yRight) then SetPixel(x,y,clRed);
xi+=1e-3
end
end.
Пример работы - во вложении
// Внимание! Если программа не работает, обновите версию!
uses graphABC;
const
w=1000;
h=600;
function f(x:real):=Tan(x);
begin
SetWindowSize(w,h);
// поле для графика в окне
var xLeft:=50;
var yLeft:=50;
var xRight:=w-xLeft;
var yRight:=h-yLeft;
// интервалы по осям
var ax:=-7.0;
var bx:=7.0;
var hx:=0.5;
var ay:=-10.0; // минимум f(x) с припасом
var by:=10.0;
var hy:=1.0;
// масштабы по осям
var mx:=(xRight-xLeft)/(bx-ax);
var my:=(yRight-yLeft)/(by-ay);
// точка начала координат графика
var x0:=xLeft+Trunc(абс(ax)*mx);
var y0:=yRight-Trunc(абс(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 абс(num)gt;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 абс(num)gt;1E-15 then TextOut(x0+7,y-TextHeight(s) div 2,s)
end;
TextOut(x0-10,y0+10,'0');
// фактически график
var xi:=ax;
while xilt;=bx do begin
var yi:=f(xi);
var x:=x0+Round(xi*mx);
var y:=y0-Round(yi*my);
if (ygt;=yLeft) and (ylt;=yRight) then SetPixel(x,y,clRed);
xi+=1e-3
end
end.
Пример работы - во вложении
Валерия
оххх....спасибо огромное
Эмилия Цвелова
Можно узнать еще,вы творили программку по тем условиям,которые на скринах?
Васька Списивцев
т.е по моим отрывкам программку не написать?
Таисия Шеликарева
ок,спасибо еще раз
, оставишь ответ?
Похожие вопросы
-
Вопросы ответы
Новое
NEW
Статьи
Информатика
Статьи
Последние вопросы
Игорь 14 лет назад был на 8 лет моложе, чем его
Математика.
Два тела массами m1 и m2 находящие на расстоянии R друг
Физика.
В сосуде 4целых одна пятая литр воды что бы заполнить сосуд
Математика.
Двум малярам Диме И Олегу поручили выкрасить фасад дома они разделили
Разные вопросы.
найти порядковый номер 41Э если в ядре 20 нейтронов
Разные вопросы.
в ряду натуральных чисел 3, 8, 10, 24, … 18 одно
Математика.
Предприятие по производству с/хоз продукции на производство затратило 3527000 руб Валовый
Разные вопросы.
Математика, задано на каникулы. ВАРИАНТ 1004
НОМЕР 1,2,3,4,5,6,7,8.
Математика.
Имеются три конденсатора емкостью С1=1мкФ, С2=2мкФ и С3=3мкФ. Какую наименьшую емкость
Физика.
Из точки м выходят 3 луча MP MN и MK причём
Геометрия.
Облако тегов