LABORATORIYA MASHG’ULOTI. SHARTLI O‘TISH OPERATORI YORDAMIDA DASTURLAR TUZISH. 

Ma’lum bir shartni bajarilishi yoki bajarilmasligiga qarab, tarmoqlanuvchi jarayon holatlari aniqlanadi. Tarmoqlanuvchi jarayonlarni hisoblash uchun shartli operatordan foydalaniladi. Shartli operatori ikki xil kо‘rinishda bо‘ladi:

·       tо‘liq shartli operator;

·       chala shartli operator.

Tо‘liq shartli operator quyidagi formada yoziladi:

 if <mantiqiy ifoda> then <operator> else <operator>

bu yerda if (agar), then (u xolda), else (aks xolda) xizmatchi sо‘zlar.

Shunday kilib, tо‘liq shartli operatorni quyidagicha yozish mumkin:

if   S   then   S1   else   S2;

bu yerda                S  - mantiqiy ifoda;

S1 – S mantiqiy ifoda rost qiymat qabul qilganda   ishlovchi operator;

S2 -S mantiqiy ifoda yolg‘on qiymat qabul qilganda   ishlovchi operator.

Shartli operatorning bajarilishi unda yozilgan S1 yoki S2 operatorlaridan birini bajarilishiga olib keladi, ya’ni agar S mantiqiy ifoda bajarilishidan sо‘ng true (rost) qiymati hosil bо‘lsa S1 operatori, aks holda esa S2 operatori bajariladi.

Tо‘liq shartli operatorga doir misollar:

  •   if  a=2   then  d: = x+2  else  d: = x-2;
  • if  (x<y) and (z>5)  then  begin  y: = x * sin(x);

                t: =x * cos(x) end  else  begin  y: = 0; t: =1 end;

·         if  x<0 or x =3  then  y: = x*x+1  else  if x<2 

then  y: = sqr(abs(x-1))  else  y: = x*x;

Chala (tо‘liqmas) shartli operatorning yozilishini quyidagicha ifodalanadi:

if   S   then   S1;

bu yerda S - mantiqiy ifoda, S1 - operator.

Agar S  ifoda qiymati   true (rost) bо‘lsa S1 operatori bajariladi, aks holda esa boshqarish shartli operatordan keyin yozilgan operatorga uzatiladi.

2.Tayyor tuzilgan dasturlarning taxlili.

1- Topshiriq: uchta x,y,z son kiriting va  tanlash oraqali  ushbu funksiyalarning qiymatini  hisoblang: u=sin(x) yoki u=cos(x) yoki u=tg(x)  Istalgan uchta son orasidan eng kattasini max(u,y,z) yoki max (|u|,|y|,|z|) toping.

procedure TForm1.FormCreate(Sender: TObject);

begin

  Edit1.text:='0,1';

  Edit2.text:='0,356';

  Edit3.text:='0';

  Memo1.Clear;

  Memo1.Lines.Add('Natija.');

end;

 

procedure TForm1.Button1Click(Sender: TObject);

 var x,y,z,u,ma:extended;

begin

     // Memo1 oynasiga chiqadigan qiymatlar

     x:=StrToFloat(Edit1.Text);

        Memo1.Lines.Add(' x='+Edit1.Text);

     y:=StrToFloat(Edit2.Text);

        Memo1.Lines.Add(' y='+Edit2.Text);

     z:=StrToFloat(Edit3.Text);

        Memo1.Lines.Add(' z='+Edit3.Text);

             //  Bosilgan tugmani tekshirish va keyingi funksiyaga о‘tish.

     case RadioGroup1.ItemIndex of

        0: u:=cos(x);

        1: u:=sin(x);

        2: u:=sin(x)/cos(x);

         end;

                    //  CheckBox1 tugmasini holatini tekshirish.

          if  CheckBox1.Checked then

                   begin

                         u:=abs(u);

                         y:=abs(y);

                         z:=abs(z)

                   end;

                   //  Uchta son orasidan eng kattasini topish

 

    if u>y then ma:=u else ma:=y;

    if z>ma then ma:=z;

    if  CheckBox1.Checked then

       Memo1.Lines.Add('maxabs='+FloatToStrF(ma,ffFixed,8,2))                         else

       Memo1.Lines.Add(' max='+FloatToStrF(ma,ffGeneral,8,2));

end;

end.

 

                Mustaqil ishlash uchun vazifalar.

(Vazifalarda F(x)-funksiya talaba tomonidan mustaqil aniqlanadi, masalan, F(x)=sinx )


  15.Berilgan uch xonali sonning kamida ikkita raqami teng bо‘lsa n-kattalikga 1, teng bо‘lmasa  0 raqamini ga о‘zlashtirish dasturini tuzing.

                16. a,b,c va  d sonlar orasidan kattasini aniqlovchi dastur tuzing.

         17. Ixtiyoriy uchta a, b va s sonlarni kamayish tartibida joylashtiring

         19. Berilgan tenglamalar sistemasi yechimini aniqlovchi dastur tuzing.         

          20. Tasodufiy yaratilgan 5 ta natural sonlarning yig‘indisini juft yoki toq ekanligini aniqlash dasturini tuzing.

          21. Berilgan 3 ta  sonni  о‘sish tartibida joylashtiring.

22. Tasodufiy yaratilgan  k natural sonining tub son yoki tub emasligini aniqlovchi dastur tuzing.

                23. M(x,y) nuqta y=kx+b tо‘g‘ri chiziqga tegishli ekanligini aniqlang.

                24.  ax+b=0 tenglama ildizlarini aniqlang.

                25. Agar 3 ta har xil  x, y, z butun sonlar  yig‘indisi 1 dan kichik bо‘lsa u holda bu uchta sondan eng kichigini qolgan ikkitasining yarim yig‘indilari bilan almashtiring aks holda  x va y lardan kichigini qolgan ikkitasi yarim yig‘indilari kvadrati bilan almashtiring.       

          26. 1 dan 99 gacha bо‘lgan  k butun sonni hisobga olib  “menga  k yosh”, degan jumlani ekranga chiqaring.

                27. M(x,y) nuqtaning markazi va raduisi berilgan aylanaga tegishliligini aniqlovchi dastur yarating.

                28. Oy tartib raqami kiritilganda uning qaysi faslga  tegishliligini aniqlovchi dastur yarating.

          29. Berilgan jadval bо‘yicha ishchining oylik maoshi M-ga mos soliq miqdorini aniqlang.

holatlar

Maosh miqdori

soliq miqdori

1

15000 <=M

3 foiz

2

15000<M<35000

8  foiz

3

35000<=M<=105000

15 foiz

                30. x va y butun sonlar. Ularning qiymatiga kо‘ra M(x,y) nuqtaning qaysi chorakga tegishli ekanligini aniqlovchi dastur yarating.

 

Комментарии

Популярные сообщения из этого блога