iİnformatikanın məktəbdə tədrisi

1-10-az

X, Y (Y  ≠   X) iki  həqiqi ədəd  verilmişdir. Ədədlərin kiçiyini həmin ədədlərin cəminin yarısı ilə, böyüyünü isə  bu ədədlərin iki misli ilə əvəz  edin.

İlk  baxışdan məsələ çox  sadə  görünür. Amma  burda  bir  nyuans  var .Misal  üzərində  baxaq:

Tutaq ki x=5 , y=6. Onda şərtə  görə x-in qiyməti (4+6)/2 = 5   və y –n qiyməti  2*4*6 = 48 olmalıdır. Əgər programda  x=5 yazsaq , onda  y = 2*x*y = 2*5*6=60   alarıq ,  amma  şərtə görə 48 olmalıdır! Məsələ ondadır ki y hesablayan zaman x-in dəyişilmiş qiymətindən istifadə edilmişdir.

Ona görə də ədədlərin cəminin yarısını və hasilinin iki mislini  hesablayıb, uyğun olaraq  a və b dəyişənlərinə mənimsədirik. Sonra isə x və y bu  qiymtələr  mənimsədilir.


Program A1_10;

var

a,b,x,y:real;

begin

 readln(x,y);

 a:=(x+y)/2;

 b:=2*x*y;

 if x<y then

     begin x:=a; y:=b; end

        else

     begin x:=b; y:=a; end;

   writeln(x:0:6,'  ',y:0:6);

 readln;

end.

//Program A1.10

#include <iostream>

 using namespace std;

 int main()

{  double x,y,a,b;

    cin>>x>>y;

    a=(x+y)/2;

    b=2*x*y;

    if(x<y) {x=a; y=b;}

    else      {x=b; y=a;}

    cout<<x<<" "<<y<<endl;

    return 0;

}