Консультация № 137642
20.05.2008, 15:42
0.00 руб.
0 2 2
Здраствуйте, я знаю что тут много умных людей, которые могут помочь новичку. Помогите пожалуйста составить программу на delphi (задача на моделирование):
"Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до A минут в месяц оплачивают B рублей, а разговоры сверх установленной нормы оплачиваются из расчета C рублей в минуту. Напишите программу, вычисляющую оплату за телефонные разговоры."

Обсуждение

Неизвестный
20.05.2008, 16:02
общий
это ответ
Здравствуйте, Сараев Лаврентий Александрович!

t:integer; //всего минут
St:integer; // Итоговая стоимость
a,b,c: integer; //исходные данные

if a<t then St:=a*b+(t-a)*c else St:=a*b;
Неизвестный
20.05.2008, 22:18
общий
это ответ
Здравствуйте, Сараев Лаврентий Александрович!
Код в приложении.
На форме 5 LabeledEdit‘ов <i>(аналог обычного Edit‘а, но только с подписью)</i> и кнопка.
В Edit‘ы вводятся значения A, B, C, минуты и выводится результат.
Главное в программе это условный оператор, он имеет такой вид:

<b>if</b> условие <b>then</b>
 <Font Color=Blue><i>//Это выполняется если условие верно</i></font>
<b>else</b>
 <Font Color=Blue><i>//Это если условие не выполняется</i></font>

Часть else может быть отпущена, тогда если условие не выполняется, то программа просто продолжит работу.
Вот пример:

<b>procedure</b> ifTest;
var
  b: bool;
begin
  b:= false;
  <b>if</b> b=true <b>then</b>
    ShowMessage(‘b=true‘)
  <b>else</b>
    ShowMessage(‘b=false‘);
end;

Здесь мы объявляем логическую переменную b и присваиваем ей false потом проверяем равна ли она true, если равна, то показываем сообщение b=true, иначе b=false. Т.к. в начале программы мы присвоили b false, то всегда будет выполнятся то что стоит за else.

Удачи!!!

Приложение:
unit Unit2;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons, ExtCtrls;type TForm2 = class(TForm) eA: TLabeledEdit; eC: TLabeledEdit; eB: TLabeledEdit; EMin: TLabeledEdit; bFind: TBitBtn; eRes: TLabeledEdit; procedure bFindClick(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form2: TForm2;implementation{$R *.dfm}procedure TForm2.bFindClick(Sender: TObject);var //Здесь хранятся A, B, C, кол-во минут и оплата a, b, c, min, sum: integer;begin //Получаем значения A, B, C из Edit‘ов a:=StrToInt(eA.Text); b:=StrToInt(eB.Text); c:=StrToInt(eC.Text); //Получаем кол-во минут min:=StrToInt(eMin.Text); //Если минут больше A, то C рублей в минуту if Min > a then sum:=min*c else //Иначе B рублей в минуту sum:=min*b; //Выводим рез-тат eRes.Text:=IntToStr(sum);end;end.Код в приложении.На форме 5 LabeledEdit‘ов(аналог обычного Edit‘а, но только с подписью) и кнопка.В Edit‘ы вводятся значения A, B, C, минуты и выводится результат.Главное в программе это условный оператор, он имеет такой вид:if условие then //Это выполняется если условие верноelse //Это если условие не выполняетсяЧасть else может быть отпущена, тогда если условие не выполняется,то программа просто продолжит работу.Вот пример:procedure ifTest;var b:bool;begin b:=false; if b=true then ShowMessage(‘b=true‘) else ShowMessage(‘b=false‘);end;
Форма ответа