Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 28.03.2014, 07:32
chrisss chrisss вне форума
Прохожий
 
Регистрация: 28.03.2014
Сообщения: 6
Версия Delphi: Delphi 2009
Репутация: 10
По умолчанию Delphi 2009

Даны действительные числа х и у, не равные друг другу. Меньшее из этих
двух чисел заменить половиной их суммы, а большее – их удвоенным
произведением.

Помогите, пожалуйста, разобраться, как составить программу
Ответить с цитированием
  #2  
Старый 28.03.2014, 10:00
Аватар для madMonia
madMonia madMonia вне форума
Новичок
 
Регистрация: 25.02.2014
Сообщения: 50
Версия Delphi: Delphi XE3
Репутация: 2545
По умолчанию

(пусть числа а и b)
ну если в лоб то:
1) c := половину суммы
2) d := удвоенное произведение
3) если а > b, то a := d, b := c
иначе наоборот
__________________
Невозможно заточить карандаш тупым топором. Столь же тщетно пытаться сделать это десятком тупых топоров
Ответить с цитированием
  #3  
Старый 28.03.2014, 10:26
chrisss chrisss вне форума
Прохожий
 
Регистрация: 28.03.2014
Сообщения: 6
Версия Delphi: Delphi 2009
Репутация: 10
По умолчанию

Цитата:
Сообщение от madMonia
(пусть числа а и b)
ну если в лоб то:
1) c := половину суммы
2) d := удвоенное произведение
3) если а > b, то a := d, b := c
иначе наоборот

мне надо с самого начала, прям с создания Label, Edit, Button. Я пыталась сама, у меня программа запускалась без ошибок, но расчетов никаких не было(
Ответить с цитированием
  #4  
Старый 28.03.2014, 10:36
Аватар для madMonia
madMonia madMonia вне форума
Новичок
 
Регистрация: 25.02.2014
Сообщения: 50
Версия Delphi: Delphi XE3
Репутация: 2545
По умолчанию

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  
Старый 28.03.2014, 10:44
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от madMonia
2) Перед Edit'ами добавьте по лабелу,
Или лучше использовать TLabeledEdit
Ответить с цитированием
  #6  
Старый 28.03.2014, 10:51
chrisss chrisss вне форума
Прохожий
 
Регистрация: 28.03.2014
Сообщения: 6
Версия Delphi: Delphi 2009
Репутация: 10
По умолчанию

float, text(где есть) подчеркивает красным(
Ответить с цитированием
  #7  
Старый 28.03.2014, 10:56
chrisss chrisss вне форума
Прохожий
 
Регистрация: 28.03.2014
Сообщения: 6
Версия Delphi: Delphi 2009
Репутация: 10
По умолчанию

и я сейчас немного не поняла, какой код писать( не можете подсказать? Преподаватель на лекциях и практиках свои Видео-лекции включает, которые ничему не учат, а нам потом сиди, мучайся( второй месяц голову ломаю над делфи
Ответить с цитированием
  #8  
Старый 28.03.2014, 10:57
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от madMonia
Код:
.....
TForm1.OnButton1Click(Sender: TObject);
.....
Перед этим должно быть слово procedure, вот так:
Код:
procedure TForm1.OnButton1Click(Sender: TObject);
Ответить с цитированием
  #9  
Старый 28.03.2014, 10:58
chrisss chrisss вне форума
Прохожий
 
Регистрация: 28.03.2014
Сообщения: 6
Версия Delphi: Delphi 2009
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Перед этим должно быть слово procedure, вот так:
Код:
procedure TForm1.OnButton1Click(Sender: TObject);

это слово я написала
Ответить с цитированием
  #10  
Старый 28.03.2014, 11:03
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от chrisss
и я сейчас немного не поняла, какой код писать( не можете подсказать?
Не получается даже по шагам которые madMonia написал? На каком шаге не получается?
Ответить с цитированием
  #11  
Старый 28.03.2014, 11:11
chrisss chrisss вне форума
Прохожий
 
Регистрация: 28.03.2014
Сообщения: 6
Версия Delphi: Delphi 2009
Репутация: 10
По умолчанию

Цитата:
Сообщение от poli-smen
Не получается даже по шагам которые madMonia написал? На каком шаге не получается?

Вот так составила, знаю, что бред, но по-другому как делать, в голову не идет( пыталась писать 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  
Старый 28.03.2014, 11:26
Аватар для madMonia
madMonia madMonia вне форума
Новичок
 
Регистрация: 25.02.2014
Сообщения: 50
Версия Delphi: Delphi XE3
Репутация: 2545
По умолчанию

c float это я да косякнул

По поводу StrToFloat посмотри, там в окне с текстом программы должно быть слово Uses и после него должны быть модули перечислены через запятую. Посмотри, есть ли там SysUtils, если нет добавь. И используй StrToFloat или TryStrToFloat.
__________________
Невозможно заточить карандаш тупым топором. Столь же тщетно пытаться сделать это десятком тупых топоров
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 01:43.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter