|
#1
|
|||
|
|||
Delphi 2009
Даны действительные числа х и у, не равные друг другу. Меньшее из этих
двух чисел заменить половиной их суммы, а большее – их удвоенным произведением. Помогите, пожалуйста, разобраться, как составить программу |
#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. Невозможно заточить карандаш тупым топором. Столь же тщетно пытаться сделать это десятком тупых топоров |