Ввести два числа a и b . Меньшее заменить полусуммой, а большее удвоенным произведением....

0 голосов
265 просмотров

Ввести два числа a и b . Меньшее заменить полусуммой, а большее
удвоенным произведением. (паскаль)


Информатика (32 баллов) | 265 просмотров
Дано ответов: 2
0 голосов

Var a, b, c: real;
readln(a);
readln(b);
c := 0;
if a > b then
begin
c := a;
a := 2*a*b;
b := (c + b) / 2;
end
else
if a < b then
begin
c := a;
a := (a + b) / 2;
b := 2* a*b;
end
else
writeln('Числа равны');
writeln(' a = ', a, 'b = ', b);

кажется так
но чето могу напутать, не сидел с паскалем года 3

(1.2k баллов)
0

Нашел, не double, а real и возможно не readln, а read/

0

Нужно вводить доп. переменную. Сначала заменяешь а, а потом его же используешь в b.

0

зачем? О.о можно же и просто переменную заменить, зачем дополнительные переменные, если мы меняем значение переменных

0

Ага, в этом вся и суть. Заменив переменную а ты используешь уже замененное значение в другой формуле.

0

а, ну кстати да, чот в концу дня голова не варит

0 голосов

Program prog;
uses crt;

var a,b,t: real;

begin
clrscr;

write('a = ');
readln(a);
write('b = ');
readln(b);
if (a>b) then
   begin
   t:=a;
   a:=2*a*b;
   b:=(t+b)/2;
   end;
if (a   begin
   t:=b;
   b:=2*a*b;
   a:=(t+a)/2;
   end;
if(a=b) then
        writeln('Числа равны')
        else
        writeln('a = ', a, ', b = ', b);
end.

(9.6k баллов)
0

Спасибо большое:-)