Очень нужна ваша помощь. Программа заключается в том что z надо расчитать по формуле b^10(10-ab), если 0<ab<10 или по формуле 44a^12, если ab>10. В программе должен быть использован оператор case. Вот текст этой программы с использованием оператора if.
program n1;
uses crt;
var a,b,c,z: real;
begin
clrscr;
write ('A,B,C= ');
readln(a,b,c);
if (b=0) or (a=0) then
writeln ('Danniy vvedenie nekorrektno')
else
if (0<a*b) and (a*b<10) then
z:=(exp(10*ln(b)))*(10-a*b)
else
z:=44*(12*ln(a));
writeln (z:7:3,z);
readln
end.
если a и b - real, то сделать "в лоб" не получится. Только через округление...
Грубо говоря, вот так:
case trunc(a*b) of
0..10: z:={первое значение};
10..MaxInt: z:={второе значение};
else
writeln('error!');
end;
Юля, это тоже будет некорректно...
Оно даже не скомпилируется, но (даже если на это не обращать внимание, сделать 11 .. MaxInt) представь ситуацию когда
a = -0.1 и b = 0.2 ... По какой ветке пойдем?
if (b=0) or (a=0) then
case ((a*b>0) and (a*b<10)) of
true: z:=1;
false: z:=2;
end;
Спасибо, это именно то что мне надо!!!!!!!! Громадное спасибо!!!