![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Цель найти корни дискриминанта используя функции и процедуры.
Знаю, что процедуры и функции используются в описательной части. Помогите исправить код. код : Код:
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. Закончить исполнение программы |
|
#2
|
||||
|
||||
|
Вероятно что-то и перепутал, проверьте
|