Консультация № 180184
06.10.2010, 21:45
45.00 руб.
0 1 1
Добрый день, Уважаемые эксперты.
Нужна помощь моей дочки в программирование на Delphi.
Дали такое задание:
В SpinEdit вводится число, при нажатие на кнопку "Квадрат" это число возводится в степень до тех пор, пока значение, которое отображается в SpinEdit не станет превышать 1e1233 (10 в степени 1233). После этого надпись на кнопке изменяется на "Корень" и из значение в SpinEdit начинается извлекаться корень.

Обсуждение

Неизвестный
06.10.2010, 23:25
общий
это ответ
Здравствуйте, Kreaman.
Предлагаю Вам следующий код.
Код и описание в приложении.
Вопросы пишите в форум.
Удачи.

Приложение:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
SpinEdit1: TSpinEdit;
Button1: TButton;
procedure FormActivate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormActivate(Sender: TObject);
begin
SpinEdit1.Text:= IntToStr(2); //При активации формы устанавливаем цифру 2 и устанавливаем надпись на кнопке
Button1.Caption:= Квадрат';
end;

procedure TForm1.Button1Click(Sender: TObject);
var
temp: Extended;
begin
temp:= StrToFloat(SpinEdit1.Text);
if Button1.Caption = 'Квадрат' then //если надпись Квадрат то производит возведение в квадрат
begin
temp:= sqr(temp);
SpinEdit1.Text:= FloatToStr(temp);
if temp > 1e1233 then // если больше нужного числа то меняем надпись на кнопке
begin
Button1.Caption:= 'Корень';
exit;
end;
end;

if Button1.Caption = 'Корень' then //если надпись Корень, то прозводим вычисление корня
begin
temp:= sqrt(temp);
SpinEdit1.Text:= FloatToStr(temp);
if temp < 2 then // если меньше цифры 2 то меняем обратно на надпись Квадрат
begin
Button1.Caption:= 'Квадрат';
exit;
end;
end;

end;

end.
5
Спасибо большое за работу. Очень благодарен за помощь.
Форма ответа