![]() |
|
|
#1
|
|||
|
|||
|
Даны действительные числа х и у, не равные друг другу. Меньшее из этих
двух чисел заменить половиной их суммы, а большее – их удвоенным произведением. Помогите, пожалуйста, разобраться, как составить программу |
|
#2
|
||||
|
||||
|
(пусть числа а и b)
ну если в лоб то: 1) c := половину суммы 2) d := удвоенное произведение 3) если а > b, то a := d, b := c иначе наоборот |
|
#3
|
|||
|
|||
|
Цитата:
мне надо с самого начала, прям с создания Label, Edit, Button. Я пыталась сама, у меня программа запускалась без ошибок, но расчетов никаких не было( |
|
#4
|
||||
|
||||
|
1) Добавте на форму два Edit'а, один Button
2) Перед Edit'ами добавьте по лабелу, в одном напишите "введите А", в другом "введите B" 3) На кнопку челкните два раза - курсор переместится на код, типо такого: Код:
TForm1.OnButton1Click(Sender: TObject); begin end; TForm1.OnButton1Click(Sender: TObject); - это процедура, которая будет срабатывать при нажатии на клавишу. Дальше сделайте по алгоритму Отдельно могу сказать, что придется переводить текст из едитов в число и наоборот. Это можно сделать так:Код:
TForm1.OnButton1Click(Sender: TObject);
var
a, b: float;
begin
if not TryStrToFloat(Edit1.Text, a) then
begin
ShowMessage('неверный формат числа указан в качестве а');
exit;
end;
if not TryStrToFloat(Edit2.Text, b) then
begin
ShowMessage('неверный формат числа указан в качестве b');
exit;
end;
// тут нужно вставить вычисления
Edit1.Text := FloatToStr(a);
Edit2.Text := FloatToStr(b);
end; |
|
#5
|
||||
|
||||
|
Цитата:
|
|
#6
|
|||
|
|||
|
float, text(где есть) подчеркивает красным(
|
|
#7
|
|||
|
|||
|
и я сейчас немного не поняла, какой код писать( не можете подсказать? Преподаватель на лекциях и практиках свои Видео-лекции включает, которые ничему не учат, а нам потом сиди, мучайся( второй месяц голову ломаю над делфи
|
|
#8
|
||||
|
||||
|
Цитата:
Код:
procedure TForm1.OnButton1Click(Sender: TObject); |
|
#9
|
|||
|
|||
|
Цитата:
это слово я написала |
|
#10
|
||||
|
||||
|
Цитата:
|
|
#11
|
|||
|
|||
|
Цитата:
Вот так составила, знаю, что бред, но по-другому как делать, в голову не идет( пыталась писать StrToFloat, но строку где это есть, всю красным выделял Код:
procedure TForm1.Button1Click(Sender: TObject);
var a,b,x,y:real;
begin
if a>b then
begin
x=(a+b)/2;
y=2*a*b;
end
else
begin
x=2*a*b;
y=(a+b)/2
end
end;
end.Последний раз редактировалось M.A.D.M.A.N., 28.03.2014 в 11:26. |
|
#12
|
||||
|
||||
|
c float это я да косякнул
![]() По поводу StrToFloat посмотри, там в окне с текстом программы должно быть слово Uses и после него должны быть модули перечислены через запятую. Посмотри, есть ли там SysUtils, если нет добавь. И используй StrToFloat или TryStrToFloat. |