Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ условный оператор

Автор: Nik007 15.04.2007 22:43

Привет всем!!
Условие:
Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до а минут в месяц оплачивают b рублей, а разговоры сверх установленной нормы оплачиваются из расчета с рублей в минуту. Напишите программу, вычисляющую оплату за телефонные разговоры.
Решение:


program pr_1
var a.b.c.k.x:integer;(тут не уверен!)
begin
writeln('введите кол-во максимальных минут');
readln(a);
writeln('введите время разговора');
readln(t);
writeln('введите стоимость минуты');
readln(x);
writeln('введите стоимость минуты сверх нормы');
readln( с );



а вот дальше как
 
if t >a then t*c
if t t>a then [ b+(t-a)с ]



вот тут я не понимая что на что надо умножать и как дальше записать??

Автор: klem4 15.04.2007 22:58

Так ?

uses crt;

var

std_min, bonus_min, std_time, time, total_price: Integer;

begin
clrscr;

write('Стоимость обычной минуты разговора = '); readln(std_min);
write('Стоимость дополнительной минуты = '); readln(bonus_min);
write('Максимально кол-во минут (лоя стандартного тарифа) = '); readln(std_time);
write('Время разговора = '); readln(time);

if time <= std_time then total_price := time * std_min
else total_price := (time - std_time) * bonus_min +
std_time * std_min;

writeln('Оплата = ', total_price);
readln;
end.

Автор: Nik007 15.04.2007 23:00

Огромное человеческое спасибо smile.gif smile.gif

Автор: мисс_граффити 15.04.2007 23:06

по-моему, немножко не так.
то есть b рублей - это абонплата, меньше нее не может быть.
допустим, есть полчаса.
поговорил 10 минут - платишь 200 рублей
20 минут - все равно 200
а если 45 - то 200+15*стоимость лишних минут.

Автор: klem4 15.04.2007 23:08

Я с начала тоже так подумал, но строки

Цитата

writeln('введите стоимость минуты');
readln(x);
writeln('введите стоимость минуты сверх нормы');


меня переубедили