Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2007, 13:52   #1
InseR
Пользователь
 
Регистрация: 01.06.2007
Сообщений: 59
По умолчанию корни квадратного уравнения

Плиз помогите составить программу,которая бы вычесляла корни квадратного уравнения,просто я только начал изучать программирование и вот эту задачу решить не получается.Желательно к коду дать скрин программы...
InseR вне форума Ответить с цитированием
Старый 01.06.2007, 14:11   #2
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
По умолчанию

Sqrt(25) - корень
Sqr(5) - квадрат
Тут без 100г не розберешся.....
Спасибо не нужно, а на весы слева кликнуть не помешает!!!
mrandrey вне форума Ответить с цитированием
Старый 01.06.2007, 14:38   #3
InseR
Пользователь
 
Регистрация: 01.06.2007
Сообщений: 59
По умолчанию

Плиз дайте полный код плизззз
InseR вне форума Ответить с цитированием
Старый 01.06.2007, 14:52   #4
InseR
Пользователь
 
Регистрация: 01.06.2007
Сообщений: 59
По умолчанию

Непонимаю вот эту процедуру:
procedure SqRoot(a, b, c: real; var x1, x2: real; var ok: boolean);
{ a,b,c - коэффициенты уравнения
x1,x2 - корни уравнения
ok = True - решение есть
ok = False - решения нет }
var
d: real; // дискриминант
begin
d := Sqr(b) - 4 * a * c;
if d < 0
then
ok := False // уравнение не имеет решения
else
begin
ok := True;
x1 := (-b + Sqrt(d)) / (2 * a);
x2 := (b + Sqrt(d)) / (2 * a);
end;
end;
{$R *.dfm}

А потом идет еще одна:
procedure TForm1.Button1Click(Sender: TObject);
var
k1, k2: real; // корни уравнения
rez: boolean; // True - решение есть, False - решения нет
mes: string; // сообщение
begin
SqRoot(StrToFloat(Edit1.Text), StrToFloat(Edit2.Text),
StrToFloat(Edit3.Text), k1, k2, rez);
if rez then
mes := 'Корни уравнения' + #13 +
'x1=' + FloatToStrF(k1, ffGeneral, 4, 2) + #13 +
'x2=' + FloatToStrF(k2, ffGeneral, 4, 2) + #13
else
mes := 'Уравнение не имеет решения';

label5.Caption := mes;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
winhelp(Form1.Handle, 'sqroot.hlp', HELP_CONTEXT, 1);
end;

end.
Ее я понимаю,а вот причем тут первая процедура и почему имя стоит
unit SqRoot_; а не Unit1?
InseR вне форума Ответить с цитированием
Старый 01.06.2007, 15:02   #5
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,520
По умолчанию

хех... я конечно понимаю, что только начинаешь, но не до такой же степени тупить... каменты практически в каждой строке, да и сложного там ноль. Хотя я бы это по крайней мере сделал бы функцией, но это уже совсем другая история
ЗЫ. ты не пробовал сохранять свои модули не как тебе делфи предлогает, а под другими именами? попробуй, будешь приятно удивлен. Тебе было бы удобно, если вверху в блоке uses было написано не Forms,Dialogs,... а Unit1,Unit2,... и чтобы кнопки назывались не TButton, а TComponent1?
pu4koff вне форума Ответить с цитированием
Старый 01.06.2007, 15:15   #6
InseR
Пользователь
 
Регистрация: 01.06.2007
Сообщений: 59
По умолчанию

Ладно спс всем,только подскажите вот эту строку
rez: boolean; // True —решение есть, False —решения нет mes:
Почему mes?
InseR вне форума Ответить с цитированием
Старый 01.06.2007, 15:17   #7
Ivan_Susanin
Пользователь
 
Регистрация: 15.04.2007
Сообщений: 20
По умолчанию

сокращение от message
Ivan_Susanin вне форума Ответить с цитированием
Старый 01.06.2007, 15:23   #8
InseR
Пользователь
 
Регистрация: 01.06.2007
Сообщений: 59
По умолчанию

Ну вот мой код:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure SqRoot(a,b,c : real;

var xl,x2 : real;

var ok : boolean);

var

d : real;

begin

d:= Sqr(b) - 4*a*c; if d < 0 then

ok := False

else

begin

ok := True;

x1 :=(-b + Sqrt(d)) / (2*a) ; x2 := (b + Sqrt(d)) / (2*a);

end;

end;





procedure TForm1.Button1Click(Sender: TObject);
var

k1,k2: real;
rez: boolean;
begin
SqRoot(StrToFloat(Editl.Text), StrToFloat(Edit2.Text) ,

StrToFloat(Edit3.Text) , k1,k2,rez);

if rez then
mes := 'Корни уравнения' + #13 +

'x1='+FloatToStrF(kl,ffGeneral,

4,2)+#13+ 'x2='+FloatToStrF(k2,ffGeneral,4,2) +#13 else

mes := 'Уравнение не имеет решения'; labels.Caption := mes;

end;

end;

end.

Почему возникают ошибки?:
[Error] Unit1.pas(56): Undeclared identifier: 'x1'
[Error] Unit1.pas(72): Undeclared identifier: 'Editl'
[Error] Unit1.pas(76): ';' expected but 'IF' found
[Error] Unit1.pas(85): '.' expected but ';' found
[Warning] Unit1.pas(87): Text after final 'END.' - ignored by compiler
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
InseR вне форума Ответить с цитированием
Старый 01.06.2007, 15:37   #9
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Кто тут такой злостный модер, меня "отпарсил"?

Автору:
У тя со зрением как?
(56) xl=x1
(72) Editl = Edit1
(76) забыл где-то ; , тебе так и написали
И разберись с бегинами и эндами
пыщь
JTG вне форума Ответить с цитированием
Старый 01.06.2007, 15:49   #10
InseR
Пользователь
 
Регистрация: 01.06.2007
Сообщений: 59
По умолчанию

Как вместо 1 поставить этот символ?На какой клавиши?)Сорри я наверное вчера переборщил со спиртным))))))))))))))))
InseR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение уравнения Datrav Паскаль, Turbo Pascal, PascalABC.NET 2 06.06.2008 08:23
составить программу решения би квадратного уровнения. __k1ll3r__ Паскаль, Turbo Pascal, PascalABC.NET 2 19.02.2008 16:26
Найти в массиве квадратные корни наиболее удаленные друг от друга sher_man Помощь студентам 2 05.12.2007 10:15
Решение квадратного уравнения Stiv Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 30.11.2007 15:15