|
|
Регистрация | << Правила форума >> | 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
|
||||
|
||||
Вероятно что-то и перепутал, проверьте
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |