
03.11.2015, 10:28
|
Прохожий
|
|
Регистрация: 03.11.2015
Сообщения: 1
Версия Delphi: delphi 7
Репутация: 10
|
|
Функции и процедуры
Цель найти корни дискриминанта используя функции и процедуры.
Знаю, что процедуры и функции используются в описательной части.
Помогите исправить код.
код :
Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
lbl1: TLabel;
lbl2: TLabel;
lbl3: TLabel;
edit2: TEdit;
edit3: TEdit;
Edit1: TEdit;
lbl4: TLabel;
button2: TButton;
edit5: TEdit;
edit6: TEdit;
lbl5: TLabel;
lbl6: TLabel;
lbl7: TLabel;
lbl8: TLabel;
edit7: TEdit;
button3: TButton;
lbl9: TLabel;
procedure button2Click(Sender: TObject);
procedure button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b,c:Integer;
procedure Dplus(var m,n,i,j,k:real);
begin
m:=(-i+ sqrt((i*i)-(4*j*k)))/2*j;
n:=(-i- sqrt((i*i)-(4*j*k)))/2*j;
end;
procedure Dnol(var n,k,m:real);
begin
m:=-(n/2*k);
end;
implementation
{$R *.dfm}
procedure TForm1.button2Click(Sender: TObject);
begin
a:=StrToInt(Edit1.Text);
b:=StrToInt(Edit2.Text);
c:=StrToInt(Edit3.Text);
end;
function discr(var Num: integer):Integer;
begin
begin
Num:=(b*b)-(4*a*c);
end;
if num > 0 then
begin
end;
else d=0 // D = 0
begin
end;
else d<0 // D < 0
begin
begin
lbl9.visible:=True;
end;
end;
end;
procedure TForm1.button3Click(Sender: TObject);
begin
lbl8.Visible:=False;
edit7.Visible:=False;
edit5.Visible:=False;
edit6.Visible:=False;
lbl6.Visible:=False;
lbl7.Visible:=False; lbl9.Visible:=False;
Edit1.text:='';
edit2.Text:='';
edit3.Text:='';
end;
end.
Задание :
Код:
Алгоритм функции Discr (для нахождения дискриминанта):
1. Описать локальные переменные, которые будут использоваться в функции (например x,y,v) и тип возвращаемого ею значения.
1. Начать исполнение процедуры
2. Рассчитать Discr = w2 – 4vy
3. Закончить исполнение функции
Алгоритм процедуры Dplus (для нахождения корней уравнения при D > 0)
1. Описать локальные переменные процедуры (например m, n, i, j, k)
2. Начать исполнение процедуры:
3. Рассчитать
4. Закончить исполнение процедуры
Алгоритм процедуры Dnol (для нахождения корней уравнения при D = 0)
1. Описать локальные переменные процедуры (например n, k, m)
2. Начать исполнение процедуры
3. Рассчитать
4. Закончить исполнение процедуры
Алгоритм:
1. Начать исполнение
2. Вывести сообщение «Введите коэффициенты a, b, c»
3. Исследовать значение функции Discr при введенных пользователем значениях (значение полученного дискриминанта):
3.1 если Discr > 0, то
вызвать процедуру Dplus
3.2 если Discr = 0, то
вызвать процедуру Dnol
3.3 если Discr < 0, то
Вывести сообщение: «Нет действительных корней»
4. Закончить исполнение программы
|