1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Help! на большее фантазии не хватило

Тема в разделе "Delphi - программирование", создана пользователем Myc0n, 18 фев 2009.

  1. Myc0n

    Myc0n Гость

    Репутация:
    0
    Нужно сделать так, чтобы если икс неравен нулю, то выполнялась операция 1 разделить на икс.
    Пишу:
    [codebox]if round(x)<>0 then
    begin
    y:=1/x;[/codebox]
    Когда икс становится нулем, программа пишет, что деление на ноль запрещено.
    Что не так?
    Заранее спасибо :)
    end;
    end.
     
  2. Poseidon

    Poseidon Гость

    Репутация:
    0
    А x какого типа? Учитывая, что используется round, могу предположить что real. Так вот такой код у меня работает:

    Код:
    procedure TForm1.Button1Click(Sender: TObject);
    var
    x, y: real;
    begin
    x:= 0;
    if round(x)<>0 then
    begin
    y:=1/x;
    end;
    end;
    А у Вас что?
     
  3. Myc0n

    Myc0n Гость

    Репутация:
    0
    Вот весь код:
    [codebox]var
    Form1: TForm1;
    x,y:real;

    implementation

    {$R *.dfm}

    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    x:=x+1;
    if x<>0 then
    begin
    y:=1/(x-40);
    paintbox1.Canvas.Pixels[round(x),round(y)]:=clred;
    end;
    end;

    end.[/codebox]
    Вроде все как на ладони, а не получается. :)

    Да, у меня тоже real, как видите
     
  4. Poseidon

    Poseidon Гость

    Репутация:
    0
    Ну, вообще-то, исключение "Деление на 0" появится когда х = 40, поэтому проверка икса на ноль как бы бессмысленно. Нужно бы так:

    Код:
    var
    Form1: TForm1;
    x,y:real;
    
    implementation
    
    {$R *.dfm}
    
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    x:=x+1;
    if (x-40) <> 0 then // или if x <> 40 then
    begin
    y:=1/(x-40);
    paintbox1.Canvas.Pixels[round(x),round(y)]:=clred;
    end;
    end;
    
    end.
     
  5. Myc0n

    Myc0n Гость

    Репутация:
    0
    Точно!!! Спасибо, добрый человек, ступил я немного!! :rolleyes:
     
Загрузка...

Поделиться этой страницей