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

Кто может нарисовать гиперболу и гиперболический элипс вв паскале или дельфи

Показать ответ
Ответ:
Camilla007
Camilla007
23.07.2020 11:00
Unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    Edit1: TEdit;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
  var
  x,y,t:real;
  x1,y1,M:integer; //M -коэффициент масштабирования
begin
  x1:=Image1.Width div 2;
  y1:=Image1.Height div 2;
  with Image1.Canvas do
  begin
    MoveTo(x1,0); LineTo(x1,Image1.Height);
    MoveTo(x1,0); LineTo(x1-5,10);
    MoveTo(x1,0);LineTo(x1+5,10);
    MoveTo(0,y1);LineTo(Image1.Width,y1);
    LineTo(Image1.Width-10,y1-5);
    MoveTo(Image1.Width,y1); LineTo(Image1.Width-10,y1+5);
    TextOut(x1+1,y1+1,'0');
    TextOut(Image1.Width-16,y1+2,'X');
    TextOut(x1-15,0,'Y');
    x := -200;
    y := 1/x;
    M:=strtoint(edit1.text);
    moveto(x1+round(x)*M,(y1-round(y)*M));
    repeat
      x:=x+0.1;
      if x<>0 then //точка разрыва
      begin
       y := 1/x;
       lineto(x1+round(x*M),(y1-round(y*M)));
      end
      else
      begin
       x:=x+0.1;
       y := 1/x;
       MoveTo(x1+round(x*M),(y1-round(y*M)));
      end;
    until x>=200;
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  Label1.Caption:='коэффициент масштабирования';
  Button1.Caption:='Построить';
  Edit1.Text:='15';
  Button1.OnClick(sender);//Построение
end;

end.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота