Даны числа А,В,С. Вычислить сумму положительных и произведение отрицательных. Если произведение по модулю больше, чем модуль суммы, то у отрицательных изменить знак на противоположный, иначе у положительных
Категория: Delphi/Pascal
2012-01-22 23:09:18
code: #pascal
program PascalGuru; var A,B,C:real; {инициализация переменных ABC} summa,pr:real;{переменные суммы и произведения} begin write('A= '); readln(A); {ввод A} write('B= '); readln(B); {ввод B} write('C= '); readln(C); {ввод C} summa:=0; {Обнуляем значения переменной суммы } pr:=1; {Обнуляем значения переменной произведения } {ниже Вычисляем сумму и произведение:} if A>0 then summa:=summa+A else pr:=pr*A; if B>0 then summa:=summa+B else pr:=pr*B; if C>0 then summa:=summa+C else pr:=pr*C; {---- конец вычисления суммы и произведения} writeln; writeln('Summa: ',summa:15:2); {выводим на экран сумму} writeln('Proizvedenie: ',pr:8:2);{выводим на экран произведение} if abs(pr)>abs(summa) then {Если произведение по модулю больше, чем модуль суммы} begin {тогда ниже меняем знак у отрицательных} if A<0 then A:=-A; if B<0 then B:=-B; if C<0 then C:=-C; end else {иначе ниже меняем знак у положительных} begin if A>0 then A:=-A; if B>0 then B:=-B; if C>0 then C:=-C; end; writeln; writeln('Preobrazovannye: '); {ниже выводим преобразованных ABC на экран} writeln('A= ',A:0:2); {вывод A} writeln('B= ',B:0:2); {вывод B} writeln('C= ',C:0:2); {вывод C} readln; end.
Поделиться: