|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.06.2007, 13:52 | #1 |
Пользователь
Регистрация: 01.06.2007
Сообщений: 59
|
корни квадратного уравнения
Плиз помогите составить программу,которая бы вычесляла корни квадратного уравнения,просто я только начал изучать программирование и вот эту задачу решить не получается.Желательно к коду дать скрин программы...
|
01.06.2007, 14:11 | #2 |
Форумчанин
Регистрация: 30.03.2007
Сообщений: 124
|
Sqrt(25) - корень
Sqr(5) - квадрат
Тут без 100г не розберешся.....
Спасибо не нужно, а на весы слева кликнуть не помешает!!! |
01.06.2007, 14:38 | #3 |
Пользователь
Регистрация: 01.06.2007
Сообщений: 59
|
Плиз дайте полный код плизззз
|
01.06.2007, 14:52 | #4 |
Пользователь
Регистрация: 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? |
01.06.2007, 15:02 | #5 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
хех... я конечно понимаю, что только начинаешь, но не до такой же степени тупить... каменты практически в каждой строке, да и сложного там ноль. Хотя я бы это по крайней мере сделал бы функцией, но это уже совсем другая история
ЗЫ. ты не пробовал сохранять свои модули не как тебе делфи предлогает, а под другими именами? попробуй, будешь приятно удивлен. Тебе было бы удобно, если вверху в блоке uses было написано не Forms,Dialogs,... а Unit1,Unit2,... и чтобы кнопки назывались не TButton, а TComponent1? |
01.06.2007, 15:15 | #6 |
Пользователь
Регистрация: 01.06.2007
Сообщений: 59
|
Ладно спс всем,только подскажите вот эту строку
rez: boolean; // True —решение есть, False —решения нет mes: Почему mes? |
01.06.2007, 15:17 | #7 |
Пользователь
Регистрация: 15.04.2007
Сообщений: 20
|
сокращение от message
|
01.06.2007, 15:23 | #8 |
Пользователь
Регистрация: 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' |
01.06.2007, 15:37 | #9 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
Кто тут такой злостный модер, меня "отпарсил"?
Автору: У тя со зрением как? (56) xl=x1 (72) Editl = Edit1 (76) забыл где-то ; , тебе так и написали И разберись с бегинами и эндами
пыщь
|
01.06.2007, 15:49 | #10 |
Пользователь
Регистрация: 01.06.2007
Сообщений: 59
|
Как вместо 1 поставить этот символ?На какой клавиши?)Сорри я наверное вчера переборщил со спиртным))))))))))))))))
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Решение уравнения | 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 |