7- laboratoriya ishi. Sonli sinflar bilan ishlash. Ifodani sintaksis tahlil qilish



Yüklə 151,13 Kb.
səhifə7/7
tarix16.12.2023
ölçüsü151,13 Kb.
#182045
1   2   3   4   5   6   7
7- laboratoriya ishi. Sonli sinflar bilan ishlash. Ifodani sinta

e1=1;

  • }

  • }

  • if(line[t+1]=='+' || line[t+1]=='-' || line[t+1]=='*' || line[t+1]=='/' ){

  • // sintaksis tahlil uchun

  • if(d=="="){

  • cout<

  • e1=1;

  • }

  • }




    1. float a;

    2. // raqam ekanligini aniqlash

    3. if(atof(h.c_str())){ a=atof(h.c_str());

    4. cout<<"NUMBER("<

    5. }

    6. else if(e1!=1){

    7. cout<<"IDENTIFIKATOR("<




    1. cout<<"\t\t\t\t OPERATOR("<

    2. }

    3. h2=0; h.clear();

    4. }

    5. else if(d==";" || d==","){ e2=t; s1=1; s=0; s2=0;

    6. // sintksis tahlil uchun

    7. if((d!=",") && line[t-1]=='+' || line[t-1]=='-' || line[t-1]=='*' || line[t-1]=='/' ){

    8. if(d!="=" && (line[t-2]=='+' || line[t-2]=='-' || line[t-2]=='*' || line[t-2]=='/') ){

    9. cout<

    10. e1=1;

    11. }

    12. }

    13. if(line[t+1]=='+' || line[t+1]=='-' || line[t+1]=='*' || line[t+1]=='/' ){

    14. // sintksis tahlil uchun

    15. if(d==","){

    16. cout<

    17. e1=1;

    18. }

    19. }

    20. // raqam ekanligini aniqlash

    21. float a;

    22. if(atof(h.c_str())){ a=atof(h.c_str());

    23. cout<<"NUMBER("<

    24. }

    25. else if(e1!=1){

    26. cout<<"IDENTIFIKATOR("<

    27. cout<<"\t\t\t\t DELIMETR("<

    28. }

    29. h2=0; h.clear();

    30. }

    31. else if(d==" "){ s2=1; s=0; s1=0;

    32. float a;

    33. // raqam ekanligini aniqlash

    34. if(atof(h.c_str())){ a=atof(h.c_str());

    35. cout<<"NUMBER("<

    36. }

    37. else

    38. if(!h.empty()) cout<<"IDENTIFIKATOR("<

    39. h2=0; h.clear();

    40. }

    41. else {

    42. h=h+d; h2++;

    43. }

    44. } // for siklini tugashi - bitta satrni tugashi

    45. // vazifadagi belgilar uchramagan satrlar

    46. if(s==0 && s1==0 && s2==0) {

    47. cout<<"IDENTIFIKATOR("<

    48. }

    49. i++; // satrlar soni

    50. }

    51. getchar();

    52. return 0;

    53. }


    Dastur natijasi:




    Topshiriqlar

            1. Complex sonli sinfi

    Kompleks sonlar sinf complex standart kutubxonaning yana bir sinfidir. Odatdagidek, siz foydalanish uchun sarlavha faylini kiritishingiz kerak:
    #include complex
    Kompleks son ikki qismdan iborat - haqiqiy va mavhum. Mavhum qism manfiy sonning kvadrat ildizidir. Kompleks son odatda quyidagicha yoziladi
    2 + 3i

            1. Bu yerda 2 – haqiqiy qism, 3i esa mavhum. Complex tipida obyektlarni aniqlash quyida keltirilgan:

    1. // sof mavhum raqam: 0 + 7-i

    2. complex double purei( 0, 7 );

    3. // mavhum qism nolga teng: 3 + Oi

    4. complex float rea1_num( 3 );

    5. // haqiqiy va mavhum qism nolga teng: 0 + 0-i

    6. complex long double zero;

    7. // bir kompleks sonni boshqasi bilan ishga tushurish

    8. complex double purei2( purei );


    Topshiriq №1

    1. Complex sinfidan foydalanib, ikkita kompleks sonlarni qo’shing.

    2. Complex sinfidan foydalanib, ikkita kompleks sonlarni ayiring

    3. Complex sinfidan foydalanib, ikkita kompleks sonlarni ko’paytiring.

    4. Complex sinfidan foydalanib, ikkita kompleks sonlarni bo’ling.

    5. Complex sinfidan foydalanib, kompleks sonlar inkrementini (prefiks (++i) va postfiks (i++) lar uchun) amalga oshiring.

    6. Complex sinfidan foydalanib, kompleks sonlar dekrementini (prefiks (--i) va postfiks (i--) lar uchun) amalga oshiring.

    7. Complex sinfidan foydalanib, ikkita kompleks sonlarni qo’shing.

    8. Complex sinfidan foydalanib, ikkita kompleks sonlarni ayiring

    9. Complex sinfidan foydalanib, ikkita kompleks sonlarni ko’paytiring.

    10. Complex sinfidan foydalanib, ikkita kompleks sonlarni bo’ling.

    11. Complex sinfidan foydalanib, kompleks sonlar inkrementini (prefiks (++i) va postfiks (i++) lar uchun) amalga oshiring.

    12. Complex sinfidan foydalanib, kompleks sonlar dekrementini (prefiks (--i) va postfiks (i--) lar uchun) amalga oshiring.

    13. Complex sinfidan foydalanib, kompleks sonlarni ildizini toping.

    14. Complex sinfidan foydalanib, kompleks sonlarni darajaga oshiring.

    15. Complex sinfidan foydalanib, kompleks sonlarni yig’indisi va bo’linmasini toping.

            1. Topshiriq №2

    1. Valarray sinfidan foydalanib, ikkita massivning yig’indisini toping.

    2. Valarray sinfidan foydalanib, ikkita massivning farqini toping.

    3. Valarray sinfidan foydalanib, massivning maksimal elementini toping.

    4. Valarray sinfidan foydalanib, massivning minimal elementini toping.

    5. Valarray sinfidan foydalanib, massiv elementlarini o’sish tartibda saralang.

    6. Valarray sinfidan foydalanib, massiv elementlarini kamayish tartibda saralang.

    7. Valarray sinfidan foydalanib, massivning barcha elementlari uchun inkrementini (prefiks (++i) va postfiks (i++) lar uchun) amalga oshiring.

    8. Valarray sinfidan foydalanib, massivning barcha elementlari uchun dekrementini (prefiks (--i) va postfiks (i--) lar uchun) amalga oshiring.

    9. Slice sinfidan foydalanib valarray massiv elementlari sonini aniqlang.

    10. Slice sinfidan foydalanib valarray massiv elementlaridan toq qiymatlilar sonini aniqlang.

    11. Slice sinfidan foydalanib valarray massiv elementlari har 3 qadamdagilarni aniqlang.

    12. Slice sinfidan foydalanib valarray massiv elementlari har 5 qadamdagilarni aniqlang.

    13. Slice sinfidan foydalanib valarray massiv elementlari har 1 qadamdagilarni aniqlang.

    14. Slice sinfidan foydalanib valarray massiv elementlari har 4 qadamdagilarni aniqlang.

    15. Slice sinfidan foydalanib valarray massiv elementlari har 2 qadamdagilarni aniqlang.

    Yüklə 151,13 Kb.

    Dostları ilə paylaş:
  • 1   2   3   4   5   6   7




    Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
    rəhbərliyinə müraciət

    gir | qeydiyyatdan keç
        Ana səhifə


    yükləyin